/* Celviora Jewel — the design's stylesheet (verbatim; image url → --cv-smoke) */
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}

/* Layout: bright rosé — white pages with blush corner gradients, rounded framed panels, smoky bordeaux feature sections, bold serif headlines with italic rose turns, black-and-white editorial imagery that blooms into colour */
:root{
  --bg:#ffffff;
  --tint:#F8F5F2;
  --tint-2:#EEE6E0;
  --blue:#C4ADA4;
  --pale:#E2D3CC;
  --navy:#3A2D30;
  --cta:#46363A;
  --ink:#2E2426;
  --muted:#76646a;
  --line:#EFE3DE;
  --accent:#9A7670;
  --gold:var(--blue);
  --gold-soft:var(--tint-2);
  --night:var(--navy);
  --on-night:#F7EDEA;
  --ok:#2f7a4f; --err:#b3452f;
  color-scheme:light;
  --f-display:"Playfair Display","Bodoni 72",Didot,Georgia,serif;
  --f-body:"Geist","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,.75,.1,1);
  --ease-io:cubic-bezier(.7,0,.2,1);
  --gut:clamp(16px,3.6vw,56px);
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select{font:inherit;color:inherit}
img{display:block;max-width:100%}
:focus-visible{outline:1.5px solid var(--accent);outline-offset:3px;border-radius:4px}
::selection{background:var(--gold-soft)}
p{margin:0}
.wrap{max-width:1440px;margin-inline:auto;padding-inline:var(--gut)}
.mono{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:400}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* display type: tall, condensed, light */
.dx{font-family:var(--f-display);font-weight:700;letter-spacing:-.015em;margin:0;text-wrap:balance;font-optical-sizing:auto}
.d1{font-size:clamp(48px,6.8vw,120px);line-height:.92}
.d2{font-size:clamp(36px,4.4vw,72px);line-height:.98}
.d3{font-size:clamp(28px,2.8vw,42px);line-height:1}
.d4{font-family:var(--f-display);font-stretch:85%;font-weight:400;font-size:21px;line-height:1.15;letter-spacing:-.01em;margin:0}
.acc{color:var(--accent)}
.lede{font-size:16px;color:var(--muted);max-width:46ch}

/* eyebrow */
.eb{display:inline-flex;align-items:center;gap:10px;color:var(--muted)}
.eb::before{content:"";width:22px;height:1px;background:currentColor}

/* buttons with rolling labels */
.btn{--cta-bg:var(--cta);--h:50px;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:var(--h);padding:0 26px;border-radius:999px;background:var(--cta);color:#fff;font-size:14px;font-weight:500;white-space:nowrap;position:relative;overflow:hidden;isolation:isolate;transition:background .5s var(--ease),transform .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;background:#7a3341;transform:translateY(101%);border-radius:inherit;transition:transform .6s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .9s var(--ease)}
.btn:hover::after{left:130%}
.btn svg{width:15px;height:15px;transition:transform .5s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn.ghost::before{background:var(--ink)}
.btn.ghost:hover{color:var(--bg)}
.btn.light{background:var(--bg);color:var(--ink)}
.btn.light::before{background:var(--gold)}
.btn.light:hover{color:#fff}
.btn.full{width:100%}
.btn.sm{--h:40px;padding:0 18px;font-size:13px}
.roll{display:inline-grid;overflow:hidden;height:1.3em;line-height:1.3em}
.roll>span{grid-area:1/1;transition:transform .55s var(--ease)}
.roll>span+span{transform:translateY(105%)}
a:hover>.roll>span:first-child,button:hover>.roll>span:first-child,.btn:hover .roll>span:first-child{transform:translateY(-105%)}
a:hover>.roll>span+span,button:hover>.roll>span+span,.btn:hover .roll>span+span{transform:none}
.lk{display:inline-flex;align-items:center;gap:10px;padding-bottom:6px;position:relative;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}
.lk::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .6s var(--ease)}
.lk:hover::after{transform:scaleX(0);transform-origin:right}
.lk::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .6s .2s var(--ease)}
.lk:hover::before{transform:scaleX(1)}
.lk svg{width:13px;height:13px;transition:transform .5s var(--ease)}
.lk:hover svg{transform:translateX(4px)}
.ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* image frames */
.fr{position:relative;overflow:hidden;background:var(--tint);border-radius:4px}
.fr img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),opacity .8s var(--ease)}
.fr.cut{display:grid;place-items:center}
.fr.cut img{width:76%;height:76%;object-fit:contain}

/* ===== announcement ===== */
.ann{background:var(--night);color:var(--on-night);height:34px;overflow:hidden;position:relative}
.ann-track{display:flex;gap:56px;white-space:nowrap;height:100%;align-items:center;animation:marq 48s linear infinite;width:max-content}
.ann-track span{display:inline-flex;align-items:center;gap:56px}
.ann-track span::after{content:"";width:4px;height:4px;transform:rotate(45deg);background:var(--gold)}
@keyframes marq{to{transform:translateX(-50%)}}
.ann:hover .ann-track{animation-play-state:paused}

/* ===== header ===== */
.hd{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.3) blur(16px);-webkit-backdrop-filter:saturate(1.3) blur(16px)}
.hd::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);transform:scaleX(0);animation:hair 1.8s .3s var(--ease) forwards;opacity:.7}
.hd.compact::after{background:var(--line);opacity:1}
@keyframes hair{to{transform:scaleX(1)}}
.hd-top{display:grid;grid-template-rows:1fr;transition:grid-template-rows .6s var(--ease),opacity .4s}
.hd.compact .hd-top{grid-template-rows:0fr;opacity:0}
.hd-top>div{overflow:hidden}
.hd-top-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-block:18px 10px}
.hd-l{display:flex;gap:22px;align-items:center;font-size:13px}
.hd-l button{display:inline-flex;gap:9px;align-items:center;color:var(--muted);transition:color .3s}
.hd-l button:hover{color:var(--ink)}
.logo{display:flex;flex-direction:column;align-items:center;gap:7px;line-height:1}
.logo svg{width:30px;height:30px;color:var(--gold);transition:transform 1.2s var(--ease)}
.logo:hover svg{transform:rotate(180deg)}
.logo b{font-family:var(--f-display);font-weight:500;font-size:25px;letter-spacing:.34em;margin-right:-.34em}
.logo i{font-style:normal;font-family:var(--f-mono);font-size:8.5px;letter-spacing:.52em;margin-right:-.52em;color:var(--muted)}
.hd-r{display:flex;justify-content:flex-end;align-items:center;gap:2px}
.icb{height:40px;min-width:40px;padding:0 10px;border-radius:999px;display:inline-flex;gap:8px;align-items:center;justify-content:center;position:relative;font-size:13px;transition:background .3s}
.icb:hover{background:var(--tint)}
.icb .lbl{display:inline}
.cnt{min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--bg);font-family:var(--f-mono);font-size:9.5px;display:grid;place-items:center;transform:scale(0);transition:transform .5s var(--ease)}
.cnt.on{transform:scale(1)}
.hd-nav .navrow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:52px}
.mini{opacity:0;transform:translateY(6px);transition:opacity .5s var(--ease),transform .5s var(--ease);pointer-events:none}
.hd.compact .mini{opacity:1;transform:none;pointer-events:auto}
.mini.logo{flex-direction:row;gap:10px;justify-self:start}
.mini.logo svg{width:22px;height:22px}
.mini.logo b{font-size:19px}
.mini.hd-r{justify-self:end}
.nav{display:flex;align-items:center;gap:2px}
.nav>a,.nav>button{padding:10px 14px;font-size:13.5px;position:relative;display:inline-flex;align-items:center;gap:8px}
.nav>a::after,.nav>button::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .5s var(--ease)}
.nav>a:hover::after,.nav>.open::after{transform:scaleX(1)}
.nav .gdot{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 var(--gold);animation:pulse 2.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--gold) 60%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
.burger{display:none}

