/* Self-hosted Google Fonts (latin): Bodoni Moda + Jost. Saves two extra connections on first load. */
@font-face { font-family: 'Bodoni Moda'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(/assets/fonts/bodonimoda-italic.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'Bodoni Moda'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/assets/fonts/bodonimoda-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 300 600; font-display: swap; src: url(/assets/fonts/jost-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* ==========================================================================
   The Rose Gold Reserve
   Black and rose gold. Sharp edges, hairline rules, editorial type.
   Display: Bodoni Moda. Text and labels: Jost.
   ========================================================================== */
:root{
  --ink:#0b0908;
  --ink-2:#110d0b;
  --ink-3:#18120f;
  --line:rgba(220,166,136,.26);
  --line-soft:rgba(241,230,218,.10);
  --cream:#f1e6da;
  --parchment:#cfbeb0;
  --ash:#9e8c80;
  --rose:#dca688;
  --rose-deep:#a8674e;
  --ember:#ff8a4a;
  --rose-metal:linear-gradient(100deg,#f7dccb 0%,#dca688 28%,#a8674e 50%,#efc6ae 72%,#c98a6d 100%);
  --platinum-metal:linear-gradient(100deg,#ffffff 0%,#d3dbe0 28%,#8b969d 50%,#eef2f4 72%,#a9b3b9 100%);
  --serif:"Bodoni Moda","Bodoni 72",Didot,Georgia,serif;
  --sans:"Jost","Futura","Avenir Next",system-ui,sans-serif;
  --wrap:1320px;
  --gutter:clamp(20px,5vw,64px);
  --section:clamp(88px,11vw,156px);
  --ease:cubic-bezier(.22,.61,.36,1);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--ink);scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;background:var(--ink);color:var(--cream);font:400 1.0625rem/1.7 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
html.intro-on body,html.menu-open body{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
button{font:inherit;color:inherit}
p{margin:0}
ul,ol{margin:0;padding:0}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.005em;text-wrap:balance}
h2{font-size:clamp(2.3rem,4.4vw,4rem)}
h3{font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.15}
:focus-visible{outline:1px solid var(--rose);outline-offset:4px}
::selection{background:rgba(220,166,136,.35);color:#fff}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-80px;z-index:200;background:var(--cream);color:var(--ink);padding:12px 18px;font-weight:500;text-decoration:none;transition:top .2s}
.skip:focus{top:16px}
.grain{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
.sec{padding-block:var(--section)}
.sec-alt{background:var(--ink-2);border-block:1px solid var(--line-soft)}
.label{display:block;font:500 .7rem/1.3 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--rose)}
.lede{font-size:clamp(1.06rem,1.3vw,1.2rem);color:var(--parchment);line-height:1.7}
.muted{color:var(--ash)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(24px,5vw,96px);align-items:end;margin-bottom:clamp(44px,6vw,80px)}
.sec-head .label{margin-bottom:22px}
.head-side{display:grid;gap:26px;justify-items:start}
.head-side p{color:var(--parchment);max-width:46ch}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:860px){.sec-head{grid-template-columns:1fr}}
@media (max-width:560px){
  .btn-row,.hero-cta,.about-links,.line-cta{width:100%}
  .btn-row>.btn,.hero-cta>.btn,.about-links>.btn{flex:1 1 100%}
  .duo-body{justify-items:stretch}
}

/* Buttons: rectangular, hairline, a rose-gold fill that sweeps in */
.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 30px;border:1px solid var(--rose);background:transparent;color:var(--cream);font:500 .72rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .45s var(--ease),border-color .45s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--rose-metal);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.btn:hover{color:#170d08}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn-solid{background:var(--rose-metal);border-color:transparent;color:#170d08}
.btn-solid::before{background:var(--cream)}
.btn-sm{min-height:42px;padding:0 20px;font-size:.68rem}
.btn-block{width:100%}
.text-link{position:relative;display:inline-block;font:500 .72rem/1.6 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--cream);padding-bottom:4px}
.text-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rose);transform-origin:left;transition:transform .5s var(--ease)}
.text-link:hover::after{transform:scaleX(.35)}

/* Header: a slim top bar, the crest as a medallion, rose-gold hairline, shop panel -------------------- */
.site-header{position:fixed;inset:0 0 auto;z-index:50;transition:background-color .5s var(--ease),box-shadow .5s var(--ease)}
.site-header::before{content:"";position:absolute;inset:0 0 -60px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(7,5,4,.82),rgba(7,5,4,.35) 60%,rgba(7,5,4,0));transition:opacity .5s}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(220,166,136,.4) 18%,rgba(247,220,203,.75) 50%,rgba(220,166,136,.4) 82%,transparent);opacity:.5;transition:opacity .5s}
.site-header.solid{background:rgba(9,7,6,.9);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);box-shadow:0 22px 44px -30px rgba(0,0,0,.95)}
.site-header.solid::before{opacity:0}
.site-header.solid::after{opacity:.85}
.topbar{overflow:hidden;max-height:38px;border-bottom:1px solid rgba(241,230,218,.07);transition:max-height .5s var(--ease),opacity .4s,border-color .4s}
.site-header.solid .topbar{max-height:0;opacity:0;border-bottom-color:transparent}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:18px;height:38px;font:500 .58rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--ash)}
.topbar a{display:inline-flex;align-items:center;gap:9px;color:var(--parchment);text-decoration:none;transition:color .3s}
.topbar a:hover{color:var(--cream)}
.topbar a svg{width:12px;height:12px;color:var(--rose)}
.tb-mid{display:inline-flex;align-items:center;gap:14px;color:var(--rose)}
.tb-mid i{width:4px;height:4px;background:var(--rose);transform:rotate(45deg)}
.hdr{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:28px;height:86px;transition:height .5s var(--ease)}
.site-header.solid .hdr{height:70px}
.hdr-nav{align-self:stretch}
.hdr-nav>ul{--g:clamp(16px,1.9vw,30px);display:flex;align-items:stretch;height:100%;list-style:none}
.nav-right>ul{justify-content:flex-end}
.hdr-nav>ul>li{display:flex;align-items:center}
.hdr-nav>ul>li+li{padding-left:calc(var(--g)*2);background:radial-gradient(circle,rgba(220,166,136,.6) 1.3px,transparent 1.9px) calc(var(--g) - 2px) 50%/4px 4px no-repeat}
.hdr-nav>ul>li.hdr-cta+li,.hdr-nav>ul>li.hdr-cta{background:none;padding-left:var(--g)}
.hdr-nav>ul>li>a:not(.btn){position:relative;font:500 .66rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--parchment);padding:12px 0;transition:color .35s}
.hdr-nav>ul>li>a:not(.btn)::after{content:"";position:absolute;left:50%;right:50%;bottom:3px;height:1px;background:var(--rose-metal);transition:left .45s var(--ease),right .45s var(--ease)}
.hdr-nav>ul>li>a:not(.btn):hover,.hdr-nav>ul>li>a[aria-current="page"],.has-mega:hover>a{color:var(--cream)}
.hdr-nav>ul>li>a:not(.btn):hover::after,.hdr-nav>ul>li>a[aria-current="page"]::after,.has-mega:hover>a::after{left:0;right:0}
.hdr-nav>ul>li>a[aria-current="page"]::before{content:"";position:absolute;left:50%;top:-3px;width:4px;height:4px;margin-left:-2px;background:var(--rose);transform:rotate(45deg)}
.crest{position:relative;z-index:2;display:block;width:84px;height:86px;margin-bottom:-30px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.65));transition:width .5s var(--ease),height .5s var(--ease),margin .5s var(--ease)}
.crest::before{content:"";position:absolute;inset:-18px;border-radius:50%;background:radial-gradient(closest-side,rgba(220,166,136,.24),transparent);opacity:0;transition:opacity .5s}
.crest:hover::before{opacity:1}
.crest img{position:relative;width:100%;height:100%;object-fit:contain}
.site-header.solid .crest{width:54px;height:56px;margin-bottom:0}
.cart-link,.hdr-cart-m{display:inline-flex;align-items:center;color:var(--parchment);transition:color .3s}
.cart-link:hover,.hdr-cart-m:hover{color:var(--cream)}
.cart-link svg,.hdr-cart-m svg{width:19px;height:19px}
.hdr-cta .btn{min-height:38px;padding:0 18px;font-size:.6rem;letter-spacing:.24em}
.mega-toggle{display:grid;place-items:center;width:22px;height:22px;margin-left:5px;padding:0;background:none;border:0;color:var(--ash);cursor:pointer;transition:transform .45s var(--ease),color .3s}
.mega-toggle svg{width:14px;height:14px}
.has-mega:hover .mega-toggle,.has-mega.open .mega-toggle{color:var(--rose);transform:rotate(180deg)}
.mega{position:absolute;left:0;right:0;top:100%;z-index:1;background:rgba(9,7,6,.97);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);box-shadow:0 50px 70px -40px rgba(0,0,0,.95);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .35s var(--ease),transform .5s var(--ease),visibility 0s linear .5s}
.has-mega:hover .mega,.has-mega.open .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.mega-in{display:grid;grid-template-columns:minmax(0,1.15fr) repeat(3,minmax(0,1fr));gap:30px;padding-block:36px 40px}
.mega-title{font:400 2.1rem/1.1 var(--serif);margin:14px 0 22px}
.mega-links{list-style:none;display:grid;gap:11px}
.mega-links a{font:400 1.05rem/1.3 var(--serif);color:var(--parchment);text-decoration:none;transition:color .3s,padding .45s var(--ease)}
.mega-links a:hover{color:var(--cream);padding-left:10px}
.mega-card{display:grid;align-content:start;gap:8px;color:inherit;text-decoration:none}
.mega-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ink-3);margin-bottom:10px;box-shadow:0 24px 40px -28px rgba(0,0,0,.9)}
.mega-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.mega-card:hover .mega-img img{transform:scale(1.06)}
.mega-name{font:400 1.25rem/1.2 var(--serif)}
.mega-from{font-size:.85rem;color:var(--ash)}
.label.pt{color:#c9d3d9}
.menu-btn,.hdr-cart-m{display:none}
.menu-btn{align-items:center;gap:12px;background:none;border:0;padding:10px 0;cursor:pointer;font:500 .66rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--cream)}
.menu-btn i{position:relative;display:block;width:24px;height:1px;background:currentColor;transition:transform .35s}
.menu-btn i::before{content:"";position:absolute;left:0;top:-7px;width:16px;height:1px;background:var(--rose);transition:transform .35s,width .35s}
.menu-btn[aria-expanded="true"] i{transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] i::before{width:24px;background:currentColor;transform:translateY(7px) rotate(-90deg)}
.burn{position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;opacity:0;transition:opacity .4s}
.site-header.solid .burn{opacity:1}
.burn span{position:relative;display:block;height:100%;width:calc(var(--p,0) * 100%);background:linear-gradient(90deg,transparent,var(--rose))}
.burn span::after{content:"";position:absolute;right:-2px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--ember);box-shadow:0 0 8px 2px rgba(255,120,60,.7)}
.mobile-menu{position:fixed;inset:0;z-index:45;display:flex;flex-direction:column;gap:30px;overflow:auto;padding:150px var(--gutter) 34px;background:radial-gradient(80% 36% at 50% 0%,rgba(168,103,78,.2),transparent 70%),var(--ink)}
.mobile-menu[hidden]{display:none}
.mm-list{list-style:none;border-top:1px solid var(--line-soft)}
.mm-list li{border-bottom:1px solid var(--line-soft);opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease) calc(var(--i)*45ms + 60ms),transform .6s var(--ease) calc(var(--i)*45ms + 60ms)}
html.menu-open .mm-list li{opacity:1;transform:none}
.mm-list a{display:flex;align-items:baseline;gap:18px;padding:14px 0;font:400 1.7rem/1.15 var(--serif);text-decoration:none}
.mm-list a[aria-current="page"]{color:var(--rose)}
.mm-n{min-width:24px;font:500 .6rem/1 var(--sans);letter-spacing:.2em;color:var(--rose)}
.mm-foot{display:grid;gap:20px;margin-top:auto}
.mm-foot p{display:flex;flex-direction:column;gap:8px;font-size:.95rem}
.mm-foot p a{color:var(--parchment);text-decoration:none}
@media (max-width:1399px){.hdr-cta{display:none!important}}
@media (max-width:1180px){
  .hdr-nav{display:none}
  .menu-btn{display:inline-flex;justify-self:start}
  .hdr-cart-m{display:inline-flex;justify-self:end}
  .hdr{height:74px}
  .crest{width:66px;height:68px;margin-bottom:-22px}
  .site-header.solid .crest{width:48px;height:50px}
  .site-header.solid .hdr{height:64px}
}
@media (max-width:700px){
  .topbar-in{justify-content:center;gap:22px;font-size:.54rem;letter-spacing:.2em}
  .topbar-in>span:first-child{display:none}
  .tb-mid i:last-child{display:none}
}

