@font-face{font-family:"Jost";src:url(/assets/fonts/jost-latin.woff2) format("woff2");font-weight:300 500;font-style:normal;font-display:swap}
:root{
  --bg:#F2EEE7;--panel:#E8E2D8;--panel2:#EDE8E0;--ink:#26231F;--muted:#645D55;--line:#D3CBBF;--olive:#6A5D50;--olive-soft:#E6DDD1;--card:#FBF9F5;--warn:#8A5A3C;
  --f:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;--max:1280px;--gut:clamp(20px,4vw,48px);
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1D1B18;--panel:#272420;--panel2:#23201C;--ink:#ECE6DC;--muted:#A79F94;--line:#3B3731;--olive:#C9BBA7;--olive-soft:#3A322A;--card:#23201C;--warn:#D9A27E;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#1D1B18;--panel:#272420;--panel2:#23201C;--ink:#ECE6DC;--muted:#A79F94;--line:#3B3731;--olive:#C9BBA7;--olive-soft:#3A322A;--card:#23201C;--warn:#D9A27E;color-scheme:dark}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 90px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-weight:400;font-size:16px;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{font-weight:300;line-height:1.08;letter-spacing:-.01em;margin:0}
h1{font-size:clamp(2.6rem,5.6vw,4.6rem)}
h2{font-size:clamp(1.9rem,3.4vw,2.8rem)}
h3{font-size:1.35rem;font-weight:400}
p{margin:0 0 1em}
.lede{font-size:1.12rem;color:var(--muted);max-width:44ch;font-weight:300;line-height:1.6}
.small{font-size:.86rem;color:var(--muted)}
.kicker{font-size:.9rem;color:var(--muted);letter-spacing:.02em;margin:0 0 1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* proto bar + header */
.proto{background:var(--ink);color:var(--bg);font-size:.78rem;text-align:center;padding:6px var(--gut)}
.hdr{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.hdr .wrap{display:flex;align-items:center;gap:24px;height:72px}
.logo{font-weight:400;font-size:1.65rem;letter-spacing:.3em;text-decoration:none;margin-right:auto;padding-left:.1em}
.nav{display:flex;gap:28px;align-items:center;height:100%}
.nav a{text-decoration:none;font-size:.95rem;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a.on{border-color:var(--ink)}
.projbtn{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--ink);color:var(--ink);font:inherit;font-size:.9rem;padding:8px 14px;cursor:pointer;text-decoration:none}
.projbtn b{font-weight:500;min-width:1ch}
.projbtn.pulse{animation:pulse .5s}
@keyframes pulse{50%{background:var(--olive-soft)}}
.menu{display:none}
.menu>summary{list-style:none;cursor:pointer;border:1px solid var(--line);padding:8px 12px;font-size:.9rem}
.menu>summary::-webkit-details-marker{display:none}
@media (max-width:900px){
  .nav{display:none}.menu{display:block;position:relative}
  .menu[open] .mnav{position:absolute;right:0;top:46px;background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;padding:12px 20px;min-width:220px;gap:4px}
  .projbtn span{display:none}
}
.mnav{display:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-size:.95rem;padding:14px 26px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--bg)}
.btn.on{background:var(--olive);border-color:var(--olive);color:#fff}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.tlink{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;font-size:.95rem}

/* split hero */
.split{display:grid;grid-template-columns:5fr 7fr;min-height:min(78vh,720px);background:var(--panel)}
/*x*/.split .txt{padding:clamp(40px,6vw,88px) var(--gut);padding-left:max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));display:flex;flex-direction:column;justify-content:center;gap:22px;width:100%}
.split .pic{position:relative;overflow:hidden;min-height:340px}
.split.short{min-height:min(56vh,520px)}
.pic>img,.pic>.im{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.split{grid-template-columns:1fr}.split .pic{order:-1;min-height:46vh}.split .txt{margin:0;max-width:none;padding-left:var(--gut)}}
.crumbs{font-size:.85rem;color:var(--muted)}
.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}

/* one orchestrated moment: hero reveals from the threshold */
html.js .reveal .pic>*{animation:open 1.6s cubic-bezier(.2,.6,.2,1) both}
html.js .reveal .txt>*{opacity:0;animation:fade .8s ease forwards}
html.js .reveal .txt>*:nth-child(2){animation-delay:.25s}html.js .reveal .txt>*:nth-child(3){animation-delay:.4s}html.js .reveal .txt>*:nth-child(4){animation-delay:.55s}
@keyframes open{from{transform:scale(1.06)}to{transform:none}}
@keyframes fade{to{opacity:1}}
@media (prefers-reduced-motion:reduce){html.js .reveal .pic>*,html.js .reveal .txt>*{animation:none;clip-path:none;opacity:1}}

section.blk{padding:clamp(64px,9vw,120px) 0}
.blkhead{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;flex-wrap:wrap}

