@font-face{
  font-family:"Mark GEO";
  src:url("../fonts/MarkGEO-SemiBold.ttf") format("truetype");
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
  /* Georgian + Georgian Supplement/Extended — Latin still comes from Inter/Playfair */
  unicode-range:U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F;
}

/* ------------------------------------------------------------------
   Teegarden Georgia — custom layer on top of Tailwind (CDN)
   ------------------------------------------------------------------ */

:root{
  /* rgb channels — consumed by the Tailwind config and by the vars below */
  --c-ink:11 11 12;
  --c-coal:21 21 23;
  --c-bone:245 244 240;
  --c-gold:249 154 80;   /* primary accent — warm orange */
  --c-leaf:40 173 130;   /* supporting — green */
  --c-sky:83 182 223;    /* supporting — blue */
  --c-mute:155 155 159;

  --ink:rgb(var(--c-ink));
  --coal:rgb(var(--c-coal));
  --gold:rgb(var(--c-gold));
  --bone:rgb(var(--c-bone));
  --hairline:rgba(255,255,255,.08);
}

html.light{
  --c-ink:250 249 246;
  --c-coal:255 255 255;
  --c-bone:17 17 19;
  --c-gold:198 106 30;
  --c-leaf:26 138 102;
  --c-sky:32 130 170;
  --c-mute:105 105 112;
  --hairline:rgba(17,17,19,.10);
}

html{ color-scheme:dark; }
html.light{ color-scheme:light; }
html, body{ transition:background-color .45s ease, color .45s ease; }

/* hairlines follow the theme (markup uses white/[0.0x] utilities) */
html.light [class*="border-white/"]{ border-color:var(--hairline) !important; }
html.light [class*="bg-white/"]{ background-color:var(--hairline) !important; }
html.light ::-webkit-scrollbar-track{ background:var(--ink); }
html.light ::-webkit-scrollbar-thumb{ background:#D6D1C6; }


/* theme switch */
#theme-toggle{
  position:fixed; right:22px; bottom:22px; z-index:60;
  display:inline-flex; align-items:center; gap:10px;
  height:44px; padding:0 16px;
  border:1px solid var(--hairline);
  border-radius:12px;
  background:rgba(var(--c-ink) / .82);
  color:var(--gold);
  font-size:12px; font-weight:500; letter-spacing:.01em; text-transform:none;
  backdrop-filter:blur(12px);
  transition:border-color .3s ease, color .3s ease, background .3s ease;
}
#theme-toggle:hover{ border-color:rgba(var(--c-gold) / .5); background:rgba(var(--c-gold) / .08); transform:translateY(-2px); }
#theme-toggle svg{ width:15px; height:15px; }
#theme-toggle .icon-sun{ display:none; }
html.light #theme-toggle .icon-sun{ display:block; }
html.light #theme-toggle .icon-moon{ display:none; }
@media (max-width:640px){
  #theme-toggle{ right:16px; bottom:16px; height:40px; padding:0 13px; }
  #theme-toggle .theme-label{ display:none; }
}

html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body{ background:var(--ink); overflow-x:hidden; overflow-x:clip; }
body.menu-open{ overflow:hidden; }

::selection{ background:var(--gold); color:#0B0B0C; }

/* scrollbar */
::-webkit-scrollbar{ width:9px; }
::-webkit-scrollbar-track{ background:var(--ink); }
::-webkit-scrollbar-thumb{ background:rgba(var(--c-bone) / .18); }
::-webkit-scrollbar-thumb:hover{ background:var(--gold); }

/* links: default palette so editor-added links never render browser blue */
a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--gold); }

/* ---- typography helpers ---- */
.display-xl{
  font-family:Manrope,"Mark GEO",system-ui,sans-serif;
  font-weight:600;
  line-height:1.08;
  letter-spacing:-0.028em;
}
.accent{ color:var(--gold); }
.kicker{
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--gold);
}
.rule-thin{ height:1px; background:linear-gradient(90deg,rgba(var(--c-gold) / .6),rgba(var(--c-gold) / 0)); }

/* ---- logo (navy artwork on transparent bg) ---- */
.site-logo{
  filter:brightness(0) invert(1);
  opacity:.94;
  transition:opacity .3s ease, filter .45s ease;
}
a:hover .site-logo{ opacity:1; }
html.light .site-logo{ filter:none; opacity:1; }

/* header sitting over the hero media: fixed light chrome in BOTH themes,
   until it scrolls and paints its own themed background */
body.has-hero #site-header:not(.is-scrolled) .site-logo{ filter:brightness(0) invert(1) !important; opacity:.94; }
body.has-hero #site-header:not(.is-scrolled) .burger-line{ background:#F5F4F0 !important; }
body.has-hero #site-header:not(.is-scrolled) nav a{ color:rgba(237,234,227,.82); }
body.has-hero #site-header:not(.is-scrolled) nav a:hover{ color:#F99A50; }
body.has-hero #site-header:not(.is-scrolled) [data-lang-switch]{ color:#F99A50; border-color:rgba(249,154,80,.45); }
body.has-hero #site-header:not(.is-scrolled) .border-white\/\[0\.07\]{ border-color:rgba(237,234,227,.16) !important; }

/* ---- header state ---- */
#site-header.is-scrolled{
  background:rgba(var(--c-ink) / .86);
  backdrop-filter:blur(14px);
}
#mobile-menu.is-open{ opacity:1; pointer-events:auto; }
#menu-toggle.is-open .burger-line:nth-child(1){ transform:translateY(7px) rotate(45deg); }
#menu-toggle.is-open .burger-line:nth-child(2){ opacity:0; }
#menu-toggle.is-open .burger-line:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---- underline for nav ---- */
.nav-link{ position:relative; }
.nav-link::after{
  content:""; position:absolute; left:0; bottom:-6px; height:1px; width:0;
  background:var(--gold); transition:width .35s cubic-bezier(.22,.61,.36,1);
}
.nav-link:hover::after{ width:100%; }