/* mega */
.mega{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-top:1px solid var(--line);clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease-io);pointer-events:none;box-shadow:0 30px 60px -40px rgba(10,20,18,.25)}
.mega.on{clip-path:inset(0 0 -60px 0);pointer-events:auto}
.mega-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.15fr);gap:36px;padding-block:34px 40px}
.mega h6{margin:0 0 16px;font-weight:400;color:var(--muted)}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mega li a{font-size:14.5px;display:inline-flex;gap:10px;align-items:center;transition:color .3s,transform .4s var(--ease)}
.mega li a:hover{color:var(--accent);transform:translateX(4px)}
.mshp{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.mega-in.eng{grid-template-columns:minmax(0,.75fr) minmax(0,1.7fr) minmax(0,.85fr) minmax(0,1fr) minmax(0,1fr);gap:32px}
.mega-in>.mi{min-width:0}
.mcard .fr{aspect-ratio:1/1.08}
.mshp a{display:grid;justify-items:center;gap:6px;font-size:11.5px;padding:10px 2px;border-radius:6px;transition:background .3s;min-width:0;text-align:center}
.mshp a:hover{background:var(--tint)}
.mshp img{width:34px;height:34px;object-fit:contain;transition:transform .6s var(--ease)}
.mshp a:hover img{transform:rotate(-12deg) scale(1.1)}
.mcard{display:grid;gap:10px;align-content:start}
.mcard .fr{aspect-ratio:4/5}
.mcard:hover img{transform:scale(1.06)}
.mcard small{color:var(--muted);font-size:12.5px}
.mi{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.mega.on .mi{opacity:1;transform:none}
.mega.on .mi:nth-child(2){transition-delay:.06s}.mega.on .mi:nth-child(3){transition-delay:.12s}.mega.on .mi:nth-child(4){transition-delay:.18s}.mega.on .mi:nth-child(5){transition-delay:.24s}
.scrim{position:fixed;inset:0;background:rgba(8,12,11,.22);opacity:0;pointer-events:none;transition:opacity .5s;z-index:50}
.scrim.on{opacity:1;pointer-events:auto}

/* ===== brand devices ===== */
em{font-style:italic}
.dx em{font-style:italic;font-weight:600;color:var(--accent)}
.on-dark .dx em,.smoke .dx em{color:var(--pale)}
.box{display:inline-block;background:var(--tint-2);color:var(--navy);padding:0 .22em .04em;border-radius:.18em;font-style:italic;font-weight:600;transform:rotate(-1.5deg)}
.smoke{position:relative;background:var(--navy);color:var(--on-night);overflow:hidden;isolation:isolate}
.smoke::before{content:"";position:absolute;inset:-10%;background:var(--cv-smoke) center/cover no-repeat;opacity:.9;mix-blend-mode:luminosity;z-index:-1;animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{0%{transform:scale(1.05) translate(0,0)}50%{transform:scale(1.18) translate(-3%,2%)}100%{transform:scale(1.1) translate(3%,-2%)}}
.smoke .dx{color:#fff}
.smoke .mono,.smoke p{color:rgba(247,237,234,.72)}
.round-sec{border-radius:28px}
.arrows{display:flex;gap:10px}
.arrows button{height:44px;border-radius:999px;border:1px solid currentColor;display:grid;place-items:center;transition:all .5s var(--ease)}
.arrows button:first-child{width:44px}
.arrows button:last-child{width:68px}
.arrows button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.smoke .arrows button:hover{background:#fff;color:var(--navy);border-color:#fff}
.arrows svg{width:18px;height:18px}
.sh2{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(30px,4vw,54px)}
.sh2 .l{display:grid;gap:18px;max-width:760px}
.sh2 p{color:var(--muted);max-width:46ch}

/* ===== hero panel ===== */
.hp{position:relative;margin-top:16px;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(55% 75% at 0% 0%,var(--tint-2) 0%,rgba(243,228,222,0) 72%),radial-gradient(40% 50% at 100% 100%,var(--tint) 0%,rgba(251,246,243,0) 70%),#fff;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:1fr auto;min-height:clamp(560px,calc(100vh - var(--hdh0,164px) - 34px),780px)}
.hp-copy{padding:clamp(28px,5vw,76px);display:grid;gap:26px;align-content:center;justify-items:start;position:relative;z-index:2}
.badge-rot{position:relative;width:108px;height:108px;display:grid;place-items:center;opacity:0;animation:fadeUp 1s .2s var(--ease) forwards}
.badge-rot svg{position:absolute;inset:0;animation:spin 22s linear infinite}
.badge-rot text{font-family:var(--f-mono);font-size:8.6px;letter-spacing:.28em;fill:var(--navy)}
.badge-rot .th{width:64px;height:64px;border-radius:50%;overflow:hidden;position:relative;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--tint-2)}
.badge-rot .th img{width:100%;height:100%;object-fit:cover}
.badge-rot .th::after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:18px;background:rgba(58,21,32,.32)}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hp-h{font-family:var(--f-display);font-weight:700;font-size:clamp(44px,5.3vw,90px);line-height:1.04;letter-spacing:-.015em;margin:0;color:var(--navy)}
.hp-h .ln{display:block}
.hp-h .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.hp-h .w>span{display:inline-block;transform:translateY(105%);transition:transform 1.2s var(--ease)}
.loaded .hp-h .w>span{transform:none}
.hp-h em{font-weight:600;color:var(--accent)}
/* the window — kept as designed for Celviora */
.win{position:relative;display:inline-block;vertical-align:.02em;width:1.95em;height:.74em;margin:0 .14em 0 0;border-radius:999px;overflow:hidden;background:radial-gradient(90% 120% at 50% 30%,#6a3340 0%,#45182a 60%,#2a0e17 100%);box-shadow:inset 0 0 0 1px rgba(235,201,193,.5),inset 0 -10px 24px rgba(0,0,0,.35);transform:scale(0);transition:transform 1.2s var(--ease) 1.25s}
.loaded .win{transform:scale(1)}
.win .it{position:absolute;inset:4% 6%;opacity:0;transform:translateY(22%) scale(1.06);filter:blur(4px);transition:opacity .9s var(--ease),transform 1.1s var(--ease),filter .9s var(--ease)}
.win .it img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
.win .it.on{opacity:1;transform:none;filter:none}
.win .it.out{opacity:0;transform:translateY(-14%) scale(.82);filter:blur(3px);transition-duration:.7s}
.win::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.34) 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
.win.shine::after{animation:shine 1.1s var(--ease) .35s}
@keyframes shine{to{transform:translateX(120%)}}
.hp-sub{font-size:15.5px;color:var(--muted);max-width:46ch}
.hp-cta{display:flex;gap:12px;flex-wrap:wrap}
.pill-cap{display:inline-flex;align-items:center;gap:10px;color:var(--muted)}
.pill-cap::before{content:"";width:26px;height:1px;background:currentColor}
.pill-cap b{font-weight:500;color:var(--navy);transition:opacity .4s}
.hp-vis{position:relative;min-height:0}
.arch-line{position:absolute;inset:34px 22px -1px 34px;border:1px solid var(--blue);border-bottom:0;border-radius:999px 999px 0 0;opacity:.6;transform:translate(14px,-14px)}
.arch{position:absolute;inset:34px 36px -1px 20px;border-radius:999px 999px 0 0;overflow:hidden;background:var(--tint);clip-path:inset(100% 0 0 0 round 999px 999px 0 0);animation:archIn 1.6s .3s var(--ease-io) forwards}
@keyframes archIn{to{clip-path:inset(0 0 0 0 round 999px 999px 0 0)}}
.arch .ph{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease)}
.arch .ph.on{opacity:1}
.arch .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform 6s linear}
.arch .ph.on img{transform:scale(1.02)}
.rv-chip{position:absolute;top:56px;left:-24px;z-index:3;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:12px 16px;display:grid;gap:8px;max-width:250px;box-shadow:0 20px 40px -26px rgba(58,21,32,.4);opacity:0;animation:fadeUp 1s 1.4s var(--ease) forwards}
.av{display:flex}
.av span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-size:10px;background:var(--tint-2);color:var(--navy);box-shadow:0 0 0 2px #fff}
.av span+span{margin-left:-9px}
.av span:last-child{background:var(--navy);color:#fff}
.rv-chip p{font-size:12.5px;color:var(--muted);line-height:1.45}
.hp-ctrl{position:absolute;right:56px;bottom:30px;z-index:3;color:#fff}
.hp-ctrl .arrows button{background:rgba(58,21,32,.25);backdrop-filter:blur(6px);border-color:rgba(255,255,255,.7)}
.hp-band{grid-column:1/-1;background:var(--tint-2);color:var(--navy);overflow:hidden;height:58px;display:flex;align-items:center;border-top:1px solid var(--line)}
.hp-band .t{display:flex;gap:28px;width:max-content;animation:marq 40s linear infinite;align-items:center}
.hp-band span{font-family:var(--f-display);font-weight:700;font-size:20px;letter-spacing:.02em;display:inline-flex;gap:28px;align-items:center;white-space:nowrap;text-transform:uppercase}
.hp-band span::after{content:"✦";font-size:14px;color:var(--blue)}

/* ===== category mosaic (all in one view) ===== */
.mos{display:grid;grid-template-columns:1.05fr 1fr 1.1fr 1fr 1fr;grid-template-rows:1fr 1fr;grid-template-areas:"eng ear tt nec nec" "eng wed tt pen bra";gap:12px;height:clamp(560px,calc(100vh - 120px),780px)}
.mt{position:relative;border-radius:18px;overflow:hidden;background:var(--tint);color:#fff;isolation:isolate;transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.mt[data-k="eng"]{grid-area:eng;border-radius:999px 999px 18px 18px}
.mt[data-k="ear"]{grid-area:ear}.mt[data-k="wed"]{grid-area:wed}.mt[data-k="nec"]{grid-area:nec}.mt[data-k="pen"]{grid-area:pen}.mt[data-k="bra"]{grid-area:bra}
.mt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1s var(--ease),transform 1.8s var(--ease)}
.mt img.b{opacity:0;transform:scale(1.08)}
.mt:hover img.a,.mt.hl img.a{opacity:0;transform:scale(1.06)}
.mt:hover img.b,.mt.hl img.b{opacity:1;transform:scale(1)}
.mt::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,10,16,.28),transparent 30%,transparent 55%,rgba(30,10,16,.72));z-index:1;transition:opacity .6s}
.mt .no{position:absolute;top:16px;left:18px;z-index:2;font-family:var(--f-display);font-style:italic;font-size:15px;opacity:.9}
.mt[data-k="eng"] .no{left:50%;transform:translateX(-50%);top:34px}
.mt .lab{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}
.mt .lab b{font-family:var(--f-display);font-weight:700;font-size:clamp(19px,1.6vw,26px);line-height:1.05;display:block}
.mt .lab small{display:block;font-size:12px;opacity:.78;margin-top:4px}
.mt .go{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.6);display:grid;place-items:center;transition:all .6s var(--ease)}
.mt:hover .go,.mt.hl .go{background:#fff;color:var(--navy);border-color:#fff;transform:rotate(-45deg)}
.mt .subs{display:flex;flex-wrap:wrap;gap:6px;grid-column:1/-1;max-height:0;opacity:0;overflow:hidden;transition:max-height .7s var(--ease),opacity .5s,margin .5s}
.mt:hover .subs,.mt.hl .subs{max-height:60px;opacity:1;margin-top:4px}
.mt .subs span{font-size:11px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.mos.dim .mt:not(.hl):not(:hover){filter:saturate(.35) brightness(.92)}
.mt-title{grid-area:tt;border-radius:18px;background:radial-gradient(80% 60% at 50% 0%,var(--tint-2),transparent 70%),var(--tint);border:1px solid var(--line);padding:clamp(22px,2.4vw,36px);display:grid;grid-template-rows:auto auto 1fr auto;gap:16px;text-align:center;justify-items:center}
.mt-title .dx{font-size:clamp(34px,3.2vw,52px);line-height:1}
.mt-title p{color:var(--muted);font-size:14px;max-width:30ch}
.mt-title ul{list-style:none;margin:0;padding:0;width:100%;align-self:center;border-top:1px solid var(--line)}
.mt-title li a{display:flex;justify-content:space-between;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--muted);transition:color .3s,padding .5s var(--ease)}
.mt-title li a span:first-child{font-family:var(--f-display);font-style:italic;color:var(--accent);font-size:13px;width:28px;text-align:left}
.mt-title li a b{flex:1;text-align:left;font-weight:500;color:var(--navy)}
.mt-title li a:hover,.mt-title li a.on{padding-left:12px;color:var(--navy)}
.mt-title li a i{width:0;height:1px;background:var(--accent);transition:width .5s var(--ease)}
.mt-title li a:hover i,.mt-title li a.on i{width:28px}

/* ===== smoky collection columns ===== */
.nc{padding:clamp(26px,4vw,56px)}
.nc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(26px,3vw,44px)}
.nc-head .l{display:grid;grid-template-columns:auto minmax(0,40ch);gap:12px 40px;align-items:center}
.nc-head .dx{font-size:clamp(46px,5.6vw,92px);line-height:.98}
.nc-cols{display:flex;height:clamp(420px,46vw,620px);border-radius:20px;overflow:hidden}
.nc-col{flex:1;position:relative;overflow:hidden;transition:flex 1s var(--ease);min-width:0;color:#fff}
.nc-col+.nc-col{border-left:1px solid rgba(255,255,255,.45)}
.nc-col img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter 1s,transform 1.6s var(--ease)}
.nc-col::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(58,21,32,.35),transparent 35%,transparent 65%,rgba(58,21,32,.55))}
.nc-col.on{flex:1.9}
.nc-col.on img{filter:none;transform:scale(1.04)}
.nc-col .t{position:absolute;top:24px;right:22px;left:22px;z-index:2;text-align:right;font-family:var(--f-display);font-weight:700;font-size:clamp(18px,1.7vw,26px);line-height:1.1;text-transform:uppercase}
.nc-col .b{position:absolute;bottom:22px;left:22px;right:22px;z-index:2;display:flex;justify-content:space-between;align-items:center;font-size:13px}
.nc-col .b .lk{color:#fff;opacity:0;transform:translateY(8px);transition:all .6s var(--ease)}
.nc-col.on .b .lk{opacity:1;transform:none}

/* ===== word band ===== */
.wband{background:var(--tint-2);border-radius:24px;overflow:hidden;padding-block:20px}
.wband .t{display:flex;width:max-content;animation:marq 50s linear infinite;align-items:center}
.wband:hover .t{animation-play-state:paused}
.wband span{display:inline-flex;align-items:center;gap:30px;padding-right:30px;font-family:var(--f-display);font-weight:700;font-size:clamp(36px,5vw,76px);color:var(--navy);white-space:nowrap;text-transform:uppercase;letter-spacing:-.01em}
.wband span em{font-weight:600;text-transform:none;color:var(--accent)}
.wband i{width:.95em;height:.95em;border-radius:50%;overflow:hidden;flex:none;box-shadow:0 0 0 3px #fff}
.wband i img{width:100%;height:100%;object-fit:cover;}

/* ===== shop cards ===== */
.track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4*12px)/5);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;padding-bottom:4px}
.track::-webkit-scrollbar{display:none}
.track>*{scroll-snap-align:start}
.sc{display:grid;grid-template-rows:auto 1fr;border-radius:18px;border:1px solid var(--line);overflow:hidden;background:#fff;transition:transform .6s var(--ease),box-shadow .6s var(--ease);position:relative;min-width:0}
.sc:hover{transform:translateY(-6px);box-shadow:0 30px 50px -36px rgba(58,21,32,.45)}
.sc-img{position:relative;aspect-ratio:1/1.02;background:var(--tint);display:grid;place-items:center;overflow:hidden}
.sc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter .8s,transform 1.4s var(--ease),opacity .7s}
.sc-img.cut img{inset:14%;width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(58,21,32,.18))}
.sc:hover .sc-img img{filter:none;transform:scale(1.06)}
.sc:hover .sc-img.cut img{filter:drop-shadow(0 22px 22px rgba(58,21,32,.22));transform:scale(1.08) rotate(-4deg)}
.sc-tag{position:absolute;left:14px;top:14px;z-index:2;font-size:11px;color:var(--muted);font-style:italic;background:rgba(255,255,255,.88);padding:3px 8px;border-radius:4px}
.sc-badge{position:absolute;right:14px;top:14px;z-index:2;background:var(--navy);color:#fff;font-size:10px;padding:4px 8px;border-radius:4px}
.sc-ico{position:absolute;right:14px;top:50%;z-index:3;display:grid;gap:8px;transform:translateY(-50%)}
.sc-ico button{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;opacity:0;transform:translateX(16px);transition:opacity .45s var(--ease),transform .55s var(--ease),background .3s}
.sc-ico button:hover{background:var(--accent)}
.sc-ico button svg{width:15px;height:15px}
.sc-ico button.on svg{fill:currentColor}
.sc:hover .sc-ico button{opacity:1;transform:none}
.sc:hover .sc-ico button:nth-child(2){transition-delay:.06s}.sc:hover .sc-ico button:nth-child(3){transition-delay:.12s}
.sc-b{padding:16px 18px 18px;display:grid;gap:4px;border-top:1px solid var(--line);align-content:start}
.sc-n{font-family:var(--f-display);font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:.02em;color:var(--navy)}
.sc-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}
.sc-row .num{color:var(--navy)}

/* ===== bento ===== */
.bento2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.b-big{position:relative;border-radius:22px;overflow:hidden;min-height:620px;background:var(--tint)}
.b-big .ph{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease)}
.b-big .ph.on{opacity:1}
.b-big .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 6s linear}
.b-big .ph.on img{transform:scale(1)}
.b-big .cap{position:absolute;left:28px;bottom:28px;right:28px;z-index:2;color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.b-big .cap .dx{color:#fff;font-size:clamp(28px,2.8vw,42px)}
.b-big::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(58,21,32,.55))}
.dots{display:flex;gap:8px;position:relative;z-index:3}
.dots button{width:36px;height:2px;background:rgba(255,255,255,.4);position:relative;overflow:hidden}
.dots button.on::after{content:"";position:absolute;inset:0;background:#fff;animation:fill 5s linear forwards;transform-origin:left}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.dots.dk button{background:var(--line)}
.dots.dk button.on::after{background:var(--navy)}
.b-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px}
.b-grid .sc{grid-template-rows:1fr auto}
.b-grid .sc-img{aspect-ratio:auto;height:100%;min-height:200px}
.b-life{position:relative;border-radius:18px;overflow:hidden;min-height:240px}
.b-life img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter .8s,transform 1.4s var(--ease)}
.b-life:hover img{filter:none;transform:scale(1.06)}
.b-life .btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.9);opacity:0;transition:all .5s var(--ease);--h:42px;background:#fff;color:var(--navy)}
.b-life:hover .btn{opacity:1;transform:translate(-50%,-50%)}
.b-life .tg{position:absolute;right:14px;top:14px;background:var(--blue);color:var(--navy);font-size:10px;padding:4px 8px;border-radius:4px;z-index:2}