/* Opening ----------------------------------------------------------------------------- */
.intro{display:none}
html.intro-on .intro{display:grid}
.intro{position:fixed;inset:0;z-index:100;place-items:center;align-content:center;gap:30px;padding:24px;text-align:center;background-color:#080605;transition:background-color 1.2s var(--ease)}
.intro::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(42% 38% at 50% 40%,rgba(120,66,44,.42),transparent 70%);transition:opacity .9s}
.intro-logo{width:min(380px,74vw);max-height:50vh;height:auto;object-fit:contain;opacity:0;transform:scale(.92);filter:blur(14px) brightness(1.4);transition:opacity 1.3s var(--ease),transform 1.6s var(--ease),filter 1.4s var(--ease)}
.intro.show .intro-logo{opacity:1;transform:none;filter:none}
.intro-gate{display:grid;gap:22px;justify-items:center;opacity:0;transform:translateY(10px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.intro-gate.show{opacity:1;transform:none}
.intro-q{font:400 clamp(1.35rem,2.4vw,1.75rem)/1.35 var(--serif);max-width:26ch}
.intro-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.intro-note{color:var(--parchment);font-size:.95rem;max-width:38ch}
.intro-legal{font:500 .62rem/1.5 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ash)}
.intro-skip{position:absolute;right:24px;bottom:24px;background:none;border:1px solid var(--line-soft);padding:12px 18px;font:500 .62rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ash);cursor:pointer}
.intro.leaving{background-color:rgba(8,6,5,0);pointer-events:none}
.intro.leaving::before{opacity:0}
.intro.leaving .intro-logo{opacity:0;transform:scale(1.16) translateY(-40px);filter:url(#smoke-dissolve) blur(10px);transition:opacity 1.35s cubic-bezier(.5,0,.75,0),transform 1.5s var(--ease),filter 1.4s ease-in}
.intro.leaving .intro-gate,.intro.leaving .intro-skip{opacity:0;transition:opacity .35s}

/* Home hero: the film fills the frame; the poster holds (and slowly drifts) until it plays ---- */
.hero{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden;background:var(--ink)}
.hero-media{position:absolute;inset:0;overflow:hidden}
.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:60% 50%;animation:drift-zoom 26s var(--ease) infinite alternate}
@keyframes drift-zoom{from{transform:scale(1.02)}to{transform:scale(1.12) translateX(-1.5%)}}
.hero-video{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-width:177.78svh;min-height:100%;transform:translate(-50%,-50%);border:0;pointer-events:none;opacity:0;transition:opacity .8s var(--ease)}
video.hero-video{width:100%;height:100%;min-width:0;object-fit:cover}
.hero-video.on{opacity:1}
.hero-shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(11,9,8,.86) 0%,rgba(11,9,8,.5) 38%,rgba(11,9,8,.18) 64%,rgba(11,9,8,.5) 100%),
  linear-gradient(180deg,rgba(11,9,8,.7) 0%,rgba(11,9,8,0) 24%,rgba(11,9,8,0) 58%,rgba(11,9,8,.85) 92%,var(--ink) 100%)}