/* ---- hero slider ---- */
.slider-stack::after{
  content:""; position:absolute; left:-8%; bottom:-40%;
  width:55%; height:110%; pointer-events:none; z-index:1;
  background:radial-gradient(closest-side, rgba(249,154,80,.09), transparent 72%);
}
.slide-copy{ z-index:2; }
/* slides stack in one grid cell: the box grows to the tallest slide, never clips */
.slider-stack{ display:grid; }
.slider-stack > .slide{ grid-area:1 / 1; }
.slide{
  position:relative;
  opacity:0; transition:opacity .9s ease;
  pointer-events:none;
}
.slide.is-active{ opacity:1; pointer-events:auto; }
.slide-media{ transform:scale(1.04); transition:transform 7s ease-out; }
.slide.is-active .slide-media{ transform:scale(1); }
/* hero copy sits on photographic media — fixed light values in BOTH themes */
.slide-copy{ color:#F5F4F0; }
.slide-copy > *{ max-width:620px; }
.slide-copy .kicker{ color:#F99A50; }
.slide-copy h1{ color:#F5F4F0; }
.slide-copy p:not(.kicker){ color:rgba(245,244,240,.76); }
.slide-copy .btn-ghost{ border-color:rgba(255,255,255,.18); color:#F5F4F0; }
.slide-copy .btn-ghost:hover{ border-color:rgba(255,255,255,.34); color:#F5F4F0; }
.slide-copy .btn-gold{ background:#F99A50; color:#0B0B0C; }
.slide-copy .btn-gold:hover{ background:#FFAE6B; }
.slide-copy > *{ opacity:0; transform:translateY(14px); }
.slide.is-active .slide-copy > *{
  animation:slideIn .9s cubic-bezier(.22,.61,.36,1) forwards;
}
.slide.is-active .slide-copy > *:nth-child(1){ animation-delay:.12s; }
.slide.is-active .slide-copy > *:nth-child(2){ animation-delay:.24s; }
.slide.is-active .slide-copy > *:nth-child(3){ animation-delay:.36s; }
.slide.is-active .slide-copy > *:nth-child(4){ animation-delay:.48s; }
@keyframes slideIn{ to{ opacity:1; transform:none; } }

.slider-dots{
  position:absolute; z-index:3; right:max(24px, calc((100% - 1320px)/2 + 40px)); bottom:26px;
  display:flex; align-items:center; gap:8px;
  padding:9px 12px; border-radius:999px;
  background:rgba(11,11,12,.45); border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(10px);
}
.dot{ position:relative; width:26px; height:3px; border-radius:999px; background:rgba(245,244,240,.24); overflow:hidden; transition:width .35s ease, background .3s ease; }
.dot:hover{ background:rgba(245,244,240,.42); }
.dot.is-active{ width:44px; }
.dot span{ position:absolute; inset:0 auto 0 0; width:0; border-radius:999px; background:var(--gold); }
.dot.is-active span{ animation:dotFill 6s linear forwards; }
@keyframes dotFill{ from{ width:0 } to{ width:100% } }
.dot.is-active span{ animation-duration:4s; }

/* ---- reveal on scroll ---- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .9s ease, transform .9s cubic-bezier(.22,.61,.36,1); }
.reveal.is-visible, .reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

/* ---- product card ---- */
.product-card{
  border:1px solid var(--hairline);
  border-radius:16px; overflow:hidden;
  background:rgb(var(--c-coal));
  transition:border-color .4s ease, background .4s ease, transform .5s cubic-bezier(.22,.61,.36,1);
}
.product-card:hover{
  border-color:rgba(var(--c-gold) / .45);
  transform:translateY(-4px);
  box-shadow:0 18px 40px -28px rgba(0,0,0,.9);
}

.store-card{
  border:1px solid var(--hairline);
  border-radius:16px;
  background:rgb(var(--c-coal));
  transition:border-color .4s ease, transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .4s ease;
}
.store-card:hover{
  border-color:rgba(var(--c-sky) / .4);
  transform:translateY(-4px);
  box-shadow:0 18px 40px -28px rgba(0,0,0,.9);
}

/* ---- news card ---- */
.news-card{
  border:1px solid var(--hairline);
  border-radius:16px; overflow:hidden;
  background:rgb(var(--c-coal));
  transition:border-color .4s ease, background .4s ease, transform .5s cubic-bezier(.22,.61,.36,1);
}
.news-card:hover{
  border-color:rgba(var(--c-gold) / .45);
  transform:translateY(-4px);
  box-shadow:0 18px 40px -28px rgba(0,0,0,.9);
}

/* ---- cards ---- */
.card-media{ overflow:hidden; }
.card-media-photo{ background:#fff; }
.card-media img{ transition:transform 1.2s cubic-bezier(.22,.61,.36,1); }
.group:hover .card-media img{ transform:scale(1.05); }

/* ---- luxury accents ---- */
.lux-glow{ display:none; }
html:not(.light) .lux-glow{
  display:block; position:absolute; top:-220px; left:50%; transform:translateX(-50%);
  width:900px; height:420px; pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(var(--c-gold) / .09), transparent 70%);
}
html:not(.light) .lux-glow-low{ top:auto; bottom:-240px; }
.lux-panel{
  position:relative;
  border:1px solid var(--hairline); border-radius:20px;
  padding:40px 28px;
  background:linear-gradient(160deg, rgba(var(--c-bone) / .04), transparent 55%);
}
@media (min-width:768px){ .lux-panel{ padding:56px 56px; } }
.perk-card{
  position:relative; overflow:hidden;
  border:1px solid var(--hairline); border-radius:16px;
  padding:26px 24px 30px;
  background:linear-gradient(170deg, rgba(var(--c-bone) / .035), transparent 60%);
  transition:border-color .5s ease, transform .5s cubic-bezier(.22,.61,.36,1);
}
.perk-card:hover{ border-color:rgba(var(--c-gold) / .38); transform:translateY(-4px); }
.perk-rule{
  position:absolute; left:24px; right:24px; bottom:0; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:left center;
  transition:transform .6s cubic-bezier(.22,.61,.36,1);
}
.perk-card:hover .perk-rule{ transform:scaleX(1); }
.perk{ position:relative; padding-top:22px; border-top:1px solid var(--hairline); }
.perk-num{
  font-family:'Manrope','Mark GEO',system-ui,sans-serif;
  font-size:11px; letter-spacing:.2em; color:rgba(var(--c-gold) / .75);
}

/* ---- faq accordion ---- */
.faq-item{ border-bottom:1px solid var(--hairline); }
.faq-q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:22px 0; text-align:left;
  font-family:'Manrope','Mark GEO',system-ui,sans-serif;
  font-size:16px; font-weight:500; line-height:1.45;
  color:rgb(var(--c-bone));
  transition:color .35s ease;
}
.faq-q:hover{ color:var(--gold); }
.faq-item.is-open .faq-q{ color:var(--gold); }
.faq-icon{
  position:relative; flex:0 0 auto; width:14px; height:14px;
}
.faq-icon::before, .faq-icon::after{
  content:''; position:absolute; background:currentColor;
  transition:transform .4s cubic-bezier(.22,.61,.36,1), opacity .3s ease;
}
.faq-icon::before{ left:0; top:6.5px; width:14px; height:1px; }
.faq-icon::after{ left:6.5px; top:0; width:1px; height:14px; }
.faq-item.is-open .faq-icon::after{ transform:scaleY(0); opacity:0; }
.faq-a{
  max-height:0; overflow:hidden;
  transition:max-height .5s cubic-bezier(.22,.61,.36,1);
}
.faq-a p{
  padding:0 0 24px; max-width:62ch;
  font-size:14.5px; line-height:1.85; color:rgb(var(--c-mute));
}

/* ---- refined form fields ---- */
.field{ position:relative; }
.field-label{
  display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.16em;
  color:rgba(var(--c-bone) / .8); transition:color .4s ease;
}
.field-input{
  width:100%; margin-top:10px; padding:12px 14px;
  background:rgba(var(--c-bone) / .04); color:rgb(var(--c-bone));
  font-size:15px; line-height:1.5;
  border:1px solid rgba(var(--c-bone) / .18);
  border-radius:8px;
  transition:border-color .35s ease, background .35s ease, box-shadow .35s ease;
}
.field-input:hover{ border-color:rgba(var(--c-bone) / .3); }
.field-input:focus{
  outline:none; border-color:var(--gold);
  background:rgba(var(--c-bone) / .06);
  box-shadow:0 0 0 3px rgba(var(--c-gold) / .12);
}
.field:focus-within .field-label{ color:rgba(var(--c-gold) / .9); }

.map-frame{
  border:1px solid var(--hairline); border-radius:14px; overflow:hidden;
  background:rgb(var(--c-coal));
}
html:not(.light) .map-frame iframe{ filter:grayscale(.45) contrast(1.05) brightness(.82); }

/* ---- footer ---- */
.site-footer{ background:transparent; }
html:not(.light) .site-footer{ background:linear-gradient(180deg, rgba(var(--c-coal) / .35), transparent 60%); }
.footer-glow{ display:none; }
html:not(.light) .footer-glow{
  display:block;
  position:absolute; top:-160px; left:50%; transform:translateX(-50%);
  width:760px; height:320px; pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(var(--c-gold) / .10), transparent 70%);
}
.footer-mail{
  display:inline-flex; align-items:baseline; gap:14px;
  color:var(--gold);
  border-bottom:1px solid rgba(var(--c-gold) / .3);
  padding-bottom:8px;
  transition:border-color .5s ease, color .5s ease;
}
.footer-mail:hover{ border-color:var(--gold); }
.footer-mail-arrow{ font-size:14px; transition:transform .5s cubic-bezier(.22,.61,.36,1); }
.footer-mail:hover .footer-mail-arrow{ transform:translate(4px,-4px); }
.footer-link{
  position:relative; justify-self:start; width:fit-content;
  font-size:13.5px; color:rgb(var(--c-mute));
  transition:color .4s ease;
}
.footer-link::after{
  content:''; position:absolute; left:0; bottom:-3px; height:1px; width:100%;
  background:rgba(var(--c-gold) / .6);
  transform:scaleX(0); transform-origin:left center;
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}
.footer-link:hover{ color:rgb(var(--c-bone)); }
.footer-link:hover::after{ transform:scaleX(1); }
.footer-rule{ display:block; width:24px; height:1px; background:rgba(var(--c-gold) / .45); }

.social-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(var(--c-bone) / .16);
  color:rgb(var(--c-mute));
  transition:color .4s ease, border-color .4s ease, background .4s ease, transform .4s ease;
}
.social-btn svg{ width:17px; height:17px; }
.social-btn:hover{
  color:#0B0B0C; background:var(--gold); border-color:var(--gold);
  transform:translateY(-2px);
}

/* ---- brand tiles (home strip) ---- */
.brand-tile .brand-frame{
  position:absolute; inset:-10px; border-radius:18px;
  border:1px solid rgba(var(--c-gold) / 0);
  transition:border-color .6s ease, inset .6s ease;
  pointer-events:none;
}
.brand-tile:hover .brand-frame{ border-color:rgba(var(--c-gold) / .3); }
.brand-veil{
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0) 55%);
  transition:opacity .6s ease; opacity:.9;
}
.brand-tile:hover .brand-veil{ opacity:.55; }
.brand-rule{
  display:block; width:18px; height:1px; background:rgba(var(--c-gold) / .5);
  transition:width .6s cubic-bezier(.22,.61,.36,1);
}
.brand-tile:hover .brand-rule{ width:34px; }

.slider-dot{
  width:7px; height:7px; border-radius:50%;
  background:rgba(var(--c-mute) / .35);
  transition:background .3s ease, transform .3s ease, width .3s ease;
}
.slider-dot:hover{ background:rgba(var(--c-bone) / .6); }
.slider-dot.is-active{ width:22px; border-radius:4px; background:var(--gold); }

.card-title{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:calc(2 * 1.3em);
}
.card-desc{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:calc(2 * 1.6em);
}
.card-cta{
  display:inline-flex; align-items:center; justify-content:center;
  align-self:stretch; margin-top:auto;
  height:42px; border-radius:12px;
  border:1px solid rgba(var(--c-gold) / .4);
  font-size:13px; font-weight:500; letter-spacing:.02em;
  color:var(--gold); background:transparent;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}
.card-cta:hover, .product-card:hover .card-cta{
  background:var(--gold); border-color:var(--gold); color:#0B0B0C;
}

/* ---- luxury header CTA ---- */
.btn-lux{
  position:relative; overflow:hidden;
  align-items:center; justify-content:center;
  height:40px; padding:0 22px; border-radius:2px;
  font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold);
  background:transparent;
  border:1px solid rgba(var(--c-gold) / .45);
  transition:color .4s ease, border-color .4s ease, box-shadow .4s ease;
}
.btn-lux::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:var(--gold);
  transform:scaleX(0); transform-origin:left center;
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.btn-lux::after{
  content:''; position:absolute; top:0; left:-60%; width:40%; height:100%; z-index:0;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent);
  transform:skewX(-18deg); opacity:0;
}
.btn-lux{ isolation:isolate; }
.btn-lux:hover{ color:#0B0B0C; border-color:var(--gold); box-shadow:0 8px 24px -12px rgba(var(--c-gold) / .55); }
.btn-lux:hover::before{ transform:scaleX(1); }
.btn-lux:hover::after{ opacity:1; animation:lux-sheen .8s ease forwards; }
@keyframes lux-sheen{ from{ left:-60%; } to{ left:120%; } }

/* ---- buttons ---- */.btn-gold{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:14px 28px; border-radius:12px;
  background:var(--gold); color:#0B0B0C;
  font-size:13px; font-weight:600; letter-spacing:.01em; text-transform:none;
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease;
}
.btn-gold:hover{
  background:#FFAE6B; color:#0B0B0C;
  transform:translateY(-2px);
  box-shadow:0 10px 26px -14px rgba(249,154,80,.75);
}
.btn-ghost{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:14px 28px; border-radius:12px;
  border:1px solid rgba(var(--c-bone) / .16); color:var(--bone);
  font-size:13px; font-weight:500; letter-spacing:.01em; text-transform:none;
  transition:transform .28s ease, border-color .28s ease, background .28s ease;
}
.btn-ghost:hover{
  border-color:rgba(var(--c-bone) / .34);
  background:rgba(var(--c-bone) / .05);
  transform:translateY(-2px);
}

/* ---- filters ---- */
.filter-btn{
  padding:9px 18px; border-radius:10px;
  border:1px solid var(--hairline);
  font-size:12.5px; font-weight:500; letter-spacing:0; text-transform:none;
  color:var(--mute-c, rgb(var(--c-mute)));
  transition:color .25s ease, border-color .25s ease, background .25s ease;
}
.filter-btn:hover{ color:rgb(var(--c-bone)); border-color:rgba(var(--c-bone) / .24); }
.filter-btn.is-active{ background:var(--gold); border-color:var(--gold); color:#0B0B0C; }

/* ---- sidebar facets ---- */
.facet{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  width:100%; padding:9px 0; text-align:left;
  font-size:13.5px; line-height:1.4; color:rgb(var(--c-mute));
  border-bottom:1px solid var(--hairline);
  transition:color .25s ease;
}
.facet:last-child{ border-bottom:0; }
.facet:hover{ color:rgb(var(--c-bone)); }
.facet-count{ font-size:11px; color:rgba(var(--c-mute) / .55); font-variant-numeric:tabular-nums; }
.facet.is-active{ color:var(--gold); }
.facet.is-active .facet-count{ color:rgba(var(--c-gold) / .7); }

/* ---- pagination ---- */
.page-btn{
  min-width:40px; height:40px; padding:0 14px; border-radius:10px;
  border:1px solid var(--hairline);
  font-size:12.5px; color:rgb(var(--c-mute));
  transition:color .25s ease, border-color .25s ease, background .25s ease;
}
.page-btn:hover:not(:disabled){ color:rgb(var(--c-bone)); border-color:rgba(var(--c-bone) / .24); }
.page-btn:disabled{ opacity:.35; cursor:default; }
.page-btn.page-num{ padding:0; font-variant-numeric:tabular-nums; }
.page-btn.is-active{ background:var(--gold); border-color:var(--gold); color:#0B0B0C; }

.filterable{ transition:opacity .35s ease, transform .35s ease; }
.filterable.is-hidden{ display:none; }

/* ---- misc ---- */
.grain::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.035;
  background-image:radial-gradient(rgba(255,255,255,.9) .5px, transparent .5px);
  background-size:3px 3px;
}


/* =================== mobile polish =================== */
html{ overflow-x:clip; -webkit-text-size-adjust:100%; }
img, iframe, video{ max-width:100%; }
a, button{ -webkit-tap-highlight-color:transparent; touch-action:manipulation; }

/* bigger invisible hit areas on small controls */
.dot::after, .slider-dot::after{ content:''; position:absolute; inset:-16px -4px; }
.slider-dot{ position:relative; }
.dot{ overflow:visible; }
.dot span{ border-radius:inherit; }

/* products: collapsible filters below lg */
.filter-toggle{ position:relative; width:40px; height:40px; border-radius:10px; border:1px solid var(--hairline); display:inline-flex; align-items:center; justify-content:center; color:rgb(var(--c-bone)); }
.filter-toggle span{ position:absolute; width:14px; height:1.5px; background:currentColor; transition:transform .3s ease; }
.filter-toggle span:last-child{ transform:rotate(90deg); }
.filters-open .filter-toggle span:last-child{ transform:rotate(0); }

@keyframes fadeDown{ from{ opacity:0; transform:translateY(-6px); } }

@media (max-width:767px){
  /* readable minimum sizes */
  .kicker, .field-label{ font-size:12px; letter-spacing:.14em; }
  .text-\[9\.5px\], .text-\[10px\], .text-\[11px\]{ font-size:12px !important; }
  .text-\[11\.5px\]{ font-size:12.5px !important; }
  /* iOS: no zoom on focus */
  .field-input, input, select, textarea{ font-size:16px !important; }
  /* comfortable tap targets */
  .footer-link{ display:inline-flex; align-items:center; min-height:44px; }
  .footer-link::after{ bottom:10px; }
  .site-footer nav{ row-gap:0 !important; }
  .social-btn{ width:44px; height:44px; }
  .footer-mail{ min-height:44px; align-items:center; }
  .btn-lux{ height:44px; }
  .facet{ min-height:44px; }
  .filter-btn{ min-height:44px; }
  .page-btn{ min-width:44px; height:44px; }
  a[href^="tel:"]{ display:inline-flex; align-items:center; min-height:44px; }
  a.uppercase[class*="tracking-[0.18em]"]{ display:inline-flex; align-items:flex-end; min-height:44px; }
  /* hero copy breathing room above the dots */
  .slide-copy{ padding-bottom:84px !important; }
  .slider-dots{ left:50%; right:auto; transform:translateX(-50%); bottom:22px; }
  /* mobile menu: scrollable + safe area */
  #mobile-menu{ overflow-y:auto; overscroll-behavior:contain; padding-bottom:calc(32px + env(safe-area-inset-bottom)); }
  #mobile-menu nav > a.font-display{ font-size:22px !important; padding-top:14px; padding-bottom:14px; }
  #theme-toggle{ right:calc(14px + env(safe-area-inset-right)); bottom:calc(14px + env(safe-area-inset-bottom)); width:44px; height:44px; padding:0; justify-content:center; border-radius:50%; }
  #theme-toggle .theme-label{ display:none; }
  .site-footer > div:last-child{ padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
}

/* packaging chips (product detail) */
.pack-chip{ display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border-radius:999px; border:1px solid rgba(var(--c-gold) / .45); color:rgb(var(--c-bone)); font-size:13.5px; font-variant-numeric:tabular-nums; letter-spacing:.01em; }


/* =================== mobile UX v2 =================== */
.cat-toolbar, .sheet-backdrop, .sheet-head, .sheet-foot, .detail-bar{ display:none; }

/* touch devices: no hover-lift, press feedback instead */
@media (hover:none){
  .product-card:hover, .news-card:hover, .store-card:hover, .perk-card:hover{ transform:none; box-shadow:none; border-color:var(--hairline); }
  .group:hover .card-media img{ transform:none; }
  .card-cta:hover, .product-card:hover .card-cta{ background:transparent; color:var(--gold); border-color:rgba(var(--c-gold) / .4); }
  .card-cta:active{ background:var(--gold) !important; color:#0B0B0C !important; }
  .product-card:active{ transform:scale(.985); }
  .btn-gold:hover, .btn-ghost:hover{ transform:none; box-shadow:none; }
  .btn-gold:active, .btn-ghost:active{ transform:scale(.98); }
}

@media (max-width:1023px){
  /* catalog: sticky toolbar + bottom sheet */
  [data-catalog] aside > div:first-child{ display:none; }
  .cat-toolbar{
    display:flex; align-items:center; gap:8px;
    position:sticky; top:80px; z-index:30;
    margin:0 -24px 18px; padding:10px 24px;
    background:rgba(var(--c-ink) / .94); backdrop-filter:blur(14px);
    border-bottom:1px solid var(--hairline);
  }
  .cat-chips{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; flex:1; min-width:0; padding-right:24px; margin-right:-24px; }
  .cat-chips::-webkit-scrollbar{ display:none; }
  .chip, .cat-filter-btn{
    flex:0 0 auto; display:inline-flex; align-items:center; gap:8px;
    height:40px; padding:0 16px; border-radius:999px;
    border:1px solid rgba(var(--c-bone) / .16);
    font-size:13.5px; font-weight:500; white-space:nowrap; color:rgb(var(--c-bone));
    transition:background .25s ease, border-color .25s ease, color .25s ease;
  }
  .chip.is-active{ background:var(--gold); border-color:var(--gold); color:#0B0B0C; }
  .cat-filter-btn{ padding:0 14px; }
  .cat-filter-btn svg{ width:16px; height:16px; }
  .cat-badge{ min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--gold); color:#0B0B0C; font-size:11px; font-weight:600; display:inline-flex; align-items:center; justify-content:center; }
  .cat-badge[hidden]{ display:none; }

  [data-catalog-filters]{
    position:fixed; left:0; right:0; bottom:0; z-index:80;
    max-height:84vh; max-height:84svh; overflow-y:auto; overscroll-behavior:contain;
    background:rgb(var(--c-coal)); border-radius:22px 22px 0 0;
    border-top:1px solid var(--hairline);
    padding:0 24px;
    transform:translateY(105%); visibility:hidden;
    transition:transform .42s cubic-bezier(.22,.61,.36,1), visibility 0s linear .42s;
    box-shadow:0 -24px 60px -20px rgba(0,0,0,.6);
  }
  body.sheet-open [data-catalog-filters]{ transform:none; visibility:visible; transition:transform .42s cubic-bezier(.22,.61,.36,1); }
  .sheet-backdrop{ display:block; position:fixed; inset:0; z-index:79; background:rgba(0,0,0,.55); opacity:0; pointer-events:none; transition:opacity .35s ease; }
  body.sheet-open .sheet-backdrop{ opacity:1; pointer-events:auto; }
  .sheet-head{ display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:1; padding:22px 0 16px; margin-bottom:18px; background:rgb(var(--c-coal)); border-bottom:1px solid var(--hairline); }
  .sheet-grab{ position:absolute; top:8px; left:50%; transform:translateX(-50%); width:38px; height:4px; border-radius:4px; background:rgba(var(--c-bone) / .2); }
  .sheet-x{ width:44px; height:44px; margin-right:-10px; display:inline-flex; align-items:center; justify-content:center; font-size:26px; line-height:1; color:rgb(var(--c-mute)); }
  .sheet-foot{ display:block; position:sticky; bottom:0; margin:12px -24px 0; padding:14px 24px calc(14px + env(safe-area-inset-bottom)); background:rgb(var(--c-coal)); border-top:1px solid var(--hairline); }
  .sheet-foot .btn-gold{ width:100%; justify-content:center; min-height:52px; font-size:14px; }
  [data-catalog-filters] .facet{ min-height:50px; font-size:15px; }
  [data-catalog-filters] .facet.is-active span:first-child::before{ content:'✓'; margin-right:10px; }
  [data-catalog-filters] .mb-9{ margin-bottom:26px; }
  [data-catalog-reset]{ min-height:44px; }
}

@media (max-width:767px){
  /* rhythm */
  main .mt-24{ margin-top:4.5rem; }
  main .mt-14{ margin-top:2rem; }
  main .mt-12{ margin-top:2rem; }
  main .pt-20{ padding-top:2.75rem; }
  main .pt-14{ padding-top:1.75rem; }
  main .pt-10{ padding-top:1.75rem; }
  main h1.text-\[42px\]{ font-size:34px; }
  main h2.text-\[30px\]{ font-size:27px; }

  /* hero: photo on top (whole composition visible), copy below on solid ground */
  .slider-stack{ min-height:0 !important; background:#0B0B0C; }
  .slider-stack::after{ display:none; }
  .slide{ display:flex; flex-direction:column; background:#0B0B0C; }
  .slide > div.absolute{ display:none; }
  .slide::before{ content:''; position:absolute; left:0; right:0; top:0; height:140px; z-index:1; pointer-events:none;
    background:linear-gradient(to bottom, rgba(0,0,0,.6), rgba(0,0,0,0)); }
  .slide-media{ position:relative !important; inset:auto !important; width:100% !important; height:auto !important; aspect-ratio:6/5; object-position:center 60% !important; }
  .slide-copy{
    min-height:0 !important; justify-content:flex-start !important;
    margin-top:-64px; padding:64px 24px calc(84px + env(safe-area-inset-bottom)) !important;
    background:linear-gradient(to bottom, rgba(11,11,12,0) 0, #0B0B0C 64px);
  }
  .slide-copy h1{ font-size:28px !important; line-height:1.15; }
  .slide-copy p:not(.kicker){ font-size:15px !important; margin-top:12px; color:rgba(245,244,240,.78) !important; }
  .slide-copy > div{ margin-top:24px !important; }
  .slide-copy .btn-gold{ width:100%; justify-content:center; min-height:54px; font-size:14px; border-radius:14px; }
  .slider-dots{ bottom:calc(24px + env(safe-area-inset-bottom)); padding:12px 14px; }
  .dot{ width:22px; }
  .dot.is-active{ width:40px; }
  body.has-hero #site-header:not(.is-scrolled) .border-white\/\[0\.07\]{ border-color:transparent !important; }

  /* featured carousel: native swipe with peek */
  [data-featured-slider]{ margin-top:1.75rem; }
  [data-featured-slider] > .overflow-hidden{ overflow:visible; margin:0; padding:0; }
  [data-featured-slider].is-native [data-featured-track]{
    transform:none !important; transition:none;
    margin:0 -24px !important; padding:4px 18px 8px;
    overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding:0 18px;
    scrollbar-width:none; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain;
  }
  [data-featured-slider].is-native [data-featured-track]::-webkit-scrollbar{ display:none; }
  [data-featured-slider].is-native .featured-slide{ width:84%; padding:0 6px; scroll-snap-align:start; }
  [data-featured-slider].is-native [data-featured-prev],
  [data-featured-slider].is-native [data-featured-next]{ display:none; }
  [data-featured-slider] .mt-8{ margin-top:18px; }

  /* home brand strip: horizontal swipe instead of tall stack */
  [data-brands="strip"]{
    display:flex !important; gap:12px !important;
    margin-left:-24px; margin-right:-24px; padding:0 24px 6px;
    overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding:0 24px; scrollbar-width:none;
  }
  [data-brands="strip"]::-webkit-scrollbar{ display:none; }
  [data-brands="strip"] > a{ flex:0 0 66%; scroll-snap-align:start; }
  [data-brands="strip"] .brand-frame{ display:none; }

  /* brands page */
  [data-brands="full"]{ row-gap:4rem; }
  [data-brands="full"] article{ gap:1.75rem; }
  [data-brands="full"] .mt-10.flex{ margin-top:1.75rem; }
  [data-brands="full"] .btn-gold, [data-brands="full"] .btn-ghost{ flex:1 1 100%; justify-content:center; min-height:52px; }

  /* compact 2-up product grids */
  [data-catalog-grid], [data-related]{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:12px !important; }
  [data-catalog-grid] .product-card, [data-related] .product-card{ border-radius:14px; }
  [data-catalog-grid] .card-media, [data-related] .card-media{ aspect-ratio:1/1; }
  [data-catalog-grid] .card-media img.p-6, [data-related] .card-media img.p-6{ padding:12px; }
  [data-catalog-grid] .product-card > div, [data-related] .product-card > div{ padding:12px 12px 12px; }
  [data-catalog-grid] .card-title, [data-related] .card-title{ font-size:15px; line-height:1.3; }
  [data-catalog-grid] .card-desc, [data-related] .card-desc{ display:none; }
  [data-catalog-grid] .card-cta, [data-related] .card-cta{ margin-top:12px; height:40px; font-size:12.5px; border-radius:10px; }

  /* product detail */
  [data-detail]{ margin-top:1rem !important; gap:1.75rem !important; }
  [data-detail] > div:first-child{ max-width:none !important; border-radius:18px; }
  [data-detail] h1{ font-size:30px !important; margin-top:12px !important; }
  [data-detail] .rule-thin{ margin-top:20px; }
  [data-detail] > div:last-child > p.mt-8{ margin-top:20px; }
  [data-detail] .mt-10{ margin-top:28px; }
  [data-detail] .mt-12{ margin-top:28px; }
  [data-detail] .mt-12.flex{ display:none; }
  main a[href^="products.html"].uppercase{ display:inline-flex; align-items:center; min-height:44px; }
  .detail-bar{
    display:flex; gap:10px; position:fixed; left:0; right:0; bottom:0; z-index:55;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));
    background:rgba(var(--c-ink) / .92); backdrop-filter:blur(14px);
    border-top:1px solid var(--hairline);
  }
  .detail-bar .btn-gold{ flex:1; justify-content:center; min-height:50px; padding:0 16px; font-size:14px; }
  .detail-bar .btn-ghost{ justify-content:center; min-height:50px; padding:0 18px; font-size:14px; }
  body.has-detail-bar .site-footer > div:last-child{ padding-bottom:calc(90px + env(safe-area-inset-bottom)); }

  /* mobile menu: theme switch lives in the open menu only */
  #theme-toggle{ display:none; }
  body.menu-open #theme-toggle{ display:inline-flex; }
  #mobile-menu{ height:calc(100vh - 80px); height:calc(100dvh - 80px); }
  #mobile-menu nav > a.font-display{ opacity:0; transform:translateY(8px); transition:opacity .4s ease, transform .4s ease; }
  #mobile-menu.is-open nav > a.font-display{ opacity:1; transform:none; }
  #mobile-menu.is-open nav > a:nth-child(2){ transition-delay:.04s; }
  #mobile-menu.is-open nav > a:nth-child(3){ transition-delay:.08s; }
  #mobile-menu.is-open nav > a:nth-child(4){ transition-delay:.12s; }
  #mobile-menu.is-open nav > a:nth-child(5){ transition-delay:.16s; }
  #mobile-menu.is-open nav > a:nth-child(6){ transition-delay:.2s; }
  #mobile-menu nav > a.mt-8{ align-self:stretch; text-align:center; min-height:52px; display:flex; align-items:center; justify-content:center; }
  #mobile-menu nav > a.mt-4{ min-height:44px; display:inline-flex; align-items:center; }
}

/* about: numbered sections */
.about-rows{ display:flex; flex-direction:column; gap:48px; }
.about-row{ display:grid; gap:14px; padding-top:28px; border-top:1px solid var(--hairline); }
.about-row h2{ font-size:22px; line-height:1.35; text-wrap:balance; }
.about-row p.text-mute{ font-size:15.5px; line-height:1.9; max-width:64ch; text-wrap:pretty; }
@media (min-width:768px){
  .about-rows{ gap:64px; }
  .about-row{ grid-template-columns:56px minmax(0,4fr) minmax(0,7fr); column-gap:40px; padding-top:40px; align-items:start; }
  .about-row h2{ font-size:25px; }
}

/* ---- brands dropdown ---- */
.nav-dd{ position:relative; display:flex; align-items:center; }
.nav-dd > a{ display:inline-flex; align-items:center; gap:6px; }
.nav-dd-caret{ display:inline-flex; width:12px; height:12px; transition:transform .3s ease; }
.nav-dd-caret svg{ width:12px; height:12px; }
.nav-dd:hover .nav-dd-caret, .nav-dd:focus-within .nav-dd-caret{ transform:rotate(180deg); }
.nav-dd-panel{
  position:absolute; top:100%; left:50%; padding-top:22px; min-width:280px;
  transform:translate(-50%, 8px); opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
}
.nav-dd:hover .nav-dd-panel, .nav-dd:focus-within .nav-dd-panel{ opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%, 0); transition:opacity .3s ease, transform .3s ease; }
.nav-dd-inner{
  display:flex; flex-direction:column; padding:8px;
  background:rgb(var(--c-coal)); border:1px solid var(--hairline); border-radius:14px;
  box-shadow:0 24px 50px -24px rgba(0,0,0,.6);
}
#site-header .nav-dd-item{ display:flex; flex-direction:column; gap:2px; padding:12px 14px; border-radius:10px; color:rgb(var(--c-bone)) !important; transition:background .25s ease; }
#site-header .nav-dd-item:hover{ background:rgba(var(--c-bone) / .05); }
#site-header .nav-dd-item:hover .nav-dd-name{ color:var(--gold); }
.nav-dd-name{ font-size:14.5px; font-weight:600; transition:color .25s ease; }
.nav-dd-sub{ font-size:12px; color:rgb(var(--c-mute)); }
#site-header .nav-dd-all{ margin-top:6px; padding:12px 14px 8px; border-top:1px solid var(--hairline); font-size:12.5px; font-weight:500; color:var(--gold) !important; }
.nav-dd-item::after, .nav-dd-all::after{ display:none; }

/* mobile submenu */
.mm-row{ display:flex; align-items:stretch; border-bottom:1px solid var(--hairline); }
.mm-row > a{ flex:1; border-bottom:0 !important; }
.mm-toggle{ width:52px; display:inline-flex; align-items:center; justify-content:center; color:rgb(var(--c-mute)); }
.mm-toggle svg{ width:18px; height:18px; transition:transform .3s ease; }
.mm-toggle.is-open svg{ transform:rotate(180deg); color:var(--gold); }
.mm-sub{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; border-bottom:1px solid transparent; }
.mm-sub > div{ overflow:hidden; display:flex; flex-direction:column; }
.mm-sub.is-open{ grid-template-rows:1fr; border-bottom-color:var(--hairline); }
.mm-sub a{ display:flex; align-items:center; min-height:48px; padding-left:16px; font-size:17px; color:rgb(var(--c-mute)); }
.mm-sub a:first-child{ margin-top:4px; }
.mm-sub a:last-child{ margin-bottom:10px; }
@media (max-width:767px){
  #mobile-menu nav > .mm-row > a.font-display{ font-size:22px !important; padding-top:14px; padding-bottom:14px; }
}

/* ---- brand landing ---- */
.brand-hero{ position:relative; overflow:hidden; margin-top:-80px; background:#0B0B0C; }
@media (min-width:768px){ .brand-hero{ margin-top:-96px; } }
.brand-hero-media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; animation:brandZoom 8s ease-out forwards; }
@keyframes brandZoom{ from{ transform:scale(1.06); } to{ transform:scale(1); } }
.brand-hero-veil{ position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.9) 0%, rgba(0,0,0,.5) 45%, rgba(0,0,0,.25) 100%); }
.brand-hero-copy{ position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:min(88vh, 720px); padding-top:140px; padding-bottom:64px; color:#F5F4F0; }
.brand-hero-copy > *{ max-width:640px; }
.brand-hero-copy .kicker{ color:#F99A50; margin-top:28px; }
.brand-hero-copy h1{ margin-top:16px; font-size:44px; color:#F5F4F0; }
.brand-hero-desc{ margin-top:20px; font-size:16px; line-height:1.8; color:rgba(245,244,240,.8); max-width:52ch; text-wrap:pretty; }
.brand-hero-back{ display:inline-flex; align-items:center; min-height:44px; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:rgba(245,244,240,.7); }
.brand-hero-back:hover{ color:#F99A50; }
.brand-hero-ctas{ margin-top:32px; display:flex; flex-wrap:wrap; gap:12px; }
.brand-hero-ctas .btn-ghost{ border-color:rgba(255,255,255,.22); color:#F5F4F0; }
.brand-hero-ctas .btn-gold{ background:#F99A50; color:#0B0B0C; }
@media (min-width:768px){
  .brand-hero-copy{ padding-bottom:88px; }
  .brand-hero-copy h1{ font-size:72px; }
  .brand-hero-desc{ font-size:18px; }
}
.brand-story{ display:grid; gap:20px; padding-top:32px; border-top:1px solid var(--hairline); }
.brand-story-text{ font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-size:20px; line-height:1.65; color:rgb(var(--c-bone)); max-width:56ch; text-wrap:pretty; }
@media (min-width:768px){
  .brand-story{ grid-template-columns:minmax(0,4fr) minmax(0,8fr); column-gap:48px; padding-top:44px; }
  .brand-story-text{ font-size:26px; }
}
.brand-others{ display:grid; gap:24px; }
@media (min-width:640px){ .brand-others{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:1024px){ .brand-others{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
.brand-other{ display:block; border:1px solid var(--hairline); border-radius:16px; overflow:hidden; background:rgb(var(--c-coal)); transition:border-color .4s ease; }
.brand-other:hover{ border-color:rgba(var(--c-gold) / .45); color:inherit; }
.brand-other .card-media img{ width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.brand-other-meta{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding:18px 20px 20px; }
.brand-other-sub{ font-size:12px; color:rgb(var(--c-mute)); }
.brand-other h3{ margin-top:4px; font-size:20px; font-weight:600; transition:color .3s ease; }
.brand-other:hover h3{ color:var(--gold); }
.brand-other-arrow{ color:var(--gold); font-size:18px; transition:transform .4s ease; }
.brand-other:hover .brand-other-arrow{ transform:translateX(4px); }
@media (max-width:767px){
  .brand-hero{ margin-top:-80px; }
  .brand-hero-copy{ min-height:min(84svh, 680px); padding-bottom:calc(40px + env(safe-area-inset-bottom)); }
  .brand-hero-ctas a{ flex:1 1 100%; justify-content:center; min-height:52px; }
}

.brand-story-body{ margin-top:22px; font-size:15.5px; line-height:1.9; color:rgb(var(--c-mute)); max-width:64ch; text-wrap:pretty; }
.brand-chapters{ margin-top:72px; }
.brand-chapter-text{ display:flex; flex-direction:column; gap:16px; }
.brand-closing{ margin:96px auto 0; max-width:880px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:28px; }
.brand-closing-rule{ width:56px; height:1px; background:var(--gold); }
.brand-closing p{ font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-size:21px; line-height:1.6; color:rgb(var(--c-bone)); text-wrap:balance; }
@media (min-width:768px){
  .brand-chapters{ margin-top:112px; }
  .brand-closing{ margin-top:136px; }
  .brand-closing p{ font-size:28px; }
}

/* brand hero with a full artwork cover: show it uncropped, copy below */
.brand-hero.has-cover .brand-hero-media{ position:relative; inset:auto; display:block; width:100%; height:auto; animation:none; }
.brand-hero.has-cover .brand-hero-veil{ bottom:auto; height:100%; background:linear-gradient(to bottom, rgba(0,0,0,.55) 0, rgba(0,0,0,0) 120px), linear-gradient(to top, #0B0B0C 0, rgba(11,11,12,0) 90px); pointer-events:none; }
.brand-hero.has-cover .brand-hero-copy{ min-height:0; justify-content:flex-start; padding-top:28px; padding-bottom:16px; }
.brand-hero.has-cover .brand-hero-copy h1{ font-size:36px; }
@media (min-width:768px){
  .brand-hero.has-cover .brand-hero-copy{ padding-top:40px; padding-bottom:24px; }
  .brand-hero.has-cover .brand-hero-copy h1{ font-size:56px; }
}
@media (max-width:767px){
  .brand-hero.has-cover .brand-hero-copy{ min-height:0; padding-bottom:8px; }
  .brand-hero.has-cover .brand-hero-media{ aspect-ratio:4/3; object-fit:cover; object-position:40% center; }
}
html.light .brand-hero.has-cover{ background:transparent; }
html.light .brand-hero.has-cover .brand-hero-veil{ background:linear-gradient(to bottom, rgba(0,0,0,.55) 0, rgba(0,0,0,0) 120px); }
html.light .brand-hero.has-cover .brand-hero-copy, html.light .brand-hero.has-cover .brand-hero-copy h1{ color:rgb(var(--c-bone)); }
html.light .brand-hero.has-cover .brand-hero-desc{ color:rgb(var(--c-mute)); }
html.light .brand-hero.has-cover .brand-hero-back{ color:rgb(var(--c-mute)); }
html.light .brand-hero.has-cover .brand-hero-ctas .btn-ghost{ border-color:rgba(var(--c-bone) / .2); color:rgb(var(--c-bone)); }

/* =================== brands v2 =================== */
.bx-grid{ display:grid; gap:16px; }
.bx-card{ display:flex; flex-direction:column; border:1px solid var(--hairline); border-radius:22px; overflow:hidden; background:rgb(var(--c-coal)); transition:border-color .4s ease, transform .5s cubic-bezier(.22,.61,.36,1); }
.bx-card:hover{ color:inherit; border-color:rgba(var(--c-gold) / .45); }
.bx-media{ position:relative; aspect-ratio:4/3; background:#0B0B0C; }
.bx-media img{ width:100%; height:100%; object-fit:cover; object-position:30% center; display:block; }
.bx-body{ display:flex; flex-direction:column; padding:22px 22px 24px; flex:1; }
.bx-top{ display:flex; align-items:center; gap:12px; }
.bx-num{ font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-size:12px; letter-spacing:.14em; color:var(--gold); }
.bx-kicker{ font-size:12px; color:rgb(var(--c-mute)); padding-left:12px; border-left:1px solid var(--hairline); }
.bx-name{ margin-top:14px; font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-weight:600; font-size:28px; line-height:1.1; letter-spacing:-.02em; transition:color .3s ease; }
.bx-card:hover .bx-name{ color:var(--gold); }
.bx-desc{ margin-top:12px; font-size:14.5px; line-height:1.75; color:rgb(var(--c-mute)); max-width:52ch; text-wrap:pretty; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.bx-link{ margin-top:auto; padding-top:22px; display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:13.5px; font-weight:500; color:var(--gold); }
.bx-arrow{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; border:1px solid rgba(var(--c-gold) / .4); transition:background .3s ease, color .3s ease, transform .4s ease; }
.bx-card:hover .bx-arrow{ background:var(--gold); color:#0B0B0C; transform:translateX(3px); }
@media (min-width:768px){
  .bx-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:24px; }
  .bx-card:first-child{ grid-column:1 / -1; flex-direction:row; }
  .bx-card:first-child .bx-media{ flex:0 0 62%; aspect-ratio:auto; min-height:420px; }
  .bx-card:first-child .bx-body{ padding:40px; justify-content:center; }
  .bx-card:first-child .bx-name{ font-size:44px; }
  .bx-card:first-child .bx-link{ margin-top:0; }
  .bx-media{ aspect-ratio:16/10; }
  .bx-body{ padding:28px 28px 30px; }
  .bx-name{ font-size:32px; }
}
@media (hover:hover){ .bx-card:hover{ transform:translateY(-4px); } }
@media (hover:none){ .bx-card:active{ transform:scale(.99); } }

/* brand landing */
.bd-head{ padding-top:24px; }
.bd-crumbs{ display:flex; align-items:center; gap:10px; font-size:13px; color:rgb(var(--c-mute)); flex-wrap:wrap; }
.bd-crumbs a{ display:inline-flex; align-items:center; min-height:44px; color:rgb(var(--c-mute)); }
.bd-crumbs a:hover{ color:var(--gold); }
.bd-crumbs span:last-child{ color:rgb(var(--c-bone)); }
.bd-title{ display:grid; gap:20px; margin-top:12px; }
.bd-name{ margin-top:12px; font-size:42px; text-wrap:balance; }
.bd-intro p{ font-size:16px; line-height:1.75; color:rgb(var(--c-mute)); max-width:46ch; text-wrap:pretty; }
.bd-ctas{ margin-top:24px; display:flex; flex-wrap:wrap; gap:10px; }
.bd-cover-wrap{ margin-top:32px; }
.bd-cover{ border-radius:20px; overflow:hidden; background:#0B0B0C; border:1px solid var(--hairline); }
.bd-cover img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; object-position:30% center; }
.bd-section{ margin-top:72px; }
.bd-lead{ display:grid; gap:16px; }
.bd-lead-text{ font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-size:21px; line-height:1.6; color:rgb(var(--c-bone)); max-width:40ch; text-wrap:pretty; }
.bd-body{ margin-top:20px; font-size:15.5px; line-height:1.9; color:rgb(var(--c-mute)); max-width:62ch; text-wrap:pretty; }
.bd-chapters{ margin-top:48px; display:grid; gap:14px; }
.bd-chapter{ position:relative; padding:26px 22px 26px; border:1px solid var(--hairline); border-radius:20px; background:linear-gradient(165deg, rgba(var(--c-bone) / .04), transparent 60%); }
.bd-ch-num{ font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-size:13px; letter-spacing:.14em; color:var(--gold); }
.bd-chapter h2{ margin-top:14px; font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-weight:600; font-size:21px; line-height:1.35; text-wrap:balance; }
.bd-chapter p{ margin-top:14px; font-size:15px; line-height:1.85; color:rgb(var(--c-mute)); text-wrap:pretty; }
.bd-quote{ margin:64px auto 0; max-width:860px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:24px; }
.bd-quote-rule{ width:48px; height:1px; background:var(--gold); }
.bd-quote p{ font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-size:20px; line-height:1.6; color:rgb(var(--c-bone)); text-wrap:balance; }
.bd-sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.bd-sec-head h2{ font-size:26px; }
.bd-all{ display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:var(--gold); white-space:nowrap; }
.bd-others{ margin-top:24px; display:grid; gap:12px; }
.bd-other{ display:flex; align-items:center; gap:16px; padding:12px; padding-right:18px; border:1px solid var(--hairline); border-radius:18px; background:rgb(var(--c-coal)); transition:border-color .35s ease; }
.bd-other:hover{ color:inherit; border-color:rgba(var(--c-gold) / .45); }
.bd-other-img{ flex:0 0 auto; width:92px; height:72px; border-radius:12px; overflow:hidden; background:#0B0B0C; }
.bd-other-img img{ width:100%; height:100%; object-fit:cover; object-position:30% center; display:block; }
.bd-other-meta{ display:flex; flex-direction:column; gap:3px; flex:1; min-width:0; }
.bd-other-sub{ font-size:12px; color:rgb(var(--c-mute)); }
.bd-other-name{ font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-weight:600; font-size:18px; transition:color .3s ease; }
.bd-other:hover .bd-other-name{ color:var(--gold); }
.bd-other-arrow{ color:var(--gold); font-size:18px; transition:transform .35s ease; }
.bd-other:hover .bd-other-arrow{ transform:translateX(4px); }
.bd-cta{ display:flex; flex-direction:column; gap:24px; padding:32px 24px; border:1px solid var(--hairline); border-radius:22px; background:rgb(var(--c-coal)); }
.bd-cta h2{ font-size:26px; }
.bd-cta p{ margin-top:10px; font-size:14.5px; line-height:1.7; color:rgb(var(--c-mute)); max-width:46ch; }
@media (max-width:767px){
  .bd-ctas a, .bd-cta .btn-gold{ flex:1 1 100%; justify-content:center; min-height:52px; }
}
@media (min-width:768px){
  .bd-head{ padding-top:48px; }
  .bd-title{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); column-gap:56px; align-items:end; margin-top:20px; }
  .bd-name{ font-size:76px; }
  .bd-intro p{ font-size:17px; }
  .bd-cover-wrap{ margin-top:48px; }
  .bd-cover{ border-radius:28px; }
  .bd-cover img{ aspect-ratio:21/9; object-position:center; }
  .bd-cover.is-art img{ aspect-ratio:auto; height:auto; object-fit:contain; }
  .bd-section{ margin-top:128px; }
  .bd-lead{ grid-template-columns:minmax(0,4fr) minmax(0,8fr); column-gap:56px; }
  .bd-lead-text{ font-size:28px; }
  .bd-chapters{ margin-top:80px; grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px; }
  .bd-chapter{ padding:40px 36px; border-radius:24px; }
  .bd-chapter h2{ font-size:24px; }
  .bd-quote{ margin-top:112px; }
  .bd-quote p{ font-size:28px; }
  .bd-sec-head h2{ font-size:38px; }
  .bd-others{ margin-top:36px; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
  .bd-other-img{ width:120px; height:88px; }
  .bd-cta{ flex-direction:row; align-items:center; justify-content:space-between; padding:48px 56px; }
  .bd-cta h2{ font-size:34px; }
}

@media (min-width:768px) and (max-width:1199px){
  .bd-title{ grid-template-columns:minmax(0,1fr); }
  .bd-intro p{ max-width:60ch; }
}
.bd-ctas a{ white-space:nowrap; justify-content:center; }

/* =================== partners v2 =================== */
.pt-hero{ display:grid; gap:36px; padding-top:28px; }
.pt-title{ margin-top:14px; font-size:40px; text-wrap:balance; }
.pt-intro{ margin-top:18px; font-size:16px; line-height:1.8; color:rgb(var(--c-mute)); max-width:54ch; text-wrap:pretty; }
.pt-hero-ctas{ margin-top:28px; display:flex; flex-wrap:wrap; gap:10px; }
.pt-hero-ctas a{ justify-content:center; }
.pt-hero-art{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); grid-template-rows:repeat(2, 150px); gap:10px; }
.pt-tile{ position:relative; display:block; border-radius:18px; overflow:hidden; background:#0B0B0C; border:1px solid var(--hairline); }
.pt-tile img{ width:100%; height:100%; object-fit:cover; object-position:30% center; display:block; }
.pt-tile::after{ content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,0) 55%); }
.pt-tile-name{ position:absolute; left:14px; bottom:12px; z-index:1; font-size:13px; font-weight:600; color:#F5F4F0; }
.pt-tile-1{ grid-column:1 / -1; }
.pt-section{ margin-top:72px; }
.pt-label{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); }
.pt-sec-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.pt-link{ display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:var(--gold); }
.pt-who{ margin-top:18px; display:flex; flex-wrap:wrap; gap:8px; }
.pt-who span{ display:inline-flex; align-items:center; height:42px; padding:0 18px; border-radius:999px; border:1px solid rgba(var(--c-bone) / .16); font-size:14px; color:rgb(var(--c-bone)); }
.pt-perks{ margin-top:20px; display:grid; gap:12px; }
.pt-perk{ padding:24px 22px; border:1px solid var(--hairline); border-radius:20px; background:linear-gradient(165deg, rgba(var(--c-bone) / .04), transparent 60%); transition:border-color .4s ease; }
.pt-perk:hover{ border-color:rgba(var(--c-gold) / .4); }
.pt-perk-num{ font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-size:30px; font-weight:600; line-height:1; color:rgba(var(--c-gold) / .9); }
.pt-perk h3{ margin-top:18px; font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-size:19px; font-weight:600; line-height:1.3; }
.pt-perk p{ margin-top:10px; font-size:14.5px; line-height:1.75; color:rgb(var(--c-mute)); text-wrap:pretty; }
.pt-brands{ margin-top:20px; display:grid; gap:12px; }
.pt-steps{ margin-top:20px; display:grid; gap:0; list-style:none; padding:0; }
.pt-step{ position:relative; display:flex; gap:18px; padding-bottom:28px; }
.pt-step::before{ content:''; position:absolute; left:19px; top:44px; bottom:4px; width:1px; background:var(--hairline); }
.pt-step:last-child{ padding-bottom:0; }
.pt-step:last-child::before{ display:none; }
.pt-step-dot{ flex:0 0 auto; width:40px; height:40px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(var(--c-gold) / .5); color:var(--gold); font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-weight:600; font-size:15px; }
.pt-step h3{ margin-top:8px; font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-size:19px; font-weight:600; }
.pt-step p{ margin-top:6px; font-size:14.5px; line-height:1.7; color:rgb(var(--c-mute)); max-width:40ch; }
.pt-apply{ display:grid; gap:32px; padding:28px 22px; border:1px solid var(--hairline); border-radius:24px; background:rgb(var(--c-coal)); }
.pt-apply-info h2{ font-size:28px; text-wrap:balance; }
.pt-apply-info > p{ margin-top:14px; font-size:15px; line-height:1.8; color:rgb(var(--c-mute)); max-width:42ch; }
.pt-contacts{ margin-top:24px; display:flex; flex-direction:column; gap:4px; }
.pt-contacts a{ display:inline-flex; align-items:center; min-height:44px; font-size:15px; color:var(--gold); width:fit-content; }
.pt-form{ display:flex; flex-direction:column; gap:20px; }
.pt-form-row{ display:grid; gap:20px; }
.pt-submit{ justify-content:center; min-height:54px; font-size:14px; margin-top:4px; }
@media (max-width:767px){
  .pt-hero-ctas a{ flex:1 1 100%; min-height:52px; }
}
@media (min-width:768px){
  .pt-hero{ grid-template-columns:minmax(0,6fr) minmax(0,5fr); column-gap:56px; align-items:center; padding-top:56px; }
  .pt-title{ font-size:60px; }
  .pt-intro{ font-size:17px; }
  .pt-hero-art{ grid-template-rows:repeat(2, 190px); gap:14px; }
  .pt-section{ margin-top:112px; }
  .pt-perks{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; margin-top:28px; }
  .pt-perk{ padding:32px 30px; }
  .pt-brands{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; margin-top:28px; }
  .pt-steps{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px; margin-top:32px; }
  .pt-step{ flex-direction:column; padding-bottom:0; }
  .pt-step::before{ left:52px; right:-24px; top:20px; bottom:auto; width:auto; height:1px; }
  .pt-step:last-child::before{ display:none; }
  .pt-step h3{ margin-top:4px; }
  .pt-apply{ grid-template-columns:minmax(0,5fr) minmax(0,6fr); column-gap:64px; padding:56px; border-radius:28px; }
  .pt-apply-info h2{ font-size:38px; }
  .pt-form-row{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .pt-submit{ align-self:flex-start; padding:0 36px; }
}
@media (min-width:1024px){
  .pt-perks{ grid-template-columns:repeat(4, minmax(0,1fr)); }
  .pt-hero-art{ grid-template-rows:repeat(2, 220px); }
}

.pt-tile-2 img, .pt-tile-3 img{ object-position:60% center; }
.bd-other-img img{ object-position:55% center; }
.bd-other-meta{ min-width:0; }
.bd-other-arrow{ flex-shrink:0; margin-left:8px; }
@media (min-width:768px) and (max-width:1199px){
  .pt-brands{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (min-width:768px){
  .pt-brands .bd-other-img{ width:96px; height:72px; }
}

.pt-hero-art{ display:flex !important; flex-direction:column; grid-template-rows:none !important; gap:0 !important; border-top:1px solid var(--hairline); }
.pt-word{ display:flex; align-items:center; min-height:64px; padding:10px 0; border-bottom:1px solid var(--hairline); font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-weight:600; font-size:26px; letter-spacing:-.02em; color:rgb(var(--c-bone)); transition:color .3s ease, padding .4s ease; }
.pt-word:hover{ color:var(--gold); padding-left:8px; }
@media (min-width:768px){ .pt-word{ min-height:88px; font-size:36px; } }

/* home brand strip labels */
.strip-meta{ display:flex; flex-direction:column; gap:2px; margin-top:14px; }
.strip-sub{ font-size:12px; color:rgb(var(--c-mute)); }
.strip-name{ font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-weight:600; font-size:18px; transition:color .3s ease; }
.brand-tile:hover .strip-name{ color:var(--gold); }
[data-brands="strip"] .card-media img{ object-position:55% center; }
.facet-count{ font-size:12px; }
@media (max-width:767px){
  .about-hero-img{ aspect-ratio:4/3 !important; }
  .lux-panel{ padding:28px 22px; border-radius:20px; }
  .lux-panel .btn-lux{ width:100%; }
  main h2.text-\[24px\]{ font-size:24px; }
}

/* home: brands as typographic list */
.bn-list{ margin-top:32px; display:flex !important; flex-direction:column; gap:0 !important; margin-left:0 !important; margin-right:0 !important; padding:0 !important; overflow:visible !important; border-top:1px solid var(--hairline); }
.bn-row{ position:relative; display:flex; align-items:center; gap:16px; padding:22px 0; border-bottom:1px solid var(--hairline); color:rgb(var(--c-bone)); overflow:hidden; }
.bn-row::before{ content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(var(--c-gold) / .08), transparent 70%); transform:scaleX(0); transform-origin:left; transition:transform .6s cubic-bezier(.22,.61,.36,1); }
.bn-row:hover{ color:rgb(var(--c-bone)); }
.bn-row:hover::before{ transform:scaleX(1); }
.bn-num{ position:relative; flex:0 0 auto; width:28px; font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-size:12px; letter-spacing:.14em; color:var(--gold); }
.bn-name{ position:relative; flex:1; min-width:0; font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-weight:600; font-size:30px; line-height:1.1; letter-spacing:-.025em; transition:color .35s ease, transform .5s cubic-bezier(.22,.61,.36,1); }
.bn-row:hover .bn-name{ color:var(--gold); transform:translateX(6px); }
.bn-arrow{ position:relative; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; border:1px solid rgba(var(--c-gold) / .4); color:var(--gold); font-size:16px; transition:background .35s ease, color .35s ease, transform .4s ease; }
.bn-row:hover .bn-arrow{ background:var(--gold); color:#0B0B0C; transform:rotate(-45deg); }
.bn-row:active .bn-name{ color:var(--gold); }
@media (min-width:768px){
  .bn-list{ margin-top:56px; }
  .bn-row{ padding:34px 0; gap:32px; }
  .bn-num{ width:40px; font-size:13px; }
  .bn-name{ font-size:64px; }
  .bn-arrow{ width:56px; height:56px; font-size:18px; }
}
@media (min-width:1200px){ .bn-name{ font-size:80px; } }

/* brands: one strip */
.bn-list{ flex-direction:row !important; border:1px solid var(--hairline); border-radius:20px; overflow-x:auto !important; scroll-snap-type:x mandatory; scrollbar-width:none; }
.bn-list::-webkit-scrollbar{ display:none; }
.bn-row{ flex:0 0 72%; flex-direction:column; align-items:flex-start; gap:18px; padding:22px 20px; border-bottom:0; border-right:1px solid var(--hairline); scroll-snap-align:start; }
.bn-row:last-child{ border-right:0; }
.bn-row::before{ background:linear-gradient(180deg, rgba(var(--c-gold) / .08), transparent 80%); transform:scaleY(0); transform-origin:top; }
.bn-row:hover::before{ transform:scaleY(1); }
.bn-num{ width:auto; }
.bn-name{ font-size:24px; line-height:1.15; white-space:nowrap; }
.bn-row:hover .bn-name{ transform:none; }
.bn-arrow{ position:absolute; top:16px; right:16px; width:36px; height:36px; font-size:14px; }
@media (min-width:768px){
  .bn-list{ display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)); overflow:hidden !important; border-radius:24px; }
  .bn-row{ padding:30px 28px; gap:28px; }
  .bn-name{ font-size:28px; }
  .bn-arrow{ top:24px; right:24px; width:42px; height:42px; }
}
@media (min-width:1200px){ .bn-name{ font-size:34px; } .bn-row{ padding:36px 32px; } }

@media (min-width:768px){ .bn-name{ white-space:normal; text-wrap:balance; font-size:clamp(20px, 2.6vw, 34px); padding-right:44px; } }

@media (min-width:768px){
  .bn-list{ display:flex !important; overflow-x:auto !important; scroll-snap-type:x mandatory; scroll-behavior:smooth; }
  .bn-row{ flex:0 0 calc(100% / 3); }
}
.bn-wrap{ position:relative; }
.bn-nav{ display:none; gap:8px; justify-content:flex-end; margin-top:14px; }
.bn-wrap.is-scrollable .bn-nav{ display:flex; }
.bn-nav button{ width:44px; height:44px; border-radius:50%; border:1px solid var(--hairline); color:rgb(var(--c-bone)); display:inline-flex; align-items:center; justify-content:center; transition:border-color .3s ease, color .3s ease, opacity .3s ease; }
.bn-nav button:hover:not(:disabled){ border-color:var(--gold); color:var(--gold); }
.bn-nav button:disabled{ opacity:.3; cursor:default; }

/* =================== mobile menu v2 =================== */
@media (max-width:1023px){
  body.menu-open #site-header{ background:rgb(var(--c-ink)) !important; backdrop-filter:none; }
  body.menu-open.has-hero #site-header .site-logo{ filter:brightness(0) invert(1) !important; }
  html.light body.menu-open.has-hero #site-header .site-logo{ filter:none !important; }
  html.light body.menu-open.has-hero #site-header .burger-line{ background:rgb(var(--c-bone)) !important; }
  body.menu-open #site-header .border-white\/\[0\.07\]{ border-color:var(--hairline) !important; }
  #mobile-menu{
    top:80px !important; height:calc(100vh - 80px); height:calc(100dvh - 80px);
    background:rgb(var(--c-ink)); overflow-y:auto; overscroll-behavior:contain;
    transform:translateY(-8px); transition:opacity .35s ease, transform .45s cubic-bezier(.22,.61,.36,1) !important;
  }
  #mobile-menu.is-open{ transform:none; }
  #mobile-menu::before{ content:''; position:absolute; top:-120px; right:-80px; width:340px; height:340px; pointer-events:none;
    background:radial-gradient(closest-side, rgba(var(--c-gold) / .10), transparent 70%); }
  #mobile-menu nav{ position:relative; min-height:100%; display:flex; flex-direction:column; padding:12px 24px calc(24px + env(safe-area-inset-bottom)) !important; }
  #mobile-menu nav > a.font-display, #mobile-menu .mm-row > a.font-display{
    display:flex !important; align-items:baseline; gap:16px;
    padding:18px 0 !important; font-size:26px !important; line-height:1.15; font-weight:600; letter-spacing:-.02em;
    border-bottom:1px solid var(--hairline) !important; color:rgb(var(--c-bone));
  }
  #mobile-menu .mm-row > a.font-display{ border-bottom:0 !important; }
  #mobile-menu .mm-row{ border-bottom:1px solid var(--hairline); }
  .mm-num{ flex:0 0 26px; font-family:Manrope,"Mark GEO",system-ui,sans-serif; font-size:12px; font-weight:500; letter-spacing:.12em; color:rgba(var(--c-gold) / .8); transform:translateY(-3px); }
  #mobile-menu a.is-current{ color:var(--gold) !important; }
  #mobile-menu a.is-current .mm-num{ color:var(--gold); }
  .mm-toggle{ width:48px; }
  .mm-sub a{ padding-left:42px !important; min-height:46px; font-size:17px; color:rgb(var(--c-mute)); position:relative; }
  .mm-sub a::before{ content:''; position:absolute; left:28px; top:50%; width:5px; height:1px; background:rgba(var(--c-gold) / .6); }
  .mm-sub a:active{ color:var(--gold); }
  .mm-foot{ margin-top:auto; padding-top:32px; display:flex; flex-direction:column; gap:14px; }
  .mm-cta{ width:100%; justify-content:center; min-height:54px; font-size:14px; margin:0 !important; }
  .mm-row2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .mm-pill{ display:inline-flex !important; align-items:center; justify-content:center; min-height:48px; padding:0 14px; margin:0 !important;
    border-radius:12px; border:1px solid rgba(var(--c-bone) / .16); font-size:13.5px; font-weight:500; color:rgb(var(--c-bone)); background:transparent; }
  .mm-contacts{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; padding-top:6px; }
  .mm-contacts a{ display:inline-flex; align-items:center; min-height:44px; font-size:13.5px; color:rgb(var(--c-mute)); }
  /* staggered entrance */
  #mobile-menu nav > a.font-display, #mobile-menu nav > .mm-row, #mobile-menu nav > .mm-foot{ opacity:0; transform:translateY(10px); transition:opacity .45s ease, transform .5s cubic-bezier(.22,.61,.36,1); }
  #mobile-menu.is-open nav > a.font-display, #mobile-menu.is-open nav > .mm-row, #mobile-menu.is-open nav > .mm-foot{ opacity:1; transform:none; }
  #mobile-menu.is-open nav > :nth-child(1){ transition-delay:.05s; }
  #mobile-menu.is-open nav > :nth-child(2){ transition-delay:.09s; }
  #mobile-menu.is-open nav > :nth-child(3){ transition-delay:.13s; }
  #mobile-menu.is-open nav > :nth-child(4){ transition-delay:.17s; }
  #mobile-menu.is-open nav > :nth-child(5){ transition-delay:.21s; }
  #mobile-menu.is-open nav > :nth-child(6){ transition-delay:.25s; }
  #mobile-menu.is-open nav > :nth-child(7){ transition-delay:.29s; }
  #mobile-menu.is-open nav > .mm-foot{ transition-delay:.3s; }
  body.menu-open #theme-toggle{ display:none !important; }
}
@media (max-width:767px){ #theme-toggle{ display:none !important; } }

@media (max-width:1023px){ #mobile-menu{ overflow-x:hidden; overflow-x:clip; } }
@media (min-width:768px) and (max-width:1023px){ #mobile-menu nav{ padding-left:40px !important; padding-right:40px !important; } }