/* ===== signature (smoke) ===== */
.sig{padding:clamp(18px,2vw,28px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.sig-card{background:#fff;color:var(--ink);border-radius:20px;padding:clamp(28px,4vw,60px);display:grid;gap:22px;align-content:center;justify-items:center;text-align:center}
.sig-card .dx{color:var(--navy);font-size:clamp(30px,3vw,46px);text-transform:uppercase;letter-spacing:.01em}
.sig-card .dx em{color:var(--accent);text-transform:none}
.sig-card>p{color:var(--muted);font-size:14px;max-width:44ch}
.sig-prod{width:min(300px,100%);border:1px solid var(--line);display:grid;text-align:left}
.sig-prod .im{aspect-ratio:1;background:var(--tint);position:relative;overflow:hidden}
.sig-prod .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s var(--ease),transform 1.2s var(--ease);transform:scale(1.06)}
.sig-prod .im img.on{opacity:1;transform:none}
.sig-prod .tx{padding:14px 16px;border-top:1px solid var(--line);display:grid;gap:2px}
.sig-prod .tx .dx{font-size:20px;text-transform:none;letter-spacing:0}
.sig-big{position:relative;border-radius:20px;overflow:hidden;min-height:620px}
.sig-big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s var(--ease),transform 6s linear;transform:scale(1.08)}
.sig-big img.on{opacity:1;transform:scale(1)}

/* ===== journal ===== */
.jhead{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:24px 50px;align-items:end;margin-bottom:clamp(30px,4vw,54px)}
.jhead .dx{font-size:clamp(40px,4.6vw,76px);line-height:1.12}
.jhead p{color:var(--muted);font-size:14px;font-style:italic}
.jgrid{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr));gap:12px;height:clamp(440px,38vw,540px)}
.jfeat{position:relative;border-radius:20px;overflow:hidden;text-align:left;color:#fff}
.jfeat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter .8s,transform 1.4s var(--ease)}
.jfeat:hover img{filter:none;transform:scale(1.05)}
.jfeat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(58,21,32,.78))}
.jfeat .tx{position:absolute;left:28px;right:28px;bottom:28px;z-index:2;display:grid;gap:10px}
.jfeat .dx{color:#fff;font-size:clamp(22px,2vw,30px)}
.jfeat p{color:rgba(255,255,255,.75);font-size:13.5px;max-width:52ch}
.jfeat .mono{color:rgba(255,255,255,.65)}
.jslim{position:relative;border-radius:20px;border:1px solid var(--line);background:#fff;overflow:hidden;display:grid;grid-template-rows:1fr auto;padding:22px 18px 18px;text-align:left;transition:background .6s var(--ease),transform .6s var(--ease)}
.jslim:hover{background:var(--tint);transform:translateY(-6px)}
.jslim .vt{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;gap:14px;align-items:flex-end;justify-self:start;max-height:100%}
.jslim .vt b{font-family:var(--f-display);font-weight:700;font-size:clamp(17px,1.4vw,21px);color:var(--navy);line-height:1.1}
.jslim .vt small{font-size:12px;color:var(--muted);max-height:220px}
.jslim .vt .mono{color:var(--accent)}
.jslim .rd{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;margin-top:16px}
.jslim .rd img{width:100%;height:100%;object-fit:cover;transition:filter .8s,transform 1.2s var(--ease)}
.jslim:hover .rd img{filter:none;transform:scale(1.08)}

/* ===== numbers ===== */
.nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.nums>div{padding:6px clamp(16px,2.6vw,40px);display:grid;gap:6px}
.nums>div+div{border-left:1px solid var(--line)}
.nums>div:first-child{padding-left:0}
.nums .v{font-family:var(--f-display);font-weight:700;font-size:clamp(42px,4.6vw,76px);line-height:1;color:var(--navy)}
.nums .v em{font-weight:600;color:var(--accent)}
.nums p{font-size:14px;color:var(--muted);font-style:italic}

/* ===== promo banners ===== */
.promos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pr{position:relative;border-radius:22px;overflow:hidden;min-height:170px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:24px 36px}
.pr.light{background:linear-gradient(110deg,var(--tint-2),var(--tint) 60%,#fff)}
.pr img{position:absolute;right:0;top:0;bottom:0;width:42%;height:100%;object-fit:cover;transition:filter .8s,transform 1.4s var(--ease);-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%)}
.pr:hover img{filter:none;transform:scale(1.06)}
.pr .big{font-family:var(--f-display);font-weight:700;font-size:clamp(46px,5vw,80px);line-height:1;color:var(--navy);position:relative}
.pr.smoke .big{color:#fff}
.pr .tx{position:relative;display:grid;gap:10px;justify-items:start;max-width:58%}
.pr .tx p{font-size:13.5px;color:var(--muted);font-style:italic}
.pr.smoke .tx p{color:rgba(247,237,234,.75)}

/* ===== client stories ===== */
.cs{padding:clamp(40px,6vw,90px) clamp(22px,5vw,80px)}
.cs-head{text-align:center;display:grid;gap:14px;justify-items:center;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:46px}
.cs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,60px);text-align:center}
.cs-grid>div{display:grid;gap:16px;justify-items:center}
.cs-grid .t{font-family:var(--f-display);font-weight:700;font-size:20px;color:#fff}
.cs-grid p{font-size:13.5px;font-style:italic;max-width:36ch}
.cs-grid .ini{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(235,201,193,.4);font-family:var(--f-display);font-size:18px;color:var(--pale)}
.cs-grid .who b{color:#fff;font-weight:600;font-size:14px}
.cs-grid .who small{display:block;font-size:12px;color:rgba(247,237,234,.6)}
.cs .note{color:rgba(247,237,234,.65);border-color:rgba(255,255,255,.2);margin:40px auto 0;text-align:center}

@media (max-width:1100px){
  .track{grid-auto-columns:calc((100% - 2*12px)/3)}
  .jgrid{grid-template-columns:1fr 1fr;height:auto}.jfeat{grid-column:1/-1;min-height:360px}.jslim{min-height:340px}
}
@media (max-width:860px){
  .hp{grid-template-columns:1fr;min-height:0}
  .hp-vis{height:440px}
  .rv-chip{left:16px;top:auto;bottom:20px}
  .hp-ctrl{right:30px;bottom:auto;top:56px}
  .mos{grid-template-columns:1fr 1fr;grid-template-rows:auto;grid-template-areas:"tt tt" "eng ear" "eng wed" "nec nec" "pen bra";height:auto;grid-auto-rows:220px}
  .mos .mt{min-height:220px}
  .mt-title ul{display:none}
  .nc-head .l{grid-template-columns:1fr}
  .nc-cols{flex-direction:column;height:auto}
  .nc-col{height:220px;flex:none!important}
  .nc-col+.nc-col{border-left:0;border-top:1px solid rgba(255,255,255,.45)}
  .track{grid-auto-columns:72%}
  .bento2,.sig,.promos{grid-template-columns:1fr}
  .b-big,.sig-big{min-height:440px}
  .jhead{grid-template-columns:1fr}
  .nums{grid-template-columns:1fr 1fr;gap:26px 0}.nums>div:nth-child(3){border-left:0;padding-left:0}
  .pr{grid-template-columns:1fr}.pr .tx{max-width:70%}
  .cs-grid{grid-template-columns:1fr}
}
@media (max-width:560px){.b-grid{grid-template-columns:1fr;grid-template-rows:none}.jgrid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.hp-h .w>span,.win{transform:none!important}.arch{clip-path:none}.badge-rot,.rv-chip{opacity:1}}

/* ===== about ===== */
.ab-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center;padding-block:clamp(30px,4vw,60px) clamp(70px,8vw,120px)}
.ab-hero .dx{font-size:clamp(50px,6.4vw,108px);line-height:1}
.ab-hero p{color:var(--muted);font-size:16.5px;max-width:46ch}
.ab-hero .l{display:grid;gap:26px;justify-items:start}
.ab-col{position:relative;height:clamp(460px,46vw,640px)}
.ab-col .a1,.ab-col .a2,.ab-col .a3{position:absolute;overflow:hidden;box-shadow:0 30px 60px -36px rgba(58,21,32,.55)}
.ab-col img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.ab-col>div:hover img{transform:scale(1.06)}
.ab-col .a1{left:18%;top:0;width:48%;height:84%;border-radius:999px 999px 20px 20px;animation:abIn 1.4s .1s var(--ease) both}
.ab-col .a2{left:0;bottom:0;width:34%;height:46%;border-radius:20px;animation:abIn 1.4s .3s var(--ease) both}
.ab-col .a3{right:0;top:22%;width:36%;height:52%;border-radius:20px 20px 999px 999px;animation:abIn 1.4s .5s var(--ease) both}
@keyframes abIn{from{opacity:0;transform:translateY(40px)}}
.ab-col .seal{position:absolute;right:30%;bottom:4%;width:116px;height:116px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;z-index:2;box-shadow:0 0 0 6px #fff}
.ab-col .seal svg{position:absolute;inset:6px;animation:spin 24s linear infinite}
.ab-col .seal text{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.26em;fill:var(--pale)}
.ab-col .seal b{font-family:var(--f-display);font-style:italic;font-size:26px;color:var(--pale)}
.ab-story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,110px);align-items:center}
.ab-story .fr{aspect-ratio:4/5;border-radius:20px}
.ab-story .tx{display:grid;gap:22px}
.ab-story .tx p{color:var(--muted);font-size:16px;line-height:1.8;max-width:58ch}
.ab-story .drop::first-letter{font-family:var(--f-display);font-weight:700;float:left;font-size:4.6em;line-height:.85;padding:.06em .12em 0 0;color:var(--accent)}
.ab-story blockquote{margin:6px 0 0;padding:22px 0 0 26px;border-left:2px solid var(--blue);font-family:var(--f-display);font-style:italic;font-weight:600;font-size:clamp(22px,2vw,30px);line-height:1.25;color:var(--navy)}
.ab-vals{padding:clamp(34px,5vw,80px)}
.ab-vals .sh2 p{color:rgba(247,237,234,.72)}
.vals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.val{position:relative;border-radius:20px;overflow:hidden;min-height:380px;padding:26px;display:grid;align-content:space-between;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;isolation:isolate;transition:border-color .5s}
.val img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:0;transform:scale(1.1);transition:opacity .8s var(--ease),transform 1.4s var(--ease)}
.val::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(30,10,16,.2),rgba(30,10,16,.85));opacity:0;transition:opacity .8s}
.val:hover img{opacity:1;transform:scale(1)}
.val:hover::after{opacity:1}
.val:hover{border-color:rgba(235,201,193,.5)}
.val .n{font-family:var(--f-display);font-style:italic;font-size:44px;color:var(--pale);line-height:1}
.val h3{margin:0 0 10px;font-family:var(--f-display);font-weight:700;font-size:24px}
.val p{font-size:14px;color:rgba(247,237,234,.78)}
.proc{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;padding-top:40px}
.proc::before{content:"";position:absolute;left:0;right:0;top:57px;height:1px;background:var(--line)}
.proc .bar{position:absolute;left:0;top:57px;height:1px;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform 2.4s var(--ease)}
.proc.in .bar{transform:scaleX(1)}
.ps{display:grid;gap:14px;align-content:start;position:relative}
.ps .dot{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--blue);display:grid;place-items:center;font-family:var(--f-mono);font-size:11px;color:var(--navy);position:relative;z-index:1;transition:background .5s,color .5s;transition-delay:calc(var(--i) * .4s)}
.proc.in .ps .dot{background:var(--navy);color:#fff;border-color:var(--navy)}
.ps .fr{aspect-ratio:1;border-radius:16px}
.ps h4{margin:0;font-family:var(--f-display);font-weight:700;font-size:20px;color:var(--navy)}
.ps p{font-size:13.5px;color:var(--muted)}
.ab-gal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(150px,14vw,210px);gap:12px}
.ab-gal .fr{border-radius:16px}
.ab-gal .fr:nth-child(1){grid-column:span 2;grid-row:span 2}
.ab-gal .fr:nth-child(4){grid-column:span 2}
.ab-gal .fr:nth-child(6){grid-row:span 2}
.ab-gal .fr:hover img{transform:scale(1.06)}
.ab-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;padding:clamp(34px,5vw,70px);border-radius:28px;background:radial-gradient(60% 90% at 0% 0%,var(--tint-2),transparent 70%),var(--tint);border:1px solid var(--line)}
.ab-cta .dx{font-size:clamp(34px,4vw,62px)}
.ab-cta .acts{display:flex;gap:12px;flex-wrap:wrap}

/* ===== footer ===== */
.ft{background:#fff;padding-block:clamp(40px,5vw,70px) 0;overflow:hidden}
.ft-card{position:relative;border-radius:30px;padding:clamp(30px,5vw,72px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.6fr);gap:clamp(30px,5vw,90px)}
.ft-card a:hover,.ft-card button:hover{color:var(--pale)}
.ft-brand{display:grid;gap:24px;align-content:start}
.ft-logo{display:flex;align-items:center;gap:12px;color:#fff}
.ft-logo svg{width:34px;height:34px;color:var(--pale)}
.ft-logo b{font-family:var(--f-display);font-weight:500;font-size:24px;letter-spacing:.32em}
.ft-brand .dx{font-size:clamp(36px,3.6vw,58px);line-height:1.02}
.ft-brand p{font-size:14px;color:rgba(247,237,234,.7);max-width:40ch}
.fl{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 6px 6px 20px;max-width:440px;transition:border-color .4s}
.fl:focus-within{border-color:var(--pale)}
.fl input{flex:1;min-width:0;border:0;background:transparent;padding:10px 0;outline:none;font-size:14px;color:#fff}
.fl input::placeholder{color:rgba(255,255,255,.5)}
.fl button{height:42px;padding:0 20px;border-radius:999px;background:#fff;color:var(--navy);font-size:13px;font-weight:500;display:inline-flex;gap:8px;align-items:center;transition:background .4s}
.fl button:hover{background:var(--pale);color:var(--navy)!important}
.ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ft-cols h6{margin:0 0 18px;font-weight:400;color:var(--pale);font-family:var(--f-display);font-style:italic;font-size:17px;letter-spacing:0;text-transform:none}
.ft-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;font-size:13.5px;color:rgba(247,237,234,.82)}
.ft-cols a,.ft-cols button{position:relative;display:inline-block;transition:color .3s,transform .4s var(--ease)}
.ft-cols a:hover,.ft-cols button:hover{transform:translateX(4px)}
.ft-meta{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:28px;border-top:1px solid rgba(255,255,255,.14)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips span,.chips button{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-size:12.5px;color:rgba(247,237,234,.85)}
.chips .ic{width:15px;height:15px;color:var(--pale)}
.soc{display:flex;gap:8px}
.soc a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;font-family:var(--f-mono);font-size:10px;color:#fff;transition:all .45s var(--ease)}
.soc a:hover{background:#fff;color:var(--navy)!important;transform:translateY(-3px)}
.ft-base{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:22px;color:var(--muted)}
.ft-base .lks{display:flex;gap:20px}
.ft-base a:hover{color:var(--navy)}
.totop{width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;transition:transform .5s var(--ease),background .4s}
.totop:hover{transform:translateY(-4px);background:var(--accent)}
.totop svg{width:18px;height:18px}
.wordmark{font-family:var(--f-display);font-weight:700;font-style:normal;font-size:clamp(60px,15.6vw,250px);letter-spacing:.03em;line-height:.74;margin:6px 0 0;text-align:center;white-space:nowrap;color:transparent;-webkit-text-stroke:1px var(--blue);user-select:none;background:linear-gradient(180deg,var(--tint-2),#fff 90%);-webkit-background-clip:text;background-clip:text;height:.62em;overflow:hidden}
@media (max-width:1100px){.ft-card{grid-template-columns:1fr}.vals{grid-template-columns:1fr 1fr}.proc{grid-template-columns:repeat(3,minmax(0,1fr))}.proc::before,.proc .bar{display:none}}
@media (max-width:860px){.ab-hero,.ab-story,.ab-cta{grid-template-columns:1fr}.ab-col{height:440px}.ft-cols{grid-template-columns:1fr 1fr}.ab-gal{grid-template-columns:1fr 1fr}.ab-gal .fr:nth-child(n){grid-column:auto;grid-row:auto}}
@media (max-width:560px){.vals{grid-template-columns:1fr}.proc{grid-template-columns:1fr 1fr}}

/* ===== sections ===== */
.sec{padding-block:clamp(80px,10vw,150px)}
.sec.tint{background:var(--tint)}
.sh{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px 60px;align-items:end;margin-bottom:clamp(36px,4.5vw,64px)}
.sh .l{display:grid;gap:22px;justify-items:start}
.sh .r{display:grid;gap:22px;justify-items:start;max-width:42ch}
.sh .r p{color:var(--muted)}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .rv{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 50%}
    .unveil{animation:unveil linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
    .px img{animation:px linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  }
}
@keyframes rise{from{opacity:0;transform:translateY(40px)}}
@keyframes unveil{from{clip-path:inset(18% 8% 18% 8% round 4px)}to{clip-path:inset(0 0 0 0 round 4px)}}
@keyframes px{from{transform:translateY(-6%) scale(1.12)}to{transform:translateY(6%) scale(1.12)}}

/* shapes */
.shapes{display:grid;grid-template-columns:repeat(10,minmax(96px,1fr));gap:6px;overflow-x:auto;scrollbar-width:none}
.shapes::-webkit-scrollbar{display:none}
.shape{display:grid;justify-items:center;gap:16px;padding:26px 6px 20px;border-radius:6px;position:relative;transition:background .5s var(--ease)}
.shape .st{width:76px;height:76px;display:grid;place-items:center;position:relative}
.shape .st::before{content:"";position:absolute;inset:-8px;border-radius:50%;background:var(--tint);transform:scale(.85);transition:transform .7s var(--ease),background .5s}
.shape img{position:relative;width:66px;height:66px;object-fit:contain;transition:transform .9s var(--ease);filter:drop-shadow(0 6px 10px rgba(0,0,0,.12))}
.shape:hover .st::before{transform:scale(1.05);background:var(--gold-soft)}
.shape:hover img{transform:rotate(-18deg) scale(1.08)}
.shape span{font-size:13.5px}

/* category accordion */
.catrow{display:flex;gap:10px;height:clamp(420px,46vw,640px)}
.ct{flex:1;position:relative;overflow:hidden;border-radius:4px;transition:flex 1s var(--ease);min-width:0;background:var(--night);color:#fff}
.ct img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease),filter 1s}
.ct::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(4,8,7,.72))}
.catrow:hover .ct{flex:.82}
.catrow .ct:hover{flex:2.1}
.ct:hover img{transform:scale(1.05)}
.ct .meta{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;display:grid;gap:8px}
.ct .meta .d3{color:#fff}
.ct .meta p{font-size:13.5px;opacity:0;max-height:0;transition:opacity .6s var(--ease),max-height .8s var(--ease);max-width:36ch;color:rgba(255,255,255,.8)}
.ct:hover .meta p{opacity:1;max-height:80px}
.ct .no{position:absolute;top:20px;left:22px;z-index:2;color:rgba(255,255,255,.7)}
.ct .go{position:absolute;top:16px;right:16px;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;transition:all .6s var(--ease)}
.ct:hover .go{background:#fff;color:var(--night);transform:rotate(-45deg)}

/* builder promo */
.bp{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(30px,6vw,110px);align-items:center}
.bp-plate{position:relative;aspect-ratio:1/1.02;background:var(--bg);border-radius:4px;overflow:hidden}
.bp-plate .ringc{position:absolute;left:12%;top:24%;width:66%;transition:transform 1.4s var(--ease)}
.bp-plate .gem{position:absolute;width:24%;right:6%;top:8%;filter:drop-shadow(0 18px 24px rgba(0,0,0,.18));animation:gem 7s var(--ease-io) infinite}
@keyframes gem{0%,12%{transform:translate(0,0) rotate(0)}45%,70%{transform:translate(-112%,58%) rotate(-25deg) scale(.42)}88%,100%{transform:translate(0,0) rotate(0)}}
.bp-plate .orbit{position:absolute;inset:8%;border:1px dashed var(--line);border-radius:50%;animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.bp-plate .tags{position:absolute;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;color:var(--muted)}
.steps{list-style:none;margin:30px 0 36px;padding:0;border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:52px 1fr 76px;gap:14px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.steps li .mono{color:var(--muted)}
.steps li p{color:var(--muted);font-size:14px;margin-top:4px}
.steps li .fr{aspect-ratio:1;border-radius:50%}
.steps li .fr img{transition:transform .9s var(--ease)}
.steps li:hover .fr img{transform:scale(1.15)}
.bp .acts{display:flex;gap:12px;flex-wrap:wrap}

/* product cards */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 14px}
.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pc{display:grid;gap:14px;align-content:start;min-width:0;position:relative}
.pc .fr{aspect-ratio:4/5}
.pc .fr img{position:absolute;inset:0}
.pc .fr .alt{opacity:0;transform:scale(1.08)}
.pc:hover .fr .main{transform:scale(1.06)}
.pc:hover .fr .alt{opacity:1;transform:scale(1)}
.pc .badge{position:absolute;left:12px;top:12px;z-index:2;padding:5px 10px;border-radius:999px;background:var(--bg);color:var(--ink);font-size:10px}
.heart{position:absolute;right:10px;top:10px;z-index:2;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--bg) 88%,transparent);display:grid;place-items:center;transition:transform .4s var(--ease)}
.heart:hover{transform:scale(1.1)}
.heart svg{width:16px;height:16px;fill:none;stroke:var(--ink);stroke-width:1.4;transition:fill .3s}
.heart.on svg{fill:var(--accent);stroke:var(--accent)}
.qa{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;transform:translateY(calc(100% + 16px));transition:transform .6s var(--ease)}
.pc:hover .qa{transform:none}
.qa .btn{--h:42px;width:100%;background:var(--bg);color:var(--ink);font-size:13px}
.qa .btn::before{background:var(--ink)}
.qa .btn:hover{color:var(--bg)}
.pc-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.pc-n{font-family:var(--f-display);font-style:italic;font-size:21px;letter-spacing:-.01em;line-height:1.15}
.pc-pl{color:var(--muted);margin-bottom:2px;display:block}
.pc-s{font-size:12.5px;color:var(--muted)}
.pc-p{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.sw{display:flex;gap:7px;align-items:center}
.sw button{width:15px;height:15px;border-radius:50%;position:relative;transition:transform .3s var(--ease)}
.sw button::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid transparent;transition:border-color .3s}
.sw button.on::after{border-color:var(--ink)}
.sw button:hover{transform:scale(1.15)}
.m-y{background:linear-gradient(135deg,#f3e2b3,#c9a35a)}.m-w{background:linear-gradient(135deg,#f6f7f7,#bfc6c8)}.m-r{background:linear-gradient(135deg,#f6d3c6,#cf9681)}.m-p{background:linear-gradient(135deg,#eceff1,#a3adb3)}
.tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--tint)}
.tabs button{height:36px;padding:0 16px;border-radius:999px;font-size:13px;transition:background .4s var(--ease)}
.tabs button.on{background:var(--bg);box-shadow:0 1px 3px rgba(0,0,0,.07)}

/* craft sequence */
.craft{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.craft .c{display:grid;gap:18px}
.craft .c:nth-child(2){margin-top:90px}
.craft .c:nth-child(3){margin-top:180px}
.craft .fr{aspect-ratio:4/5}
.craft .c p{color:var(--muted);font-size:14px;max-width:36ch}

/* spotlight */
.spot{position:relative;border-radius:4px;overflow:hidden;background:var(--night)}
.spot-img{position:relative}
.spot-img>img{width:100%;aspect-ratio:1199/580;object-fit:cover}
.hs{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;display:grid;place-items:center;z-index:2}
.hs::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.7);animation:ping 2.4s var(--ease) infinite}
.hs::after{content:"";width:9px;height:9px;border-radius:50%;background:#fff;transition:transform .4s var(--ease)}
.hs:hover::after,.hs.on::after{transform:scale(1.6)}
@keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.9);opacity:0}}
.pop{position:absolute;z-index:3;width:250px;background:var(--bg);color:var(--ink);border-radius:6px;padding:10px;display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;box-shadow:0 20px 50px -20px rgba(0,0,0,.5);opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease),transform .4s var(--ease);pointer-events:none}
.pop.on{opacity:1;transform:none;pointer-events:auto}
.pop .fr{aspect-ratio:1}
.pop small{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:3px}
.spot-cap{position:absolute;left:clamp(18px,3vw,40px);top:clamp(18px,3vw,40px);color:#fff;display:grid;gap:14px;max-width:340px}
.spot-cap .d3{color:#fff}
.spot-cap p{color:rgba(255,255,255,.72);font-size:14px}

/* trust */
.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}
.tr{padding:34px 26px;display:grid;gap:16px;align-content:start;transition:background .5s var(--ease)}
.tr+.tr{border-left:1px solid var(--line)}
.tr:hover{background:var(--tint)}
.tr .ic{width:24px;height:24px;color:var(--accent);stroke-width:1.1}
.tr .v{font-family:var(--f-display);font-stretch:76%;font-weight:300;font-size:46px;letter-spacing:-.03em;line-height:.95}
.tr h4{margin:0;font-weight:500;font-size:14.5px}
.tr p{font-size:13px;color:var(--muted)}

/* reviews */
.rev{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr);gap:clamp(30px,5vw,80px)}
.score{display:grid;gap:14px;align-content:start}
.score .big{font-family:var(--f-display);font-weight:400;font-size:clamp(96px,10vw,150px);letter-spacing:-.04em;line-height:.85}
.stars{display:inline-flex;gap:3px;color:var(--gold)}
.stars svg{width:14px;height:14px;fill:currentColor}
.note{font-size:12px;color:var(--muted);max-width:36ch;padding:10px 12px;border:1px dashed var(--line);border-radius:6px}
.rev-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rc{border:1px solid var(--line);border-radius:6px;padding:16px 16px 22px;display:grid;gap:16px;align-content:start;background:var(--bg);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.rc:hover{transform:translateY(-4px);box-shadow:0 24px 40px -30px rgba(10,20,18,.35)}
.rc .fr{aspect-ratio:16/10}
.rc q{quotes:none;font-size:15px;line-height:1.55}
.rc .who{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}

/* appointment */
.appt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--tint);border-radius:4px;overflow:hidden}
.appt .fr{border-radius:0;min-height:460px}
.appt .t{padding:clamp(30px,5vw,72px);display:grid;gap:24px;align-content:center;justify-items:start}
.appt .t p{color:var(--muted);max-width:44ch}
.hours{display:grid;grid-template-columns:auto auto;gap:6px 28px;font-size:13px}
.hours span:nth-child(odd){color:var(--muted)}