.hero-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(72px,12vh,128px)}
.hero-title{max-width:11.5em}
.hero h1 .label{margin-bottom:26px}
.hero-title{display:block;font:400 clamp(3rem,6.6vw,6.8rem)/.94 var(--serif);text-transform:uppercase;letter-spacing:.01em;background:var(--rose-metal);background-size:220% 100%;background-position:var(--shine,30%) 50%;-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em;transition:background-position 1.4s var(--ease)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:42px}
.scroll-cue{position:absolute;left:50%;bottom:22px;z-index:2;transform:translateX(-50%);display:grid;justify-items:center;gap:10px;font:500 .6rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ash);text-decoration:none}
.scroll-cue::after{content:"";width:1px;height:38px;background:linear-gradient(var(--rose),transparent)}
html.js .hero-reveal{opacity:0;transform:translateY(22px);transition:opacity 1.2s var(--ease),transform 1.4s var(--ease)}
html.js.intro-done .hero-reveal{opacity:1;transform:none}
html.js.intro-done .hero-reveal.d2{transition-delay:.2s}
html.js.intro-done .hero-reveal.d3{transition-delay:.45s}
.film-toggle{position:absolute;right:var(--gutter);bottom:20px;z-index:3;display:inline-flex;align-items:center;gap:10px;padding:10px 0;background:none;border:0;font:500 .6rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ash);cursor:pointer;transition:color .3s}
.film-toggle:hover{color:var(--cream)}
.film-toggle[hidden]{display:none}
.film-toggle i{position:relative;width:8px;height:10px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.film-toggle[data-state="paused"] i{width:0;height:0;border:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}
.smoke-burst{position:fixed;inset:0;z-index:101;width:100%;height:100%;pointer-events:none}
@media (max-width:900px){
  .scroll-cue{display:none}
  .hero-shade{background:linear-gradient(180deg,rgba(11,9,8,.6) 0%,rgba(11,9,8,.12) 22%,rgba(11,9,8,.2) 46%,rgba(11,9,8,.86) 76%,var(--ink) 100%)}
  .hero-inner{padding-bottom:76px}
  .hero-cta{margin-top:32px}
  .film-toggle{bottom:16px}
}

/* Interior page banner ------------------------------------------------------------------ */
.banner{position:relative;min-height:clamp(440px,64vh,640px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:settle 2.4s var(--ease) forwards}
@keyframes settle{to{transform:none}}
.banner-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,9,8,.9),rgba(11,9,8,.45) 55%,rgba(11,9,8,.35)),linear-gradient(180deg,rgba(11,9,8,.6),rgba(11,9,8,0) 30%,rgba(11,9,8,.2) 70%,var(--ink))}
.banner-inner{position:relative;z-index:1;padding-block:190px clamp(48px,7vw,88px)}
.banner h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.98;margin-top:22px;max-width:16ch}
.banner-lede{margin-top:22px;max-width:52ch;color:var(--parchment);font-size:clamp(1.02rem,1.3vw,1.15rem)}
@media (max-width:760px){
  .banner{min-height:600px}
  .banner-shade{background:linear-gradient(180deg,rgba(11,9,8,.55) 0%,rgba(11,9,8,.1) 24%,rgba(11,9,8,.35) 50%,rgba(11,9,8,.92) 78%,var(--ink) 100%)}
  .banner-inner{padding-top:200px}
}
.crumbs{display:flex;gap:10px;margin-top:30px;font:500 .62rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ash)}
.crumbs a{text-decoration:none;color:var(--parchment)}
.crumbs span[aria-hidden]{color:var(--rose)}

