/* ==========================================================================
   HGM — before-the-fold.css (CRITICAL, render-blocking)
   Tokens, base, hero-entrance motion, topbar/drawer/menus, hero, cookie bar,
   accessibility widget + homepage (body.home) critical styles.
   Design-system rules are wrapped in :where(body:not(.home)) — zero added
   specificity, so subpage rendering is unchanged and the homepage is untouched.
   ========================================================================== */


/* ----- shared keyframes ----- */
@keyframes heroFade {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulse {
      50% {
        opacity: .35;
        transform: scale(.7);
      }
    }
@keyframes float {
  50% { transform: translateY(-8px); }
}
@keyframes barPulse {
  to { transform: scaleY(.65); transform-origin: bottom; }
}
@keyframes ringPulse {
  50% { transform: scale(1.08); opacity: .8; }
}
@keyframes menuIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
@keyframes preloaderIn {
      from {
        opacity: 0;
        transform: translateY(12px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
@keyframes preloaderBar {
      0% {
        width: 0;
      }

      100% {
        width: 100%;
      }
    }

/* ===== homepage shared.css file header ===== */
body.home [hidden] {
  display: none !important;
}

/* ===== foundation/tokens.css ===== */
:root {
  /* ── Color: surfaces ── */
  --ink: #070a13;            /* near-black, body text on light */
  --night: #0d1117;          /* dark section panels */
  --overlay: #03050a;        /* footer / deepest dark */
  --paper: #f5f1e8;          /* light canvas */
  --paper-warm: #fbfbf9;     /* raised light surface (chips) */

  /* ── Color: brand ── */
  --gold: #c9a96e;           /* metallic gold — display accent on dark surfaces */
  --gold-deep: #7a5f2a;      /* bronze gold — buttons, fills (white text) */
  --gold-hover: #d8bc82;     /* bright gold — CTA hover state */
  --gold-ink: #7a5f2a;       /* deep gold text on gold-tinted surfaces */
  --gold-soft: #f0e6cc;      /* champagne tint — light gold card background */
  --gold-soft-line: #e7ddc6;/* champagne border — light gold card border */
  --link-gold: #7a5f2a;      /* link/interactive gold on light surfaces */

  /* ── Color: text tiers ── */
  --muted: #59616b;          /* secondary body on light */
  --kicker-gray: #6c757d;    /* section kickers on light */
  --nav-link: #42484f;       /* topbar nav links */
  --card-meta: #68717a;      /* card numbers / meta on light */

  /* ── Color: lines & borders ── */
  --line: #e7ddc6;           /* hairline on light */
  --line-dark: rgba(255, 255, 255, .14);  /* hairline on dark */

  /* ── Color: on-dark text ── */
  --paper-dim: rgba(245,241,232, .78);
  --paper-faint: rgba(245,241,232, .62);
  --paper-ghost: rgba(245,241,232, .45);

  /* ── Color: on-gold-panel text (intel section) ── */
  --on-gold-deep: #6b4f10;
  --on-gold: #6e5212;
  --on-gold-label: #7d5f16;

  /* ── State ── */
  --focus: #7a5f2a;          /* focus ring with contrast on light surfaces */
  --focus-on-dark: #c9a96e;  /* focus ring on dark surfaces */

  /* ── Type ── */
  --mono: "DM Mono", monospace;
  --sans: "Manrope", Arial, sans-serif;

  /* ── Spacing ── */
  --gutter: clamp(24px, 5vw, 64px);
  --section-pad: 7vw;        /* vertical+horizontal desktop section padding */
  --section-pad-mobile: 18vw 7vw;

  /* ── Type scale: display headlines ── */
  --h-display-lg: clamp(52px, 8.2vw, 112px);
  --h-display-md: clamp(44px, 6.4vw, 90px);
  --h-display-sm: clamp(34px, 4.2vw, 64px);
  --tracking-display: -.08em;

  /* ── Labels (mono microcopy) ── */
  --label-size: 11px;
  --label-tracking: .12em;

  /* ── Shadows ── */
  --shadow-card: 0 2px 12px rgba(11, 14, 19, .06);
  --shadow-elevated: 0 8px 32px rgba(11, 14, 19, .1);
  --shadow-dark: 0 12px 40px rgba(0, 0, 0, .35);
  --shadow-cookie: 0 20px 56px rgba(0, 0, 0, .4);
  --shadow-panel: 0 18px 50px rgba(11, 14, 19, .28);

  /* ── Motion ── */
  --ease: cubic-bezier(.23, 1, .32, 1);
  --t-fast: .15s;
  --t-med: .2s;
  --t-slow: .35s;

  /* ── Radius ── */
  --radius-pill: 999px;
  --radius-card: 16px;

  /* ── Breakpoints (documented; media queries use literal px) ── */
  --bp-tablet: 1024px;
  --bp-sub: 900px;
  --bp-mobile: 760px;

  /* ── Z-index ── */
  --z-cookie: 20;
  --z-drawer: 40;
  --z-a11y-tab: 40;
  --z-mega: 50;
  --z-graph: 60;
  --z-a11y-panel: 70;
  --z-skip: 100;
}

/* ===== foundation/base.css ===== */
:where(body:not(.home)) * { box-sizing: border-box; }
:where(html:not(.home)) {
  scroll-behavior: smooth;
  background: var(--paper);
}
:where(body:not(.home)) {
  margin: 0;
  min-width: 320px;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
:where(body:not(.home).modal-open) { overflow: hidden; }
:where(body:not(.home)) a { color: inherit; text-decoration: none; }
:where(body:not(.home)) button, :where(body:not(.home)) input { font: inherit; }
:where(body:not(.home)) button, :where(body:not(.home)) a { -webkit-tap-highlight-color: transparent; }
:where(body:not(.home)) button { cursor: pointer; }
:where(body:not(.home)) img { max-width: 100%; height: auto; }
:where(body:not(.home)) ::selection { background: var(--gold); color: var(--ink); }
:where(body:not(.home)) button:focus-visible, :where(body:not(.home)) a:focus-visible, :where(body:not(.home)) input:focus-visible, :where(body:not(.home)) summary:focus-visible, :where(body:not(.home)) select:focus-visible, :where(body:not(.home)) textarea:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 4px;
}
:where(body:not(.home)) .skip-link {
  position: absolute;
  z-index: var(--z-skip);
  top: -100px;
  left: 12px;
  padding: 12px 18px;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: var(--label-tracking);
  text-transform: uppercase;
  transition: top var(--t-med) var(--ease);
}
:where(body:not(.home)) .skip-link:focus { top: 12px; }
:where(body:not(.home)) .site-shell { overflow: hidden; }
:where(body:not(.home)) #app[aria-live] { display: contents; }

/* ===== foundation/typography.css ===== */
:where(body:not(.home)) .eyebrow, :where(body:not(.home)) .section-kicker, :where(body:not(.home)) .section-index, :where(body:not(.home)) .card-label, :where(body:not(.home)) .intel-label, :where(body:not(.home)) .footer-heading, :where(body:not(.home)) .copyright, :where(body:not(.home)) .legal-links, :where(body:not(.home)) .socials {
  font-family: var(--mono);
  letter-spacing: var(--label-tracking);
  text-transform: uppercase;
}
:where(body:not(.home)) .eyebrow { margin: 0 0 29px; font-size: var(--label-size); }
:where(body:not(.home)) .section-kicker {
  margin: 0;
  color: var(--kicker-gray);
  font-size: var(--label-size);
  line-height: 1.3;
}
:where(body:not(.home)) .section-index {
  color: var(--kicker-gray);
  font-size: var(--label-size);
}
:where(body:not(.home)) .card-label, :where(body:not(.home)) .intel-label {
  margin: 0 0 22px;
  color: #a88a53;
  font-size: var(--label-size);
}
:where(body:not(.home)) .section-intro {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 6vw;
}
:where(body:not(.home)) .lede {
  max-width: 550px;
  margin: 32px 0 0;
  color: var(--muted);
  font-size: clamp(16px, 1.7vw, 21px);
  line-height: 1.42;
}
:where(body:not(.home)) h1 em, :where(body:not(.home)) h2 em {
  color: var(--gold);
  font-style: normal;
}
:where(body:not(.home)) h1 .serif-em, :where(body:not(.home)) h2 .serif-em {
  font-style: italic;
  font-weight: 400;
  color: var(--gold);
}
@media (max-width: 760px) {
:where(body:not(.home)) .section-intro { flex-direction: column; align-items: flex-start; gap: 8px; }
:where(body:not(.home)) .lede { margin-top: 24px; font-size: 15px; }
}

/* ===== foundation/buttons.css ===== */
:where(body:not(.home)) .menu-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 12px;
  padding: 11px 16px;
  background: var(--paper);
  color: #252a30;
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 5px 5px 12px rgba(11, 14, 19, .14),
              -5px -5px 12px rgba(255, 255, 255, .95);
  transition: box-shadow var(--t-med) var(--ease), transform var(--t-med) var(--ease);
}
:where(body:not(.home)) .menu-button:hover {
  box-shadow: 7px 7px 16px rgba(11, 14, 19, .16),
              -7px -7px 16px rgba(255, 255, 255, 1);
  transform: translateY(-1px);
}
:where(body:not(.home)) .menu-button:active {
  box-shadow: inset 4px 4px 10px rgba(11, 14, 19, .14),
              inset -4px -4px 10px rgba(255, 255, 255, .95);
  transform: translateY(0);
}
:where(body:not(.home)) .menu-bars { font-size: 13px; line-height: 1; }
:where(body:not(.home)) .menu-button[data-action="graph"] {
  border-radius: 0;
  background: var(--gold-deep);
  color: #fff;
  padding: 17px 30px;
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  box-shadow: 0 8px 22px rgba(124, 94, 28, .35);
}
:where(body:not(.home)) .menu-button[data-action="graph"]:hover {
  background: var(--gold-deep);
  transform: translateY(-2px);
  box-shadow: var(--shadow-elevated);
}
:where(body:not(.home)) .menu-button[data-action="graph"]:active {
  transform: translateY(0);
  box-shadow: 0 4px 14px rgba(124, 94, 28, .3);
}
:where(body:not(.home)) .booking-button, :where(body:not(.home)) .hero-cta, :where(body:not(.home)) .dark-cta, :where(body:not(.home)) .light-cta, :where(body:not(.home)) .product-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 24px;
  font-size: 13px;
  font-weight: 700;
  transition: transform var(--t-fast) var(--ease),
              background var(--t-fast) var(--ease),
              color var(--t-fast) var(--ease),
              box-shadow var(--t-fast) var(--ease);
}
:where(body:not(.home)) .booking-button:hover, :where(body:not(.home)) .hero-cta:hover, :where(body:not(.home)) .dark-cta:hover, :where(body:not(.home)) .light-cta:hover, :where(body:not(.home)) .product-cta:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-elevated);
}
:where(body:not(.home)) .booking-button:hover { background: var(--gold-hover); }
:where(body:not(.home)) .hero-cta:hover { background: var(--gold-hover); }
:where(body:not(.home)) .light-cta:hover, :where(body:not(.home)) .product-cta:hover { background: var(--gold-hover); }
:where(body:not(.home)) .booking-button { background: var(--gold-deep); color: #fff; padding: 17px 30px; font-size: 14px; box-shadow: 0 8px 22px rgba(124, 94, 28, .35); }
:where(body:not(.home)) .booking-button [aria-hidden="true"] { display: inline-block; transition: transform var(--t-fast) var(--ease); }
:where(body:not(.home)) .booking-button:hover [aria-hidden="true"] { transform: translate(3px, -3px); }
:where(body:not(.home)) .hero-cta { background: var(--gold); color: #070a13; box-shadow: 0 8px 26px rgba(201,169,110, .35); }
:where(body:not(.home)) .dark-cta { margin-top: 34px; background: var(--ink); color: var(--paper); }
:where(body:not(.home)) .light-cta { color: var(--ink); background: var(--gold); }
:where(body:not(.home)) .product-cta { margin-top: 34px; background: var(--product-accent, var(--gold)); color: var(--ink); }
:where(body:not(.home)) .text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--paper-dim);
  font-family: var(--mono);
  font-size: var(--label-size);
  letter-spacing: var(--label-tracking);
  text-transform: uppercase;
}
:where(body:not(.home)) .text-link--light { color: var(--muted); }
:where(body:not(.home)) .modal-close {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: var(--label-tracking);
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity var(--t-fast) var(--ease);
}
:where(body:not(.home)) .modal-close:hover { opacity: .7; }
@media (max-width: 760px) {
:where(body:not(.home)) .booking-button { padding: 11px 16px; font-size: 12px; }
}

