:root{--ink:#101210;--paper:#f3f1eb;--paper2:#e8e5dd;--moss:#4f5c50;--forest:#202820;--line:rgba(16,18,16,.16);--serif:'Bank Gothic',Arial,sans-serif;--sans:Karla,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button{color:inherit}.skip{position:fixed;left:1rem;top:-5rem;z-index:99;background:#fff;padding:.8rem 1rem}.skip:focus{top:1rem}.shell{width:min(1240px,calc(100% - 64px));margin:auto}.site-header{position:absolute;inset:0 0 auto;z-index:10;color:#fff;padding:25px 0}.nav{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:1rem;font-weight:700;letter-spacing:.25em;line-height:1}.brand small{display:block;font-size:.47rem;font-weight:400;letter-spacing:.48em;margin-top:5px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid;border-radius:20px 20px 0 0;font-size:1.1rem}.nav nav{display:flex;align-items:center;gap:27px;font-size:.76rem;letter-spacing:.11em;text-transform:uppercase}.nav nav a,.text-button{color:inherit;text-decoration:none;background:none;border:0;padding:8px 0;cursor:pointer}.nav-cta{border-bottom:1px solid rgba(255,255,255,.6)!important}.menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.45);padding:.55rem .7rem;color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}
.hero{min-height:96vh;position:relative;color:#fff;display:flex;align-items:flex-end;background:url('rocazen-hero.png') center/cover no-repeat;padding:165px 0 76px}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,8,.9),rgba(8,10,8,.28)),linear-gradient(0deg,rgba(8,10,8,.68),transparent 45%)}.hero-content{position:relative;z-index:1}.eyebrow,.kicker{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin:0 0 24px}.eyebrow{color:#d9ded7}.hero h1{font:400 clamp(4.3rem,9.5vw,9.5rem)/.79 var(--serif);letter-spacing:-.065em;margin:0;max-width:930px}.hero h1 span{font-style:italic;color:#dfe4db}.hero-copy{font-size:clamp(1rem,1.6vw,1.25rem);max-width:580px;color:#e2e4df;margin:40px 0 30px}.hero-actions{display:flex;align-items:center;gap:28px}.button{border:0;padding:16px 22px;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center}.button.light{background:#fff;color:var(--ink)}.button.dark{background:var(--ink);color:#fff}.quiet-link{color:#fff;text-decoration:none;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.hero-index{position:absolute;z-index:1;right:32px;bottom:36px;display:flex;gap:22px;writing-mode:vertical-rl;font-size:.75rem;letter-spacing:.19em;text-transform:uppercase;color:#ffffffa8}
.section-pad{padding:112px 0;border-bottom:1px solid var(--line)}.split,.section-head{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2.35fr);gap:70px}.kicker{color:var(--moss)}.section-no{font:italic 2.8rem var(--serif);color:#9c9a93}.split h2,.section-head h2,.contact h2,.client-box h2{font:400 clamp(2.5rem,5vw,5rem)/1.01 var(--serif);letter-spacing:-.045em;margin:0 0 32px}.split h2 em{color:var(--moss);font-weight:400}.lead{font-size:clamp(1.12rem,1.8vw,1.45rem);color:#3f443f;max-width:820px}.principles{display:flex;flex-wrap:wrap;margin-top:48px;border-top:1px solid var(--line)}.principles span{flex:1 0 30%;padding:14px 15px 14px 0;border-bottom:1px solid var(--line);font-size:.75rem;letter-spacing:.13em;text-transform:uppercase}.section-head>div:last-child>p{font-size:1.05rem;max-width:680px;color:#555a55;margin:0}
.solutions{background:#edebe5}.solution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:60px}.solution-card{min-height:470px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);position:relative;overflow:hidden;background:#f7f5f0}.solution-card:before{content:"";position:absolute;right:-9%;bottom:-31%;width:260px;height:260px;border:1px solid;border-radius:50%;opacity:.14}.solution-card.featured{background:var(--forest);color:#fff}.solution-card.facade{background:#d2cec3}.solution-card.spaces{background:#e6e1d7}.solution-card.technical{background:#222321;color:#fff}.card-top{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;opacity:.68}.card-tag{font-size:.75rem;letter-spacing:.2em;font-weight:700}.solution-card h3{font:400 clamp(2rem,3.5vw,3.5rem)/1.02 var(--serif);letter-spacing:-.035em;margin:10px 0 20px;max-width:520px}.solution-card p:not(.card-tag){max-width:520px;opacity:.78}.card-link{align-self:flex-start;border:0;border-bottom:1px solid;padding:10px 0 7px;background:none;color:inherit;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;cursor:pointer}
.elementa-band{background:#111411;color:#f4f2ec}.pale{color:#9ca69c}.dim{color:#bbc0bb}.element-list{margin-top:60px;border-top:1px solid #3c423c}.element-list>div{display:grid;grid-template-columns:1fr 1fr;padding:20px 0;border-bottom:1px solid #3c423c}.element-list b{font:400 1.35rem var(--serif);letter-spacing:.08em}.element-list span{color:#9da39d}.notice{margin-top:45px;border-left:2px solid #768276;padding-left:20px;display:grid;gap:5px;font-size:.82rem;color:#9ea49e}.notice b{color:#e4e6e1}.project-list{margin-top:55px}.project-list article{display:grid;grid-template-columns:1fr 1.5fr 1.5fr auto;gap:25px;align-items:center;border-top:1px solid var(--line);padding:28px 0}.project-list article:last-child{border-bottom:1px solid var(--line)}.project-list article>span{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--moss)}.project-list h3{font:400 clamp(1.45rem,2.5vw,2.4rem) var(--serif);margin:0}.project-list p{color:#5b605b;margin:0}.project-list article>b{font:italic 2.1rem var(--serif);color:#a8a69f}
.services{background:#e4e1d9}.service-accordion{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:grid;grid-template-columns:55px 1fr auto;align-items:center;padding:25px 0;font:400 clamp(1.25rem,2.2vw,2rem) var(--serif);cursor:pointer}summary::-webkit-details-marker{display:none}summary span{font:400 .7rem var(--sans);letter-spacing:.1em;color:var(--moss)}summary i{font:400 1.2rem var(--sans);transition:.2s}details[open] summary i{transform:rotate(45deg)}details p{margin:0 0 28px 55px;max-width:680px;color:#535853}.method{background:#252c25;color:#fff}.light-head h2{color:#f4f3ee}.steps{list-style:none;padding:0;margin:65px 0 0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #596059}.steps li{padding:24px 25px 0 0;border-right:1px solid #596059;min-height:225px}.steps li:not(:first-child){padding-left:25px}.steps li:last-child{border:0}.steps span{font-size:.75rem;color:#9ba49b}.steps h3{font:400 1.5rem var(--serif);margin:54px 0 12px}.steps p{font-size:.86rem;color:#b9beba;margin:0}
.client-preview{background:#d0cbc0}.client-box{display:grid;grid-template-columns:1.15fr 1fr auto;align-items:center;gap:60px}.client-box h2{font-size:clamp(2.4rem,4vw,4.2rem);margin-bottom:18px}.client-demo{background:#171a17;color:#fff;padding:24px;box-shadow:20px 20px 0 #10121014}.demo-bar{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.1em;color:#adb3ad}.demo-progress{height:3px;background:#4e544e;margin:24px 0}.demo-progress i{display:block;width:64%;height:100%;background:#d8dcd5}.demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.demo-grid span{font-size:.75rem;color:#9fa59f}.demo-grid b{display:block;font:400 1.7rem var(--serif);color:#fff}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:100px}.contact-options{border-top:1px solid var(--line)}.contact-options a,.contact-options button{display:flex;justify-content:space-between;width:100%;padding:22px 0;border:0;border-bottom:1px solid var(--line);background:none;text-decoration:none;text-align:left;cursor:pointer}.contact-options span{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--moss)}.contact-options b{font-weight:400}footer{background:#101210;color:#f3f1eb;padding:55px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;align-items:end}.footer-grid p{margin:0;color:#aeb3ae}.footer-grid>div{display:grid;justify-content:end;text-align:right;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#aeb3ae}
.modal{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(920px,calc(100% - 32px));max-height:92vh;box-shadow:0 25px 100px #0006}.modal::backdrop{background:#080a08d1;backdrop-filter:blur(7px)}.modal-inner{padding:62px}.modal h2{font:400 clamp(2.4rem,5vw,4.7rem)/1 var(--serif);letter-spacing:-.045em;margin:0 0 18px}.modal-lead{color:#596059;max-width:640px;margin:0 0 34px}.close{position:absolute;right:18px;top:13px;border:0;background:none;font-size:2rem;cursor:pointer}.route-options{display:grid;border-top:1px solid var(--line)}.route-options a,.route-options button{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:18px;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;padding:20px 0;text-decoration:none;text-align:left;cursor:pointer}.route-options b{font:400 1.15rem var(--serif)}.route-options small{font-size:.75rem;text-transform:uppercase}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label,.form-grid fieldset{display:grid;gap:8px;border:0;padding:0;margin:0}.form-grid label>span,.form-grid legend{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--moss);font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);background:#fbfaf6;padding:13px;color:var(--ink)}.wide{grid-column:1/-1}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips label{display:block}.chips input{position:absolute;opacity:0;width:1px}.chips label span{display:block;border:1px solid var(--line);padding:10px 14px;cursor:pointer;text-transform:none;font-size:.8rem;letter-spacing:0;color:var(--ink)}.chips input:checked+span{background:var(--ink);color:#fff}.diagnostic>.button{margin-top:28px}.result{display:none;background:var(--forest);color:#fff;padding:28px;margin-top:28px}.result.visible{display:block}.result h3{font:400 1.8rem var(--serif);margin:0 0 12px}.result p{color:#c6cbc6}.result small{color:#9fa79f}.portal-features{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin:30px 0}.portal-features span{padding:15px 0;border-bottom:1px solid var(--line);font-size:.76rem;text-transform:uppercase}.privacy-note{font-size:.75rem;color:#686d68;margin-top:22px}
@media(max-width:960px){.nav nav{position:absolute;display:none;top:80px;left:32px;right:32px;background:#101210;padding:24px;flex-direction:column;align-items:stretch;gap:8px}.nav nav.open{display:flex}.menu-toggle{display:block}.steps{grid-template-columns:1fr 1fr}.client-box{grid-template-columns:1fr 1fr}.client-box>.button{grid-column:1/-1;justify-self:start}.project-list article{grid-template-columns:.7fr 1.5fr auto}.project-list p{display:none}}@media(max-width:700px){.shell{width:min(100% - 30px,1240px)}.hero{min-height:88svh;padding-bottom:54px}.hero h1{font-size:4.4rem}.hero-index{display:none}.hero-actions{align-items:flex-start;flex-direction:column}.section-pad{padding:74px 0}.split,.section-head,.contact-grid,.client-box,.footer-grid{grid-template-columns:1fr;gap:30px}.solution-grid{grid-template-columns:1fr}.solution-card{min-height:420px;padding:25px}.principles span{flex-basis:50%}.element-list>div{grid-template-columns:1fr}.project-list article{grid-template-columns:1fr auto}.project-list article>span{grid-column:1/-1}.steps{grid-template-columns:1fr}.steps li,.steps li:not(:first-child){min-height:0;padding:20px 0;border-right:0;border-bottom:1px solid #596059}.steps h3{margin:25px 0 8px}.contact-options a,.contact-options button{flex-direction:column;gap:7px}.footer-grid>div{justify-content:start;text-align:left}.modal-inner{padding:50px 22px 30px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.route-options a,.route-options button{grid-template-columns:30px 1fr}.route-options small{grid-column:2}.portal-features{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@font-face{font-family:Karla;src:url('assets/fonts/karla-variable.ttf')}@font-face{font-family:Bank Gothic;src:url('assets/fonts/bank-gothic-light.ttf');font-weight:300}@font-face{font-family:Bank Gothic;src:url('assets/fonts/bank-gothic-medium.otf');font-weight:600}