/* journal */
.jr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jc{display:grid;gap:16px;text-align:left;align-content:start}
.jc .fr{aspect-ratio:4/3}
.jc:hover .fr img{transform:scale(1.06)}
.jc p{color:var(--muted);font-size:14px}

/* footer */

/* ===== collection ===== */
.crumbs{display:flex;gap:8px;color:var(--muted);padding-top:26px}
.crumbs a:hover{color:var(--ink)}
.col-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px 60px;align-items:end;padding-block:22px 30px}
.col-head p{color:var(--muted);max-width:46ch}
.banner{aspect-ratio:1440/420;margin-bottom:36px}
.banner .cap{position:absolute;left:22px;bottom:18px;color:#fff;z-index:2}
.shbar{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:28px;padding-bottom:4px}
.shbar::-webkit-scrollbar{display:none}
.shbar button{flex:none;display:grid;justify-items:center;gap:8px;width:96px;padding:14px 4px 10px;border-radius:6px;border:1px solid transparent;font-size:12.5px;transition:all .4s var(--ease)}
.shbar button img{width:44px;height:44px;object-fit:contain;transition:transform .7s var(--ease)}
.shbar button:hover{background:var(--tint)}
.shbar button:hover img{transform:rotate(-15deg)}
.shbar button.on{border-color:var(--ink)}
.col{display:grid;grid-template-columns:250px minmax(0,1fr);gap:44px;align-items:start;padding-bottom:120px}
.filters{position:sticky;top:calc(var(--hdh-c,64px) + 20px);display:grid}
.fg{border-bottom:1px solid var(--line);padding:16px 0}
.fg h6{margin:0 0 12px;font-weight:400;color:var(--muted);display:flex;justify-content:space-between}
.fchips{display:flex;flex-wrap:wrap;gap:6px}
.fchip{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;display:inline-flex;align-items:center;gap:7px;transition:all .35s var(--ease)}
.fchip:hover{border-color:var(--muted)}
.fchip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.fchip .dm{width:11px;height:11px;border-radius:50%}
.fchip img{width:16px;height:16px;object-fit:contain}
input[type=range]{width:100%;accent-color:var(--accent)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.pills{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pill{height:28px;padding:0 10px;border-radius:999px;background:var(--tint);font-size:12px;display:inline-flex;gap:6px;align-items:center}
.sel{height:40px;border:1px solid var(--line);border-radius:999px;padding:0 36px 0 16px;background:var(--bg);font-size:13px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px;background-size:5px 5px;background-repeat:no-repeat}
.promo-tile{grid-column:span 2;position:relative;border-radius:4px;overflow:hidden;background:var(--night);color:#fff;min-height:100%;display:grid;align-content:end;padding:30px}
.promo-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;transition:transform 1.4s var(--ease)}
.promo-tile:hover img{transform:scale(1.05)}
.promo-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,8,7,.75),transparent 70%)}
.promo-tile>div{position:relative;z-index:2;display:grid;gap:14px;justify-items:start;max-width:340px}
.promo-tile .d3{color:#fff}
.promo-tile p{opacity:.75;font-size:14px}
.empty{grid-column:1/-1;padding:60px 0;text-align:center;display:grid;gap:16px;justify-items:center;color:var(--muted)}
.ftoggle{display:none}

/* ===== product ===== */
.gal2{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.gal2 figure{margin:0;display:grid;gap:8px}.gal2 .g-first{grid-column:span 2}.gal2 .fr{aspect-ratio:4/5}.gal2 .g-first .fr{aspect-ratio:1/1.08}
.pdp{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);padding-block:22px 110px;align-items:start}
.gal{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;position:sticky;top:calc(var(--hdh-c,64px) + 20px)}
.thumbs{display:grid;gap:8px;align-content:start}
.thumbs button{aspect-ratio:1;border-radius:4px;overflow:hidden;border:1px solid transparent;padding:2px;transition:border-color .3s}
.thumbs button img{width:100%;height:100%;object-fit:cover;border-radius:3px;background:var(--tint)}
.thumbs button.cutimg img{object-fit:contain}
.thumbs button.on{border-color:var(--ink)}
.stage{aspect-ratio:1/1.1;cursor:zoom-in}
.stage img{position:absolute;inset:0;transition:transform .6s var(--ease),opacity .6s}
.stage.cutimg img{object-fit:contain;padding:12%}
.stage.zoom img{transition:transform .2s linear}
.stage .cap{position:absolute;left:16px;bottom:14px;right:16px;display:flex;justify-content:space-between;color:#fff;mix-blend-mode:difference;pointer-events:none;z-index:2}
.buy{display:grid;gap:26px}
.buy .top{display:grid;gap:12px}
.rating{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
.price{font-size:23px;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.price small{font-size:13px;color:var(--muted);margin-left:8px}
.fin{font-size:13px;color:var(--muted)}
.fin b{color:var(--ink);font-weight:500}
.opt{display:grid;gap:12px}
.opt-h{display:flex;justify-content:space-between;align-items:baseline}
.opt-h .mono{color:var(--muted)}
.opt-h b{font-weight:400;font-size:13.5px}
.metals{display:flex;gap:8px;flex-wrap:wrap}
.metals button{display:flex;align-items:center;gap:9px;height:44px;padding:0 16px 0 8px;border-radius:999px;border:1px solid var(--line);font-size:13px;transition:border-color .3s}
.metals button i{width:26px;height:26px;border-radius:50%}
.metals button.on{border-color:var(--ink)}
.sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}
.sizes button{height:42px;border-radius:6px;border:1px solid var(--line);font-size:13px;font-variant-numeric:tabular-nums;transition:all .3s}
.sizes button:hover{border-color:var(--muted)}
.sizes button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cta-stack{display:grid;gap:10px}
.deliv{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:6px;background:var(--tint);font-size:13.5px}
.deliv .ic{color:var(--accent);margin-top:2px}
.mini-trust{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;font-size:13px}
.mini-trust span{display:flex;gap:10px;align-items:center}
.mini-trust .ic{color:var(--accent)}
.link-btn{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line);font-size:13px}
.link-btn:hover{text-decoration-color:currentColor}
.acc-list{list-style:none;margin:0;padding:0}
.acc-list li{border-bottom:1px solid var(--line)}
.acc-list li:first-child{border-top:1px solid var(--line)}
.acc-list>li>button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 0;text-align:left;font-size:14.5px}
.pl{width:14px;height:14px;position:relative;flex:none}
.pl::before,.pl::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;transition:transform .5s var(--ease)}
.pl::after{transform:rotate(90deg)}
.acc-list li.open .pl::after{transform:rotate(0)}
.acc-list .body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.acc-list li.open .body{grid-template-rows:1fr}
.acc-list .body>div{overflow:hidden}
.acc-list .body p{padding-bottom:18px;color:var(--muted);font-size:14px;max-width:54ch}
.spec{display:grid;grid-template-columns:auto 1fr;gap:8px 26px;font-size:13.5px;padding-bottom:18px;margin:0}
.spec dt{color:var(--muted)}
.spec dd{margin:0}

/* ===== builder ===== */
.bsteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-block:24px 40px}
.bsteps button{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 20px;text-align:left;position:relative;transition:background .4s}
.bsteps button+button{border-left:1px solid var(--line)}
.bsteps button::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.bsteps button.on::after{transform:scaleX(1)}
.bsteps button.on{background:var(--tint)}
.bsteps .n{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--f-mono);font-size:11px}
.bsteps button.done .n{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.bsteps .t b{display:block;font-weight:500;font-size:14px}
.bsteps .t small{color:var(--muted);font-size:12.5px}
.bsteps .th{width:46px;height:46px;border-radius:50%;overflow:hidden;background:var(--tint)}
.bsteps .th img{width:100%;height:100%;object-fit:cover}
.bsteps .th.cutimg img{object-fit:contain;padding:4px}
.dia-wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;align-items:start;padding-bottom:110px}
.dfil{display:flex;flex-wrap:wrap;gap:22px 30px;align-items:flex-end;padding:20px;border-radius:6px;background:var(--tint);margin-bottom:16px}
.dfil .grp{display:grid;gap:8px;min-width:0}
.dfil .grp .mono{color:var(--muted)}
.dfil .fchip{background:var(--bg)}
.dfil .fchip.on{background:var(--ink)}
.dfil input[type=range]{width:170px}
.tbl-x{overflow-x:auto;border:1px solid var(--line);border-radius:6px}
table.dt{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums;min-width:660px}
.dt th{font-family:var(--f-mono);font-weight:400;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg)}
.dt td{padding:10px 16px;border-bottom:1px solid var(--line)}
.dt tr:last-child td{border-bottom:0}
.dt tbody tr{cursor:pointer;transition:background .25s}
.dt tbody tr:hover{background:var(--tint)}
.dt tbody tr.on{background:var(--tint-2)}
.dt .shp{display:flex;align-items:center;gap:10px;text-transform:capitalize}
.dt .shp img{width:28px;height:28px;object-fit:contain}
.badge2{display:inline-flex;height:22px;padding:0 9px;border-radius:999px;align-items:center;font-size:11px;white-space:nowrap}
.badge2.lab{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.badge2.nat{background:color-mix(in srgb,var(--gold) 22%,transparent)}
.dpanel{position:sticky;top:calc(var(--hdh-c,64px) + 20px);border:1px solid var(--line);border-radius:6px;padding:22px;display:grid;gap:18px}
.dpanel .fr{aspect-ratio:1;border-radius:4px}
.dpanel .fr img{animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-8px) rotate(-6deg)}}
.review{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);padding-bottom:110px;align-items:start}
.combo{position:relative;aspect-ratio:1/1.05}
.combo .fr{position:absolute;inset:0}
.combo .gemb{position:absolute;right:6%;bottom:6%;width:30%;aspect-ratio:1;border-radius:50%;background:var(--bg);display:grid;place-items:center;box-shadow:0 20px 40px -20px rgba(0,0,0,.4);animation:pop 1s .3s var(--ease) both}
.combo .gemb img{width:70%;height:70%;object-fit:contain}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.sumlist{display:grid;border-top:1px solid var(--line)}
.sumlist>div{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}
.sumlist small{color:var(--muted);font-size:12.5px}