/* ===== foundation/theme.css ===== */
:where(body:not(.home)) [data-theme="dark"] {
  --ink: #f5f1e8;
  --night: #dfe3e6;
  --paper: #070a13;
  --muted: #a8aeb7;
  --gold: #c9a96e;
  --line: #262c34;
  --shadow-card: 0 2px 12px rgba(0,0,0,.45);
  --shadow-elevated: 0 8px 32px rgba(0,0,0,.55);
}
:where(body:not(.home)) [data-theme="dark"] .article-body p, :where(body:not(.home)) [data-theme="dark"] .article-body ul, :where(body:not(.home)) [data-theme="dark"] .article-body ol { color: #c9cfd6; }
:where(body:not(.home)) [data-theme="dark"] .article-body .pull { color: var(--ink); border-left-color: var(--gold); }
:where(body:not(.home)) [data-theme="dark"] .article-body blockquote { color: #c9cfd6; border-left-color: var(--gold); }
:where(body:not(.home)) [data-theme="dark"] .contact-form input, :where(body:not(.home)) [data-theme="dark"] .contact-form textarea, :where(body:not(.home)) [data-theme="dark"] .contact-form select { background: #0b1020; color: var(--ink); }
:where(body:not(.home)) [data-theme="dark"] .a11y-tab:hover { background: #161c25; }
:where(body:not(.home)) [data-theme="dark"] .a11y-switch { background: #2a313b; }
:where(body:not(.home)) [data-theme="dark"] .table-wrap table { background: #0b1020; }
:where(body:not(.home)) [data-theme="dark"] .table-wrap th { background: #1a212b; color: var(--ink); }
:where(body:not(.home)) [data-theme="dark"] .table-wrap td { border-color: var(--line); color: #c9cfd6; }
:where(body:not(.home)) [data-theme="dark"] pre { background: #0b1020; color: #dbe2ea; border-color: var(--line); }
:where(body:not(.home)) [data-theme="dark"] code { background: rgba(201,169,110,.12); }
:where(body:not(.home)) [data-theme="dark"] .a11y-seg button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
:where(html:not(.home).a11y-contrast[data-theme="dark"]) { --muted: #c9cfd6; }
:where(body:not(.home)) [data-theme="dark"] .timeline-phase {
  background: #0b1020;
}

/* ===== components/mobile-drawer/mobile-drawer.css ===== */
:where(body:not(.home)) .mobile-drawer {
  position: fixed;
  z-index: var(--z-drawer);
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--ink);
  color: var(--paper);
  transform: translateX(-100%);
  transition: transform var(--t-slow) var(--ease);
  overflow-y: auto;
}
:where(body:not(.home)) .mobile-drawer.open { transform: translateX(0); }
:where(body:not(.home)) .mobile-drawer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 7vw;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
:where(body:not(.home)) .mobile-drawer__close {
  border: 0;
  background: transparent;
  color: var(--paper);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: var(--label-tracking);
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity var(--t-fast) var(--ease);
}
:where(body:not(.home)) .mobile-drawer__close:hover { opacity: .65; }
:where(body:not(.home)) .mobile-drawer nav {
  display: flex;
  flex-direction: column;
  padding: 32px 7vw;
}
:where(body:not(.home)) .mobile-drawer nav a, :where(body:not(.home)) .mobile-drawer nav button {
  border: 0;
  padding: 18px 0;
  background: transparent;
  color: rgba(245,241,232, .78);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.04em;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  transition: color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
:where(body:not(.home)) .mobile-drawer nav a:hover, :where(body:not(.home)) .mobile-drawer nav button:hover {
  color: var(--gold);
  transform: translateX(7px);
}
:where(body:not(.home)) .mobile-drawer__cta {
  margin: auto 7vw 7vw;
  padding: 18px;
  background: var(--gold-deep);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: var(--label-tracking);
  box-shadow: 0 8px 22px rgba(124, 94, 28, .35);
}

/* ===== components/mega-menu/mega-menu.css ===== */
:where(body:not(.home)) .mega-menu {
  position: fixed;
  inset: 0;
  z-index: var(--z-mega);
  display: flex;
  flex-direction: column;
  padding: 34px 6vw 7vw;
  background: var(--ink);
  color: var(--paper);
  animation: fadeIn .18s var(--ease) both;
}
:where(body:not(.home)) .mega-menu__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}
:where(body:not(.home)) .mega-menu__top .section-kicker { color: var(--gold); }
:where(body:not(.home)) .mega-menu__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5vw;
  padding-top: 9vw;
}
:where(body:not(.home)) .mega-menu__heading {
  margin: 0 0 22px;
  color: var(--gold);
  font-family: var(--mono);
  font-size: var(--label-size);
  letter-spacing: .14em;
  text-transform: uppercase;
}
:where(body:not(.home)) .mega-menu__grid a {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .13);
  color: rgba(245,241,232, .8);
  font-size: 16px;
  line-height: 1.5;
  transition: color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
:where(body:not(.home)) .mega-menu__grid a:hover {
  transform: translateX(7px);
  color: var(--gold);
}
@media (max-width: 760px) {
:where(body:not(.home)) .mega-menu { padding: 25px 7vw 10vw; overflow-y: auto; }
:where(body:not(.home)) .mega-menu__grid { grid-template-columns: 1fr 1fr; gap: 42px 25px; padding-top: 16vw; }
:where(body:not(.home)) .mega-menu__grid a { font-size: 14px; }
}

/* ===== components/hero/hero.css ===== */
:where(body:not(.home)) .hero {
  position: relative;
  min-height: 100svh;
  height: 900px;
  max-height: 1000px;
  overflow: hidden;
  background: #07080b;
  color: var(--paper);
}
:where(body:not(.home)) .hero-image, :where(body:not(.home)) .hero-vignette, :where(body:not(.home)) .hero-grain {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
:where(body:not(.home)) .hero-image {
  z-index: 0;
  background: radial-gradient(120% 90% at 70% 10%, #3a2c12 0%, #141007 45%, #07080b 100%),
              radial-gradient(55% 40% at 18% 82%, rgba(201,169,110, .13), transparent 70%);
  overflow: hidden;
}
:where(body:not(.home)) .hero-image img {
  position: absolute;
  top: 50%;
  left: 70%;
  height: 70%;
  width: auto;
  transform: translate(-70%, -50%) scale(1.02);
}
:where(body:not(.home)) .hero-vignette {
  z-index: 1;
  background: linear-gradient(90deg, rgba(5, 9, 14, .7), transparent 75%),
              linear-gradient(0deg, rgba(4, 7, 11, .85), transparent 50%, rgba(3, 6, 10, .28));
}
:where(body:not(.home)) .hero-grain {
  z-index: 2;
  opacity: .08;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  mix-blend-mode: screen;
}
:where(body:not(.home)) .hero-copy {
  position: absolute;
  z-index: 4;
  left: 7vw;
  top: 49%;
  width: min(930px, 86vw);
  transform: translateY(-50%);
}
:where(body:not(.home)) .hero-copy .eyebrow { color: var(--gold); }
:where(body:not(.home)) .hero-copy h1 {
  margin: 0;
  max-width: 930px;
  color: var(--paper);
  font-size: var(--h-display-lg);
  line-height: .9;
  letter-spacing: var(--tracking-display);
  font-weight: 700;
}
:where(body:not(.home)) .hero-tagline {
  max-width: 480px;
  margin: 32px 0 0;
  color: var(--paper-dim);
  font-size: clamp(15px, 1.7vw, 20px);
  line-height: 1.4;
}
:where(body:not(.home)) .hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 22px 0 0;
  color: var(--paper-faint);
  font-family: var(--mono);
  font-size: var(--label-size);
  letter-spacing: var(--label-tracking);
  text-transform: uppercase;
}
:where(body:not(.home)) .hero-proof span { display: inline-flex; align-items: center; gap: 7px; }
:where(body:not(.home)) .hero-proof span::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--gold);
  border-radius: 50%;
}
:where(body:not(.home)) .hero-actions {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 35px;
}
:where(body:not(.home)) .scroll-cue {
  position: absolute;
  z-index: 4;
  left: 7vw;
  bottom: 34px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--paper-faint);
  font-family: var(--mono);
  font-size: var(--label-size);
  letter-spacing: var(--label-tracking);
  text-transform: uppercase;
}
:where(body:not(.home)) .scroll-cue span:last-child { color: var(--gold); font-size: 15px; }
@media (max-width: 760px) {
:where(body:not(.home)) .hero { height: 850px; }
:where(body:not(.home)) .hero-copy { top: 47%; left: 7vw; transform: translateY(-18%); }
:where(body:not(.home)) .hero-copy h1 { font-size: clamp(42px, 13vw, 70px); }
:where(body:not(.home)) .hero-tagline { max-width: 315px; margin-top: 24px; font-size: 14px; }
:where(body:not(.home)) .hero-proof { font-size: 11px; }
:where(body:not(.home)) .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 28px; }
:where(body:not(.home)) .scroll-cue { left: 7vw; bottom: 26px; }
}

/* ===== components/cookie-bar/cookie-bar.css ===== */
:where(body:not(.home)) .cookie-bar {
  position: fixed;
  z-index: var(--z-cookie);
  bottom: 24px;
  left: 50%;
  width: min(620px, calc(100% - 48px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 22px 28px;
  transform: translateX(-50%);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-card);
  background: rgba(10, 14, 21, .94);
  color: var(--paper-dim);
  font-size: 13px;
  line-height: 1.6;
  backdrop-filter: blur(16px);
  box-shadow: var(--shadow-cookie);
}
:where(body:not(.home)) .cookie-bar p { margin: 0; }
:where(body:not(.home)) .cookie-label {
  margin: 0 0 6px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--paper-faint);
}
:where(body:not(.home)) .cookie-bar a {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 2px;
}
:where(body:not(.home)) .cookie-bar button {
  border: 0;
  border-radius: var(--radius-pill);
  padding: 13px 26px;
  background: var(--gold-deep);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
:where(body:not(.home)) .cookie-bar button:hover {
  background: var(--gold-hover);
  transform: translateY(-1px);
}
@media (max-width: 760px) {
:where(body:not(.home)) .cookie-bar {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 20px;
    bottom: 16px;
  }
:where(body:not(.home)) .cookie-bar button { width: 100%; text-align: center; }
}
:where(body:not(.home)) .cookie-copy { display: grid; gap: 6px; }
:where(body:not(.home)) .cookie-copy .cookie-label { margin: 0; }
:where(body:not(.home)) .cookie-copy p { margin: 0; }

/* ===== components/a11y/a11y.css ===== */
:where(body:not(.home)) .a11y-tab { position: fixed; z-index: var(--z-a11y-tab); right: 0; top: 50%; transform: translateY(-50%); display: flex; align-items: center; gap: 12px; height: 158px; padding: 14px; background: var(--paper); color: var(--ink); border: 1px solid var(--line); border-right: 0; writing-mode: vertical-rl; font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
:where(body:not(.home)) .a11y-tab:hover { background: #ffffff; }
:where(body:not(.home)) .a11y-tab__icon { writing-mode: horizontal-tb; display: inline-flex; line-height: 0; }
:where(body:not(.home)) .a11y-tab i { width: 1px; height: 30px; background: #c8cbc8; }
@media (max-width: 760px) {
:where(body:not(.home)) .a11y-tab { transform: translateY(-50%) scale(.85); transform-origin: right center; }
}
:where(body:not(.home)) .a11y-panel { position: fixed; z-index: var(--z-a11y-panel); right: 16px; top: 50%; transform: translateY(-50%); width: 280px; padding: 20px; background: var(--paper); color: var(--ink); border: 1px solid var(--line); box-shadow: 0 18px 50px rgba(11,14,19,.28); }
:where(body:not(.home)) .a11y-panel[hidden] { display: none; }
:where(body:not(.home)) .a11y-panel__head { display: flex; align-items: center; justify-content: space-between; margin: 0; padding-bottom: 14px; }
:where(body:not(.home)) .a11y-panel__head .footer-heading { margin: 0; }
:where(body:not(.home)) .a11y-panel__head .modal-close { color: var(--ink); }
:where(body:not(.home)) .a11y-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 8px 0; border-top: 1px solid var(--line); font-size: 14px; font-weight: 600; }
:where(body:not(.home)) .a11y-seg { display: flex; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; }
:where(body:not(.home)) .a11y-seg button { border: 0; background: transparent; padding: 8px 12px; font-size: 11px; font-weight: 700; color: var(--muted); font-family: var(--mono); cursor: pointer; }
:where(body:not(.home)) .a11y-seg button + button { border-left: 1px solid var(--line); }
:where(body:not(.home)) .a11y-seg button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
:where(body:not(.home)) .a11y-switch { position: relative; flex: none; width: 44px; height: 24px; border: 1px solid var(--line); border-radius: 999px; background: #e2e4e1; padding: 0; cursor: pointer; }
:where(body:not(.home)) .a11y-switch i { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.3); transition: left .18s var(--ease); }
:where(body:not(.home)) .a11y-switch.is-on { background: var(--gold-deep); border-color: var(--gold-deep); }
:where(body:not(.home)) .a11y-switch.is-on i { left: 22px; }
:where(body:not(.home)) .a11y-reset { width: 100%; margin: 16px 0 0; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink); padding: 11px; font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
:where(body:not(.home)) .a11y-reset:hover { background: var(--ink); color: var(--paper); }
:where(html:not(.home).a11y-text-large) { zoom: 1.12; }
:where(html:not(.home).a11y-text-larger) { zoom: 1.25; }
:where(html:not(.home).a11y-contrast) { --muted: #2f353c; }
:where(html:not(.home).a11y-contrast) .footer-brand p, :where(html:not(.home).a11y-contrast) .footer-caption { color: rgba(245,241,232,.94); }
:where(html:not(.home).a11y-contrast) .footer-links a { color: rgba(245,241,232,.88); }
:where(html:not(.home).a11y-contrast) .service-card p { color: #3a4149; }
:where(html:not(.home).a11y-underline-links) a { text-decoration: underline !important; text-underline-offset: 3px; }
:where(html:not(.home).a11y-reduce-motion) *, :where(html:not(.home).a11y-reduce-motion) *::before, :where(html:not(.home).a11y-reduce-motion) *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
@media (max-width: 760px) {
:where(body:not(.home)) .a11y-panel { left: 12px; right: 12px; top: auto; bottom: 12px; transform: none; width: auto; }
}
:where(body:not(.home)) .a11y-theme { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 8px 0; border-top: 1px solid var(--line); }
:where(body:not(.home)) .a11y-theme-label { font-size: 14px; font-weight: 600; }

/* ===== components/motion/motion.css (hero entrance) ===== */
:where(body:not(.home)) .hero-copy > * {
  opacity: 0;
  animation: heroFade .9s var(--ease) forwards;
}
:where(body:not(.home)) .hero-copy .eyebrow { animation-delay: .2s; }
:where(body:not(.home)) .hero-copy h1 { animation-delay: .4s; }
:where(body:not(.home)) .hero-copy .hero-tagline, :where(body:not(.home)) .hero-copy .hero-proof { animation-delay: .6s; }
:where(body:not(.home)) .hero-copy .hero-actions { animation-delay: .8s; }
@media (prefers-reduced-motion: reduce) {
:where(body:not(.home)) *, :where(body:not(.home)) *::before, :where(body:not(.home)) *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ===== homepage (shared.css): Design tokens ===== */
body.home {
      --ink: #070a13;
      --night: #03050a;
      --paper: #f9f9f7;
      --muted: #5b6068;
      --gold: #c9a96e;
      --gold-deep: #a88a53;
      --gold-text: #7a5f2a;
      --line: #e2e2dd;
      --mono: "DM Mono", monospace;
      --sans: "Manrope", Arial, sans-serif;
      --ease: cubic-bezier(.23, 1, .32, 1);
      --shadow-card: 0 4px 24px rgba(0, 0, 0, .04);
      --shadow-elevated: 0 12px 40px rgba(0, 0, 0, .15);
      --track-display: -.045em;
      --track-title: -.02em;
      --radius: 8px;
      --radius-lg: 20px;
      --radius-pill: 100px;
      --pad-y: clamp(80px, 10vw, 160px);
      --fs-micro: 11px;
      --gold-soft: rgba(201, 169, 110, .35);
      --gold-glow: rgba(201, 169, 110, .18);
      --night-elev: #0c111b;
      --night-soft: #151a28;
    }

/* ===== homepage (shared.css): Reset / base ===== */
body.home * {
      box-sizing: border-box;
    }
html.home {
      scroll-behavior: smooth;
      background: var(--paper);
    }
body.home {
      margin: 0;
      min-width: 320px;
      background: var(--paper);
      color: var(--ink);
      font-family: var(--sans);
      font-size: 17px;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
body.home.modal-open {
      overflow: hidden;
    }
body.home a {
      color: inherit;
      text-decoration: none;
    }
body.home button, body.home input, body.home textarea, body.home select {
      font: inherit;
    }
body.home button, body.home a {
      -webkit-tap-highlight-color: transparent;
    }
body.home button {
      cursor: pointer;
    }
body.home ::selection {
      background: var(--gold);
      color: var(--night);
    }
body.home img {
      max-width: 100%;
      height: auto;
    }

/* ===== homepage (shared.css): Focus rings ===== */
body.home button:focus-visible, body.home a:focus-visible, body.home input:focus-visible, body.home textarea:focus-visible, body.home select:focus-visible, body.home summary:focus-visible {
      outline: 2px solid var(--gold-text);
      outline-offset: 4px;
    }
body.home :is(.hero, .schema-section, .process-section, .proof-section, .contact-strip,
      .site-footer, .graph-menu, .cookie-bar, .beta-section) :focus-visible {
      outline-color: var(--gold);
    }

/* ===== homepage (shared.css): Mono utility (used above the fold) ===== */
body .section-kicker {
      font-family: var(--mono);
      letter-spacing: .15em;
      text-transform: uppercase;
    }
body .section-kicker {
      margin: 0;
      color: var(--gold-text);
      font-size: 11px;
      line-height: 1.3;
      font-weight: 500;
    }
body.home .site-shell {
      overflow: hidden;
    }
body .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

/* ===== homepage (shared.css): Skip link ===== */
body .skip-link {
      position: absolute;
      z-index: 100;
      top: -100px;
      left: 12px;
      padding: 12px 18px;
      background: var(--ink);
      color: var(--paper);
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: .1em;
      text-transform: uppercase;
      transition: top .2s var(--ease);
    }
body .skip-link:focus {
      top: 12px;
      outline: 2px solid var(--gold);
      outline-offset: 2px;
    }

/* ===== homepage (shared.css): TOPBAR ===== */
body .topbar {
      position: absolute;
      z-index: 10;
      top: 24px;
      left: 50%;
      transform: translateX(-50%);
      width: calc(100% - 48px);
      max-width: 1400px;
      height: 64px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 24px 0 32px;
      background: rgba(7, 10, 19, 0.45);
      border: 1px solid rgba(255, 255, 255, 0.08);
      color: var(--paper);
      border-radius: var(--radius-pill);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
    }
body .wordmark {
      display: inline-flex;
      align-items: center;
      gap: 2px;
      flex: none;
      font-weight: 400;
      font-size: 16px;
      letter-spacing: .25em;
    }
body .wordmark__img {
      display: block;
      width: auto;
      height: 28px;
    }
body .wordmark span {
      color: var(--gold);
    }
body .desktop-nav {
      display: flex;
      align-items: center;
      gap: 36px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
    }
body .desktop-nav a, body .desktop-nav button {
      border: 0;
      padding: 0;
      background: transparent;
      color: rgba(255, 255, 255, 0.65);
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .15em;
      text-transform: uppercase;
      transition: color .2s var(--ease), text-shadow .2s var(--ease);
    }
body .desktop-nav a:hover {
      color: #ffffff;
      text-shadow: 0 0 12px rgba(255, 255, 255, 0.3);
    }
body .desktop-nav button {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
body .desktop-nav small {
      color: var(--gold);
      font-size: 11px;
      margin-left: 2px;
    }
body .nav-actions {
      display: flex;
      align-items: center;
      gap: 16px;
    }
body .menu-button {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      border: 1px solid rgba(255, 255, 255, 0.15);
      border-radius: var(--radius-pill);
      padding: 10px 20px;
      background: transparent;
      color: #fff;
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .15em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background .3s var(--ease), border-color .3s var(--ease);
    }
body .menu-button:hover {
      background: rgba(255, 255, 255, 0.05);
      border-color: rgba(255, 255, 255, 0.3);
    }
body .menu-bars {
      font-size: 14px;
      line-height: 1;
    }

/* ===== homepage (shared.css): Buttons used in hero + topbar ===== */
body.home .booking-button, body.home .hero-cta, body.home .dark-cta, body.home .light-cta, body.home .product-cta, body.home .cookie-bar button {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 14px 24px;
      font-family: var(--mono);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: .1em;
      text-transform: uppercase;
      border-radius: var(--radius-pill);
      transition: transform .3s var(--ease), background .3s var(--ease),
        color .3s var(--ease), box-shadow .3s var(--ease);
    }
body .booking-button {
      background: var(--gold);
      color: var(--night);
    }
body.home .hero-cta {
      background: var(--gold);
      color: var(--night);
    }
body.home .dark-cta {
      margin-top: 34px;
      background: var(--ink);
      color: var(--gold);
      border: 1px solid var(--ink);
      cursor: pointer;
    }
body.home .light-cta {
      color: var(--night);
      background: var(--gold);
    }
body.home .product-cta {
      background: var(--gold);
      color: var(--night);
    }
body.home .booking-button:hover, body.home .hero-cta:hover, body.home .light-cta:hover, body.home .product-cta:hover {
      background: #dfc28b;
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(201, 169, 110, 0.25);
    }
body.home .dark-cta:hover {
      background: transparent;
      color: var(--ink);
    }
body.home .text-link {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .5);
      transition: color .2s var(--ease);
    }
body.home .text-link:hover {
      color: var(--gold);
    }

/* ===== homepage (shared.css): HERO — above the fold ===== */
body.home .hero {
      position: relative;
      min-height: 100svh;
      height: 1000px;
      max-height: 1100px;
      overflow: hidden;
      background: var(--night);
      color: var(--paper);
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 180px 7vw 80px;
      isolation: isolate;
    }
body.home .hero::before {
      content: "";
      position: absolute;
      z-index: 0;
      left: -20%;
      top: 30%;
      width: 60vw;
      height: 60vw;
      max-width: 900px;
      max-height: 900px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(201, 169, 110, .12) 0%, transparent 65%);
      pointer-events: none;
      animation: glowDrift 14s ease-in-out infinite alternate;
    }
body.home .hero-cta--secondary {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 14px 24px;
      background: transparent;
      color: var(--paper);
      border: 1px solid rgba(255, 255, 255, .2);
      border-radius: var(--radius-pill);
      font-family: var(--mono);
      font-size: 11px;
      font-weight: 500;
      letter-spacing: .1em;
      text-transform: uppercase;
      transition: border-color .3s var(--ease), background .3s var(--ease);
    }
body.home .hero-cta--secondary:hover {
      border-color: var(--gold);
      background: rgba(201, 169, 110, .06);
    }
body.home .beta-head .section-kicker { color: var(--gold); }

/* ===== homepage (shared.css): ABOVE-THE-FOLD RESPONSIVE ===== */
@media (max-width: 1024px) {
body .topbar {
        width: calc(100% - 32px);
        top: 16px;
      }
body.home .hero {
        padding: 160px 7vw 80px;
      }
}
@media (max-width: 760px) {
body .topbar {
        top: 12px;
        height: 56px;
        padding: 0 16px 0 20px;
      }
body .desktop-nav {
        display: none;
      }
body .booking-button {
        padding: 10px 16px;
      }
body .menu-button {
        padding: 10px 16px;
      }
body.home .hero {
        height: 900px;
        padding: 130px 7vw 80px;
      }
body.home .hero-cta, body.home .hero-cta--secondary {
        justify-content: center;
        width: 100%;
      }
}

/* ===== homepage (shared.css): Global reduced-motion override ===== */
@media (prefers-reduced-motion: reduce) {
body.home *, body.home *::before, body.home *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }
}

/* ===== homepage (shared.css): FULLSCREEN MENU OVERLAY ===== */
body .graph-menu {
      position: fixed;
      inset: 0;
      z-index: 180;
      display: flex;
      flex-direction: column;
      background: var(--night);
      color: var(--paper);
      overflow-y: auto;
      overscroll-behavior: contain;
      animation: menuIn .35s var(--ease);
    }
body .graph-menu__close {
      position: fixed;
      top: 28px;
      right: 32px;
      z-index: 2;
      width: 52px;
      height: 52px;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, .2);
      background: rgba(3, 5, 10, .6);
      backdrop-filter: blur(8px);
      color: #fff;
      font-size: 18px;
      line-height: 1;
      transition: border-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
    }
body .graph-menu__close:hover {
      border-color: var(--gold);
      color: var(--gold);
      transform: rotate(90deg);
    }
body .graph-menu__inner {
      width: 100%;
      max-width: 1400px;
      margin: 0 auto;
      padding: 120px 7vw 7vw;
      display: flex;
      flex-direction: column;
      gap: 56px;
    }
body .graph-menu__top {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 32px;
      padding-bottom: 40px;
      border-bottom: 1px solid rgba(255, 255, 255, .08);
    }
body .graph-menu__brand {
      font-size: clamp(40px, 5vw, 64px);
      font-weight: 300;
      letter-spacing: .2em;
      line-height: 1;
    }
body .graph-menu__brand span {
      color: var(--gold);
      font-size: .45em;
      vertical-align: super;
      letter-spacing: 0;
    }
body .graph-menu__contact {
      text-align: right;
      flex: none;
    }
body .graph-menu__contact .section-kicker {
      margin-bottom: 14px;
    }
body .graph-menu__contact > a {
      color: rgba(255, 255, 255, .85);
      font-size: 15px;
      transition: color .2s var(--ease);
    }
body .graph-menu__contact > a:hover {
      color: var(--gold);
    }
body .graph-menu__address {
      margin: 12px 0 0;
      color: rgba(255, 255, 255, .45);
      font-size: 13px;
      line-height: 1.6;
      font-weight: 300;
    }
body .graph-menu__nav {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 12px;
    }
body .graph-menu__card {
      display: flex;
      flex-direction: column;
      gap: 14px;
      padding: 30px 26px;
      min-height: 220px;
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, .02);
      transition: transform .35s var(--ease), border-color .35s var(--ease), background .35s var(--ease);
    }
body .graph-menu__card:hover {
      transform: translateY(-4px);
      border-color: rgba(201, 169, 110, .55);
      background: rgba(201, 169, 110, .05);
    }
body .graph-menu__num {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .15em;
      color: var(--gold);
      font-weight: 500;
    }
body .graph-menu__label {
      font-size: 23px;
      font-weight: 400;
      letter-spacing: var(--track-title);
    }
body .graph-menu__desc {
      margin: 0;
      font-size: 13px;
      line-height: 1.6;
      color: rgba(255, 255, 255, .55);
      font-weight: 300;
    }
body .graph-menu__footer {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 24px;
      flex-wrap: wrap;
      padding-top: 36px;
      border-top: 1px solid rgba(255, 255, 255, .08);
    }
body .graph-menu__socials {
      display: flex;
      gap: 26px;
      flex-wrap: wrap;
    }
body .graph-menu__socials a {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .55);
      transition: color .2s var(--ease);
    }
body .graph-menu__socials a:hover {
      color: var(--gold);
    }
body.home .contact-copy .section-kicker {
      margin-bottom: 22px;
    }

/* ===== homepage (shared.css): COOKIE BAR ===== */
body.home .cookie-bar {
      position: fixed;
      z-index: 170;
      bottom: 24px;
      left: 50%;
      transform: translate(-50%, 16px);
      width: min(700px, calc(100vw - 32px));
      display: flex;
      align-items: center;
      gap: 22px;
      padding: 20px 24px;
      background: rgba(12, 17, 27, .97);
      border: 1px solid rgba(201, 169, 110, .35);
      border-radius: 16px;
      box-shadow: 0 24px 60px rgba(0, 0, 0, .5);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      opacity: 0;
      pointer-events: none;
      transition: opacity .4s var(--ease), transform .4s var(--ease);
    }
body.home .cookie-bar.is-visible {
      opacity: 1;
      pointer-events: auto;
      transform: translate(-50%, 0);
    }
body.home .cookie-bar p {
      margin: 0;
      font-size: 13px;
      line-height: 1.6;
      color: rgba(255, 255, 255, .68);
      font-weight: 300;
    }
body.home .cookie-bar p strong {
      color: var(--paper);
      font-weight: 500;
    }
body.home .cookie-bar__actions {
      display: flex;
      gap: 10px;
      flex: none;
    }
body.home .cookie-bar button {
      padding: 11px 22px;
    }
body.home .cookie-bar [data-choice="accepted"] {
      background: var(--gold);
      border: 1px solid var(--gold);
      color: var(--night);
    }
body.home .cookie-bar [data-choice="accepted"]:hover {
      background: #dfc28b;
      border-color: #dfc28b;
      transform: translateY(-1px);
    }
body.home .cookie-bar [data-choice="declined"] {
      background: transparent;
      border: 1px solid rgba(255, 255, 255, .22);
      color: rgba(255, 255, 255, .7);
    }
body.home .cookie-bar [data-choice="declined"]:hover {
      border-color: var(--gold);
      color: var(--gold);
    }

/* ===== homepage (shared.css): ACCESSIBILITY WIDGET ===== */
body.home .a11y-tab {
      position: fixed;
      z-index: 160;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 12px;
      background: var(--night);
      color: var(--paper);
      border: 1px solid rgba(201, 169, 110, .45);
      border-right: 0;
      border-radius: 10px 0 0 10px;
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .12em;
      text-transform: uppercase;
      box-shadow: -4px 0 20px rgba(0, 0, 0, .35);
      transition: background .25s var(--ease), padding .25s var(--ease);
    }
body.home .a11y-tab:hover {
      background: #0c111b;
      padding-right: 18px;
    }
body.home .a11y-tab__icon {
      display: inline-flex;
      color: var(--gold);
    }
body.home .a11y-panel {
      position: fixed;
      z-index: 175;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
      width: min(320px, calc(100vw - 32px));
      padding: 24px;
      background: #0c111b;
      color: var(--paper);
      border: 1px solid rgba(201, 169, 110, .35);
      border-radius: 16px;
      box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
      display: flex;
      flex-direction: column;
      gap: 18px;
    }
body.home .a11y-panel__head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-bottom: 14px;
      border-bottom: 1px solid rgba(255, 255, 255, .08);
    }
body.home .a11y-panel__head .footer-heading {
      margin: 0;
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: var(--gold);
      font-weight: 500;
    }
body.home .a11y-panel__head .modal-close {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: transparent;
      border: 1px solid rgba(255, 255, 255, .18);
      border-radius: var(--radius-pill);
      padding: 7px 14px;
      color: rgba(255, 255, 255, .7);
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
body.home .a11y-panel__head .modal-close:hover {
      border-color: var(--gold);
      color: var(--gold);
    }
body.home .a11y-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      font-size: 13px;
      color: rgba(255, 255, 255, .75);
    }
body.home .a11y-seg {
      display: inline-flex;
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: var(--radius-pill);
      overflow: hidden;
    }
body.home .a11y-seg button {
      background: transparent;
      border: 0;
      padding: 8px 14px;
      color: rgba(255, 255, 255, .6);
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .08em;
    }
body.home .a11y-seg button + button {
      border-left: 1px solid rgba(255, 255, 255, .14);
    }
body.home .a11y-seg button[aria-pressed="true"] {
      background: var(--gold);
      color: var(--night);
      font-weight: 500;
    }
body.home .a11y-switch {
      position: relative;
      width: 44px;
      height: 24px;
      border-radius: var(--radius-pill);
      border: 1px solid rgba(255, 255, 255, .2);
      background: rgba(255, 255, 255, .06);
      transition: background .25s var(--ease), border-color .25s var(--ease);
      flex: none;
    }
body.home .a11y-switch i {
      position: absolute;
      top: 2px;
      left: 2px;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .7);
      transition: transform .25s var(--ease), background .25s var(--ease);
    }
body.home .a11y-switch.is-on {
      background: rgba(201, 169, 110, .35);
      border-color: var(--gold);
    }
body.home .a11y-switch.is-on i {
      transform: translateX(20px);
      background: var(--gold);
    }
body.home .a11y-reset {
      margin-top: 4px;
      background: transparent;
      border: 1px solid rgba(255, 255, 255, .18);
      border-radius: var(--radius-pill);
      padding: 10px 18px;
      color: rgba(255, 255, 255, .7);
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
body.home .a11y-reset:hover {
      border-color: var(--gold);
      color: var(--gold);
    }
body.home .a11y-text-large { font-size: 112.5%; }
body.home .a11y-text-larger { font-size: 125%; }
body.home .a11y-underline-links a { text-decoration: underline !important; }
body.home .a11y-reduce-motion *, body.home .a11y-reduce-motion *::before, body.home .a11y-reduce-motion *::after {
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: .01ms !important;
    }

/* ===== homepage (inline <style>): critical ===== */
body.home .preloader, body.home .scroll-progress {display:none!important}
body.home .preloader {
      position: fixed;
      inset: 0;
      z-index: 200;
      display: grid;
      place-items: center;
      background: var(--night);
      color: var(--paper);
      transition: opacity .6s var(--ease), visibility .6s var(--ease);
    }
body.home .preloader.is-done {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }
body.home .preloader__inner {
      display: grid;
      gap: 20px;
      text-align: center;
    }
body.home .preloader__word {
      font-family: var(--sans);
      font-size: clamp(48px, 8vw, 96px);
      font-weight: 300;
      letter-spacing: .25em;
      color: var(--gold);
      opacity: 0;
      animation: preloaderIn 1s var(--ease) forwards;
    }
body.home .preloader__bar {
      width: 200px;
      height: 1px;
      background: rgba(201, 169, 110, .2);
      margin: 0 auto;
      overflow: hidden;
    }
body.home .preloader__bar i {
      display: block;
      height: 100%;
      width: 0;
      background: var(--gold);
      animation: preloaderBar 1.4s var(--ease) forwards;
    }
body.home .preloader__label {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .5);
      opacity: 0;
      animation: preloaderIn 1s var(--ease) .3s forwards;
    }
body.home .hero-image, body.home .hero-vignette, body.home .hero-grain {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }
body.home .hero-image {
      z-index: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1.05);
      transition: transform 1.2s var(--ease);
      will-change: transform;
    }
body.home .hero:hover .hero-image {
      transform: scale(1.02);
    }
body.home .hero-vignette {
      z-index: 1;
      background: linear-gradient(90deg, rgba(3, 5, 10, .9), rgba(3, 5, 10, .45) 55%, transparent 85%),
        linear-gradient(0deg, rgba(3, 5, 10, .95), transparent 55%, rgba(3, 5, 10, .35));
    }
body.home .hero-grain {
      z-index: 2;
      opacity: .04;
      mix-blend-mode: screen;
    }
body.home .hero-copy {
      position: relative;
      z-index: 5;
      max-width: 900px;
    }
body.home .hero-copy h1 {
      margin: 0;
      color: var(--paper);
      font-size: clamp(52px, 7.6vw, 112px);
      line-height: .94;
      letter-spacing: var(--track-display);
      font-weight: 300;
    }
body.home .hero-copy h1 em {
      color: var(--gold);
      font-style: normal;
      font-weight: 500;
      position: relative;
      display: inline-block;
    }
body.home .hero-copy h1 em::after {
      content: "";
      position: absolute;
      inset: -6% -4%;
      background: radial-gradient(circle, rgba(201, 169, 110, .2) 0%, transparent 70%);
      z-index: -1;
      pointer-events: none;
      filter: blur(12px);
    }
body.home .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 32px;
      padding: 10px 18px;
      background: rgba(201, 169, 110, .06);
      border: 1px solid rgba(201, 169, 110, .22);
      border-radius: var(--radius-pill);
      color: rgba(255, 255, 255, .8);
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
body.home .hero-badge i {
      width: 6px;
      height: 6px;
      background: var(--gold);
      border-radius: 50%;
      box-shadow: 0 0 10px var(--gold);
      animation: pulse 1.8s infinite;
      flex: none;
    }
body.home .hero-tagline {
      max-width: 620px;
      margin: 36px 0 0;
      color: rgba(255, 255, 255, .65);
      font-size: clamp(16px, 1.7vw, 20px);
      line-height: 1.6;
      font-weight: 300;
    }
body.home .hero-proof {
      display: flex;
      flex-wrap: wrap;
      gap: 12px 32px;
      margin: 36px 0 0;
      color: rgba(255, 255, 255, .55);
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
body.home .hero-proof span {
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }
body.home .hero-proof span::before {
      content: "";
      width: 5px;
      height: 5px;
      background: var(--gold);
      border-radius: 50%;
      flex: none;
    }
body.home .hero-actions {
      display: flex;
      align-items: center;
      gap: 24px;
      margin-top: 48px;
      flex-wrap: wrap;
    }
body.home .hero-note {
      margin: 28px 0 0;
      color: rgba(255, 255, 255, .4);
      font-size: 13px;
      line-height: 1.6;
      font-weight: 300;
    }
body.home .hero-note strong {
      color: rgba(201, 169, 110, .9);
      font-weight: 500;
    }
body.home .hero-copy .hero-badge, body.home .hero-copy h1, body.home .hero-copy .hero-tagline, body.home .hero-copy .hero-proof, body.home .hero-copy .hero-actions, body.home .hero-copy .hero-note {
      opacity: 0;
      animation: heroFade .9s var(--ease) forwards;
    }
body.home .hero-copy .hero-badge {
      animation-delay: .15s;
    }
body.home .hero-copy h1 {
      animation-delay: .30s;
    }
body.home .hero-copy .hero-tagline {
      animation-delay: .50s;
    }
body.home .hero-copy .hero-proof {
      animation-delay: .65s;
    }
body.home .hero-copy .hero-actions {
      animation-delay: .80s;
    }
body.home .hero-copy .hero-note {
      animation-delay: .95s;
    }
@media (max-width: 760px) {
body.home .hero-copy h1 {
        font-size: clamp(40px, 11vw, 64px);
      }
body.home .hero-badge {
        margin-bottom: 28px;
        font-size: 10px;
        padding: 8px 14px;
      }
body.home .hero-tagline {
        margin-top: 24px;
        font-size: 15px;
      }
body.home .hero-proof {
        font-size: 10px;
        gap: 10px 20px;
        margin-top: 24px;
      }
body.home .hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        margin-top: 32px;
      }
body.home .hero-note {
        margin-top: 20px;
        font-size: 12px;
      }
}
body.home .hero-inline-link {
      color: var(--gold);
      border-bottom: 1px solid rgba(201, 169, 110, .4);
      transition: border-color .2s var(--ease), color .2s var(--ease);
    }
body.home .hero-inline-link:hover {
      color: #dfc28b;
      border-bottom-color: #dfc28b;
    }
