@font-face{font-family:"Cormorant Garamond";font-weight:300;font-style:normal;font-display:swap;src:url(fonts/cormorant-garamond-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:300;font-style:normal;font-display:swap;src:url(fonts/jost-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Jost";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/jost-latin-500-normal.woff2) format("woff2")}
:root{--bg:#EDE6DA;--bg2:#e3dacb;--ink:#2A2018;--mut:#6A5848;--body:#4a3b30;--brass:#5A3B29;--line:rgba(42,32,24,.22);--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Jost","Futura",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.wrap{width:min(1180px,100% - 48px);margin:0 auto}
.lbl{font:500 11px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--mut)}.acc{color:var(--brass)}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.02;margin:0}
h1{font-size:clamp(52px,9vw,148px)}h2{font-size:clamp(38px,5.6vw,84px)}h3{font-size:28px}
p{margin:0;color:var(--body)}
nav.top{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px max(24px,calc((100vw - 1180px)/2));background:linear-gradient(180deg,rgba(12,10,8,.85),transparent);transition:background .4s}
nav.top.s{background:rgba(12,10,8,.88);backdrop-filter:blur(10px)}
.logo{font:500 15px/1 var(--serif);letter-spacing:.5em;text-transform:uppercase;display:flex;gap:14px;align-items:center}.logo i{width:22px;height:22px;border:1px solid var(--brass);border-radius:50%;display:grid;place-items:center}.logo i::after{content:"";width:9px;height:9px;border:1px solid var(--brass)}
nav.top ul{display:flex;gap:34px;list-style:none;margin:0;padding:0}nav.top li a{font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#d8cfc2;transition:color .2s}nav.top li a:hover{color:var(--brass)}
.btn{display:inline-flex;align-items:center;gap:12px;padding:17px 30px;border:1px solid rgba(243,237,228,.55);font:500 11px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;position:relative;overflow:hidden;transition:background .3s,color .3s,border-color .3s;cursor:pointer;background:transparent;color:var(--ink)}
.btn:hover{background:var(--ink);color:#000}.btn.b{border-color:var(--brass);color:var(--brass)}.btn.b:hover{background:var(--brass);color:#000}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}.btn:hover::after{transform:translateX(120%)}
.hero{position:relative;height:100svh;min-height:640px;display:grid;align-items:end;overflow:hidden}
#hero3d{position:absolute;inset:0}#hero3d canvas{width:100%;height:100%;display:block}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 68% 42%,rgba(201,167,124,.12),transparent 70%),linear-gradient(180deg,transparent 55%,rgba(12,10,8,.95));pointer-events:none;z-index:1}
.hero .wrap{position:relative;z-index:2;padding-bottom:9vh;display:flex;flex-direction:column;gap:26px;align-items:flex-start}
.hero p{max-width:480px;font-size:18px}
.scrollcue{position:absolute;right:max(24px,calc((100vw - 1180px)/2));bottom:9vh;z-index:2;writing-mode:vertical-rl;font:500 10px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:14px}
.scrollcue::after{content:"";width:1px;height:56px;background:linear-gradient(var(--brass),transparent);animation:cue 2s infinite}@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
section.sec{padding:clamp(90px,12vw,170px) 0}
.rv{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}
.intro{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:end}
.intro p{font-size:19px;max-width:520px}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:80px}
.col{background:var(--bg);padding:0;position:relative;overflow:hidden;aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:flex-end}
.col svg{position:absolute;inset:0;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.col:hover svg{transform:scale(1.07)}
.col .t{position:relative;padding:30px;background:linear-gradient(0deg,rgba(12,10,8,.92),transparent)}.col .t p{margin-top:8px;font-size:14px;color:var(--mut)}
.col .n{position:absolute;top:22px;left:26px;font:500 11px/1 var(--sans);letter-spacing:.28em;color:var(--brass)}
.studio{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stg{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:center}
#v3d{position:relative;aspect-ratio:1/1.05;max-height:78vh;cursor:grab;background:radial-gradient(60% 55% at 50% 45%,rgba(201,167,124,.10),transparent 70%)}#v3d canvas{width:100%;height:100%;display:block}
#v3d::after{content:"Drag to turn";position:absolute;left:0;bottom:0;font:500 10px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--mut)}
.opt{margin-top:30px;display:flex;flex-direction:column;gap:12px}.opt .row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.chip{padding:12px 20px;border:1px solid var(--line);font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;background:transparent;color:var(--ink);cursor:pointer;transition:all .25s}.chip.on,.chip:hover{border-color:var(--brass);color:var(--brass)}
.sw{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);cursor:pointer;padding:0;position:relative}.sw.on{outline:1px solid var(--brass);outline-offset:4px}
.spec{margin-top:34px;border-top:1px solid var(--line)}.spec div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.spec span{color:var(--mut)}
.trade{display:grid;grid-template-columns:1fr 1fr;gap:80px}.trade ul{list-style:none;padding:0;margin:32px 0 0}.trade li{padding:18px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.trade li:last-child{border-bottom:1px solid var(--line)}.trade li span{color:var(--mut);font-size:14px;text-align:right}
.band{padding:90px 0;text-align:center;border-top:1px solid var(--line)}.band h2{max-width:900px;margin:22px auto 38px}
footer{border-top:1px solid var(--line);padding:56px 0 40px;color:var(--mut);font-size:12.5px}
.fg{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.fg .grp{display:flex;flex-direction:column;gap:10px;max-width:420px}.fg a{color:var(--ink)}.fg a:hover{color:var(--brass)}
.fl{display:flex;gap:28px;flex-wrap:wrap}.fine{margin-top:34px;max-width:900px;line-height:1.7}
.fam{display:flex;gap:18px;align-items:center;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:40px;font:500 10px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--mut);flex-wrap:wrap}.fam b{color:var(--ink);font-weight:500}.fam a:hover{color:var(--brass)}
#intro{position:fixed;inset:0;z-index:200;pointer-events:none}#intro .p{position:absolute;top:0;width:50.5%;height:100%;background:var(--bg);transition:transform 1.1s cubic-bezier(.77,0,.18,1)}#intro .p.l{left:0}#intro .p.r{right:0}
#intro .c{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .45s}#intro .c div{text-align:center}#intro svg{width:54px;height:54px;display:block;margin:0 auto 24px}#intro circle,#intro rect{fill:none;stroke:var(--brass);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1;animation:dr 1.3s .1s cubic-bezier(.6,0,.2,1) forwards}#intro rect{animation-delay:.35s}
#intro b{display:block;font:500 15px/1 var(--serif);letter-spacing:.7em;text-indent:.7em;text-transform:uppercase;opacity:0;animation:fi .8s .5s forwards}#intro i{display:block;margin-top:16px;font:500 10px/1 var(--sans);letter-spacing:.3em;color:var(--mut);font-style:normal;opacity:0;animation:fi .6s .7s forwards}
#intro.open .c{opacity:0}#intro.open .p.l{transform:translateX(-101%)}#intro.open .p.r{transform:translateX(101%)}
@keyframes dr{to{stroke-dashoffset:0}}@keyframes fi{to{opacity:1}}
html.io{overflow:hidden}
.pg{padding:170px 0 90px}.pg h1{font-size:clamp(46px,7vw,100px)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px;margin-top:50px}.form .f{display:flex;flex-direction:column;gap:8px}.form .full{grid-column:1/-1}
.form label{font:500 10px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--mut)}.form input,.form select,.form textarea{background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:400 17px var(--sans);padding:12px 0;outline:none;border-radius:0}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--brass)}.form select option{background:#14110d}
.gr{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:70px}.gr>a{background:var(--bg);padding:56px 44px;display:flex;flex-direction:column;gap:18px;min-height:380px;justify-content:flex-end;transition:background .4s}.gr>a:hover{background:var(--bg2)}.gr .nm{font-family:var(--serif);font-size:44px;line-height:1}
@media(max-width:860px){nav.top ul{display:none}.intro,.stg,.trade,.gr{grid-template-columns:1fr;gap:40px}.cols{grid-template-columns:1fr}.col{aspect-ratio:4/3}.form{grid-template-columns:1fr}.scrollcue{display:none}#v3d{aspect-ratio:1/1}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}#intro{display:none}}

.cg{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
.pc{background:var(--bg);display:flex;flex-direction:column;cursor:pointer;text-align:left;color:inherit;border:0;padding:0;font:inherit}
.pc .im{aspect-ratio:1/1;overflow:hidden;background:#15110d}.pc img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .6s;opacity:0}.pc img.ld{opacity:1}.pc:hover img{transform:scale(1.06)}
.pc .tx{padding:18px 20px 24px}.pc h3{font-size:22px}.pc span{display:block;margin-top:6px;font:500 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mut)}
.fc{display:flex;gap:10px;flex-wrap:wrap;margin-top:38px}
.col.ph{background:#15110d}.col.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.col.ph:hover img{transform:scale(1.07)}.col.ph::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,10,8,.9),rgba(12,10,8,.05) 60%);z-index:1}.col.ph .t,.col.ph .n{z-index:2}
#md{position:fixed;inset:0;z-index:120;background:rgba(8,6,4,.94);backdrop-filter:blur(8px);display:none;overflow:auto}#md.o{display:block}
.mdi{width:min(1180px,100% - 48px);margin:0 auto;padding:90px 0 60px;display:grid;grid-template-columns:1.2fr 1fr;gap:60px}
.mdg img.m{width:100%;aspect-ratio:1/1;object-fit:cover;background:#15110d}.mdt{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.mdt img{width:72px;height:72px;object-fit:cover;opacity:.55;cursor:pointer;border:1px solid transparent}.mdt img.on,.mdt img:hover{opacity:1;border-color:var(--brass)}
.mdx{position:fixed;top:22px;right:max(24px,calc((100vw - 1180px)/2));z-index:130;background:transparent;border:1px solid var(--line);color:var(--ink);width:44px;height:44px;cursor:pointer;font-size:20px;display:none}#md.o~.mdx{display:block}
@media(max-width:860px){.cg{grid-template-columns:repeat(2,1fr)}.mdi{grid-template-columns:1fr;gap:30px;padding-top:80px}}

.dk{--bg:#221a16;--bg2:#2b211c;--ink:#f3ece0;--mut:#b4a592;--body:#d6cabb;--brass:#d39b76;--line:rgba(243,236,224,.16);background:var(--bg);color:var(--ink)}
.btn:hover{background:var(--ink);color:var(--bg)}.btn.b:hover{background:var(--brass);color:#fff}
nav.top{background:linear-gradient(180deg,rgba(34,26,22,.8),transparent)}nav.top.s,nav.top.solid{background:rgba(34,26,22,.94)}
.hero::before{background:radial-gradient(70% 60% at 68% 42%,rgba(211,155,118,.14),transparent 70%),linear-gradient(180deg,transparent 55%,rgba(34,26,22,.96))}
.col.ph{--ink:#f3ece0;--mut:#d6c7b4;color:#f3ece0}.col.ph .t{background:linear-gradient(0deg,rgba(34,26,22,.92),transparent)}.col.ph::before{background:linear-gradient(0deg,rgba(34,26,22,.9),rgba(34,26,22,.05) 60%)}
.col{background:var(--bg)}.cols,.cg{background:var(--line)}
.form select option{background:var(--bg2)}
.pc .im{background:var(--bg2)}.mdg img.m{background:var(--bg2)}
.studio{background:var(--bg2)}
#intro .p{background:#221a16}#intro b,#intro i{color:#f3ece0}
.band.dk{border-top:0}
footer.dk{border-top:0}
.fam b,.fg a{color:var(--ink)}
.sw.on{outline-color:var(--brass)}
.pc h3{color:var(--ink)}
.pg{background:var(--bg)}

.logo img{height:15px;width:auto;display:block}.logo{gap:0}
#intro .il{width:min(300px,64vw);height:auto;margin:0 auto;opacity:0;animation:fi .9s .45s forwards;display:block}
#intro svg{margin-bottom:30px}
.fg .logo img{height:17px}
.spg{position:fixed;left:0;top:0;height:2px;width:100%;background:linear-gradient(90deg,#a8573a,#d39b76);transform:scaleX(0);transform-origin:0 50%;z-index:90;pointer-events:none}
.feat{padding:clamp(80px,10vw,140px) 0;overflow:hidden}.feat .hd{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:46px}
.fr{display:flex;gap:18px;overflow-x:auto;padding:0 max(24px,calc((100vw - 1180px)/2)) 28px;scroll-snap-type:x proximity;scrollbar-width:none;cursor:grab}.fr::-webkit-scrollbar{display:none}
.fi{flex:0 0 clamp(250px,26vw,360px);scroll-snap-align:start;text-align:left;background:transparent;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.fi .im{aspect-ratio:4/5;overflow:hidden;background:var(--bg2)}.fi img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);opacity:0}.fi img.ld{opacity:1}.fi:hover img{transform:scale(1.06)}
.fi h3{margin-top:16px;font-size:24px}.fi span{display:block;margin-top:6px;font:500 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--mut)}
.hero .wrap{will-change:transform,opacity}

.pjb-btn{background:transparent;border:1px solid var(--line);color:var(--ink);font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;padding:13px 16px;margin-right:12px;cursor:pointer}.pjb-btn b{margin-left:6px;color:var(--brass);font-weight:500}.pjb-btn.has{border-color:var(--brass)}
nav.top{gap:12px}nav.top>.btn{margin-left:0}
#pj{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:150;transform:translateX(102%);transition:transform .6s cubic-bezier(.77,0,.18,1);display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--bg)}#pj.o{transform:none}
.pjh{display:flex;justify-content:space-between;align-items:center;padding:26px 28px;border-bottom:1px solid var(--line)}.pjx{background:none;border:0;color:var(--ink);font-size:26px;cursor:pointer}
.pjb{flex:1;overflow:auto;padding:6px 28px}.pjb p{color:var(--body)}
.pji{display:grid;grid-template-columns:1fr auto auto auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.pji h4{margin:0;font:400 20px/1.1 var(--serif)}.pji span{display:block;margin-top:5px;font-size:12px;color:var(--mut)}.pji b{font-weight:500;font-size:14px}
.pjq{display:flex;align-items:center;gap:8px}.pjq button,.pjd{background:none;border:1px solid var(--line);color:var(--ink);width:28px;height:28px;cursor:pointer}.pjd{border:0;font-size:20px}.pjq i{font-style:normal;min-width:16px;text-align:center;font-size:14px}
.pjf{padding:22px 28px 28px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.pjf p{font-size:12px;color:var(--mut)}.pjt{display:flex;justify-content:space-between;align-items:baseline}.pjt b{font:400 32px/1 var(--serif)}
.cfg{margin-top:28px;display:flex;flex-direction:column;gap:20px}.cfg .og{display:flex;flex-direction:column;gap:10px}
.cfg .pr{display:flex;align-items:baseline;gap:14px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cfg .pr b{font:400 clamp(34px,3.4vw,48px)/1 var(--serif)}.cfg .pr span{font-size:12px;color:var(--mut)}
.cfg .qty{display:flex;align-items:center;gap:12px}.cfg .qty button{background:none;border:1px solid var(--line);color:var(--ink);width:40px;height:40px;cursor:pointer;font-size:18px}.cfg .qty i{font-style:normal;min-width:26px;text-align:center}
.cfg .ac{display:flex;gap:12px;flex-wrap:wrap}
.chip.na{opacity:.35}
@media(max-width:860px){.pjb-btn{padding:11px 12px;margin-right:8px}}
.cfg .ogs{display:flex;flex-direction:column;gap:22px}.cfg .og .row{display:flex;gap:8px;flex-wrap:wrap}

/* ===== Casa entrance (from approved prototype) ===== */
.ent{position:relative;height:min(100svh,900px);min-height:540px;overflow:hidden;background:#1A1410;color:#fff;isolation:isolate}
.ent .layer{position:absolute;inset:0;will-change:transform,opacity}
.ent .layer img{position:absolute;inset:0;width:100%;height:100%;display:block;max-width:none}
#L-sign{transform-origin:52% 50%}#L-sign img{object-fit:cover;object-position:52% 47%;transform:scale(1.06)}
#L-hall{transform-origin:59% 78%;--pos:64% 62%}#L-gal{transform-origin:50% 34%;--pos:50% 55%}
.ent .fit .bg{object-fit:cover;filter:blur(26px) brightness(.86);transform:scale(1.2)}.ent .fit .fg{object-fit:contain}
#L-room{transform-origin:84% 58%}#L-room img{object-fit:cover;object-position:62% 60%}
@media (max-aspect-ratio:11/10){.ent .fit .bg{display:none}.ent .fit .fg{object-fit:cover;object-position:var(--pos)}}
.ent .scrim{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(18,12,8,.58) 0,rgba(18,12,8,0) 26%),linear-gradient(0deg,rgba(18,12,8,.74) 0,rgba(18,12,8,0) 52%)}
.ent .caps{position:absolute;z-index:5;left:0;right:0;bottom:104px;display:grid;padding:0 max(20px,calc((100vw - 1180px)/2))}
.ent .cap{grid-area:1/1;align-self:end;max-width:820px;display:flex;flex-direction:column;gap:18px;will-change:opacity,transform}
.ent .eyebrow{font:500 11px/1.4 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.ent .cap h1,.ent .cap h2{margin:0;color:#fff;font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.6vw,60px);line-height:1.1;letter-spacing:0;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.28)}
.ent .cap p{margin:0;font-size:15px;max-width:46ch;color:rgba(255,255,255,.9)}
#capB,#capG,#capC{opacity:0}
.ent .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.btn2{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 26px;border:1px solid #fff;background:transparent;color:#fff;font:500 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;transition:background .25s,color .25s}.btn2:hover{background:#fff;color:#1A1410}
.ent .bar{position:absolute;z-index:6;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding:0 max(20px,calc((100vw - 1180px)/2)) 28px}
.ent .ctl{appearance:none;background:none;border:0;color:#fff;font:500 11px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;cursor:pointer;min-height:44px;padding:0;border-bottom:1px solid rgba(255,255,255,.55)}
.ent .rail{display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.ent .where{font:500 11px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.85);font-variant-numeric:tabular-nums}
.ent .bars{display:flex;gap:8px}.ent .b{width:72px;height:2px;background:rgba(255,255,255,.28);overflow:hidden}.ent .b i{display:block;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:0 50%}
.ambient{animation:drift 24s ease-in-out infinite alternate}@keyframes drift{from{transform:scale(1) translate(0,0)}to{transform:scale(1.07) translate(-1.6%,-.8%)}}
@media (prefers-reduced-motion:reduce){.ambient{animation:none}}
@media (max-width:640px){.ent .b{width:44px}.ent .caps{bottom:96px}}
/* light nav once scrolled */
nav.top.s{background:rgba(237,230,218,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
nav.top.s li a{color:var(--ink)}nav.top.s li a:hover{color:var(--brass)}
nav.top.s .btn.b{border-color:var(--brass);color:var(--brass)}nav.top.s .btn.b:hover{background:var(--brass);color:#fff}
nav.top.s{--ink:#2A2018;--line:rgba(42,32,24,.3);--brass:#5A3B29}
nav.top.s li a,nav.top.s .pjb-btn{color:#2A2018}nav.top.s li a:hover{color:#5A3B29}
.spg{background:linear-gradient(90deg,#5A3B29,#a8805f)}

/* type: Cormorant Garamond display (refined, high contrast) + Jost (geometric, Futura lineage, sibling to Datum's geometric sans) */
h1,h2,h3{font-weight:400;letter-spacing:-.005em;line-height:1.04}
h1{font-size:clamp(56px,9.4vw,152px)}h2{font-size:clamp(42px,6vw,90px)}h3{font-size:31px}
.ent .cap h1,.ent .cap h2{font-weight:400;font-size:clamp(38px,5.6vw,76px);line-height:1.04}
body{font-weight:400;letter-spacing:.005em}
.lbl,.eyebrow,.btn,.btn2,nav.top li a{font-weight:500}
p,.intro p{font-weight:400}

/* ===== showroom walk-through ===== */
.wk{position:relative;height:340vh;background:var(--bg)}
.wk-s{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(280px,.8fr) 1.4fr;gap:clamp(24px,5vw,80px);align-items:center;padding:96px max(24px,calc((100vw - 1180px)/2)) 48px;overflow:hidden}
.wk-t{display:flex;flex-direction:column;gap:28px;min-height:60%;justify-content:center}
.wk-c{transition:opacity .35s;display:flex;flex-direction:column;gap:18px}.wk-c h2{font-size:clamp(40px,5vw,76px)}.wk-c p{max-width:36ch;color:var(--body)}
.wk-n{display:flex;align-items:center;gap:18px;font:500 11px/1 var(--sans);letter-spacing:.3em;color:var(--mut)}
.wk-b{display:flex;gap:6px}.wk-b i{display:block;width:44px;height:2px;background:rgba(42,32,24,.2);overflow:hidden;position:relative}.wk-b i::after{content:"";position:absolute;inset:0;background:var(--brass);transform:scaleX(var(--p,0));transform-origin:0 50%}
.wk-v{position:relative;height:min(78svh,100%);justify-self:center;aspect-ratio:1/1;max-width:100%;width:min(78svh,100%)}
.wk-f{position:absolute;inset:0;margin:auto;max-height:100%;max-width:100%;height:auto;width:100%;overflow:visible;will-change:transform,opacity}
.wk-f img{width:100%;height:100%;object-fit:cover;display:block}
.tag{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;color:#fff;opacity:0;transition:opacity .6s .3s}
.wk-f.on .tag{opacity:1}
.tag i{width:14px;height:14px;border-radius:50%;border:1px solid #fff;background:rgba(255,255,255,.25);box-shadow:0 0 0 6px rgba(255,255,255,.12);animation:tg 2.4s ease-in-out infinite}
.tag span{font:500 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;background:rgba(26,20,16,.72);backdrop-filter:blur(6px);padding:8px 10px;opacity:0;transform:translateX(-6px);transition:.3s;white-space:nowrap}
.tag:hover span,.tag:focus-visible span{opacity:1;transform:none}
@keyframes tg{50%{box-shadow:0 0 0 10px rgba(255,255,255,.04)}}
@media (max-width:860px){.wk{height:300vh}.wk-s{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding:84px 20px 24px;gap:16px;align-items:start}.wk-t{min-height:0;gap:12px}.wk-c h2{font-size:34px}.wk-c p{font-size:14px}.wk-v{width:min(100%,64svh);height:auto;aspect-ratio:1/1;justify-self:center}.tag span{opacity:1;transform:none;font-size:9px;padding:6px 8px}.wk-t .btn{display:none}}
@media (prefers-reduced-motion:reduce){.tag i{animation:none}}
/* inner pages: warm nav */
nav.top.solid{background:rgba(237,230,218,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(42,32,24,.22);--ink:#2A2018;--line:rgba(42,32,24,.3);--brass:#5A3B29}
nav.top.solid li a,nav.top.solid .pjb-btn{color:#2A2018}nav.top.solid li a:hover{color:#5A3B29}
nav.top.solid .btn.b{border-color:#5A3B29;color:#5A3B29}nav.top.solid .btn.b:hover{background:#5A3B29;color:#fff}

.gpc-h{padding:170px 0 80px;background:var(--bg)}.gpc-h h1{margin:22px 0 28px}.gpc-h p{max-width:560px;font-size:18px}
.gpc-s{padding-bottom:20px}.gpc-p{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.gpc-p figure{margin:0;aspect-ratio:4/5;overflow:hidden}.gpc-p img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}.gpc-p figure:hover img{transform:scale(1.04)}
.gpc-p ol{list-style:none;padding:0;margin:26px 0 0;counter-reset:n}.gpc-p li{counter-increment:n;padding:22px 0 22px 54px;border-top:1px solid var(--line);position:relative;color:var(--body)}.gpc-p li:last-child{border-bottom:1px solid var(--line)}.gpc-p li::before{content:"0" counter(n);position:absolute;left:0;top:24px;font:500 11px/1 var(--sans);letter-spacing:.3em;color:var(--brass)}.gpc-p li b{display:block;font:400 26px/1.2 var(--serif);color:var(--ink);margin-bottom:6px}
.gpc-b{padding-top:96px;padding-bottom:110px}.fine2{margin-top:36px;font-size:12px;color:var(--mut);max-width:760px}
a[aria-disabled]{opacity:.55;pointer-events:none}
@media(max-width:860px){.gpc-p{grid-template-columns:1fr}.gpc-h{padding-top:130px}}

.ord-g{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:56px}
.ord-c{background:var(--bg);padding:48px 40px;display:flex;flex-direction:column;gap:22px}
.ord-c ol{list-style:none;margin:0;padding:0;counter-reset:o}.ord-c li{counter-increment:o;position:relative;padding:18px 0 18px 48px;border-top:1px solid var(--line);color:var(--body)}.ord-c li::before{content:"0" counter(o);position:absolute;left:0;top:21px;font:500 11px/1 var(--sans);letter-spacing:.3em;color:var(--brass)}.ord-c li b{font:400 22px/1.2 var(--serif);color:var(--ink);margin-right:6px}
.ord-c .btn{align-self:flex-start;margin-top:8px}
@media(max-width:860px){.ord-g{grid-template-columns:1fr}.ord-c{padding:32px 22px}}