/* Home: about --------------------------------------------------------------------------- */
.about-grid{display:grid;grid-template-columns:minmax(0,.32fr) minmax(0,1fr);gap:clamp(24px,5vw,96px)}
.about-text{font:400 clamp(1.65rem,3vw,2.7rem)/1.32 var(--serif);color:var(--cream);max-width:30ch}
.about-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:44px}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(64px,8vw,110px);border-top:1px solid var(--line)}
.facts div{padding:26px 24px 0 0;border-right:1px solid var(--line-soft)}
.facts div+div{padding-left:24px}
.facts div:last-child{border-right:0}
.facts dt{font:500 .64rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ash)}
.facts dd{margin:10px 0 0;font:400 1.35rem/1.25 var(--serif)}
@media (max-width:900px){
  .about-grid{grid-template-columns:1fr}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts div,.facts div+div{padding:22px 16px 22px 0;border-right:0;border-bottom:1px solid var(--line-soft)}
  .facts div:nth-child(even){padding-left:18px;border-left:1px solid var(--line-soft)}
  .facts dd{font-size:1.2rem}
}

/* Celebrity marquee ----------------------------------------------------------------------- */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;gap:14px;width:max-content;animation:drift 70s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes drift{to{transform:translateX(calc(-50% - 7px))}}
.celeb{position:relative;margin:0;height:clamp(280px,32vw,460px);flex:none;overflow:hidden;background:var(--ink-3)}
.celeb img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.02);transition:transform 1.4s var(--ease),filter .8s}
.celeb:hover img{transform:scale(1.05);filter:none}
.celeb::after{content:"";position:absolute;inset:0;border:1px solid var(--line-soft);pointer-events:none}
@media (max-width:600px){.celeb{height:300px}.marquee-track{gap:10px;animation-duration:55s}@keyframes drift{to{transform:translateX(calc(-50% - 5px))}}}

/* Home: shop now + store outlets ----------------------------------------------------------- */
.duo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--line-soft);border:1px solid var(--line-soft)}
.duo-card{position:relative;display:flex;align-items:flex-end;min-height:clamp(420px,46vw,620px);overflow:hidden;text-decoration:none;background:var(--ink)}
.duo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.duo-card:hover img{transform:scale(1.05)}
.duo-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,9,8,.1),rgba(11,9,8,.35) 45%,rgba(11,9,8,.92))}
.duo-body{position:relative;z-index:2;padding:clamp(28px,4vw,56px);display:grid;gap:16px;justify-items:start}
.duo-body h3{font-size:clamp(2rem,3.4vw,3.1rem)}
.duo-body p{color:var(--parchment);max-width:40ch}
.duo-body .btn{margin-top:10px}
@media (max-width:820px){.duo-grid{grid-template-columns:1fr}.duo-card{min-height:470px}.duo-card::before{background:linear-gradient(180deg,rgba(11,9,8,.05) 0%,rgba(11,9,8,.45) 38%,rgba(11,9,8,.94) 72%)}}

/* Products ------------------------------------------------------------------------------- */
.filters{display:flex;flex-wrap:wrap;gap:0;margin-bottom:36px;border:1px solid var(--line);width:max-content;max-width:100%}
.chip{appearance:none;border:0;background:transparent;color:var(--parchment);padding:15px 22px;font:500 .66rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:color .3s,background-color .3s}
.chip+.chip{border-left:1px solid var(--line)}
.chip[aria-pressed="true"]{background:var(--rose-metal);color:#170d08}
.products{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line-soft);border-left:1px solid var(--line-soft)}
.product{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.product[hidden]{display:none}
.product article,.p-tile{height:100%;display:flex;flex-direction:column;padding:clamp(16px,1.6vw,24px);transition:background-color .5s var(--ease)}
.product article:hover{background:var(--ink-2)}
.p-img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--ink-3)}
.p-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.product article:hover .p-img img{transform:scale(1.05)}
.p-info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:baseline;padding:22px 0 20px;flex:1;align-content:start}
.p-line{grid-column:1/-1;font:500 .62rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--rose)}
.p-line.pt{color:#c9d3d9}
.p-name{font-size:1.45rem;line-height:1.2}
.p-name a{text-decoration:none}
.p-price{font:400 1.35rem/1 var(--serif);color:var(--cream)}
.p-meta{grid-column:1/-1;color:var(--ash);font-size:.92rem}
.p-tile{justify-content:space-between;gap:28px;background:linear-gradient(160deg,var(--ink-3),var(--ink))}
.p-tile h3{font-size:1.75rem;margin-top:18px}
.p-tile p{color:var(--parchment);margin-top:14px;font-size:.95rem}
.checkout-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px;margin-top:40px;padding:26px 0;border-block:1px solid var(--line)}
.checkout-bar p{color:var(--parchment);max-width:52ch}
.notes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:clamp(56px,7vw,96px)}
.notes h3{font-size:1.25rem;margin:14px 0 10px}
.notes p{color:var(--ash);font-size:.95rem}
@media (max-width:1100px){.products{grid-template-columns:repeat(3,minmax(0,1fr))}.notes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.products{grid-template-columns:repeat(2,minmax(0,1fr))}.p-info{grid-template-columns:1fr}.p-name{font-size:1.15rem}.p-price{font-size:1.15rem}.btn-block{padding:0 10px;letter-spacing:.14em}}
@media (max-width:520px){.notes{grid-template-columns:1fr}.filters{width:100%}.chip{flex:1;padding:15px 10px}}

/* FAQ ------------------------------------------------------------------------------------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,110px)}
.faq-grid h2{margin-top:22px}
.faq-grid .head-side{margin-top:28px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line-soft)}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;list-style:none;cursor:pointer;font:400 clamp(1.1rem,1.5vw,1.3rem)/1.35 var(--serif)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary i{position:relative;flex:none;width:14px;height:14px}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;left:0;top:50%;width:14px;height:1px;background:var(--rose);transition:transform .45s var(--ease)}
.faq-item summary i::after{transform:rotate(90deg)}
.faq-item[open] summary i::after{transform:rotate(0)}
.faq-a{padding:0 0 26px;color:var(--parchment);max-width:62ch}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}}

/* Questions band ---------------------------------------------------------------------------- */
.ask{text-align:center}
.ask h2{margin-top:22px}
.ask-email{display:inline-block;margin-top:30px;font:400 clamp(1.5rem,3.6vw,3rem)/1.2 var(--serif);text-decoration:none;background:var(--rose-metal);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;border-bottom:1px solid var(--line);padding-bottom:8px;word-break:break-word}
.ask-phone{margin-top:22px;color:var(--parchment)}
.policy-links{display:flex;flex-wrap:wrap;justify-content:center;margin-top:44px;list-style:none;border-top:1px solid var(--line-soft);padding-top:28px;gap:10px 0}
.policy-links li+li{border-left:1px solid var(--line)}
.policy-links a{padding:0 22px;font:500 .66rem/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--parchment)}
.policy-links a:hover{color:var(--cream)}

