:root{--green: #2BB673;--green-dark: #1f9a5e;--char: #2a2a2c;--char-2: #333336;--char-3: #3d3d40;--paper: #f4f4ef;--paper-2: #e3e3de;--ink: #1c1c1e;--muted-dark: #b9b9bc;--muted-light: #5c5c60;--max: 1240px;--font: "Archivo", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--char);color:#fff;font-family:var(--font);line-height:1.6;font-size:16.5px;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--green)}.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;color:#000;padding:8px 12px;z-index:100}h1,h2,h3{font-weight:800;letter-spacing:-.035em;line-height:1.02;margin:0}h1{font-size:clamp(44px,7vw,96px)}h2{font-size:clamp(34px,5vw,64px);margin-bottom:22px}h3{font-size:22px;letter-spacing:-.02em;line-height:1.15;margin-bottom:6px}.eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--green);margin-bottom:22px}.lead{font-size:19px;line-height:1.55;max-width:640px;color:var(--muted-dark);margin:0 0 16px}.accent{color:var(--green)}section{padding:110px 0;position:relative;overflow:hidden}.dark{background:var(--char);color:#fff}.light{background:var(--paper);color:var(--ink)}.light .lead,.light p{color:var(--muted-light)}.light h1,.light h2,.light h3{color:var(--ink)}.green{background:var(--green);color:var(--ink)}.green h2,.green h3,.green .eyebrow{color:var(--ink)}.slabs{position:absolute;right:-40px;top:60px;width:46%;max-width:620px;aspect-ratio:1.6;pointer-events:none}.slabs span{position:absolute;left:0;width:72%;height:20%;background:var(--char-3);clip-path:polygon(45% 0,100% 0,55% 100%,0 100%)}.slabs span:nth-child(1){top:0}.slabs span:nth-child(2){top:29%;left:6%;background:var(--green)}.slabs span:nth-child(3){top:58%;left:12%}.green .slabs span{background:#00000014}.site-header{background:var(--char);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--char-3)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;padding-bottom:14px}.brand img{height:50px;width:auto}.menu{list-style:none;display:flex;align-items:center;gap:26px;margin:0;padding:0}.menu a{color:#fff;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 0;border-bottom:2px solid transparent}.menu a[aria-current=page],.menu a:hover{border-color:var(--green)}.menu .cta a{background:var(--green);color:var(--ink);padding:11px 18px;border:0}.menu .cta a:hover{background:#fff}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px;cursor:pointer}.hero-brand{padding:150px 0 130px;min-height:82vh;display:flex;align-items:center}.hero-brand h1{max-width:820px;position:relative}.hero-brand .lead{font-size:21px;margin-top:30px}.hero{position:relative;min-height:64vh;display:flex;align-items:flex-end;background-size:cover;background-position:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#1c1c1eeb,#1c1c1e73 55%,#1c1c1e26)}.hero .wrap{position:relative;padding-top:120px;padding-bottom:70px;width:100%}.hero.short{min-height:52vh}.hero p{font-size:20px;color:#e2e2e4;max-width:620px;margin:18px 0 0}.btn{display:inline-block;background:var(--green);color:var(--ink);font-weight:700;padding:16px 28px;font-size:14.5px;letter-spacing:.03em;text-decoration:none;margin:0 12px 12px 0;border:2px solid var(--green);cursor:pointer;font-family:inherit}.btn:hover{background:#fff;border-color:#fff;color:var(--ink)}.btn.ghost{background:transparent;border-color:currentColor;color:inherit}.btn.ghost:hover{background:var(--green);border-color:var(--green);color:var(--ink)}.light .btn:hover,.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn.dark:hover{background:#fff;border-color:#fff;color:var(--ink)}.actions{margin-top:40px}.grid{display:grid;gap:28px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.split{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}.split.top{align-items:start}.split.rev>:first-child{order:2}.mt{margin-top:56px}.rules>*{border-top:1.5px solid currentColor;padding-top:18px}.rules p{margin:0;font-size:15.5px;color:var(--muted-dark)}.light .rules p{color:var(--muted-light)}.rules.green-rules>*{border-top-color:var(--green)}.panel{background:var(--char);color:#fff;padding:34px 32px}.panel .eyebrow{margin-bottom:14px}.panel h3{color:#fff;font-size:24px}.panel h3+h3{border-top:1px solid var(--char-3);padding-top:14px;margin-top:14px}.panel.greenbox{background:var(--green);color:var(--ink)}.panel.greenbox h3,.panel.greenbox p{color:var(--ink)}.card{background:var(--char-2);padding:30px 28px}.light .card{background:var(--paper-2)}.card p,.card li{color:var(--muted-dark);font-size:15.5px;margin:0}.light .card p,.light .card li{color:var(--muted-light)}.card ul{padding-left:18px;margin:10px 0 0}.chain{display:grid;gap:10px;margin-top:18px}.chain .row{display:grid;grid-template-columns:repeat(6,1fr);gap:26px}.chain .label{font-size:12.5px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-light);margin-top:26px}.chain .label.g{color:var(--green-dark)}.chain .box{position:relative;background:var(--paper-2);color:var(--ink);font-weight:700;padding:22px 18px;font-size:16px;min-height:76px;display:flex;align-items:center}.chain .typical{gap:22px}.chain .typical .box{padding:12px 14px;font-size:14px;min-height:50px}.chain .typical .box:not(:last-child):after{content:"";position:absolute;right:-15px;top:50%;width:8px;height:8px;border-top:2px solid var(--muted-light);border-right:2px solid var(--muted-light);transform:translateY(-50%) rotate(45deg)}.chain .box.dark{background:var(--char);color:#fff}.chain .box.g{background:var(--green);color:var(--ink);grid-column:span 4}.tile{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--char-2);display:block;color:#fff;text-decoration:none}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.tile:hover img{transform:scale(1.04)}.tile .cap{position:absolute;inset:auto 0 0;padding:70px 22px 22px;background:linear-gradient(transparent,#000000d9)}.tile .cap strong{display:block;font-size:19px;letter-spacing:-.01em}.tile .cap span{font-size:14px;color:#d8d8da}.photo{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}.proj{display:grid;grid-template-columns:1fr 1.45fr;background:var(--char-2);margin-bottom:28px}.proj:nth-child(2n){grid-template-columns:1.45fr 1fr}.proj:nth-child(2n) .proj-info{order:2}.proj-info{padding:44px 40px;display:flex;flex-direction:column;justify-content:center}.proj-info .eyebrow{margin-bottom:12px}.proj-info h3{font-size:clamp(28px,3vw,40px);letter-spacing:-.03em}.proj-info .place{color:var(--muted-dark);margin:6px 0 26px}.proj-photos{display:grid;grid-template-columns:2fr 1fr;grid-auto-rows:1fr;gap:4px;min-height:420px}.proj-photos img{width:100%;height:100%;object-fit:cover}.proj-photos img:first-child{grid-row:span 2}.proj-photos.one{grid-template-columns:1fr}.spec{display:grid;gap:0}.spec div{display:grid;grid-template-columns:90px 1fr;gap:14px;border-top:1px solid var(--char-3);padding:12px 0}.spec dt{font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-dark);padding-top:3px}.spec dd{margin:0;font-weight:700;font-size:15.5px}.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.pgrid .tile{aspect-ratio:1}.pgrid .tile:first-child{grid-column:span 2;grid-row:span 2}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.chips span{border:1.5px solid currentColor;padding:10px 16px;font-size:14.5px;font-weight:600}.chips span.hl{background:var(--green);border-color:var(--green);color:var(--ink)}.steps{counter-reset:step}.steps>*{position:relative}.steps>*:before{counter-increment:step;content:"0" counter(step);display:block;font-size:13px;font-weight:700;letter-spacing:.28em;color:var(--green);margin-bottom:10px}details{border-top:1.5px solid var(--ink)}details:last-of-type{border-bottom:1.5px solid var(--ink)}details summary{cursor:pointer;padding:22px 0;font-weight:700;font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:20px}details summary:after{content:"+";color:var(--green-dark);font-size:26px;line-height:1}details[open] summary:after{content:"–"}details p{margin:0 0 22px;max-width:760px}.stat{font-size:clamp(48px,6vw,76px);font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--green)}.stat small{display:block;font-size:12.5px;font-weight:600;color:var(--muted-dark);letter-spacing:.28em;text-transform:uppercase;margin-top:12px}.projects li{list-style:none;padding:14px 0;border-top:1px solid var(--char-3)}.light .projects li{border-color:var(--paper-2)}.projects ul{padding:0;margin:0}.projects li strong{font-size:17px}.projects li span{display:block;color:var(--muted-dark);font-size:14px}.light .projects li span{color:var(--muted-light)}.projects h3{font-size:12.5px;font-weight:600;letter-spacing:.32em;color:var(--green);margin-bottom:8px}.cta-final h2{font-size:clamp(40px,6vw,80px);max-width:780px}.cta-final .contact{margin-top:30px;font-size:18px;line-height:1.8;color:var(--muted-dark)}.cta-final .contact a{color:#fff;text-decoration:none}.cta-final .contact a.site{color:var(--green);font-weight:700}form.quote{display:grid;gap:18px}form.quote label{font-weight:600;font-size:14px;display:block;margin-bottom:6px;color:var(--ink)}form.quote input,form.quote select,form.quote textarea{width:100%;background:#fff;color:var(--ink);border:1.5px solid #c9c9c4;padding:13px 14px;font:inherit;border-radius:0}form.quote input:focus,form.quote select:focus,form.quote textarea:focus{outline:2px solid var(--green);border-color:var(--green)}form.quote .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form.quote fieldset{border:1.5px solid #c9c9c4;padding:14px 16px;margin:0;background:#fff}form.quote fieldset label{font-weight:400;display:inline-flex;gap:8px;align-items:center;margin:4px 18px 4px 0}form.quote fieldset input{width:auto}.form-note{font-size:14px;color:var(--muted-light)}.form-status{padding:14px 16px;display:none;color:var(--ink)}.form-status.ok{display:block;background:#2bb67326;border:1.5px solid var(--green)}.form-status.err{display:block;background:#dc50501f;border:1.5px solid #d55}.post-card{background:var(--char-2);text-decoration:none;color:inherit;display:block}.light .post-card{background:#fff}.post-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.post-card .body{padding:24px}.post-card time{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--green-dark);font-weight:600}.post-card h3{margin-top:10px}.post-card:hover h3{color:var(--green-dark)}.prose{max-width:760px;margin:0 auto}.prose p,.prose li{font-size:18px;color:var(--muted-light)}.prose img{margin:28px 0}.prose h2{font-size:32px;margin:44px 0 12px}.share{display:flex;gap:10px;flex-wrap:wrap;margin-top:44px;padding-top:24px;border-top:1.5px solid var(--ink);align-items:center}.site-footer{background:#1f1f21;padding:70px 0 34px;color:var(--muted-dark);font-size:15px}.site-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.site-footer img{height:60px;width:auto;margin-bottom:18px}.site-footer a{color:#fff;text-decoration:none}.site-footer a:hover{color:var(--green)}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:8px}.site-footer h4{color:var(--green);font-size:12px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;margin:0 0 16px}.socials{display:flex;gap:10px;margin-top:18px}.socials a{width:40px;height:40px;display:grid;place-items:center;border:1.5px solid #555}.socials a:hover{border-color:var(--green)}.socials svg{width:18px;height:18px;fill:currentColor}.copy{margin-top:44px;padding-top:22px;border-top:1px solid var(--char-3);font-size:13px}@media(max-width:980px){.menu-toggle{display:block}.menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--char);flex-direction:column;align-items:flex-start;padding:18px 32px 28px;gap:18px;border-bottom:1px solid var(--char-3)}.menu.open{display:flex}.g4,.pgrid{grid-template-columns:1fr 1fr}.g3,.split,.site-footer .cols,.proj,.proj:nth-child(2n){grid-template-columns:1fr}.split.rev>:first-child,.proj:nth-child(2n) .proj-info{order:0}.chain .row{grid-template-columns:repeat(3,1fr)}.chain .box.g{grid-column:span 3}.chain .typical .box:nth-child(3n):after{display:none}.slabs{width:70%;opacity:.5}section{padding:80px 0}}@media(max-width:560px){.wrap{padding:0 18px}.g2,.g4,form.quote .row{grid-template-columns:1fr}.pgrid .tile:first-child{grid-column:span 2;grid-row:span 1}.brand img{height:42px}.proj-info{padding:30px 22px}.proj-photos{min-height:280px}}section.alt{background:var(--paper);color:var(--ink)}section.alt h2,section.alt h3{color:var(--ink)}section.alt .lead,section.alt p,section.alt li{color:var(--muted-light)}section.alt .card{background:var(--paper-2)}section.alt .projects li{border-color:#cfcfca}section.alt .projects li span{color:var(--muted-light)}.lead+h3,.lead~h3{margin-top:22px}.materials{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px}.mat-label{font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);margin-bottom:10px}.swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.swatches img{aspect-ratio:1;object-fit:cover;width:100%}