/* material tiles */
.mats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.mat{text-decoration:none;display:block}
.mat .ph{aspect-ratio:9/10;overflow:hidden;background:var(--panel)}
.mat .ph>*{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.mat:hover .ph>*{transform:scale(1.03)}
.mat p{display:flex;justify-content:space-between;margin:12px 0 0;font-size:.95rem}
.mat p span{color:var(--muted)}
@media (max-width:900px){.mats{grid-template-columns:repeat(2,1fr)}}

/* threshold band */
.band{display:grid;grid-template-columns:1fr 1fr;background:var(--panel)}
.band .pic{position:relative;min-height:440px}
.band .txt{padding:clamp(40px,6vw,96px);display:flex;flex-direction:column;justify-content:center;gap:20px}
.stat{display:flex;gap:40px;flex-wrap:wrap;margin-top:8px}
.stat div{border-left:1px solid var(--ink);padding-left:16px}
.stat b{display:block;font-weight:300;font-size:2.4rem;line-height:1}
.stat span{font-size:.88rem;color:var(--muted)}
@media (max-width:860px){.band{grid-template-columns:1fr}.band .pic{min-height:300px}}

/* spaces */
.spaces{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.space{position:relative;aspect-ratio:4/3;overflow:hidden;text-decoration:none;color:#fff}
.space>img,.space>.im{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.space span{position:absolute;left:20px;bottom:18px;font-size:1.05rem;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.space::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.35))}
.space span{z-index:1}
@media (max-width:760px){.spaces{grid-template-columns:1fr}}

/* collection grid */
.tabs{display:flex;gap:6px 30px;border-bottom:1px solid var(--line);margin:40px 0 28px;overflow-x:auto;scrollbar-width:none}
.tabs button,.tabs a{background:none;border:0;font:inherit;color:var(--muted);padding:12px 0;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none}
.tabs .on,.tabs button:hover{color:var(--ink);border-color:var(--ink)}
.tabs sup{font-size:.7rem;margin-left:3px}
.filters{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:16px;align-items:end}
.fld label,.fld>span{display:block;font-size:.85rem;margin-bottom:6px}
select,input[type=text],input[type=email],input[type=tel],input[type=number],textarea{width:100%;font:inherit;font-size:.95rem;color:var(--ink);background:var(--card);border:1px solid var(--line);padding:11px 12px;border-radius:0}
textarea{min-height:110px;resize:vertical}
select:focus,input:focus,textarea:focus{border-color:var(--ink);outline:none}
.toggle{display:flex;align-items:center;gap:10px;font-size:.9rem;cursor:pointer;padding:10px 0}
.toggle input{accent-color:var(--olive);width:18px;height:18px}
.clear{background:none;border:0;font:inherit;font-size:.88rem;text-decoration:underline;cursor:pointer;color:var(--muted);padding:12px 0}
.meta{display:flex;justify-content:space-between;align-items:center;margin:34px 0 18px;font-size:.92rem;gap:16px}
.meta select{width:auto;padding:6px 10px}
@media (max-width:900px){.filters{grid-template-columns:1fr 1fr}}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 28px}
@media (max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.grid{grid-template-columns:1fr}}
.card{position:relative}
.card .ph{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--panel)}
.card .ph>*{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.card:hover .ph>*{transform:scale(1.025)}
.card h3{margin:14px 0 2px}
.card h3 a{text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0}
.card .mf{font-size:.88rem;color:var(--muted);margin:0}
.card .row{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:10px}
.dots{display:flex;gap:6px;align-items:center}
.dots i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.08);display:block}
.dots em{font-style:normal;font-size:.78rem;color:var(--muted);margin-left:2px}
.add{position:relative;z-index:2;width:38px;height:38px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-size:1.2rem;line-height:1;display:grid;place-items:center}
.add:hover{border-color:var(--ink)}
.add.on{background:var(--olive);border-color:var(--olive);color:#fff}
.card[hidden],.card.more{display:none}
.empty{padding:60px 0;text-align:center;color:var(--muted)}
.loadmore{display:flex;justify-content:center;margin-top:48px}

/* threshold mini indicator */
.th{display:flex;align-items:center;gap:3px;margin-top:10px;font-size:.78rem;color:var(--muted)}
.th i{width:22px;height:3px;background:var(--line);display:block}
.th i.y{background:var(--olive)}
.th span{margin-left:6px}

/* detail */
.gal{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 0 4px;scrollbar-width:thin}
.gal>div{flex:0 0 clamp(220px,22vw,300px);aspect-ratio:4/3;scroll-snap-align:start;overflow:hidden;background:var(--panel)}
.gal>div>*{width:100%;height:100%;object-fit:cover}
.subnav{position:sticky;top:72px;z-index:30;background:var(--bg);border-bottom:1px solid var(--line);margin-top:28px}
.subnav .wrap{display:flex;gap:30px;overflow-x:auto;scrollbar-width:none}
.subnav a{text-decoration:none;color:var(--muted);padding:16px 0;white-space:nowrap;font-size:.95rem}
.subnav a:hover{color:var(--ink)}
.dgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;padding:56px 0}
@media (max-width:980px){.dgrid{grid-template-columns:1fr}}
.dsec{margin-bottom:64px}
.dsec>h2{font-size:1.9rem;margin-bottom:8px}
.dsec>.small{margin-bottom:24px;max-width:62ch}
.sw{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:16px}
.sw button{background:none;border:0;padding:0;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.sw .tile{aspect-ratio:1;border:1px solid var(--line);position:relative;background-image:url(/assets/img/noise-0.webp),linear-gradient(135deg,rgba(255,255,255,.16),rgba(0,0,0,.07));background-size:160px 160px,100% 100%}
.sw .tile b{position:absolute;right:6px;bottom:6px;font-size:.66rem;font-weight:500;background:var(--card);color:var(--ink);padding:2px 5px}
.sw span{display:block;font-size:.9rem;margin-top:8px}
.sw button[aria-pressed=true] .tile{outline:2px solid var(--ink);outline-offset:3px}
.selbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px;padding:16px 18px;background:var(--panel2);font-size:.92rem}