/* Split blocks (About) ------------------------------------------------------------------------ */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,110px);align-items:center}
.split-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ink-3)}
.split-media img{width:100%;height:100%;object-fit:cover}
.split-media::after{content:"";position:absolute;inset:14px;border:1px solid rgba(241,230,218,.22);pointer-events:none}
.split-copy h2{margin:22px 0 28px}
.split-copy p+p{margin-top:18px}
.split.flip .split-media{order:2}
.founder-quote{margin:40px 0 0;padding:30px 0 0;border-top:1px solid var(--line)}
.founder-quote p{font:italic 400 clamp(1.4rem,2.2vw,1.9rem)/1.4 var(--serif)}
.founder-quote cite{display:block;margin-top:16px;font:500 .64rem/1.5 var(--sans);letter-spacing:.22em;text-transform:uppercase;font-style:normal;color:var(--ash)}
.team{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line-soft);border-left:1px solid var(--line-soft)}
.member{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:clamp(18px,2vw,28px)}
.member-photo{aspect-ratio:4/5;overflow:hidden;background:var(--ink-3)}
.member-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:grayscale(.25)}
.member-mono{display:grid;place-items:center;font:400 4.4rem/1 var(--serif);background:radial-gradient(70% 60% at 50% 40%,rgba(168,103,78,.35),transparent 70%),var(--ink-3)}
.member-mono span{background:var(--rose-metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.member-role{margin-top:22px}
.member h3{margin-top:10px}
.member p:last-child{margin-top:14px;color:var(--ash);font-size:.95rem}
.glance dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,64px);margin:0;border-top:1px solid var(--line)}
.glance dl div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:18px 0;border-bottom:1px solid var(--line-soft)}
.glance dt{font:500 .64rem/1.8 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ash)}
.glance dd{margin:0}
@media (max-width:900px){.split{grid-template-columns:1fr}.split.flip .split-media{order:0}.split-media{max-height:560px}.team{grid-template-columns:1fr}.glance dl{grid-template-columns:1fr}}
@media (max-width:520px){.glance dl div{grid-template-columns:1fr;gap:4px}}

/* The Reserves: interactive cigar ---------------------------------------------------------------- */
.lab{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.lab-stage{position:sticky;top:96px;height:min(76vh,700px);overflow:hidden;border:1px solid var(--line);background:radial-gradient(55% 50% at 50% 46%,rgba(168,103,78,.22),transparent 70%),linear-gradient(180deg,var(--ink-3),var(--ink))}
.lab-stage[data-line="platinum"]{background:radial-gradient(55% 50% at 50% 46%,rgba(201,211,217,.14),transparent 70%),linear-gradient(180deg,#15120f,var(--ink))}
.lab-stage::after{content:"";position:absolute;inset:12px;border:1px solid var(--line-soft);pointer-events:none}
#lab-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
#lab-canvas.grabbing{cursor:grabbing}
#lab-canvas.pointing{cursor:pointer}
.lab-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
html.no-webgl .lab-fallback{display:block}
html.no-webgl #lab-canvas,html.no-webgl .lab-hint,html.no-webgl #explode-btn{display:none}
.lab-loading{position:absolute;inset:0;display:grid;place-items:center;font:500 .64rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ash);transition:opacity .6s}
.lab-stage.ready .lab-loading,html.no-webgl .lab-loading{opacity:0;pointer-events:none}
.lab-tools{position:absolute;left:28px;right:28px;bottom:28px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}
.lab-tools>*{pointer-events:auto}
.lab-tools .btn{background:rgba(11,9,8,.7)}
.lab-hint{font:500 .62rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ash)}
.hotspots{position:absolute;inset:0;z-index:2;pointer-events:none}
.hotspot{position:absolute;left:0;top:0;transform:translate3d(calc(var(--x,0px) - 8px),calc(var(--y,0px) - 50%),0);display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border:1px solid var(--line);background:rgba(11,9,8,.82);font:500 .6rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--cream);white-space:nowrap;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .4s,border-color .3s}
.hotspot i{width:6px;height:6px;background:var(--rose);transform:rotate(45deg)}
.lab.exploded .hotspot{opacity:1;pointer-events:auto}
.hotspot.active{border-color:var(--rose);background:rgba(60,32,22,.9)}
.line-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-bottom:40px}
.line-switch button{appearance:none;border:0;background:transparent;padding:17px 14px;font:500 .66rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--parchment);cursor:pointer;transition:color .35s,background-color .35s}
.line-switch button+button{border-left:1px solid var(--line)}
.line-switch button[aria-selected="true"]{background:var(--rose-metal);color:#170d08}
.line-switch button[data-line="platinum"][aria-selected="true"]{background:var(--platinum-metal)}
.line-panel h2{font-size:clamp(2.2rem,3.6vw,3.2rem);margin-top:18px}
.line-panel .lede{margin-top:20px;max-width:46ch}
.layers{list-style:none;margin-top:34px;border-top:1px solid var(--line)}
.layers button{all:unset;box-sizing:border-box;position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:4px 20px;width:100%;padding:20px 12px 20px 20px;border-bottom:1px solid var(--line-soft);cursor:pointer;transition:background-color .35s}
.layers button::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--rose);transform:scaleY(0);transition:transform .45s var(--ease)}
.layers button:hover{background:rgba(241,230,218,.03)}
.layers button:focus-visible{outline:1px solid var(--rose);outline-offset:-1px}
.layers button[aria-pressed="true"]{background:rgba(220,166,136,.07)}
.layers button[aria-pressed="true"]::before{transform:scaleY(1)}
.layer-name{font:400 1.3rem/1.25 var(--serif)}
.layer-detail{color:var(--ash);font-size:.95rem;line-height:1.6;transition:color .3s}
.layers button[aria-pressed="true"] .layer-detail{color:var(--cream)}
.specs{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px 28px;margin:34px 0 0}
.specs dt{font:500 .62rem/1.9 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ash)}
.specs dd{margin:0}
.line-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:38px}
.line-cta span{color:var(--ash);font-size:.92rem}
@media (max-width:980px){.lab{grid-template-columns:1fr}.lab-stage{position:relative;top:0;height:min(122vw,620px)}}
@media (max-width:520px){.layers button{grid-template-columns:1fr}.lab-tools{left:20px;right:20px;bottom:20px}.lab-hint{font-size:.56rem;letter-spacing:.18em}.hotspot{padding:7px 11px 7px 9px;font-size:.56rem}}