/* ===== bag & checkout ===== */
.bag{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);padding-block:20px 120px;align-items:start}
.line{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.line:first-child{border-top:1px solid var(--line)}
.line .fr{aspect-ratio:4/5}
.line h4{margin:0 0 4px;font-weight:400;font-family:var(--f-display);font-stretch:85%;font-size:19px}
.line .meta{color:var(--muted);font-size:13px;display:grid;gap:2px}
.line .ctl{display:flex;gap:14px;align-items:center;margin-top:14px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;height:34px}
.qty button{width:32px;height:32px;display:grid;place-items:center}
.qty span{min-width:20px;text-align:center;font-size:13px}
.summary{border-radius:6px;background:var(--tint);padding:clamp(22px,3vw,34px);display:grid;gap:16px;position:sticky;top:calc(var(--hdh-c,64px) + 20px)}
.summary .row{display:flex;justify-content:space-between;font-size:14px;font-variant-numeric:tabular-nums;gap:12px}
.summary .row span:first-child{color:var(--muted)}
.summary .row.tot{font-size:19px;padding-top:14px;border-top:1px solid var(--line)}
.summary .row.tot span:first-child{color:var(--ink)}
.promo{display:flex;gap:8px}
.promo input{flex:1;min-width:0;height:40px;border:1px solid var(--line);border-radius:999px;padding:0 14px;background:var(--bg);font-size:13px}
.tlist{display:grid;gap:10px;font-size:13px;color:var(--muted)}
.tlist span{display:flex;gap:10px;align-items:center}
.tlist .ic{color:var(--accent);width:16px;height:16px}
.co{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(30px,5vw,90px);padding-block:20px 120px;align-items:start}
.co-sec{padding:28px 0;border-top:1px solid var(--line);display:grid;gap:18px}
.co-sec h3{margin:0;display:flex;gap:14px;align-items:baseline;font-weight:300;font-family:var(--f-display);font-stretch:80%;font-size:26px}
.co-sec h3 .mono{color:var(--muted)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fgrid .s2{grid-column:span 2}
.inp{display:grid;gap:6px;font-size:12.5px;color:var(--muted)}
.inp input,.inp select{height:48px;border:1px solid var(--line);border-radius:6px;padding:0 14px;background:var(--bg);font-size:14px;color:var(--ink);transition:border-color .3s}
.inp input:focus,.inp select:focus{outline:none;border-color:var(--ink)}
.inp.bad input{border-color:var(--err)}
.inp .er{color:var(--err);font-size:12px;display:none}
.inp.bad .er{display:block}
.radios{display:grid;gap:8px}
.radio{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:6px;cursor:pointer;transition:border-color .3s,background .3s;position:relative}
.radio:hover{border-color:var(--muted)}
.radio.on{border-color:var(--ink);background:var(--tint)}
.radio .rd{width:18px;height:18px;border-radius:50%;border:1px solid var(--muted);display:grid;place-items:center}
.radio.on .rd::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink)}
.radio small{display:block;color:var(--muted);font-size:12.5px}
.radio input{position:absolute;opacity:0;pointer-events:none}
.demo-note{font-size:12.5px;color:var(--muted);padding:12px 14px;border-radius:6px;border:1px dashed var(--line)}
.sum-it{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;font-size:13.5px}
.sum-it .fr{aspect-ratio:1}
.sum-it small{display:block;color:var(--muted);font-size:12px}
.done{padding-block:60px 120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,90px);align-items:center}
.timeline{list-style:none;margin:20px 0 6px;padding:0;border-left:1px solid var(--line)}
.timeline li{padding:0 0 22px 22px;position:relative}
.timeline li::before{content:"";position:absolute;left:-4.5px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--bg);border:1px solid var(--ink)}
.timeline li:first-child::before{background:var(--accent);border-color:var(--accent)}
.timeline small{color:var(--muted);display:block;font-size:13px}

/* drawers, modal, toast, curtain, cursor */
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(450px,100%);background:var(--bg);z-index:80;transform:translateX(102%);transition:transform .7s var(--ease-io),visibility 0s .7s;visibility:hidden;display:grid;grid-template-rows:auto 1fr auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:-30px 0 60px -40px rgba(0,0,0,.35)}
.drawer.on{transform:none;visibility:visible;transition:transform .7s var(--ease-io),visibility 0s}
.drawer.left{left:0;right:auto;transform:translateX(-102%)}
.drawer.left.on{transform:none}
.dr-h{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}
.dr-b{overflow-y:auto;padding:8px 24px}
.dr-f{padding:20px 24px;border-top:1px solid var(--line);display:grid;gap:10px}
.dr-b .line{grid-template-columns:80px minmax(0,1fr) auto;gap:14px;padding:16px 0}
.dr-b .line:first-child{border-top:0}
.mnav{display:grid}
.mnav a.big{padding:16px 0;font-family:var(--f-display);font-stretch:78%;font-weight:300;font-size:30px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.mnav-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-block:20px}
.mnav-cards a{display:grid;gap:8px;font-size:13px}
.mnav-cards .fr{aspect-ratio:4/5}
.modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;pointer-events:none;visibility:hidden;transition:visibility 0s .5s}
.modal.on{pointer-events:auto;visibility:visible;transition:none}
.modal .box{background:var(--bg);border-radius:8px;width:min(660px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:clamp(22px,4vw,42px);transform:translateY(24px) scale(.98);opacity:0;transition:all .6s var(--ease);position:relative}
.modal.on .box{transform:none;opacity:1}
.modal .x{position:absolute;top:14px;right:14px}
.mtable{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums;margin-top:16px}
.mtable th,.mtable td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}
.mtable th{font-family:var(--f-mono);font-weight:400;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.cgrid h5{margin:0 0 4px;font-weight:500;font-size:14px}
.cgrid p{font-size:13.5px;color:var(--muted)}
.slots{display:flex;gap:6px;flex-wrap:wrap}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,calc(100% + 60px));visibility:hidden;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:999px;font-size:13px;z-index:95;transition:transform .6s var(--ease),visibility 0s .6s;white-space:nowrap}
.toast.on{transform:translate(-50%,0);visibility:visible;transition:transform .6s var(--ease)}
.search-res{display:grid;gap:4px;margin-top:16px}
.search-res a{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:8px;border-radius:6px;font-size:14px}
.search-res a:hover{background:var(--tint)}
.search-res .fr{aspect-ratio:1}
.big-input{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;font-family:var(--f-display);font-stretch:80%;font-size:clamp(26px,3.4vw,40px);font-weight:300;padding:8px 0;outline:none}
.curtain{position:fixed;inset:0;z-index:99;background:var(--tint);transform:translateY(100%);pointer-events:none;display:grid;place-items:center}
.curtain svg{width:44px;height:44px;color:var(--gold)}
.cur{position:fixed;left:0;top:0;z-index:100;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--ink);pointer-events:none;display:grid;place-items:center;transition:width .5s var(--ease),height .5s var(--ease),margin .5s var(--ease),background .4s,opacity .3s;opacity:0;color:var(--bg);font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;mix-blend-mode:normal}
.cur.on{opacity:1}
.cur.big{width:86px;height:86px;margin:-43px 0 0 -43px;background:color-mix(in srgb,var(--ink) 88%,transparent)}
.cur span{opacity:0;transition:opacity .3s}
.cur.big span{opacity:1}
@media (pointer:coarse){.cur{display:none}}

/* ===== responsive ===== */
@media (max-width:1180px){
  .hd-nav{display:none}
  .burger{display:inline-flex}
  .hd-l .hide-s{display:none}
  .icb .lbl{display:none}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid.g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .col{grid-template-columns:1fr}
  .filters{position:fixed;inset:0 auto 0 0;width:min(360px,100%);background:var(--bg);z-index:85;padding:20px 24px;overflow-y:auto;transform:translateX(-102%);transition:transform .6s var(--ease-io);align-content:start}
  .filters.on{transform:none}
  .ftoggle{display:inline-flex}
  .trust{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tr:nth-child(3){border-left:0}
  .tr:nth-child(n+3){border-top:1px solid var(--line)}
  .dia-wrap{grid-template-columns:1fr}
  .dpanel{position:static}
  .mega{display:none}
}
@media (max-width:860px){
  .hero{height:auto}
  .hero-pin{position:relative;top:0;height:auto!important;min-height:0;--aph:min(62vh,480px);--p:0;display:flex;flex-direction:column}
  .hero-stage{padding-block:10px 18px}
  .hw{flex-direction:column;gap:0}
  .hw .w:first-child,.hw .w:last-child{text-align:center}
  .ap{position:relative;inset:auto;order:2;width:var(--apw);height:var(--aph);align-self:center;clip-path:ellipse(50% 50% at 50% 50%);animation:none}
  .hero-bot{order:3}
  .ring-holder,.ring-text,.hero-meta{display:none}
  .segs{gap:8px}.seg{width:58px}
  .hero-bot{grid-template-columns:1fr;justify-items:center;opacity:1}
  .segs{order:2}
  .scroll-hint{display:none}
  .cap-x{display:none}
  .sh,.col-head{grid-template-columns:1fr}
  .catrow{flex-direction:column;height:auto}
  .ct{height:300px;flex:none!important}
  .ct .meta p{opacity:1;max-height:none}
  .bp,.rev,.appt,.pdp,.review,.bag,.co,.done{grid-template-columns:1fr}
  .craft{grid-template-columns:1fr}
  .craft .c:nth-child(n){margin-top:0}
  .rev-cards,.jr{grid-template-columns:1fr}
  .gal{position:static}
  .summary{position:static}
  .promo-tile{grid-column:1/-1;min-height:320px}
  .bsteps{grid-template-columns:1fr}
  .bsteps button+button{border-left:0;border-top:1px solid var(--line)}
  .hd-top-in{grid-template-columns:auto 1fr auto;padding-block:12px}
  .hd-l{display:none}
  .logo b{font-size:22px}
  .hd-nav{display:none}
  .pop{width:210px}
  .spot-cap{position:static;padding:22px;color:var(--on-night);max-width:none}
  .spot-cap p{color:rgba(255,255,255,.7)}
}
@media (max-width:560px){
  .grid,.grid.g3{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 10px}
  .gal{grid-template-columns:1fr}
  .thumbs{grid-template-columns:repeat(5,1fr);order:2}
  .fgrid{grid-template-columns:1fr}
  .fgrid .s2{grid-column:auto}
  .line{grid-template-columns:84px minmax(0,1fr)}
  .line>.pr{grid-column:2}
  .mini-trust{grid-template-columns:1fr}
  .cgrid{grid-template-columns:1fr}
  .trust{grid-template-columns:1fr}
  .tr+.tr{border-left:0;border-top:1px solid var(--line)}
  .hero-mid .acts{flex-direction:column}
  .pc-n{font-size:17px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}
  .hero{height:auto}.hero-pin{position:relative;top:0}
}
/* ===== calm layer: lighter type, more space, less motion ===== */
.dx{font-weight:500;letter-spacing:-.01em}
.dx em{font-weight:400;color:inherit}
.hp-h em,.sig-card .dx em,.ab-hero .dx em,.ft-brand .dx em{color:var(--accent)}
.smoke .dx em{color:var(--pale)}
.smoke .sig-card .dx em{color:var(--accent)}
.d1{font-size:clamp(42px,5.4vw,92px)}
.d2{font-size:clamp(30px,3.4vw,52px);line-height:1.08}
.sec{padding-block:clamp(90px,11vw,170px)}
.sh2{margin-bottom:clamp(30px,3.6vw,52px)}
.smoke::before{animation:none!important;transform:scale(1.05)}
.btn::after{display:none}
.nav .gdot{animation:none}
.cur{display:none!important}
.ann-track{animation:none;justify-content:center;width:100%;gap:28px}
.ann-track span:nth-child(n+4){display:none}
.ann-track span:nth-child(3)::after{display:none}
@keyframes rise{from{opacity:0;transform:translateY(18px)}}
/* hero: open, unframed */
.hero2{padding-top:clamp(18px,3vw,40px)}
.hp{border:0;border-radius:0;background:none;margin-top:0;min-height:clamp(540px,calc(100vh - var(--hdh0,164px) - 30px),760px);grid-template-rows:1fr;position:relative}
.hp::before{content:"";position:absolute;left:-18%;top:8%;width:70%;height:90%;background:radial-gradient(closest-side,var(--tint-2),rgba(243,228,222,0));opacity:.75;z-index:-1;pointer-events:none}
.hero2{position:relative;isolation:isolate;overflow:hidden}
.hp-copy{padding:clamp(10px,3vw,40px) 0;gap:24px}
.hp-h{font-weight:500;font-size:clamp(44px,5vw,84px);line-height:1.06}
.hp-h em{font-weight:400}
.hp-vis{padding-block:10px}
.arch{inset:10px 0 0 8%;border-radius:999px 999px 24px 24px;animation-duration:1.3s}
.hp-ctrl{position:absolute;right:0;bottom:-6px;transform:translateY(100%);display:flex;align-items:center;gap:14px;color:var(--muted);padding-top:14px}
.hp-ctrl button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--navy);transition:border-color .3s,background .3s}
.hp-ctrl button:hover{border-color:var(--navy)}
.hp-ctrl svg{width:16px;height:16px}
/* category mosaic: quieter */
.mt{border-radius:14px}
.mt[data-k="eng"]{border-radius:999px 999px 14px 14px}
.mt .lab b{font-weight:500;font-size:clamp(18px,1.5vw,23px)}
.mt::after{background:linear-gradient(180deg,transparent 55%,rgba(30,10,16,.55))}
.mt .go{width:34px;height:34px;opacity:0;transform:translateY(6px);transition:all .5s var(--ease)}
.mt:hover .go,.mt.hl .go{opacity:1;transform:none}
.mt-title{background:var(--tint);border:0}
.mt-title .dx{font-size:clamp(28px,2.6vw,42px)}
/* product cards: borderless */
.sc{border:0;border-radius:0;background:none}
.sc:hover{transform:none;box-shadow:none}
.sc-img{border-radius:14px}
.sc-tag{display:none}
.sc-b{border:0;padding:14px 2px 0;gap:2px}
.sc-n{font-weight:500;font-size:18px;text-transform:none;letter-spacing:0}
.sc-badge{background:var(--bg);color:var(--navy);border-radius:999px;left:12px;right:auto;top:12px;font-size:9.5px}
.sc-ico button{width:34px;height:34px;background:#fff;color:var(--navy);box-shadow:0 6px 16px -10px rgba(58,21,32,.4)}
.track{grid-auto-columns:calc((100% - 3*20px)/4);gap:20px}
/* signature: lighter inner card */
.sig-card{background:#fff;gap:18px}
.sig-card .dx{font-size:clamp(28px,2.6vw,40px);text-transform:none;letter-spacing:0;font-weight:500}
.sig-prod{border:0}
.sig-prod .tx{border-top:0;padding:12px 0 0}
.sig-prod .tx .dx{font-weight:500}
.dots button.on::after{animation:none;transform:none}
/* craft */
.craft2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,7vw,120px);align-items:center}
.craft2 .fr{aspect-ratio:5/4;border-radius:14px}
.craft2>div{display:grid;gap:22px;justify-items:start;max-width:520px}
.craft2 p{color:var(--muted);font-size:16px;line-height:1.75}
.craft-pts{list-style:none;margin:0;padding:0;width:100%;border-top:1px solid var(--line)}
.craft-pts li{display:flex;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.craft-pts .mono{color:var(--accent);padding-top:3px}
/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px)}
.quotes figure{margin:0;display:grid;gap:16px;align-content:start;text-align:center;justify-items:center}
.quotes blockquote{margin:0;font-family:var(--f-display);font-style:italic;font-size:clamp(19px,1.6vw,24px);line-height:1.4;color:var(--navy)}
.quotes figcaption{font-size:13px;color:var(--muted)}
.quotes figcaption b{color:var(--navy);font-weight:500}
/* visit */
.visit2{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(30px,7vw,120px);align-items:center}
.visit2 .fr{aspect-ratio:4/5;border-radius:999px 999px 14px 14px;max-height:620px}
.visit2>div{display:grid;gap:22px;justify-items:start;max-width:500px}
.visit2 p{color:var(--muted);font-size:16px;line-height:1.75}
/* about + misc */
.ab-col .seal svg,.badge-rot svg{animation:none}
.val h3{font-weight:500}
.ps h4,.nums .v,.pr .big,.cs-grid .t{font-weight:500}
.ft-cols h6{font-weight:400}
@media (max-width:1100px){.track{grid-auto-columns:calc((100% - 2*20px)/3)}}
@media (max-width:860px){.craft2,.visit2,.quotes{grid-template-columns:1fr}.hp-ctrl{position:static;transform:none;justify-content:flex-end}.hp-vis{height:460px}.track{grid-auto-columns:70%}}
/* ===== hero fumes & waves ===== */
.hero2{padding-bottom:clamp(20px,3vw,40px)}
.hp-vis{position:relative;isolation:isolate}
.fumes{position:absolute;inset:-14% -18% -8% -14%;z-index:-1;pointer-events:none}
.fumes canvas{width:100%;height:100%;display:block;filter:blur(16px) saturate(1.05);opacity:.95;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent);mask-image:radial-gradient(closest-side,#000 55%,transparent)}
.waves{position:absolute;inset:6% -30% 0 -14%;z-index:-1;pointer-events:none;overflow:visible}
.waves path{fill:none;stroke:var(--blue);stroke-width:1;opacity:.45;stroke-dasharray:6 10 260 30;animation:flow 22s linear infinite}
.waves path:nth-child(2){opacity:.32;animation-duration:28s;animation-direction:reverse}
.waves path:nth-child(3){opacity:.25;animation-duration:34s}
.waves path:nth-child(4){opacity:.18;animation-duration:40s;animation-direction:reverse}
@keyframes flow{to{stroke-dashoffset:-1224}}
.arch{z-index:1;box-shadow:0 40px 70px -40px rgba(58,21,32,.45)}
.hp-ctrl{position:absolute;right:16px;bottom:16px;transform:none;z-index:3;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--navy)}
.hp-ctrl button{border:0;width:32px;height:32px}
.hp-ctrl button:hover{background:var(--tint)}