/* inside-to-out matrix (signature) */
.io{border-top:1px solid var(--ink)}
.io .hd,.io .r{display:grid;grid-template-columns:minmax(120px,1.1fr) repeat(3,minmax(0,1fr));gap:0}
.io .hd div{font-size:.85rem;color:var(--muted);padding:14px 12px 10px}
.io .hd div:first-child{padding-left:0}
.io .r{border-top:1px solid var(--line);transition:background .3s}
.io .r.hl{background:var(--olive-soft)}
.io .nm{padding:14px 12px 14px 0;font-size:.95rem;display:flex;align-items:center;gap:10px}
.io .nm i{width:16px;height:16px;border-radius:50%;flex:none;border:1px solid rgba(0,0,0,.08)}
.io .c{padding:14px 12px;font-size:.84rem;position:relative;line-height:1.45}
.io .c::before{content:"";position:absolute;left:0;right:0;top:0;height:3px}
.io .c.y::before{background:var(--olive)}
.io .c.y+.c.y::before{left:0}
.io .c.n{color:var(--muted)}
.io .c.n::after{content:"Not available";font-size:.8rem;opacity:.7}
.io .c small{display:block;color:var(--muted);font-size:.76rem}
.ionote{font-size:.84rem;color:var(--muted);margin-top:16px;max-width:70ch;padding-left:14px;border-left:2px solid var(--line)}
@media (max-width:700px){.io .hd{display:none}.io .r{grid-template-columns:1fr}.io .c{padding:8px 0 8px 0}.io .c::before{width:3px;height:auto;bottom:0;right:auto}.io .c{padding-left:14px}
  .io .c[data-l]::after{content:none}.io .c[data-l]:not(:empty)::before{}.io .c em{display:block;font-style:normal;font-size:.76rem;color:var(--muted)}}
.io .c em{display:none}
@media (max-width:700px){.io .c em{display:block}.io .c.n::after{content:"Not available"}}

.sizes{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end}
.sizes figure{margin:0;font-size:.84rem}
.sizes .bx{border:1px solid var(--ink);background:var(--card);margin-bottom:8px}
.sizes figcaption small{display:block;color:var(--muted)}
.fin{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.fin li{border:1px solid var(--line);padding:14px 16px;background:var(--card)}
.fin li small{display:block;color:var(--muted)}
.side{position:sticky;top:150px;align-self:start;display:flex;flex-direction:column;gap:20px}
.box{background:var(--panel);padding:26px}
.box h3{margin-bottom:14px}
.feats{list-style:none;padding:0;margin:0}
.feats li{padding:10px 0;border-top:1px solid var(--line);font-size:.93rem}
.feats li:first-child{border:0}
.decor{font-size:.92rem;padding-left:1.1em;margin:0}
.decor li{margin-bottom:4px}

/* forms / flows */
.fgrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;padding:56px 0 96px}
@media (max-width:980px){.fgrid{grid-template-columns:1fr}}
.steps{display:flex;gap:28px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:32px;font-size:.92rem;color:var(--muted);flex-wrap:wrap}
.steps b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);margin-right:8px;font-weight:400;font-size:.82rem}
.steps .on{color:var(--ink)}.steps .on b{background:var(--ink);color:var(--bg);border-color:var(--ink)}
fieldset{border:0;padding:0;margin:0 0 40px}
legend{font-size:1.35rem;font-weight:300;margin-bottom:16px;padding:0}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f2 .full{grid-column:1/-1}
@media (max-width:600px){.f2{grid-template-columns:1fr}}
.pick{list-style:none;padding:0;margin:0;border:1px solid var(--line);background:var(--card)}
.pick li{display:flex;align-items:center;gap:14px;padding:12px 14px;border-top:1px solid var(--line)}
.pick li:first-child{border:0}
.pick input{width:18px;height:18px;accent-color:var(--olive)}
.pick .thm{width:48px;height:48px;flex:none;overflow:hidden;background:var(--panel)}
.pick .thm>*{width:100%;height:100%;object-fit:cover}
.pick .t{flex:1;font-size:.95rem}
.pick .t small{display:block;color:var(--muted);font-size:.82rem}
.pick select{width:auto;max-width:150px;padding:6px 8px;font-size:.85rem}
.pick .x{background:none;border:0;cursor:pointer;color:var(--muted);font-size:1.1rem}
.pick li.dis{opacity:.45}
.addrow{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.addrow select{flex:1;min-width:160px}
.cap{display:flex;justify-content:space-between;padding:12px 14px;border:1px solid var(--line);border-top:0;font-size:.92rem;background:var(--panel2)}
.err{color:var(--warn);font-size:.86rem;margin-top:6px;min-height:1em}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;margin:10px 0;cursor:pointer}
.chk input{width:18px;height:18px;margin-top:3px;accent-color:var(--olive);flex:none}
.types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.types label{border:1px solid var(--line);background:var(--card);padding:18px 14px;text-align:center;cursor:pointer;font-size:.92rem}
.types input{position:absolute;opacity:0}
.types label:has(input:checked){border-color:var(--ink);background:var(--panel)}
.types label:has(input:focus-visible){outline:2px solid var(--olive)}
.types svg{display:block;margin:0 auto 8px;width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.2}
@media (max-width:600px){.types{grid-template-columns:1fr}}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.chips span{display:inline-flex;gap:8px;align-items:center;background:var(--panel);padding:6px 10px;font-size:.88rem}
.chips button{background:none;border:0;cursor:pointer;color:var(--muted);font-size:1rem;padding:0}
.help li{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line);font-size:.93rem}
.help ul{list-style:none;padding:0;margin:0 0 20px}
.help li:first-child{border:0}
.help svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.2;flex:none}
.help small{display:block;color:var(--muted)}
.done{background:var(--panel);padding:32px;margin-bottom:40px}
.done h2{font-size:1.9rem;margin-bottom:10px}
.done pre{background:var(--card);border:1px solid var(--line);padding:16px;font-size:.78rem;overflow-x:auto;white-space:pre-wrap;max-height:340px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid var(--line);padding-top:36px}
.trio h3{margin-bottom:8px}.trio p{font-size:.93rem;color:var(--muted)}
@media (max-width:760px){.trio{grid-template-columns:1fr}}
.prose{max-width:62ch;font-weight:300;font-size:1.06rem}
.prose h2{margin:40px 0 14px;font-size:1.8rem}