/* Store outlets ------------------------------------------------------------------------------- */
.lounges{list-style:none;border-top:1px solid var(--line)}
.lounge{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1.3fr) auto;gap:12px 32px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line-soft)}
.lounge-city{font:400 1.7rem/1.15 var(--serif)}
.lounge-city small{display:block;margin-top:8px;font:500 .62rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ash)}
.lounge-name{font-weight:500}
.lounge-addr{font-style:normal;color:var(--parchment)}
@media (max-width:860px){.lounge{grid-template-columns:1fr;gap:8px}.lounge .btn{justify-self:start;margin-top:10px}}

/* Gallery page ------------------------------------------------------------------------------- */
.masonry{columns:3 300px;column-gap:14px}
.m-item{break-inside:avoid;margin:0 0 14px}
.g-btn{all:unset;position:relative;display:block;width:100%;cursor:zoom-in;overflow:hidden;background:var(--ink-3)}
.g-btn img{width:100%;height:auto;transition:transform 1.4s var(--ease)}
.g-btn:hover img{transform:scale(1.04)}
.g-btn::after{content:"";position:absolute;inset:0;border:1px solid var(--line-soft);pointer-events:none;transition:border-color .4s}
.g-btn:hover::after{border-color:var(--line)}
.g-btn:focus-visible{outline:1px solid var(--rose);outline-offset:-1px}

/* Reviews -------------------------------------------------------------------------------------- */
.quote-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,110px);align-items:center;margin:0}
.quote-feature .split-media{aspect-ratio:1}
.quote-feature blockquote{margin:0}
.quote-feature blockquote p{font:italic 400 clamp(2.6rem,6vw,5.4rem)/1 var(--serif);letter-spacing:-.015em;background:var(--rose-metal);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.quote-feature figcaption{margin-top:30px;display:grid;gap:6px}
.quote-feature figcaption strong{font:400 1.4rem var(--serif)}
@media (max-width:860px){.quote-feature{grid-template-columns:1fr}.quote-feature .split-media{max-width:420px}}

/* Forms ------------------------------------------------------------------------------------------ */
.form-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,110px);align-items:start}
.form-card{border:1px solid var(--line);padding:clamp(26px,4vw,56px);background:var(--ink-2)}
.form-card h2,.form-card h3{margin-bottom:30px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.field{display:flex;flex-direction:column;gap:10px}
.field.full{grid-column:1/-1}
.field label{font:500 .62rem/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--parchment)}
.field label small{color:var(--ash);letter-spacing:.1em;text-transform:none;font-size:.78rem}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;color:var(--cream);font:400 1.05rem/1.4 var(--sans);transition:border-color .3s}
.field textarea{min-height:110px;resize:vertical}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--rose) 50%),linear-gradient(135deg,var(--rose) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:30px}
.field select option{background:var(--ink-2);color:var(--cream)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--rose)}
.field input::placeholder,.field textarea::placeholder{color:rgba(158,140,128,.7)}
.check{grid-column:1/-1;display:flex;gap:14px;align-items:flex-start;font-size:.95rem;color:var(--parchment);cursor:pointer}
.check input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--rose);flex:none}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:10px}
.form-foot small{color:var(--ash);font-size:.84rem;max-width:38ch}
.hp{position:absolute!important;left:-9999px!important}
.uses{list-style:none;margin-top:34px;border-top:1px solid var(--line-soft)}
.uses li{padding:16px 0;border-bottom:1px solid var(--line-soft);font:400 1.2rem/1.3 var(--serif)}
.steps{list-style:none;margin-top:44px;display:grid;gap:26px;counter-reset:step}
.steps li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;counter-increment:step}
.steps li::before{content:counter(step,decimal-leading-zero);font:400 1.4rem/1 var(--serif);color:var(--rose);padding-top:4px}
.steps strong{display:block;font:400 1.2rem/1.3 var(--serif)}
.steps span{color:var(--ash);font-size:.95rem}
.contact-list{list-style:none;border-top:1px solid var(--line);margin-top:34px}
.contact-list li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--line-soft)}
.contact-list .k{font:500 .62rem/1.9 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ash)}
.contact-list a{text-decoration:none}
.contact-list a:hover{text-decoration:underline;text-decoration-color:var(--rose)}
.map{position:relative;margin-top:clamp(56px,7vw,96px);height:clamp(320px,40vw,460px);border:1px solid var(--line);background:var(--ink-3)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.5) invert(.9) hue-rotate(180deg) sepia(.3) brightness(.85) contrast(.95)}
@media (max-width:900px){.form-wrap{grid-template-columns:1fr}}
@media (max-width:560px){.form-grid{grid-template-columns:1fr}.contact-list li{grid-template-columns:1fr;gap:4px}}

/* Closing call to action ------------------------------------------------------------------------- */
.cta-band{position:relative;overflow:hidden;text-align:center;padding-block:clamp(96px,12vw,170px);border-top:1px solid var(--line-soft)}
.cta-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.cta-band::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(60% 80% at 50% 50%,rgba(11,9,8,.35),var(--ink))}
.cta-band .wrap{position:relative;z-index:2;display:grid;justify-items:center;gap:26px}
.cta-band h2{max-width:18ch}
.cta-band .btn-row{justify-content:center}