/* ===== ghost text band (scroll-linked) ===== */
.ghost{position:relative;overflow:hidden;padding-block:clamp(10px,2vw,30px) clamp(20px,3vw,40px);pointer-events:none;user-select:none}
.gt{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:clamp(80px,14vw,230px);line-height:.95;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(163,95,88,.28);transform:translateX(var(--x,0));will-change:transform}
.gt b{font-style:normal;font-weight:400;-webkit-text-stroke:1px rgba(163,95,88,.18)}
.gt .dm{display:inline-block;width:.18em;height:.18em;border:1px solid rgba(163,95,88,.35);transform:rotate(45deg);margin:0 .35em;vertical-align:.25em}
.rule{display:flex;align-items:center;gap:18px;color:var(--accent)}
.rule i{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line) 30%,var(--line) 70%,transparent)}
.rule svg{width:22px;height:22px}
.rule .mono{color:var(--muted)}
.rule-wrap{padding-block:clamp(20px,3vw,40px)}

/* ===== big invisible words inside sections ===== */
.has-ghost{position:relative;isolation:isolate}
.ghost-word{position:absolute;z-index:-1;font-family:var(--f-display);font-style:italic;font-size:clamp(110px,17vw,280px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(163,95,88,.16);white-space:nowrap;pointer-events:none;user-select:none;transform:translateY(var(--y,0))}
.craft2 .ghost-word{right:-4%;top:-14%}
.quotes-sec .ghost-word{left:50%;top:2%;translate:-50% 0;font-size:clamp(220px,28vw,420px);font-style:normal;-webkit-text-stroke:1px rgba(163,95,88,.14)}

/* ===== curved section edges ===== */
.quotes-sec{position:relative;background:var(--tint);margin-block:clamp(60px,7vw,110px)}
.quotes-sec>.edge{position:absolute;left:0;width:100%;height:clamp(40px,6vw,90px);display:block;pointer-events:none}
.quotes-sec>.edge path{fill:var(--tint)}
.quotes-sec>.edge.t{top:1px;transform:translateY(-100%)}
.quotes-sec>.edge.b{bottom:1px;transform:translateY(100%) scaleY(-1)}

/* fumes behind visit arch */
.visit2>.fr{position:relative;overflow:visible;background:none}
.visit2 .vis-wrap{position:relative;isolation:isolate}
.visit2 .vis-wrap .fumes{inset:-12% -16%}
.visit2 .vis-wrap .fr{aspect-ratio:4/5;border-radius:999px 999px 14px 14px;max-height:620px;box-shadow:0 40px 70px -40px rgba(58,21,32,.45)}
@media (prefers-reduced-motion:reduce){.waves path{animation:none}}
@media (max-width:860px){.fumes{inset:-8% -6%}.waves{inset:4% -10% 0}.gt{font-size:24vw}}
#view{overflow-x:clip}
.quotes-sec,.craft2{overflow-x:clip}
.hero2{overflow:visible}
.hp{overflow:visible}

/* ===== hero visual: slats, loupe, tag ===== */
.arch{clip-path:none;animation:archIn2 1.4s .2s var(--ease-io) both;inset:28px 6% 0 12%}
@keyframes archIn2{from{clip-path:inset(100% 0 0 0 round 999px 999px 24px 24px)}to{clip-path:inset(0 0 0 0 round 999px 999px 24px 24px)}}
.arch img.base{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.slats{position:absolute;inset:0;z-index:2}
.slats span{position:absolute;top:0;bottom:0;overflow:hidden;clip-path:inset(100% 0 0 0);animation:slat .9s var(--ease-io) forwards}
.slats span:nth-child(even){clip-path:inset(0 0 100% 0)}
.slats img{height:100%;object-fit:cover;max-width:none;display:block}
@keyframes slat{to{clip-path:inset(0 0 0 0)}}
.arch .sheen{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.28) 50%,transparent 60%);transform:translateX(-120%)}
.arch.shine .sheen{animation:shine 1.3s .55s var(--ease)}
.arch-orbit{position:absolute;inset:6px 2% 26px 18%;border:1px solid var(--blue);border-radius:999px 999px 24px 24px;opacity:.55;transform:rotate(4deg);transform-origin:50% 100%;animation:orbitIn 1.8s .5s var(--ease) both;pointer-events:none}
@keyframes orbitIn{from{opacity:0;transform:rotate(0)}}
.h-tag{position:absolute;left:0;top:18%;z-index:4;display:grid;gap:2px;padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 24px 40px -28px rgba(58,21,32,.5);min-width:170px;transition:opacity .4s,transform .5s var(--ease);animation:fadeUp 1s 1.2s var(--ease) both}
.h-tag .mono{color:var(--accent)}
.h-tag .nm{font-family:var(--f-display);font-size:21px;color:var(--navy)}
.h-tag .h-pr{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.h-tag .h-pr svg{width:13px;height:13px;transition:transform .4s var(--ease)}
.h-tag:hover .pr svg{transform:translateX(4px)}
.h-tag.swap,.loupe.swap{opacity:0;transform:translateY(8px)}
.loupe{position:absolute;left:2%;bottom:6%;z-index:4;width:clamp(120px,11vw,170px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px #fff,0 0 0 7px var(--blue),0 30px 50px -24px rgba(58,21,32,.55);transition:opacity .4s,transform .5s var(--ease);animation:fadeUp 1s 1.4s var(--ease) both}
.loupe img{width:100%;height:100%;object-fit:cover;transform:scale(1.25);transition:object-position .6s var(--ease)}
.loupe .mono{position:absolute;left:0;right:0;bottom:12px;text-align:center;color:#fff;font-size:9.5px;text-shadow:0 1px 6px rgba(0,0,0,.5)}
@media (max-width:860px){.h-tag{top:8%;left:0;padding:10px 14px;min-width:0}.h-tag .nm{font-size:17px}.loupe{width:110px;left:0}.arch{inset:20px 2% 0 10%}}
.h-tag{height:auto;bottom:auto;align-content:start;align-self:start}
.hp-ctrl{height:auto;top:auto;left:auto}
@media (max-width:860px){.hp-ctrl{position:absolute!important;right:10px;bottom:12px;width:auto}.h-tag{top:4%}.hp-vis{height:480px}}

/* listing: 4 across, 3-4 rows */
.grid.g3{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 18px;grid-auto-flow:dense}
.col .promo-tile{grid-column:span 2}
@media (max-width:1180px){.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.grid.g3{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}}
/* ================= THE LIGHT ROOM (home) ================= */
:root{--ox:#2F2427;--ox2:#3E3135;--wine:#5E4A4E;--iv:#F7F3EF;--champ:#ECE4DA;--gld:#C7AE8A;--gld2:#DCCAAE;--rs:#A8857E}
body.xhome{background:var(--iv)}
body.xhome .hd{background:color-mix(in srgb,var(--iv) 88%,transparent)}
.x-eb{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gld2)}
.x-eb i{width:34px;height:1px;background:currentColor;transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--ease)}
.x-eb.in i,.x-hero .x-eb i{transform:scaleX(1)}
.x-eb.dark{color:var(--wine)}
.xw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.xw>span{display:inline-block;transform:translateY(110%) rotate(4deg);transform-origin:0 100%;transition:transform 1.3s var(--ease);transition-delay:var(--d,0s)}
.loaded .x-hero .xw>span,.in .xw>span,.x-h1.in .xw>span,.in>.x-h1 .xw>span{transform:none}
.x-h1{font-family:var(--f-display);font-weight:400;font-size:clamp(52px,6.6vw,118px);line-height:.98;letter-spacing:-.025em;margin:0;color:var(--iv)}
.x-h1 em{font-style:italic;color:var(--gld2)}
.x-h1.sm{font-size:clamp(46px,6vw,104px)}
.x-h2{font-family:var(--f-display);font-weight:400;font-size:clamp(40px,5vw,86px);line-height:1;letter-spacing:-.02em;margin:0;color:var(--ox);clip-path:inset(0 0 100% 0);transform:translateY(30px);transition:clip-path 1.2s var(--ease),transform 1.2s var(--ease)}
.x-h2.in,.in .x-h2{clip-path:inset(-20% 0 -20% 0);transform:none}
.x-h2 em{font-style:italic;color:var(--rs)}
.x-h2.light{color:var(--iv)}.x-h2.light em{color:var(--gld2)}
.x-sub{font-size:16.5px;line-height:1.7;color:rgba(246,239,232,.72);max-width:42ch;margin:0}
.x-btn{position:relative;display:inline-flex;align-items:center;gap:14px;height:58px;padding:0 30px;border-radius:999px;background:var(--gld);color:var(--ox);font-weight:500;font-size:14.5px;overflow:hidden;isolation:isolate;transition:transform .5s var(--ease),color .4s}
.x-btn::before{content:"";position:absolute;inset:0;background:var(--iv);border-radius:inherit;transform:scale(0,1);transform-origin:right;transition:transform .6s var(--ease);z-index:-1}
.x-btn:hover::before{transform:scale(1);transform-origin:left}
.x-btn svg{width:16px;height:16px;transition:transform .5s var(--ease)}
.x-btn:hover svg{transform:translateX(5px) rotate(-45deg)}
.x-btn.light{background:var(--iv)}.x-btn.light::before{background:var(--gld)}
.x-link{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--iv);position:relative;padding:8px 0}
.x-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .6s var(--ease)}
.x-link:hover::after{transform:scaleX(.3)}
.x-link svg{width:14px;height:14px;transition:transform .5s var(--ease)}.x-link:hover svg{transform:translateX(5px)}
.x-craft .x-link,.x-bs .x-link{color:var(--ox)}
.x-circle{width:84px;height:84px;border-radius:50%;background:var(--ox);color:var(--iv);display:grid;place-items:center;transition:transform .6s var(--ease),background .4s}
.x-circle.sm{width:56px;height:56px}
.x-circle svg{width:20px;height:20px}
.x-circle:hover{transform:rotate(-45deg) scale(1.06);background:var(--wine)}

/* ---------- 1 · hero ---------- */
.x-hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(70% 90% at 75% 40%,#4f3f42 0%,var(--ox2) 45%,var(--ox) 100%);color:var(--iv);min-height:calc(100vh - var(--hdh0,164px));display:grid;grid-template-rows:1fr auto;--hp:0}
.x-dust{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.x-fume{position:absolute;right:-8%;top:-10%;width:78%;height:120%;z-index:0;pointer-events:none;opacity:calc(.85 - var(--hp,0)*.6)}
.x-fume canvas{width:100%;height:100%;filter:blur(22px);mix-blend-mode:screen;-webkit-mask-image:radial-gradient(closest-side,#000 40%,transparent);mask-image:radial-gradient(closest-side,#000 40%,transparent)}
.x-fume.v{right:auto;left:10%;top:0;width:80%;height:100%}
.x-ghost{position:absolute;left:4%;bottom:-.18em;z-index:0;font-family:var(--f-display);font-style:italic;font-size:clamp(140px,22vw,380px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(222,206,180,.14);white-space:nowrap;pointer-events:none;user-select:none}
.x-hgrid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center;padding-block:clamp(40px,5vw,80px) 30px}
.x-copy{display:grid;gap:28px;justify-items:start;transform:translateY(calc(var(--hp) * -60px));opacity:calc(1 - var(--hp) * 1.2)}
.x-copy .x-eb{opacity:0;animation:xfade 1s .1s var(--ease) forwards}
.x-sub,.x-cta,.x-cap{opacity:0;animation:xfade 1.2s var(--ease) forwards}
.x-sub{animation-delay:.9s}.x-cta{animation-delay:1.05s}.x-cap{animation-delay:1.2s}
@keyframes xfade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.x-cta{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.x-cap{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,239,232,.5)}
.x-cap b{color:var(--gld2);font-weight:400;transition:opacity .4s}
.x-hero .win{background:radial-gradient(90% 120% at 50% 30%,#5c4a4e,#3a2e31 70%);box-shadow:inset 0 0 0 1px rgba(220,202,174,.5),0 0 24px rgba(199,174,138,.18)}
.x-stage{position:relative;aspect-ratio:1/1.08;max-height:calc(100vh - var(--hdh0,164px) - 120px);justify-self:center;width:100%;max-width:620px;perspective:1100px;--rx:0deg;--ry:0deg}
.x-ringtxt{position:absolute;inset:-2%;width:104%;height:104%;animation:spin 40s linear infinite;opacity:.9}
.x-ringtxt text{font-family:var(--f-mono);font-size:6.6px;letter-spacing:.42em;fill:var(--gld2)}
.x-gem{position:absolute;inset:11%;overflow:hidden;clip-path:polygon(50% 0,85% 14.6%,100% 50%,85% 85.4%,50% 100%,15% 85.4%,0 50%,15% 14.6%);transform:rotateX(var(--rx)) rotateY(var(--ry)) scale(calc(1 + var(--hp) * .15));transition:transform .8s var(--ease);background:var(--ox);animation:gemIn 1.8s .25s var(--ease-io) both}
@keyframes gemIn{from{clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%,50% 50%);filter:brightness(2)}to{clip-path:polygon(50% 0,85% 14.6%,100% 50%,85% 85.4%,50% 100%,15% 85.4%,0 50%,15% 14.6%)}}
.x-gem img.base{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.x-spot{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle 160px at var(--mx,50%) var(--my,40%),rgba(255,240,220,.28),transparent 70%),radial-gradient(circle 420px at var(--mx,50%) var(--my,40%),transparent 30%,rgba(42,12,20,.45));opacity:0;transition:opacity .5s}
.x-gem.lit .x-spot{opacity:1}
.x-gem .sheen{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,240,215,.45) 50%,transparent 60%);transform:translateX(-120%)}
.x-gem.shine .sheen{animation:shine 1.3s .5s var(--ease)}
.x-shards{position:absolute;inset:0;z-index:2}
.x-shards span{position:absolute;top:0;bottom:0;overflow:hidden;clip-path:inset(50% 0 50% 0);animation:shard 1s var(--ease-io) forwards}
.x-shards img{height:100%;object-fit:cover;max-width:none;display:block;transform:scale(1.15);animation:shardImg 1.4s var(--ease) forwards}
@keyframes shard{to{clip-path:inset(0 0 0 0)}}
@keyframes shardImg{to{transform:scale(1)}}
.x-tag{position:absolute;left:-4%;top:20%;z-index:5;display:grid;gap:2px;padding:14px 20px;border-radius:16px;background:rgba(246,239,232,.12);border:1px solid rgba(222,206,180,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--iv);transition:opacity .4s,transform .5s var(--ease);opacity:0;animation:xfade 1s 1.5s var(--ease) forwards}
.x-tag .mono{color:var(--gld2)}
.x-tn{font-family:var(--f-display);font-size:22px}
.x-tp{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(246,239,232,.75)}
.x-tp svg{width:13px;height:13px}
.x-tag.swap{opacity:0!important;transform:translateY(10px)}
.x-ctrl{position:absolute;right:0;bottom:4%;z-index:5;display:flex;align-items:center;gap:12px;color:var(--gld2)}
.x-ctrl button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(222,206,180,.45);display:grid;place-items:center;color:var(--iv);transition:background .4s,color .4s}
.x-ctrl button:hover{background:var(--gld);color:var(--ox)}
.x-ctrl svg{width:16px;height:16px}
.x-hfoot{position:relative;z-index:2;display:flex;align-items:center;gap:18px;padding-block:18px 28px;color:rgba(246,239,232,.5)}
.x-line{flex:1;height:1px;background:rgba(222,206,180,.25);position:relative;overflow:hidden}
.x-line::after{content:"";position:absolute;inset:0;width:30%;background:var(--gld);animation:xline 2.6s var(--ease-io) infinite}
@keyframes xline{from{transform:translateX(-100%)}to{transform:translateX(340%)}}

/* ---------- band ---------- */
.x-band{background:var(--gld);color:var(--ox);overflow:hidden;padding-block:18px;border-block:1px solid rgba(42,12,20,.15)}
.x-band-t{display:flex;width:max-content;align-items:center;gap:34px;will-change:transform}
.x-band span{font-family:var(--f-display);font-size:clamp(28px,3.2vw,48px);white-space:nowrap;text-transform:uppercase;letter-spacing:.02em}
.x-band span em{text-transform:none}
.x-band i{font-style:normal;font-size:20px}

/* ---------- 2 · vault (stacked) ---------- */
.x-vault{padding-block:clamp(90px,10vw,150px) clamp(60px,6vw,100px);background:var(--iv)}
.x-vhead{display:grid;grid-template-columns:auto 1fr auto;gap:20px 50px;align-items:end;margin-bottom:clamp(40px,5vw,70px)}
.x-vhead .x-eb{grid-column:1/-1}
.x-vhead p{color:var(--muted);max-width:30ch;justify-self:end;opacity:0;transition:opacity 1s .3s}
.x-vhead p.in{opacity:1}
.x-vstack{display:grid;gap:26px}
.x-vc{--s:1;--dim:0;position:sticky;top:calc(var(--hdc,53px) + 24px + var(--i) * 18px);height:min(76vh,680px);border-radius:28px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);transform:scale(var(--s));transform-origin:50% 0;transition:transform .2s linear;isolation:isolate;box-shadow:0 -20px 50px -30px rgba(42,12,20,.35)}
.x-vc::after{content:"";position:absolute;inset:0;background:#000;opacity:calc(var(--dim) * .6);pointer-events:none;z-index:5}
.x-vc.t-ox{background:var(--ox);color:var(--iv)}.x-vc.t-iv{background:#fff;color:var(--ox)}.x-vc.t-gd{background:var(--champ);color:var(--ox)}.x-vc.t-rs{background:#D6C2BA;color:var(--ox)}
.x-vtx{position:relative;z-index:2;padding:clamp(28px,4vw,60px);display:grid;align-content:space-between;gap:20px}
.x-vno{font-family:var(--f-display);font-style:italic;font-size:clamp(70px,8vw,140px);line-height:.85}
.x-vno small{font-size:.22em;font-style:normal;opacity:.55;margin-left:6px;font-family:var(--f-mono)}
.x-vc h3{font-family:var(--f-display);font-weight:400;font-size:clamp(44px,5.4vw,92px);line-height:.95;margin:0;letter-spacing:-.02em}
.x-vc p{font-size:16px;opacity:.75;margin:10px 0 0}
.x-vgo{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding-bottom:6px;border-bottom:1px solid currentColor;justify-self:start}
.x-vgo svg{width:14px;height:14px;transition:transform .5s var(--ease)}
.x-vc:hover .x-vgo svg{transform:translateX(8px)}
.x-vcnt{opacity:.6}
.x-vim{position:relative;overflow:hidden;margin:14px 14px 14px 0;border-radius:20px}
.x-vim>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 2s var(--ease)}
.x-vc:hover .x-vim>img{transform:scale(1.07)}
.x-vsm{position:absolute;left:-12%;bottom:8%;width:34%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 6px currentColor;transform:translateX(30px) rotate(-8deg);opacity:0;transition:all .9s var(--ease)}
.x-vsm{left:6%}
.x-vsm img{width:100%;height:100%;object-fit:cover}
.x-vc:hover .x-vsm{opacity:1;transform:none}
.x-vbig{position:absolute;right:-2%;bottom:-.22em;z-index:1;font-family:var(--f-display);font-style:italic;font-size:clamp(120px,16vw,260px);line-height:1;color:transparent;-webkit-text-stroke:1px currentColor;opacity:.12;pointer-events:none;white-space:nowrap}

/* ---------- 3 · bestsellers (horizontal) ---------- */
.x-bs{position:relative;background:var(--champ)}
.x-bs-pin{position:sticky;top:var(--hdc,53px);height:calc(100vh - var(--hdc,53px));overflow:hidden;display:grid;grid-template-rows:auto 1fr;align-content:center;gap:30px;padding-block:40px}
.x-bs-ghost{position:absolute;left:0;top:50%;translate:0 -50%;font-family:var(--f-display);font-style:italic;font-size:clamp(160px,22vw,360px);white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(90,30,44,.14);pointer-events:none;will-change:transform}
.x-bs-head{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.x-bs-meta{display:flex;align-items:center;gap:18px;color:var(--ox)}
.x-bs-bar{width:180px;height:1px;background:rgba(42,12,20,.2);position:relative;display:block}
.x-bs-bar i{position:absolute;inset:0;background:var(--ox);transform-origin:left;transform:scaleX(0)}
.x-bs-track{position:relative;display:flex;gap:26px;padding-left:var(--gut);padding-right:120px;align-items:center;will-change:transform;width:max-content}
.x-pc{flex:none;width:clamp(260px,23vw,340px);perspective:900px;color:var(--ox)}
.x-pc-in{display:grid;gap:14px;transition:transform .5s var(--ease);transform-style:preserve-3d;--gx:50%;--gy:50%}
.x-pc-im{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--iv);box-shadow:0 30px 50px -34px rgba(42,12,20,.5)}
.x-pc-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s var(--ease),transform 1.4s var(--ease)}
.x-pc-im img.b{opacity:0;transform:scale(1.1)}
.x-pc:hover .x-pc-im img.b{opacity:1;transform:scale(1)}
.x-pc-im::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,245,230,.35),transparent 50%);opacity:0;transition:opacity .4s;pointer-events:none}
.x-pc:hover .x-pc-im::after{opacity:1}
.x-pc-no{position:absolute;left:16px;top:12px;font-family:var(--f-display);font-style:italic;font-size:30px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.x-pc-w{position:absolute;right:12px;top:12px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;color:var(--ox)}
.x-pc-w svg{width:16px;height:16px}.x-pc-w.on svg{fill:currentColor}
.x-pc-b{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.x-pc-b b{display:block;font-family:var(--f-display);font-weight:400;font-size:24px}
.x-pc-b small{font-size:13px;opacity:.65}
.x-pc-add{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;justify-self:start;cursor:pointer;opacity:.5;transition:opacity .4s}
.x-pc:hover .x-pc-add{opacity:1}
.x-pc-add svg{width:13px;height:13px}
.x-pc-end{display:grid;gap:24px;justify-items:start;align-content:center;padding-left:40px;width:clamp(260px,24vw,360px)}

/* ---------- 4 · signature (pinned explode) ---------- */
.x-sig{position:relative;height:260vh;background:var(--ox);--q:0}
.x-sig-pin{position:sticky;top:var(--hdc,53px);height:calc(100vh - var(--hdc,53px));overflow:hidden;display:grid;grid-template-rows:1fr auto}
.x-sig-bg{position:absolute;inset:0;background:var(--cv-smoke) center/cover;mix-blend-mode:luminosity;opacity:.35}
.x-sig-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 65% 50%,rgba(199,174,138,calc(.12 + var(--q) * .2)),transparent 70%)}
.x-sig-grid{position:relative;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(30px,5vw,80px);align-items:center}
.x-sig-tx{display:grid;gap:24px;justify-items:start;color:var(--iv);opacity:0;transform:translateY(30px);transition:all 1.2s var(--ease)}
.x-sig-tx.in{opacity:1;transform:none}
.x-sig-tx p{color:rgba(246,239,232,.7);font-size:16px;line-height:1.7;max-width:40ch;margin:0}
.x-sig-price{display:flex;align-items:baseline;gap:12px}.x-sig-price .mono{color:var(--gld2)}.x-sig-price b{font-family:var(--f-display);font-weight:400;font-size:40px}
.x-sig-vis{position:relative;height:min(78vh,720px)}
.x-sig-im{position:absolute;left:27%;right:27%;top:4%;bottom:4%;border-radius:999px 999px 30px 30px;overflow:hidden;transform:scale(calc(.82 + var(--q) * .26)) rotate(calc(-4deg + var(--q) * 4deg));box-shadow:0 60px 100px -50px rgba(0,0,0,.8)}
.x-sig-im img{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.2 - var(--q) * .2))}
.x-sig-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.x-sig-lines path{fill:none;stroke:var(--gld2);stroke-width:.25;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--ease)}
.x-sig-lines path.on{stroke-dashoffset:0}
.x-dot{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--gld2);box-shadow:0 0 0 6px rgba(222,206,180,.25);transform:scale(0);transition:transform .6s var(--ease)}
.x-dot.on{transform:scale(1);animation:xpulse 2.4s 1s infinite}
@keyframes xpulse{50%{box-shadow:0 0 0 12px rgba(222,206,180,0)}}
.x-spec{position:absolute;display:grid;gap:4px;width:21%;color:var(--iv);opacity:0;transform:translateY(12px);transition:all .8s .25s var(--ease)}
.x-spec.on{opacity:1;transform:none}
.x-spec .mono{color:var(--gld2)}
.x-spec b{font-family:var(--f-display);font-weight:400;font-size:19px;line-height:1.2}
.x-spec.r{text-align:right}
.x-sig-prog{padding-block:22px 30px}
.x-sig-prog i{display:block;height:1px;background:var(--gld);transform-origin:left;transform:scaleX(0)}