/* drawer */
.dr{position:fixed;inset:0;z-index:80;pointer-events:none}
.dr .sh{position:absolute;inset:0;background:rgba(20,18,15,.38);opacity:0;transition:opacity .3s}
.dr .pn{position:absolute;right:0;top:0;bottom:0;width:min(420px,92vw);background:var(--bg);transform:translateX(100%);transition:transform .35s cubic-bezier(.6,0,.2,1);display:flex;flex-direction:column;padding:calc(24px + env(safe-area-inset-top,0px)) 26px calc(24px + env(safe-area-inset-bottom,0px))}
.dr.open{pointer-events:auto}.dr.open .sh{opacity:1}.dr.open .pn{transform:none}
.dr .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.dr .top button{background:none;border:0;font-size:1.5rem;cursor:pointer;color:var(--ink)}
.dr .list{flex:1;overflow:auto}
.dr .pick{border:0;background:none}
.dr .acts{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--line)}
.dr .acts .btn{width:100%}

/* footer */
.ftr{background:var(--panel);margin-top:0;padding:64px 0 calc(28px + env(safe-area-inset-bottom,0px))}
.ftr .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.ftr h3,.ftr h4{font-weight:400;font-size:.95rem;margin:0 0 12px}
.ftr ul{list-style:none;padding:0;margin:0;font-size:.92rem;color:var(--muted)}
.ftr li{margin-bottom:6px}.ftr a{text-decoration:none}.ftr a:hover{text-decoration:underline}
.ftr .base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:48px;padding-top:20px;font-size:.82rem;color:var(--muted)}
@media (max-width:760px){.ftr .cols{grid-template-columns:1fr 1fr}}