/* Footer: a closing mark, then four quiet columns ------------------------------------------ */
.site-footer{position:relative;overflow:hidden;background:radial-gradient(60% 46% at 50% 0%,rgba(168,103,78,.16),transparent 70%),#070504;border-top:1px solid var(--line)}
.foot-mark{display:grid;justify-items:center;text-align:center;padding-block:clamp(72px,9vw,120px) clamp(48px,6vw,80px)}
.foot-mark img{width:76px;height:76px;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(circle,#000 60%,transparent 71%);mask-image:radial-gradient(circle,#000 60%,transparent 71%)}
.foot-word{margin-top:26px;font:400 clamp(2rem,5vw,4.2rem)/1 var(--serif);text-transform:uppercase;letter-spacing:.06em;text-wrap:balance;background:var(--rose-metal);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.foot-tag{margin-top:18px;text-wrap:balance;font:italic 400 clamp(1rem,1.4vw,1.2rem)/1.5 var(--serif);color:var(--parchment)}
.foot-orn{display:flex;align-items:center;gap:14px;width:min(320px,70%);margin-top:34px}
.foot-orn::before,.foot-orn::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line))}
.foot-orn::after{transform:scaleX(-1)}
.foot-orn i{width:7px;height:7px;background:var(--rose);transform:rotate(45deg)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1.15fr);border-top:1px solid var(--line-soft)}
.foot-col{padding:clamp(36px,4vw,56px) clamp(20px,2.6vw,40px)}
.foot-col+.foot-col{border-left:1px solid var(--line-soft)}
.foot-col:first-child{padding-left:0}
.foot-col:last-child{padding-right:0}
.foot-col h2{font:500 .6rem/1.4 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--rose);margin-bottom:26px}
.foot-col ul{list-style:none;display:grid;gap:13px}
.foot-col li a{position:relative;font:400 1.08rem/1.3 var(--serif);text-decoration:none;color:var(--parchment);transition:color .3s,padding-left .45s var(--ease)}
.foot-col li a::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;margin-top:-2px;background:var(--rose);transform:rotate(45deg) scale(0);transition:transform .35s var(--ease)}
.foot-col li a:hover{color:var(--cream);padding-left:16px}
.foot-col li a:hover::before{transform:rotate(45deg) scale(1)}
.foot-news p:not(.hp){font:italic 400 1.15rem/1.55 var(--serif);color:var(--parchment);max-width:30ch}
.list-form{display:flex;align-items:center;margin-top:30px;border-bottom:1px solid var(--line);transition:border-color .3s}
.list-form:focus-within{border-bottom-color:var(--rose)}
.list-form input[type=email]{flex:1;min-width:0;background:transparent;border:0;padding:16px 0;color:var(--cream);font:400 1rem var(--sans)}
.list-form input[type=email]::placeholder{color:var(--ash)}
.list-form input[type=email]:focus{outline:none}
.list-form button{flex:none;min-height:40px;padding:0 20px;background:var(--rose-metal);border:0;font:500 .62rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#170d08;cursor:pointer;transition:filter .3s}
.list-form button:hover{filter:brightness(1.12)}
.foot-line{display:block;width:max-content;max-width:100%;font:400 1.15rem/1.4 var(--serif);color:var(--cream);text-decoration:none;word-break:break-word;background:linear-gradient(var(--rose),var(--rose)) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}
.foot-line+.foot-line{margin-top:10px}
.foot-line:hover{background-size:100% 1px}
.foot-contact address{margin-top:22px;font-style:normal;font-size:.92rem;line-height:1.75;color:var(--ash)}
.socials{display:flex;gap:10px;margin-top:26px}
.socials a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);color:var(--parchment);transition:border-color .3s,background-color .3s,color .3s}
.socials a:hover{border-color:var(--rose);background:rgba(220,166,136,.08);color:var(--cream)}
.socials svg{width:15px;height:15px}
.foot-bottom{border-top:1px solid var(--line-soft);background:#050403}
.foot-bottom .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding-block:24px;font:500 .58rem/1.6 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ash)}
.foot-bottom a{color:var(--parchment);text-decoration:none}
.foot-bottom a:hover{color:var(--cream)}
@media (max-width:1080px){
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-news{grid-column:1/-1;padding-inline:0;border-bottom:1px solid var(--line-soft)}
  .foot-col+.foot-col{border-left:0}
  .foot-explore{padding-left:0}
  .foot-care{border-left:1px solid var(--line-soft)!important;padding-right:0}
  .foot-contact{grid-column:1/-1;padding-inline:0;border-top:1px solid var(--line-soft);text-align:center;display:grid;justify-items:center}
  .foot-contact .socials{justify-content:center}
}
@media (max-width:600px){
  .foot-news{text-align:center}
  .foot-news p:not(.hp){margin-inline:auto}
  .foot-col h2{margin-bottom:20px}
  .foot-col ul{gap:11px}
  .foot-col li a{font-size:1rem}
  .foot-explore,.foot-care{padding-block:36px}
  .foot-care{padding-left:22px}
  .foot-bottom .wrap{flex-direction:column;align-items:center;text-align:center;gap:8px;letter-spacing:.2em}
}

/* Policies ------------------------------------------------------------------------------------- */
.banner-plain{min-height:clamp(320px,46vh,460px);background:radial-gradient(60% 90% at 85% 10%,rgba(168,103,78,.24),transparent 60%),radial-gradient(40% 60% at 0% 100%,rgba(255,138,74,.06),transparent 70%),var(--ink);border-bottom:1px solid var(--line-soft)}
.policy{display:grid;grid-template-columns:minmax(0,.3fr) minmax(0,1fr);gap:clamp(32px,6vw,110px);align-items:start}
.policy-nav{position:sticky;top:110px}
.policy-nav ul{list-style:none;border-top:1px solid var(--line)}
.policy-nav a{display:block;padding:16px 0;border-bottom:1px solid var(--line-soft);font:500 .66rem/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--parchment);transition:color .3s}
.policy-nav a:hover{color:var(--cream)}
.policy-nav a[aria-current="page"]{color:var(--rose)}
.legal{max-width:74ch;color:var(--parchment);font-size:1rem;line-height:1.85}
.legal h2{font-size:clamp(1.45rem,2.1vw,1.85rem);color:var(--cream);margin:56px 0 18px}
.legal h2:first-child{margin-top:0}
.legal p+p{margin-top:16px}
.legal ul{list-style:none;margin:18px 0;display:grid;gap:12px}
.legal li{position:relative;padding-left:24px}
.legal li::before{content:"";position:absolute;left:2px;top:.78em;width:6px;height:6px;background:var(--rose);transform:rotate(45deg)}
.legal a{color:var(--cream);text-decoration-color:var(--rose);word-break:break-word}
.legal-foot{margin-top:56px!important;padding-top:24px;border-top:1px solid var(--line);color:var(--ash)}
@media (max-width:900px){.policy{grid-template-columns:1fr}.policy-nav{position:relative;top:0}}

/* Lightbox ------------------------------------------------------------------------------------- */
dialog{border:0;padding:0;background:transparent;color:inherit;max-width:none;max-height:none}
dialog::backdrop{background:rgba(6,4,3,.94)}
.lightbox[open]{display:grid;place-items:center;width:100vw;height:100vh;height:100dvh}
.lightbox img{max-height:84vh;max-height:84dvh;width:auto;max-width:min(92vw,1300px)}
.dlg-btn{position:fixed;z-index:2;display:grid;place-items:center;width:52px;height:52px;background:rgba(11,9,8,.8);border:1px solid var(--line);cursor:pointer;transition:border-color .3s}
.dlg-btn:hover{border-color:var(--rose)}
.dlg-btn svg{width:18px;height:18px}
.dlg-close{top:20px;right:20px}
.lb-prev{left:20px;top:50%;transform:translateY(-50%)}
.lb-next{right:20px;top:50%;transform:translateY(-50%)}