/* ---------- 5 · craft ---------- */
.x-craft{background:var(--iv);padding-block:clamp(100px,11vw,170px)}
.x-craft-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,110px)}
.x-craft-stick{position:sticky;top:calc(var(--hdc,53px) + 40px);display:grid;gap:24px}
.x-craft-num{font-family:var(--f-display);font-style:italic;font-size:clamp(90px,10vw,170px);line-height:.8;color:var(--rs)}
.x-craft-num small{font-size:.2em;font-style:normal;font-family:var(--f-mono);color:var(--muted);margin-left:8px}
.x-craft-frame{position:relative;aspect-ratio:5/4;border-radius:24px;overflow:hidden;background:var(--champ)}
.x-cf{position:absolute;inset:0;clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease-io)}
.x-cf.on{clip-path:inset(0 0 0 0)}
.x-cf img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform 2s var(--ease)}
.x-cf.on img{transform:scale(1)}
.x-craft-r{list-style:none;margin:0;padding:22vh 0 10vh}
.x-step{min-height:58vh;display:grid;align-content:center;gap:14px;border-top:1px solid rgba(42,12,20,.12);opacity:.22;transition:opacity .8s var(--ease)}
.x-step.on{opacity:1}
.x-step .mono{color:var(--rs)}
.x-step h3{font-family:var(--f-display);font-weight:400;font-size:clamp(40px,4.4vw,72px);margin:0;color:var(--ox);line-height:1}
.x-step p{font-size:17px;line-height:1.7;color:var(--muted);max-width:40ch;margin:0}

/* ---------- 6 · reviews deck ---------- */
.x-rev{background:linear-gradient(180deg,#D9C6BE,#CBB2A9);padding-block:clamp(100px,11vw,160px);overflow:hidden}
.x-rev .x-h2,.x-rev .x-eb{color:var(--ox)}.x-rev .x-h2 em{color:var(--iv)}
.x-rev-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,100px);align-items:center}
.x-rev-l{display:grid;gap:26px;justify-items:start;color:var(--ox)}
.x-score{display:flex;align-items:center;gap:16px}.x-score b{font-family:var(--f-display);font-weight:400;font-size:80px;line-height:1}
.x-score .stars{color:var(--ox)}
.x-note{font-size:12px;opacity:.75;max-width:36ch;margin:0;border:1px dashed rgba(42,12,20,.35);padding:10px 12px;border-radius:8px}
.x-rev-ctl{display:flex;align-items:center;gap:18px}
.x-deck{position:relative;height:440px}
.x-card{--o:0;position:absolute;inset:0;margin:0;padding:clamp(28px,4vw,50px);border-radius:26px;background:var(--iv);color:var(--ox);display:grid;align-content:space-between;gap:20px;box-shadow:0 40px 70px -40px rgba(42,12,20,.6);transform:translate(calc(var(--o) * 22px),calc(var(--o) * -18px)) rotate(calc(var(--o) * 2.5deg)) scale(calc(1 - var(--o) * .05));z-index:calc(10 - var(--o));transition:transform .8s var(--ease),opacity .5s;cursor:pointer}
.x-card:not(.top){filter:brightness(calc(1 - var(--o) * .06))}
.x-card.fly{transform:translate(120%,-30px) rotate(18deg);opacity:0}
.x-qm{font-family:var(--f-display);font-style:italic;font-size:120px;line-height:.5;color:var(--rs);height:50px}
.x-card blockquote{margin:0;font-family:var(--f-display);font-size:clamp(22px,2.1vw,32px);line-height:1.3}
.x-card figcaption{display:flex;gap:12px;align-items:baseline;font-size:14px}.x-card figcaption span{opacity:.6}
.x-card .stars{color:var(--rs)}

