:root{--bg:#14100d;--bg2:#1c1612;--cream:#f1e6d3;--muted:#a8998a;--gold:#c9a35b;--gold2:#e6c88a}
*{margin:0;padding:0;box-sizing:border-box}
html{background:var(--bg);overflow-x:hidden;overflow-x:clip;max-width:100%}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--bg);color:var(--cream);font-family:Inter,system-ui,sans-serif;font-weight:300;overflow-x:hidden;overflow-x:clip;max-width:100%;position:relative;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
em{font-style:italic;color:var(--gold2)}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.05}
.over{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:22px}
.gold-line{display:block;width:90px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:30px 0;transform-origin:left}
.gold-line.wide{width:min(420px,70vw);margin:34px auto}
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:gr 1s steps(4) infinite}
@keyframes gr{25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,3%)}}
/* loader */
.loader{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px}
.l-mark{font-family:'Playfair Display',serif;font-size:72px;color:var(--gold2);font-style:italic}
.l-bar{width:180px;height:1px;background:#3a2f26}.l-bar i{display:block;height:100%;width:0;background:var(--gold)}
.l-txt{font-size:10px;letter-spacing:.6em;color:var(--muted)}
/* cursor */
.cursor-ring,.cursor-dot{opacity:0;transition:opacity .3s;position:fixed;top:0;left:0;pointer-events:none;z-index:150;border-radius:50%;transform:translate(-50%,-50%)}
.cursor-ring{width:38px;height:38px;border:1px solid rgba(230,200,138,.7);transition:width .3s,height .3s,background .3s}
.cursor-ring.big{width:80px;height:80px;background:rgba(201,163,91,.08)}
.cursor-dot{width:5px;height:5px;background:var(--gold2)}
@media (hover:none){.cursor-ring,.cursor-dot{display:none}}
@media (hover:hover){body,a{cursor:none}}
/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:26px 5vw;background:linear-gradient(var(--bg),transparent);mix-blend-mode:normal}
.logo{font-family:'Playfair Display',serif;font-size:20px;letter-spacing:.18em}
.logo span{font-family:Inter;font-size:9px;letter-spacing:.5em;color:var(--gold);margin-left:10px;vertical-align:middle}
.nav nav{display:flex;gap:34px}
.nav nav a{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);position:relative;transition:color .3s}
.nav nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .4s;transform-origin:right}
.nav nav a:hover{color:var(--cream)}.nav nav a:hover:after{transform:scaleX(1);transform-origin:left}
.nav-progress{position:absolute;left:0;bottom:0;width:100%;height:1px}.nav-progress i{display:block;height:100%;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
/* hero */
.hero{position:relative;height:100vh;height:100svh;min-height:620px;display:flex;align-items:center;padding:0 7vw;overflow:hidden}
#gl{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.spot{position:absolute;inset:0;background:radial-gradient(ellipse 55% 60% at 68% 45%,rgba(201,140,70,.22),transparent 70%),radial-gradient(ellipse 80% 70% at 20% 100%,rgba(90,60,35,.35),transparent 70%);pointer-events:none}
.hero-inner{position:relative;z-index:2;max-width:820px}
.hero-title{font-size:clamp(52px,8.4vw,128px);letter-spacing:-.01em}
.ln{display:block;overflow:hidden;padding-bottom:.08em}.ln>span{display:inline-block}
.lead{color:var(--muted);font-size:16px;line-height:1.8;max-width:430px}
.scroll-hint{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10px;letter-spacing:.45em;text-transform:uppercase;color:var(--muted)}
.scroll-hint i{width:1px;height:50px;background:linear-gradient(var(--gold),transparent);animation:sh 2s infinite}
@keyframes sh{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}}
/* intro */
.intro{padding:16vh 7vw 8vh;max-width:1300px;margin:0 auto}
.intro h2{font-size:clamp(28px,3.6vw,54px);line-height:1.3}
.split .w{display:inline-block;opacity:.12}
.stats{display:flex;gap:8vw;margin-top:90px;border-top:1px solid #2e251e;padding-top:40px}
.stats b{display:block;font-family:'Playfair Display';font-weight:400;font-size:56px;color:var(--gold2)}
.stats span{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
/* category */
.cat{position:relative;padding:8vh 7vw;max-width:1440px;margin:0 auto}
.cat-head{position:relative;margin-bottom:5vh}
.num{position:absolute;right:0;top:-40px;font-family:'Playfair Display';font-size:clamp(120px,18vw,260px);color:transparent;-webkit-text-stroke:1px rgba(201,163,91,.18);line-height:1}
.big{font-size:clamp(56px,9vw,140px)}
.feature{display:grid;grid-template-columns:1.05fr 1fr;gap:7vw;align-items:center;margin-bottom:8vh}
.alt .feature{grid-template-columns:1fr 1.05fr}.alt .feature .assemble{order:2}
.alt .cat-head{text-align:right}.alt .cat-head .gold-line{margin-left:auto;transform-origin:right}.alt .num{right:auto;left:0}
.assemble{position:relative;aspect-ratio:3/4;perspective:1200px;border-radius:2px}
.assemble.sq{aspect-ratio:1/1}
.assemble .pc{position:absolute;background-size:200% 200%;will-change:transform;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.assemble:after{content:"";position:absolute;inset:-1px;box-shadow:inset 0 0 80px 40px var(--bg);pointer-events:none}
.f-text h3{font-size:clamp(34px,3.6vw,56px);margin-bottom:24px}
.f-text p{color:var(--muted);line-height:1.85;font-size:15.5px;max-width:460px}
.f-text i{font-style:normal;color:var(--gold2);letter-spacing:.12em}
.f-text ul{list-style:none;margin-top:34px;border-top:1px solid #2e251e}
.f-text li{padding:15px 0;border-bottom:1px solid #2e251e;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--cream);display:flex;gap:16px}
.f-text li:before{content:"—";color:var(--gold)}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:4vw;perspective:1400px}
.card{transform-style:preserve-3d}
.c3d{position:relative;aspect-ratio:3/4;overflow:hidden;transform-style:preserve-3d;transition:box-shadow .5s;box-shadow:0 40px 80px -40px rgba(0,0,0,.9);background:#1a1410;will-change:transform}
.card.sq .c3d{aspect-ratio:1/1}
.c3d img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.card:hover .c3d img{transform:scale(1.12)}
.card:hover .c3d{box-shadow:0 60px 100px -40px rgba(0,0,0,.95),0 0 0 1px rgba(201,163,91,.35)}
.shine{position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,230,180,.22),transparent 45%);opacity:0;transition:opacity .4s;mix-blend-mode:overlay}
.card:hover .shine{opacity:1}
.card h4{font-size:26px;margin-top:26px}
.card p{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-top:10px}
/* lux crossfade */
.lux{position:relative;height:85vh;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.lux-img{position:absolute;inset:-12% 0;will-change:transform}
.lux-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.9)}
.lux:before,.lux:after{content:"";position:absolute;left:0;right:0;height:35%;z-index:1;pointer-events:none}
.lux:before{top:0;background:linear-gradient(var(--bg),transparent)}.lux:after{bottom:0;background:linear-gradient(transparent,var(--bg))}
.lux-txt{position:relative;z-index:2;padding:0 6vw}
.lux-txt h2{font-size:clamp(44px,7vw,110px)}
/* lifestyle */
.life{padding:10vh 7vw 6vh;max-width:1440px;margin:0 auto}
.life-head{margin-bottom:6vh}
.life-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:4vw;align-items:start}
.lf{overflow:hidden}.lf2{margin-top:10vh}
.pin{overflow:hidden;aspect-ratio:16/10}.lf2 .pin{aspect-ratio:9/14}
.pin img{width:100%;height:125%;object-fit:cover;will-change:transform}
figcaption{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:18px}
.marquee{overflow:hidden;margin-top:8vh;border-top:1px solid #2e251e;border-bottom:1px solid #2e251e;padding:28px 0}
.mq-track{display:flex;width:max-content;animation:mq 30s linear infinite}
.mq-track span{font-family:'Playfair Display';font-style:italic;font-size:clamp(40px,6vw,90px);white-space:nowrap;padding-right:.4em;color:transparent;-webkit-text-stroke:1px rgba(241,230,211,.35)}
@keyframes mq{to{transform:translateX(-50%)}}
/* close */
.close{position:relative;min-height:90vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:12vh 6vw}
.close .spot{background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(201,140,70,.2),transparent 70%)}
.close-title{font-size:clamp(64px,14vw,230px);letter-spacing:.06em;line-height:.95;background:linear-gradient(180deg,var(--cream) 30%,#9c8466);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative}
.tag{font-family:'Playfair Display';font-style:italic;font-size:clamp(20px,2.2vw,30px);color:var(--gold2)}
.foot{position:absolute;bottom:30px;font-size:10px;letter-spacing:.35em;color:#6d5f52;text-transform:uppercase}
/* mobile */
@media (max-width:860px){
 .over{letter-spacing:.3em;font-size:10px}
 .nav{padding:20px 6vw}.nav nav{display:none}
 .hero{align-items:flex-end;padding:0 7vw 18vh}
 .spot{background:radial-gradient(ellipse 90% 45% at 50% 30%,rgba(201,140,70,.25),transparent 70%)}
 .lead{font-size:14.5px}
 .intro{padding:16vh 7vw 12vh}
 .stats{gap:6vw;justify-content:space-between}.stats b{font-size:38px}.stats span{font-size:9px;letter-spacing:.2em}
 .cat{padding:12vh 7vw}
 .feature,.alt .feature{grid-template-columns:1fr;gap:8vh;margin-bottom:10vh}.alt .feature .assemble{order:0}
 .cards{gap:5vw}.card h4{font-size:19px;margin-top:16px}.card p{font-size:9px;letter-spacing:.18em}
 .num{top:-20px}
 .life-grid{grid-template-columns:1fr}.lf2{margin-top:6vh;width:75%;margin-left:auto}
 .lux{height:90vh}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

img,canvas,video{max-width:100%}section,header,footer,main{max-width:100vw}
@media (max-aspect-ratio:3/4){.hero{align-items:flex-end;padding-bottom:22vh}}