/* Reveal: headings and media only, once ---------------------------------------------------------- */
html.js [data-reveal]{opacity:0;translate:0 20px;transition:opacity .9s var(--ease),translate 1.1s var(--ease),transform .7s var(--ease),box-shadow .7s var(--ease)}
html.js [data-reveal].in{opacity:1;translate:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  html.js [data-reveal]{opacity:1;translate:none}
  .about-text .w{color:var(--cream)!important}
  .marquee{overflow-x:auto}
}
.mobile-menu .btn-row>.btn{flex:none}

/* =================================================================================================
   Images: real depth without 3D. Every photo sits in a frame that tilts toward the cursor, catches a
   soft highlight and drifts a little against the scroll. Responsive AVIF/WebP keep it sharp on retina.
   ================================================================================================= */
picture{display:contents}
.banner-img{object-position:var(--pos,50% 50%)}
.depth{position:relative;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .8s var(--ease),box-shadow .8s var(--ease);box-shadow:0 34px 64px -40px rgba(0,0,0,.9),0 0 0 1px rgba(241,230,218,.04)}
.depth.tilting{transition:transform .14s linear,box-shadow .5s var(--ease)}
.depth:hover{box-shadow:0 52px 90px -44px rgba(0,0,0,.95),0 0 0 1px rgba(220,166,136,.16)}
.sheen{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(55% 45% at var(--mx,50%) var(--my,0%),rgba(255,232,214,.2),transparent 62%);mix-blend-mode:soft-light;opacity:0;transition:opacity .6s}
.depth:hover .sheen{opacity:1}
[data-parallax] img:not(.lab-fallback){position:absolute;left:0;top:-7%;width:100%;height:114%;object-fit:cover;translate:0 var(--py,0px);will-change:translate}
.cta-band[data-parallax] img{top:-8%;height:116%}
/* banner photos start just under the header and fade up into it, so faces never sit behind the nav */
.banner[data-parallax] .banner-img{top:calc(var(--btop,92px) - 5%);height:calc(110% - var(--btop,92px));-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 150px);mask-image:linear-gradient(180deg,transparent 0,#000 150px)}
@media (max-width:760px){.banner{--btop:78px}}
.split-media,.about-figure,.pursuit-figure,.corp-figure,.life-grid figure{position:relative;overflow:hidden;background:var(--ink-3);margin:0}
.split-media::after,.about-figure::after,.pursuit-figure::after,.life-grid figure::after{content:"";position:absolute;inset:14px;z-index:2;border:1px solid rgba(241,230,218,.2);pointer-events:none}
.member-photo img{object-position:50% 22%}

/* Home: About the Reserve. Each word lights up as you scroll; the key phrases are gilded */
.about-sec{position:relative;overflow:hidden}
.about-sec::before{content:"";position:absolute;right:-10%;top:10%;width:60vw;height:60vw;max-width:760px;max-height:760px;border-radius:50%;background:radial-gradient(closest-side,rgba(168,103,78,.16),transparent);pointer-events:none}
.about-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center;gap:clamp(36px,6vw,110px)}
.about-copy .label{margin-bottom:30px}
.about-figure{aspect-ratio:4/5}
.about-text .w{color:rgba(241,230,218,.17);transition:color .6s var(--ease),text-shadow .6s var(--ease),filter .4s}
.about-text .w.lit{color:var(--cream)}
.about-text .w.g.lit{background:var(--rose-metal);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gild 7s linear infinite}
@keyframes gild{from{background-position:0 0}to{background-position:260% 0}}
.about-text .w:not(.g):hover{color:var(--rose);text-shadow:0 0 22px rgba(220,166,136,.45)}
.about-text .w.g:hover{filter:brightness(1.3) drop-shadow(0 0 14px rgba(220,166,136,.4))}
html:not(.js) .about-text .w{color:var(--cream)}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}.about-figure{max-height:520px;aspect-ratio:5/4}}

/* About page: pursuit + lifestyle */
.pursuit-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(36px,6vw,110px);align-items:center}
.pursuit-grid .label{margin-bottom:30px}
.pursuit-figure{aspect-ratio:4/5}
.life-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.life-a{grid-column:span 7;aspect-ratio:1320/778}
.life-b{grid-column:span 5}
.life-c,.life-d{grid-column:span 4;aspect-ratio:4/5}
.life-e{grid-column:span 4;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:34px;padding:clamp(28px,3vw,48px);border:1px solid var(--line);background:radial-gradient(70% 60% at 30% 20%,rgba(168,103,78,.16),transparent 70%)}
.life-grid figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:46px 26px 24px;background:linear-gradient(180deg,transparent,rgba(8,6,5,.9));font:500 .6rem/1.5 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--parchment)}
.pillars{list-style:none;display:grid;gap:16px}
.pillars li{display:flex;align-items:center;gap:16px;font:400 clamp(1.5rem,2.2vw,2rem)/1.1 var(--serif)}
.pillars li::before{content:"";flex:none;width:7px;height:7px;background:var(--rose);transform:rotate(45deg)}
.corp-figure{aspect-ratio:16/11;margin-top:44px}
@media (max-width:900px){
  .pursuit-grid{grid-template-columns:1fr}.pursuit-figure{aspect-ratio:5/4;max-height:520px}
  .life-grid{grid-template-columns:1fr}.life-grid>*{grid-column:1/-1!important}.life-b{aspect-ratio:4/3}
}

/* Gallery: one cohesive wall. Same frame, same gentle grade, full colour on hover */
.g-filters{margin-bottom:34px}
.masonry{columns:3 300px;column-gap:16px}
.m-item{break-inside:avoid;margin:0 0 16px}
.m-item[hidden]{display:none}
.g-btn{display:block;transform-style:flat}
.g-btn::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,transparent 58%,rgba(11,9,8,.38));transition:opacity .6s}
.g-btn img{filter:saturate(.9) contrast(1.04) brightness(.96);transition:transform 1.4s var(--ease),filter .7s var(--ease)}
.g-btn:hover img{filter:none}
.g-btn:hover::before{opacity:.4}
.m-item.enter{animation:rise .7s var(--ease) both}
@keyframes rise{from{opacity:0;translate:0 18px}}
.lb-fig{margin:0;display:grid;justify-items:center;gap:16px}
.lb-fig figcaption{font:500 .62rem/1.5 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--parchment);text-align:center}
.lb-fig figcaption:empty{display:none}
.lb-count{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);font:500 .6rem/1 var(--sans);letter-spacing:.3em;color:var(--ash)}
.lightbox img{box-shadow:0 60px 120px -40px rgba(0,0,0,.95)}

/* Footer lockup */
.foot-mark .foot-lockup{width:min(440px,78vw);height:auto;mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none}
.foot-mark .foot-tag{margin-top:6px}