/* ---------- 7 · visit ---------- */
.x-visit{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(60% 80% at 50% 100%,#4f3f42,var(--ox) 70%);padding-block:clamp(110px,12vw,190px);text-align:center;color:var(--iv)}
.x-visit-in{display:grid;justify-items:center;gap:28px;position:relative;z-index:2}
.x-visit .x-h1{color:var(--iv)}
.x-orb{position:relative;width:200px;height:200px;border-radius:50%;display:grid;place-items:center;color:var(--ox);margin-top:10px;transition:transform .5s var(--ease)}
.x-orb svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 18s linear infinite}
.x-orb text{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.36em;fill:var(--gld2)}
.x-orb>span{width:110px;height:110px;border-radius:50%;background:var(--gld);display:grid;place-items:center;transition:transform .6s var(--ease),background .4s}
.x-orb>span svg{position:static;width:26px;height:26px;animation:none;stroke:var(--ox)}
.x-orb:hover>span{transform:scale(1.12) rotate(-45deg);background:var(--iv)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .x-hgrid,.x-sig-grid,.x-craft-grid,.x-rev-grid{grid-template-columns:1fr}
  .x-stage{max-width:440px}
  .x-tag{left:0;top:6%}
  .x-vhead{grid-template-columns:1fr}.x-vhead p{justify-self:start}
  .x-vc{position:relative;top:auto;height:auto;grid-template-columns:1fr;transform:none}
  .x-vim{height:320px;margin:0 14px 14px}
  .x-bs-pin{position:relative;top:0;height:auto}
  .x-bs-track{overflow-x:auto;width:auto;scroll-snap-type:x mandatory;padding-bottom:10px}
  .x-pc{scroll-snap-align:start;width:72vw}
  .x-sig{height:auto}.x-sig-pin{position:relative;top:0;height:auto;padding-block:80px 0}
  .x-sig-vis{height:520px}.x-spec{min-width:120px}.x-spec b{font-size:15px}
  .x-craft-stick{position:relative;top:0}.x-craft-r{padding:30px 0 0}.x-step{min-height:0;padding-block:28px;opacity:1}
  .x-deck{height:420px;margin-right:30px}
}
@media (prefers-reduced-motion:reduce){.xw>span{transform:none!important}.x-h2{clip-path:none;transform:none}.x-ringtxt,.x-orb svg{animation:none}}
.x-bs-pin{grid-template-columns:minmax(0,1fr)}
.x-bs-head{width:100%}
.x-bs-track{justify-self:start}

/* ---------- 2 · vault: all in one view ---------- */
.x-vault{padding-block:clamp(60px,6vw,100px)}
.x-row{display:flex;gap:12px;height:min(calc(100vh - var(--hdc,53px) - 270px),620px);min-height:420px}
.x-col{position:relative;flex:1;min-width:0;border-radius:24px;overflow:hidden;isolation:isolate;transition:flex 1.1s var(--ease);color:var(--iv);background:var(--ox);opacity:0;transform:translateY(60px)}
.x-vault .x-row.in .x-col{opacity:1;transform:none;transition:flex 1.1s var(--ease),opacity 1s var(--ease) calc(var(--i)*.1s),transform 1.1s var(--ease) calc(var(--i)*.1s)}
.x-col.on{flex:3.2}
.x-cim{position:absolute;inset:0;z-index:-2}
.x-cim img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);filter:saturate(.75) brightness(.78);transition:transform 1.6s var(--ease),filter 1s}
.x-col.on .x-cim img{transform:scale(1);filter:saturate(.95) brightness(.92)}
.x-col::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(47,36,39,.35),transparent 35%,transparent 50%,rgba(47,36,39,.82));transition:background .8s}
.x-col:not(.on)::after{background:rgba(47,36,39,.55)}
.x-cno{position:absolute;top:22px;left:24px;font-family:var(--f-display);font-style:italic;font-size:30px;color:var(--gld2)}
.x-cv{position:absolute;left:50%;bottom:28px;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;font-family:var(--f-display);font-size:clamp(26px,2.4vw,40px);white-space:nowrap;transition:opacity .5s}
.x-col.on .x-cv{opacity:0}
.x-cbody{position:absolute;left:28px;right:28px;bottom:26px;display:grid;gap:8px;justify-items:start;opacity:0;transform:translateY(20px);transition:opacity .5s,transform .7s var(--ease)}
.x-col.on .x-cbody{opacity:1;transform:none;transition-delay:.35s}
.x-cbody .mono{color:var(--gld2)}
.x-cbody b{font-family:var(--f-display);font-weight:400;font-size:clamp(40px,4.4vw,72px);line-height:1}
.x-cbody small{font-size:15px;opacity:.8}
.x-cbody .x-vgo{margin-top:10px;color:var(--iv)}
@media (max-width:900px){.x-row{flex-direction:column;height:auto}.x-col{height:110px;flex:none!important}.x-col.on{height:380px}.x-cv{writing-mode:horizontal-tb;transform:none;left:70px;bottom:auto;top:28px}}

/* ---------- 2 · vault: orbit ---------- */
body.xhome,body.xhome .hd{background:#fff}
.x-vault,.x-bs,.x-craft{background:#fff}
.x-rev{background:#fff}
.x-card{background:#F6F1EE}
.x-orbit{position:relative;height:min(calc(100vh - var(--hdc,53px) - 250px),640px);min-height:480px}
.x-otrack{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.x-otrack ellipse{fill:none;stroke:rgba(47,36,39,.18);stroke-dasharray:3 7}
.x-oghost{position:absolute;left:50%;top:50%;translate:-50% -50%;font-family:var(--f-display);font-style:italic;font-size:clamp(110px,15vw,250px);white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(47,36,39,.12);pointer-events:none;transition:opacity .5s}
.x-oghost.swap{opacity:0}
.x-ocen{position:absolute;left:50%;top:50%;width:min(30%,360px);height:86%;translate:-50% -50%;border-radius:999px 999px 26px 26px;overflow:hidden;z-index:20;box-shadow:0 50px 80px -40px rgba(47,36,39,.55);color:var(--iv);isolation:isolate}
.x-oimg{position:absolute;inset:0;z-index:-2;clip-path:circle(0% at 50% 60%);transition:clip-path 1.1s var(--ease-io)}
.x-oimg.on{clip-path:circle(150% at 50% 60%);z-index:-1}
.x-oimg.was{z-index:-2;clip-path:circle(150% at 50% 60%)}
.x-oimg img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform 2.4s var(--ease)}
.x-oimg.on img{transform:scale(1)}
.x-ocen::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,transparent 45%,rgba(47,36,39,.85));pointer-events:none}
.x-otx{position:absolute;left:24px;right:24px;bottom:24px;z-index:1;display:grid;gap:6px;justify-items:start;transition:opacity .4s,transform .6s var(--ease)}
.x-otx.swap{opacity:0;transform:translateY(14px)}
.x-otx .mono{color:var(--gld2)}
.x-otx b{font-family:var(--f-display);font-weight:400;font-size:clamp(34px,3.2vw,52px);line-height:1}
.x-otx small{font-size:14px;opacity:.82}
.x-otx .x-vgo{margin-top:8px;color:var(--iv)}
.x-om{position:absolute;left:0;top:0;width:clamp(110px,10vw,150px);display:grid;justify-items:center;gap:10px;translate:-50% -50%;transition:filter .5s;will-change:transform}
.x-omi{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(47,36,39,.15),0 20px 30px -20px rgba(47,36,39,.5);transition:box-shadow .5s,transform .6s var(--ease)}
.x-omi img{width:100%;height:100%;object-fit:cover}
.x-oml{display:flex;gap:8px;align-items:baseline;font-family:var(--f-display);font-size:19px;color:var(--ox);white-space:nowrap}
.x-oml .mono{color:var(--rs);font-size:10px}
.x-om.on .x-omi{box-shadow:0 0 0 5px #fff,0 0 0 6px var(--ox),0 26px 40px -20px rgba(47,36,39,.6);transform:scale(1.08)}
.x-om:hover .x-omi{transform:scale(1.1)}
@media (max-width:900px){
  .x-orbit{height:auto;min-height:0;display:grid;gap:18px}
  .x-otrack,.x-oghost{display:none}
  .x-ocen{position:relative;left:auto;top:auto;translate:none;width:100%;height:440px}
  .x-om{position:relative;translate:none;width:auto;transform:none!important}
  .x-orbit{grid-template-columns:repeat(5,1fr)}.x-ocen{grid-column:1/-1}.x-oml{font-size:12px}.x-oml .mono{display:none}
}
/* ===== product page extras ===== */
.pq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pq button{display:grid;gap:3px;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:10px;transition:border-color .3s,background .3s}
.pq button b{font-weight:500;font-size:14px}.pq button small{font-size:11.5px;color:var(--muted)}
.pq button.on{border-color:var(--ox);background:#faf7f5}
.eng-t{display:flex;align-items:center;gap:12px;font-size:14px}
.eng .pl{width:12px;height:12px}
.eng-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.eng.open .eng-b{grid-template-rows:1fr}
.eng.open .pl::after{transform:rotate(0)}
.eng-b>div{overflow:hidden;display:grid;gap:10px}
.eng-b input{height:46px;border:1px solid var(--line);border-radius:10px;padding:0 14px;font-size:14px;margin-top:12px}
.eng-prev{display:block;text-align:center;padding:16px;border-radius:999px;background:linear-gradient(180deg,#efe7dc,#d9c6a9);font-family:var(--f-display);font-style:italic;font-size:20px;color:#5a4636;letter-spacing:.04em;box-shadow:inset 0 2px 6px rgba(0,0,0,.12)}
.svc{display:flex;gap:8px;flex-wrap:wrap}
.svc button{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-size:13px;transition:border-color .3s}
.svc button:hover{border-color:var(--ox)}
.svc svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4}
/* anatomy */
.pa{background:var(--ox);color:var(--iv);padding-block:clamp(90px,10vw,150px);position:relative;overflow:hidden}
.pa::before{content:"";position:absolute;inset:0;background:var(--cv-smoke) center/cover;mix-blend-mode:luminosity;opacity:.25}
.pa-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);align-items:center}
.pa-vis{position:relative;aspect-ratio:1/1.05;border-radius:999px 999px 28px 28px;overflow:hidden;box-shadow:0 60px 100px -50px rgba(0,0,0,.7)}
.pa-vis>img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.pa-dot{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:rgba(247,243,239,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(247,243,239,.6);display:grid;place-items:center;color:#fff;font-family:var(--f-mono);font-size:10px;transition:all .5s var(--ease)}
.pa-dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(220,202,174,.6);animation:ping 2.4s var(--ease) infinite}
.pa-dot.on{background:var(--gld);color:var(--ox);border-color:var(--gld);transform:scale(1.15)}
.pa-cap{position:absolute;left:20px;bottom:18px;color:#fff;background:rgba(47,36,39,.55);backdrop-filter:blur(8px);padding:8px 14px;border-radius:999px;transition:opacity .3s}
.pa-tx{display:grid;gap:28px}
.pa-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(247,243,239,.15)}
.pa-list li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid rgba(247,243,239,.15);cursor:pointer;opacity:.45;transition:opacity .5s,padding .5s var(--ease)}
.pa-list li.on{opacity:1;padding-left:10px}
.pa-list .mono{color:var(--gld2);padding-top:6px}
.pa-list b{font-family:var(--f-display);font-weight:400;font-size:26px;display:block}
.pa-list p{margin:4px 0 0;font-size:14.5px;color:rgba(247,243,239,.7);max-width:40ch}
/* certificate */
.pc2{background:#fff;padding-block:clamp(90px,10vw,150px)}
.pc2-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,110px);align-items:center}
.pc2-tx{display:grid;gap:24px;justify-items:start}
.pc2-tx p{color:var(--muted);font-size:16px;line-height:1.7;max-width:44ch;margin:0}
.x-link.dk{color:var(--ox)}
.cert{position:relative;background:linear-gradient(160deg,#fbf9f6,#f1ebe3);border:1px solid #e6dccf;border-radius:22px;padding:clamp(28px,4vw,48px);display:grid;gap:10px;box-shadow:0 50px 80px -50px rgba(47,36,39,.45);transform:perspective(1000px) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .6s var(--ease)}
.cert::before{content:"";position:absolute;inset:10px;border:1px solid rgba(199,174,138,.45);border-radius:14px;pointer-events:none}
.cert-seal{position:absolute;right:24px;top:24px;width:110px;height:110px;animation:spin 30s linear infinite}
.cert-seal text{font-family:var(--f-mono);font-size:7.4px;letter-spacing:.26em;fill:var(--rs)}
.cert-seal circle{fill:none;stroke:var(--gld);stroke-width:.8}.cert-seal path{fill:none;stroke:var(--rs);stroke-width:1}
.cert-k{color:var(--rs)}
.cert-no{font-family:var(--f-display);font-weight:400;font-size:30px;color:var(--ox)}
.cert dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:14px 0 6px;border-top:1px solid #e6dccf}
.cert dl>div{padding:14px 0;border-bottom:1px solid #e6dccf;display:grid;gap:2px}
.cert dt{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cert dd{margin:0;font-family:var(--f-display);font-size:22px;color:var(--ox);transition:opacity .3s}
.cert dd.flash{animation:flash .6s}
@keyframes flash{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:none}}
.cert-foot{color:var(--muted)}
/* set */
.pset{background:#F6F1EE;padding-block:clamp(90px,10vw,140px)}
.pset-head{display:grid;gap:18px;margin-bottom:40px}
.pset-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(0,.9fr);gap:24px;align-items:center}
.pset-c{display:grid;gap:12px;color:var(--ox)}
.pset-c img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:20px;transition:transform 1s var(--ease)}
.pset-c:hover img{transform:scale(1.03)}
.pset-c b{font-family:var(--f-display);font-weight:400;font-size:22px;display:block}.pset-c small{color:var(--muted);font-size:13px}
.pset-plus{font-family:var(--f-display);font-size:56px;color:var(--rs);line-height:1}
.pset-tot{display:grid;gap:12px;justify-items:start;padding-left:20px;border-left:1px solid rgba(47,36,39,.15)}
.pset-tot .mono{color:var(--rs)}.pset-tot b{font-family:var(--f-display);font-weight:400;font-size:44px;color:var(--ox)}
/* reviews */
.prv{background:#fff;padding-block:clamp(90px,10vw,140px);border-top:1px solid var(--line)}
.prv-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:clamp(30px,5vw,80px)}
.prv-l{display:grid;gap:20px;align-content:start;color:var(--ox)}
.prv-score{display:flex;align-items:center;gap:16px}.prv-score b{font-family:var(--f-display);font-weight:400;font-size:84px;line-height:1}
.prv-score>span{display:grid;gap:4px}.prv-score small{font-size:12px;color:var(--muted)}.prv .stars{color:var(--rs)}
.prv-bars{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:12.5px;color:var(--muted)}
.prv-bars li{display:grid;grid-template-columns:32px 1fr 36px;gap:10px;align-items:center}
.prv-bars li>i{height:4px;border-radius:4px;background:#efe8e2;position:relative;overflow:hidden}
.prv-bars li>i>i{position:absolute;inset:0;width:var(--w);background:var(--ox);transform-origin:left;transform:scaleX(0);transition:transform 1.4s var(--ease)}
.prv.in .prv-bars li>i>i{transform:scaleX(1)}
.prv-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.prv-cards figure{margin:0;padding:26px;border-radius:20px;background:#F6F1EE;display:grid;gap:16px;align-content:start;transition:transform .6s var(--ease)}
.prv-cards figure:hover{transform:translateY(-6px)}
.prv-cards blockquote{margin:0;font-family:var(--f-display);font-size:20px;line-height:1.35;color:var(--ox)}
.prv-cards figcaption{font-size:13px;color:var(--muted)}.prv-cards figcaption b{color:var(--ox);font-weight:500}
/* sticky bar */
.sbar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .6s var(--ease);padding-bottom:env(safe-area-inset-bottom,0px)}
.sbar.on{transform:none}
.sbar-in{display:grid;grid-template-columns:auto 1fr auto auto;gap:18px;align-items:center;padding-block:12px}
.sbar-im img{width:52px;height:52px;border-radius:12px;object-fit:cover}
.sbar-t b{display:block;font-family:var(--f-display);font-weight:400;font-size:19px;color:var(--ox)}.sbar-t small{font-size:12.5px;color:var(--muted)}
.sbar>div>b{font-family:var(--f-display);font-weight:400;font-size:24px;color:var(--ox)}
.x-btn.sm{height:46px;padding:0 22px;font-size:13.5px}
.pdp-extra .x-h2,.pa .x-h2,.pc2 .x-h2,.pset .x-h2,.prv .x-h2{clip-path:none;transform:none}
@media (max-width:900px){.pa-grid,.pc2-grid,.prv-grid{grid-template-columns:1fr}.pset-row{grid-template-columns:1fr auto 1fr}.pset-tot{grid-column:1/-1;border:0;padding:0}.prv-cards{grid-template-columns:1fr}.pq{grid-template-columns:1fr}.sbar-in{grid-template-columns:auto 1fr auto}.sbar-in>b{display:none}.cert-seal{width:80px;height:80px}}
.pa .x-eb i,.pc2 .x-eb i,.pset .x-eb i,.prv .x-eb i,.sh2 .x-eb i{transform:scaleX(1)}