/* image spans (preview bundle) */
.im{display:block;background-size:cover;background-position:center}
/* bundle routing */
html.js body.bundle .route{display:none}
html.js body.bundle .route.cur{display:block}
html:not(.js) body.bundle .route::before{content:"Page: " attr(data-route);display:block;background:var(--olive);color:#fff;font-size:.8rem;letter-spacing:.02em;padding:8px var(--gut)}
html.js body.bundle .route+.route{border-top:0}

/* mega menu */
.has-mega{height:100%;display:flex;align-items:center}
.has-mega>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:9px}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 30px 40px -30px rgba(30,25,20,.25);visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility 0s .2s}
.has-mega:hover .mega,.has-mega:focus-within .mega{visibility:visible;opacity:1;transform:none;transition-delay:0s}
html.js .has-mega.closed .mega{visibility:hidden;opacity:0}
.mega .wrap.mg{display:grid;height:auto;align-items:start;grid-template-columns:1.15fr 1fr 1.5fr 1fr;gap:40px;padding-top:32px;padding-bottom:36px}
.mh{font-size:.82rem;color:var(--muted);margin:0 0 14px}
.mm,.mn{list-style:none;padding:0;margin:0}
.mm li a{display:flex;align-items:center;gap:14px;text-decoration:none;padding:6px 0}
.mm li a:hover span:last-child{text-decoration:underline}
.mth{width:42px;height:42px;overflow:hidden;flex:none;background:var(--panel);display:grid;place-items:center;font-size:.85rem}
.mth>*{width:100%;height:100%;object-fit:cover}
.mm small,.mn small,.mf-card small,.mbox small{display:block;color:var(--muted);font-size:.8rem}
.mm .tlink{margin-top:10px;display:inline-block}
.mn li a{display:block;text-decoration:none;padding:9px 0 9px 14px;border-left:2px solid var(--line)}
.mn li a:hover{border-color:var(--olive)}
.mn b,.mbox b,.mf-card b{font-weight:400}
.mfeat{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mf-card{text-decoration:none}
.mfi{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--panel);margin-bottom:8px}
.mfi>*{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.mf-card:hover .mfi>*{transform:scale(1.04)}
.mcta{display:flex;flex-direction:column;gap:12px}
.mbox{display:block;text-decoration:none;background:var(--panel);padding:16px 18px}
.mbox:hover{background:var(--olive-soft)}
.hdr .wrap{position:static}.hdr{position:sticky}
/* mobile menu */
.menu>summary .c{display:none}.menu[open]>summary .o{display:none}.menu[open]>summary .c{display:inline}
.menu>summary{position:relative;z-index:95;background:var(--bg)}
@media (max-width:900px){
 .menu[open] .mnav{position:fixed;inset:0;top:0;z-index:90;background:var(--bg);overflow-y:auto;display:block;padding:calc(132px + env(safe-area-inset-top,0px)) var(--gut) calc(32px + env(safe-area-inset-bottom,0px));border:0;min-width:0}
}
.macc{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:8px}
.macc>summary{list-style:none;font-size:1.8rem;font-weight:300;padding:6px 0 14px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.macc>summary::-webkit-details-marker{display:none}
.macc>summary::after{content:"+";font-size:1.4rem}.macc[open]>summary::after{content:"−"}
.mmats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mmats a{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:.95rem;background:var(--panel2);padding:8px}
.mmats small{margin-left:auto;color:var(--muted);font-size:.8rem}
.mth.all{background:var(--ink);color:var(--bg)}
.mchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.mchips a{border:1px solid var(--line);padding:7px 12px;font-size:.88rem;text-decoration:none;border-radius:40px}
.mlinks{display:flex;flex-direction:column;margin:8px 0 26px}
.mlinks a{font-size:1.5rem;font-weight:300;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line)}
/* calculator */
.calc{background:var(--panel2);padding:clamp(20px,3vw,32px)}
.rooms{margin:18px 0 0}
.rooms summary{cursor:pointer;font-size:.92rem;text-decoration:underline}
.roomrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.roomrow input{width:120px}
.roomrow .btn{padding:10px 14px;font-size:.85rem}
.cres{margin-top:24px;border-top:1px solid var(--ink);padding-top:18px}
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.cout{background:var(--card);border:1px solid var(--line);padding:18px}
.cout .lbl{font-size:.85rem;color:var(--muted)}
.cout b{display:block;font-weight:300;font-size:2.3rem;line-height:1.1;margin:6px 0}
.cout small{display:block;color:var(--muted);font-size:.82rem}
.why{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.why span{font-size:.78rem;background:var(--olive-soft);padding:3px 8px}
.calcband{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;border:1px solid var(--line);padding:clamp(28px,4vw,48px);background:var(--card)}
/* faq */
.faqgrid{display:grid;grid-template-columns:1fr 1.6fr;gap:56px;border-top:1px solid var(--line);padding-top:48px}
@media (max-width:860px){.faqgrid{grid-template-columns:1fr;gap:20px}}
.faq{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:18px 32px 18px 0;font-size:1.08rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:16px;font-size:1.3rem;color:var(--muted)}
.faq[open] summary::after{content:"−"}
.faq p{color:var(--muted);max-width:62ch;margin:0 0 20px}
/* sticky mobile action bar */
.mbar{display:none}
@media (max-width:760px){
 .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--bg);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
 .mbar .btn{padding:12px 10px}
 .route .mbar~*:last-child,.dgrid{padding-bottom:40px}
 body{padding-bottom:0}
}
html:not(.js) body.bundle .mbar{display:none}
html.js body.bundle .route:not(.cur) .mbar{display:none}

body:has(.menu[open]) .mbar{display:none}
body:has(.menu[open]){overflow:hidden}

/* ===== V2 luxury home ===== */
.btn.light{background:#F2EEE7;color:#26231F;border-color:#F2EEE7}
.btn.light:hover{background:transparent;color:#F2EEE7}
.btn.lghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn.lghost:hover{background:#F2EEE7;color:#26231F;border-color:#F2EEE7}
html.js body.v2on .proto{display:none}
html.js body.v2on .hdr{position:fixed;left:0;right:0;top:0;transform:translateY(-110%);transition:transform .5s cubic-bezier(.6,0,.2,1)}
html.js body.v2on.scrolled .hdr{transform:none}
.hero2{position:relative;height:100vh;height:100svh;min-height:620px;overflow:hidden;color:#fff;background:#2a2622}
.h2img{position:absolute;inset:0}
.h2img>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-position:center 60%}
.h2scrim{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(22,19,16,.5) 0,rgba(22,19,16,0) 26%,rgba(22,19,16,0) 45%,rgba(22,19,16,.62) 100%)}
.ohdr{position:absolute;top:0;left:0;right:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.18);padding-top:env(safe-area-inset-top,0px)}
.ohdr>.wrap{display:flex;align-items:center;gap:24px;height:84px}
.ohdr .logo,.ohdr .nav>a,.ohdr .has-mega>a{color:#fff}
.ohdr .nav>a:hover,.ohdr .has-mega>a:hover{border-color:#fff}
.ohdr .projbtn{color:#fff;border-color:rgba(255,255,255,.75)}
.ohdr .mega{color:var(--ink)}
.ohdr .menu>summary{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.ohdr .menu[open]>summary{background:var(--bg);color:var(--ink);border-color:var(--line)}
.ohdr .mnav{color:var(--ink)}
.h2txt{position:absolute;left:0;right:0;bottom:0;padding-bottom:clamp(44px,9vh,104px);z-index:5}
.h2txt .kicker{color:rgba(255,255,255,.82);letter-spacing:.04em}
.hero2 h1{font-size:clamp(3rem,8.2vw,8.2rem);font-weight:300;line-height:.98;letter-spacing:-.025em;margin:6px 0 34px}
.h2row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.28);padding-top:26px}
.h2row .lede{color:rgba(255,255,255,.86);margin:0}
.scrollcue{position:absolute;right:var(--gut);bottom:clamp(44px,9vh,104px);writing-mode:vertical-rl;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.8);z-index:5;padding-bottom:64px;display:none}
.scrollcue::after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:52px;background:rgba(255,255,255,.7);transform-origin:top;animation:cue 2.2s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (min-width:1100px){.scrollcue{display:block}.h2txt .wrap,.h2txt{padding-right:calc(var(--gut) + 40px)}}
html.js .hero2 .h2img>*{animation:hzin 22s cubic-bezier(.25,.1,.25,1) both}
@keyframes hz{from{transform:scale(1.09)}}
html.js .h2txt>*{opacity:0;animation:fadeup 1s cubic-bezier(.2,.6,.2,1) forwards}
html.js .h2txt>*:nth-child(1){animation-delay:.35s}html.js .h2txt>*:nth-child(2){animation-delay:.5s}html.js .h2txt>*:nth-child(3){animation-delay:.75s}
@keyframes fadeup{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
/* version switch */
.vswitch{display:flex;align-items:center;gap:4px;width:max-content;margin:16px var(--gut);background:#26231F;color:#F2EEE7;padding:5px 5px 5px 14px;border-radius:40px;font-size:.8rem;box-shadow:0 10px 30px -10px rgba(0,0,0,.4)}
.vswitch span{margin-right:6px;opacity:.75}
.vswitch a{text-decoration:none;padding:6px 12px;border-radius:30px}
.vswitch a.on{background:#F2EEE7;color:#26231F}
html.js .vswitch{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));margin:0;z-index:75}
/* intro */
.intro2{padding:clamp(90px,13vw,170px) 0 clamp(70px,9vw,120px)}
.intro2 .big{font-size:clamp(1.7rem,3.5vw,3.1rem);font-weight:300;line-height:1.22;letter-spacing:-.01em;max-width:30ch;margin:0}
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:clamp(56px,7vw,96px);border-top:1px solid var(--line)}
.nums div{padding-top:22px}
.nums b{display:block;font-weight:200;font-size:clamp(2.4rem,4.4vw,3.8rem);line-height:1}
.nums span{font-size:.88rem;color:var(--muted)}
@media (max-width:760px){.nums{grid-template-columns:1fr 1fr}}
/* material rail */
.railsec{padding-bottom:clamp(80px,10vw,140px)}
.rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut) 18px;padding-left:max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));scrollbar-width:thin}
.rl{flex:0 0 clamp(250px,27vw,370px);scroll-snap-align:start;text-decoration:none;display:grid;grid-template-columns:auto 1fr;gap:4px 14px}
.rli{grid-column:1/-1;aspect-ratio:3/4;overflow:hidden;background:var(--panel);margin-bottom:14px}
.rli>*{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.6,.2,1)}
.rl:hover .rli>*{transform:scale(1.05)}
.rln{font-size:.78rem;color:var(--muted);padding-top:6px;grid-row:span 2}
.rlt{font-size:1.45rem;font-weight:300;line-height:1.15}
.rlc{font-size:.86rem;color:var(--muted)}
/* card deck */
.decksec{padding-bottom:clamp(40px,6vw,80px)}
.deck{position:relative}
.dcard{position:sticky;top:calc(104px + var(--i) * 22px);display:grid;grid-template-columns:1.3fr 1fr;height:min(76vh,620px);margin-bottom:12vh;overflow:hidden;background:#E8E2D8;color:#26231F;box-shadow:0 -24px 50px -28px rgba(30,25,20,.35)}
.dcard:nth-child(2){background:#1F1C19;color:#EEE8DF}
.dcard:nth-child(3){background:#D9CFBF}
.dcard:nth-child(4){background:#63594C;color:#F2EEE7}
.dcard:last-child{margin-bottom:0}
.dimg{position:relative;overflow:hidden}
.dimg>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dtxt{padding:clamp(28px,4vw,60px);display:flex;flex-direction:column;justify-content:center;gap:18px}
.dno{font-size:.8rem;letter-spacing:.08em;opacity:.7}
.dtxt h3{font-size:clamp(2rem,3.6vw,3.3rem);font-weight:300;line-height:1.02;letter-spacing:-.015em}
.dtxt p{opacity:.82;max-width:40ch;margin:0;font-weight:300;font-size:1.05rem}
.dpicks{list-style:none;padding:0;margin:6px 0 8px}
.dpicks a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-top:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent);text-decoration:none}
.dpicks a:hover{padding-left:6px;transition:padding .3s}
.dpicks small{opacity:.65;font-size:.8rem}
.dtxt .btn{align-self:flex-start}
.dcard:nth-child(1) .btn.light,.dcard:nth-child(3) .btn.light{background:#26231F;color:#F2EEE7;border-color:#26231F}
.dcard:nth-child(1) .btn.light:hover,.dcard:nth-child(3) .btn.light:hover{background:transparent;color:#26231F}
@media (max-width:860px){.dcard{grid-template-columns:1fr;height:auto;top:calc(76px + var(--i) * 14px);margin-bottom:8vh}.dimg{aspect-ratio:16/10}.dtxt{justify-content:flex-start}}
/* dark threshold section */
.dark2{background:#1F1C19;color:#EEE8DF;padding:clamp(90px,11vw,150px) 0}
.dark2 .kicker{color:#C9BBA7}
.dark2 h2{font-size:clamp(2.4rem,5vw,4.4rem);font-weight:300;line-height:1.02}
.dark2 .lede{color:rgba(238,232,223,.72);margin:22px 0 30px}
.d2grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(40px,7vw,110px);align-items:center}
.thl{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.thline{position:absolute;left:0;right:0;top:27px;height:2px;background:rgba(238,232,223,.14)}
.thline::after{content:"";position:absolute;left:0;top:0;height:100%;width:100%;background:#C9BBA7}
.tl{position:relative;padding-top:58px}
.tl::before{content:"";position:absolute;left:0;top:20px;width:16px;height:16px;border-radius:50%;background:#1F1C19;border:2px solid rgba(238,232,223,.3)}
.tl.y::before{background:#C9BBA7;border-color:#C9BBA7}
.tl span{display:block;font-size:.82rem;color:rgba(238,232,223,.6);margin-bottom:8px}
.tl b{display:block;font-weight:300;font-size:1.3rem;line-height:1.3}
.tl small{display:block;font-size:.8rem;color:rgba(238,232,223,.6);margin-top:4px}
@supports (animation-timeline:view()){html.js .thline::after{animation:grow linear both;animation-timeline:view();animation-range:entry 30% cover 55%}}
@keyframes grow{from{width:0}to{width:100%}}
@media (max-width:860px){.d2grid{grid-template-columns:1fr}.thl{grid-template-columns:1fr;gap:0}.thline{left:7px;right:auto;top:0;bottom:0;width:2px;height:auto}.thline::after{width:100%;height:100%}.tl{padding:0 0 28px 40px}.tl::before{top:4px}}
/* featured editorial grid */
.fxgrid{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;gap:18px;height:clamp(520px,58vw,780px)}
.fx{position:relative;overflow:hidden;text-decoration:none;color:#fff;background:var(--panel)}
.fx.big{grid-row:span 2}
.fxi>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}
.fx:hover .fxi>*{transform:scale(1.04)}
.fx::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(20,17,14,.55))}
.fxt{position:absolute;left:22px;bottom:20px;z-index:1}
.fxt b{display:block;font-weight:300;font-size:clamp(1.4rem,2.4vw,2.2rem)}
.fxt small{opacity:.85;font-size:.85rem}
@media (max-width:760px){.fxgrid{grid-template-columns:1fr;grid-template-rows:none;height:auto}.fx{aspect-ratio:4/3}.fx.big{grid-row:auto}}
/* scroll reveals */
html.js .v2 .rv{opacity:0;transform:translateY(28px);transition:opacity 1.1s cubic-bezier(.2,.6,.2,1),transform 1.1s cubic-bezier(.2,.6,.2,1)}
html.js .v2 .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js .hero2 .h2img>*,html.js .h2txt>*{animation:none;opacity:1}html.js .v2 .rv{opacity:1;transform:none;transition:none}.scrollcue::after{animation:none}}
@media (max-width:760px){.hero2 h1 br{display:none}.h2scrim{background:linear-gradient(to bottom,rgba(22,19,16,.5) 0,rgba(22,19,16,.1) 30%,rgba(22,19,16,.35) 55%,rgba(22,19,16,.72) 100%)}.h2row .btns{width:100%}.h2row .btn{flex:1}}
/* ===== Collection page (client concept) ===== */
.dhero{position:relative;min-height:min(78vh,700px);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;overflow:hidden;background:#2a2622}
.dhero>img,.dhero>.im,.dhero>.hvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dscrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,14,.78) 0,rgba(20,17,14,.5) 34%,rgba(20,17,14,.08) 68%),linear-gradient(to top,rgba(20,17,14,.7) 0,rgba(20,17,14,0) 30%)}
.dhtxt{position:relative;z-index:2;width:100%;padding-top:56px;padding-bottom:40px;max-width:var(--max)}
.dhtxt>*{max-width:560px}
.crumbs.light{color:rgba(255,255,255,.85);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:clamp(40px,7vh,80px)}
.crumbs.light span{opacity:.6}
.dmfr{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin:0 0 6px}
.dhero h1{font-size:clamp(3.2rem,7vw,6rem);font-weight:300;letter-spacing:-.02em;line-height:1}
.ddesc{color:rgba(255,255,255,.88);font-weight:300;font-size:1.08rem;line-height:1.6;margin:18px 0 26px}
.fstrip{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.22)}
.fstrip ul{list-style:none;display:flex;gap:clamp(18px,4vw,56px);flex-wrap:wrap;padding-top:18px;padding-bottom:20px;margin:0 auto}
.fstrip li{display:flex;align-items:center;gap:12px;font-size:.9rem;color:rgba(255,255,255,.9)}
.fstrip svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.2}
html.js .dhero>img,html.js .dhero>.im{animation:hz 2.6s cubic-bezier(.2,.6,.2,1) both}
.dgal{position:relative;padding:10px 12px 0}
.dgal .gal{padding:0;gap:10px}
.dgal .gal>div{flex:0 0 clamp(240px,26vw,420px);aspect-ratio:4/3}
.garr{position:absolute;top:50%;transform:translateY(-40%);z-index:3;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#26231F;font-size:1.4rem;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.18);left:22px}
.garr.r{left:auto;right:22px}
.d2sec{padding:clamp(40px,5vw,64px) 0 0}
.d2h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px}
.d2h h2{font-size:clamp(1.6rem,2.4vw,2rem)}
.sw2{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.sw2 button{background:none;border:0;padding:0;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.sw2 .tile{display:block;aspect-ratio:5/2;border:1px solid var(--line);background-image:url(/assets/img/noise-0.webp);background-size:160px}
.sw2 .swn{display:block;font-size:.9rem;margin-top:8px}
.sw2 button[aria-pressed=true] .tile{outline:2px solid var(--ink);outline-offset:2px}
.sw2 button[aria-pressed=true] .swn{font-weight:500}
.cpanels{margin-top:22px}
.cpanel{display:grid;grid-template-columns:1fr 1fr 2fr;background:var(--panel);min-height:300px}
.cpanel[hidden]{display:none}
.cpt{padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:12px;justify-content:center}
.cpt h3{font-size:1.9rem;font-weight:300}
.cpt p{color:var(--muted);margin:0;font-size:.95rem}
.cpsw{background-image:url(/assets/img/noise-1.webp);background-size:220px}
.cpimg{position:relative;overflow:hidden;min-height:240px}
.cpimg>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.th.big{margin:4px 0 6px}.th.big i{width:30px}
@media (max-width:860px){.cpanel{grid-template-columns:1fr 1fr}.cpt{grid-column:1/-1}.cpsw,.cpimg{min-height:180px}}
.szfn{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.fncol{border-left:1px solid var(--line);padding-left:48px}
@media (max-width:900px){.szfn{grid-template-columns:1fr;gap:40px}.fncol{border:0;padding:0}}
.sizes2{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;padding-top:10px}
.sizes2 figure{margin:0;font-size:.82rem;text-align:center}
.sizes2 .bx{border:1px solid var(--ink);background:var(--card);margin:0 auto 10px}
.sizes2 small{display:block;color:var(--muted)}
.fn2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.fn2>div+div{border-left:1px solid var(--line);padding-left:28px}
.fnh{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:14px}
.ftiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:14px}
.ftiles figure{margin:0;font-size:.85rem}
.ftile{aspect-ratio:1;border:1px solid var(--line);margin-bottom:8px;background-image:url(/assets/img/noise-2.webp)}
.ftiles small{display:block;color:var(--muted)}
.tabs2{display:flex;gap:6px 36px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;margin-bottom:28px}
.tabs2 button{background:none;border:0;font:inherit;color:var(--muted);padding:14px 0;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}
.tabs2 button[aria-selected=true]{color:var(--ink);border-color:var(--ink)}
html.js .dtabs .tp:not(.on){display:none}
html:not(.js) .dtabs .tp{margin-bottom:48px}
.insp{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.insp figure{margin:0;font-size:.9rem}
.insp figure>*:first-child{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;margin-bottom:10px}
@media (max-width:700px){.insp{grid-template-columns:1fr}}
.techl,.dll{list-style:none;padding:0;margin:0 0 20px;max-width:720px}
.techl li,.dll li{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.techl span{color:var(--muted)}
.dll span{color:var(--muted);font-size:.86rem}
.oneband{background:#1F1C19;color:#EEE8DF;margin-top:clamp(64px,8vw,104px)}
.oneband .wrap{display:grid;grid-template-columns:1fr 1.2fr auto;gap:40px;align-items:center;padding-top:56px;padding-bottom:56px}
.oneband h2{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:300}
.oneband p{color:rgba(238,232,223,.72);margin:0}
@media (max-width:860px){.oneband .wrap{grid-template-columns:1fr;gap:20px}}
/* V2 home: darker overlay for the client's look */
.h2scrim{background:linear-gradient(90deg,rgba(20,17,14,.62) 0,rgba(20,17,14,.25) 45%,rgba(20,17,14,0) 70%),linear-gradient(to bottom,rgba(20,17,14,.5) 0,rgba(20,17,14,0) 26%,rgba(20,17,14,0) 45%,rgba(20,17,14,.65) 100%)}
.hero2 .hvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

body.v2b .vswitch{display:none}
html:not(.js) body.v2b>.proto,html:not(.js) body.v2b>.hdr{display:none}
@media (max-width:760px){.fstrip ul{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.fstrip li{white-space:nowrap}.crumbs.light{margin-bottom:28px}}

.ftile.st{background-image:url(/assets/img/noise-3.webp)}
.ftile:not(.st){background-image:url(/assets/img/noise-4.webp)}

/* V2 hero: slow zoom-in on load + scroll-linked push-in */
@keyframes hzin{from{scale:1}to{scale:1.14}}
.hero2 .h2img{will-change:transform;transform-origin:50% 60%}
.hero2 .h2txt{will-change:transform,opacity}
@media (prefers-reduced-motion:reduce){html.js .hero2 .h2img>*{animation:none}.hero2 .h2img,.hero2 .h2txt{transform:none!important;opacity:1!important}}

.logo svg{display:block;height:22px;width:auto}.ftr .logo svg{height:26px}
@media (max-width:600px){.logo svg{height:18px}}

.display{font-weight:300;font-size:clamp(2.6rem,5.6vw,4.6rem);line-height:1.08;letter-spacing:-.01em;margin:0}
h1.kicker{font-size:.95rem;font-weight:400;line-height:1.4;letter-spacing:.02em}
.lpgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px}
@media (max-width:900px){.lpgrid{grid-template-columns:1fr}}
.soon{background:var(--panel);padding:clamp(28px,4vw,48px);margin:0 auto;max-width:var(--max)}
.soon h3{font-size:1.6rem;font-weight:300;margin-bottom:8px}.soon p{color:var(--muted);max-width:56ch}.soon .btns{margin-top:18px}
section>.grid,.blk .grid{margin-top:8px}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}
@media (max-width:900px){.tgrid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.tgrid{grid-template-columns:1fr}}
.tcard{text-decoration:none;display:block}
.tcard .ph{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--panel);margin-bottom:12px}
.tcard .ph>*{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.tcard:hover .ph>*{transform:scale(1.03)}
.tcard b{display:block;font-weight:400;font-size:1.2rem;margin-bottom:4px}.tcard small{color:var(--muted);font-size:.9rem}
.prose a{color:var(--olive)}

.lpcoll{padding-bottom:clamp(48px,7vw,96px)}
.lpcoll+.band{margin-top:0}

.card .ph{position:relative}
.badge{position:absolute;left:12px;top:12px;background:rgba(242,238,231,.94);color:#26231F;font-size:.75rem;letter-spacing:.06em;padding:5px 10px}
.status{background:var(--panel);border-bottom:1px solid var(--line)}
.status .wrap{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;font-size:.92rem}
.status b{font-weight:500;color:var(--olive)}.status span{color:var(--muted)}
.regpick{display:flex;gap:14px;align-items:center;background:var(--panel);padding:14px;margin-bottom:28px}
.regpick .thm{width:64px;height:64px;overflow:hidden;flex:none}.regpick .thm>*{width:100%;height:100%;object-fit:cover}
.regpick small{display:block;color:var(--muted)}

.card .ph>.badge,.ph>.badge{width:auto!important;height:auto!important;left:12px;top:12px;transform:none!important}
