/* ============================================================
   STARPOWER — LUX-B DAYLIGHT ELEGANCE
   Palette: #FAF7F2 ivory / #2A2620 charcoal / #C9A96E champagne brass
   Ref: La Mer × Aman summer × Loro Piana × Dior Maison
   Display: Cormorant Garamond (editorial luxury serif — refined, not Times-curvy)
   Body:    Manrope (Google Fonts, 400/500/600 for body text)
   Typography target: luxury editorial (Hermès, Loro Piana) not mass-market
   serif (Times) nor stark neo-grotesque (Inter).
   Iteration 2026-04-22 after user rejected both Fraunces (too curvy) and
   Inter (too stark/narrow).
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:               #FAF7F2;
  --bg-mid:           #F0EAE0;
  --bg-card:          #FFFFFF;
  --ivory:            #2A2620;
  --ivory-dim:        rgba(42, 38, 32, 0.72);
  --ivory-muted:      rgba(42, 38, 32, 0.44);
  --ivory-subtle:     rgba(42, 38, 32, 0.10);
  --brass:            #C9A96E;
  --brass-hairline:   rgba(201, 169, 110, 0.28);
  --blush:            #E8D5C7;
  --hair:             rgba(42, 38, 32, 0.09);
  --hair-strong:      rgba(42, 38, 32, 0.15);

  --font-display: 'Cormorant Garamond', 'EB Garamond', Georgia, 'Noto Serif KR', 'Noto Serif JP', 'Noto Serif SC', serif;
  --font-body:    'Manrope', 'Helvetica Neue', 'Noto Sans KR', 'Noto Sans JP', 'Noto Sans SC', system-ui, Arial, sans-serif;

  --container:      1200px;
  --container-text: 880px;
  --section-v:      140px;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.72;
  color: var(--ivory-dim);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── CONTAINERS ── */
.container       { max-width: var(--container);      margin: 0 auto; padding: 0 48px; }
.container--text { max-width: var(--container-text); margin: 0 auto; padding: 0 48px; }

/* ── TYPOGRAPHY ── */
h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 600;  /* was 400 — bump for emphasis (user feedback 2026-04-22) */
  color: var(--ivory);
  letter-spacing: -0.02em;
  line-height: 1.12;
}
h1 { font-size: clamp(48px, 6.5vw, 84px); font-weight: 700; }
h2 { font-size: clamp(34px, 4vw, 56px); font-weight: 600; }
h3 { font-size: clamp(22px, 2.4vw, 32px); font-weight: 600; }
/* Hero headline, platform/proof card brand names inherit the display stack + heft */
.hero__headline, .proof-card__brand, .hof-card__name, .hof-card__value,
.gen-wealth__headline, .succession-item__name, .founder-intro__heading,
.mfg-card__name, .platform-card__title, .latam__stat-value,
.hero__stat-value, .proof-card__value {
  font-weight: 600;
}
.hero__headline, .gen-wealth__headline { font-weight: 700; }

.eyebrow {
  font-family: var(--font-body);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brass);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.eyebrow::before {
  content: '';
  display: block;
  width: 24px;
  height: 1px;
  background: var(--brass);
  opacity: 0.65;
  flex-shrink: 0;
}

p { color: var(--ivory-dim); }
a { color: var(--ivory); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--brass); }

/* ── BUTTONS ── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  padding: 13px 30px;
  border: 1px solid var(--brass-hairline);
  color: var(--brass);
  background: transparent;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  text-decoration: none;
}
.btn:hover { background: var(--brass); color: var(--bg); border-color: var(--brass); }
.btn--solid { background: var(--brass); color: var(--bg); border-color: var(--brass); }
.btn--solid:hover { background: #CDAC7A; border-color: #CDAC7A; }

/* ─────────────────────────────────────────
   NAV
───────────────────────────────────────── */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(250, 247, 242, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--hair);
}
.nav__inner {
  max-width: var(--container); margin: 0 auto; padding: 0 48px;
  height: 62px;
  display: flex; align-items: center; justify-content: space-between;
}
.nav__logo { font-family: var(--font-display); font-size: 20px; letter-spacing: 0.06em; color: var(--ivory); }
.nav__logo span { color: var(--brass); }
.nav__links { display: flex; align-items: center; gap: 30px; list-style: none; }
.nav__links a {
  font-size: 13px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase;
  color: var(--ivory-muted); transition: color 0.2s;
}
.nav__links a:hover { color: var(--ivory); }
.nav__right { display: flex; align-items: center; gap: 24px; }
.locale-switcher { display: flex; align-items: center; gap: 12px; list-style: none; }
.locale-switcher a {
  font-size: 10.5px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--ivory-muted); transition: color 0.2s;
}
.locale-switcher a:hover, .locale-switcher a.active { color: var(--brass); }
.nav__cta {
  font-size: 13px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase;
  padding: 9px 22px; border: 1px solid var(--brass-hairline); color: var(--brass);
  background: transparent; text-decoration: none; transition: all 0.2s;
}
.nav__cta:hover { background: var(--brass); color: var(--bg); border-color: var(--brass); }

/* ─────────────────────────────────────────
   SUB-PAGE LIGHT THEME OVERRIDE
   Sub-pages (team, blog, case-studies, blog-posts) were originally
   authored with a dark palette via inline <style> blocks. The site's
   primary theme is ivory daylight. These overrides force sub-pages to
   match the homepage by remapping the dark colors in the inline styles
   to their ivory equivalents. !important is required because the
   inline styles would otherwise win.

   After nav unification every page has <nav class="nav">, so we key off
   CONTENT markers (.cs-body, .article-wrap, .team-info, .blog-grid)
   instead of the legacy nav selector.
───────────────────────────────────────── */
body:has(.cs-body),
body:has(.article-wrap),
body:has(.team-info),
body:has(.blog-grid) {
  background: var(--bg);
  color: var(--ivory-dim);
}
/* Headings visible again — override inline cream colors */
body:has(.cs-body) h1, body:has(.cs-body) h2, body:has(.cs-body) h3,
body:has(.article-wrap) h1, body:has(.article-wrap) h2, body:has(.article-wrap) h3,
body:has(.team-info) h1, body:has(.team-info) h2, body:has(.team-info) h3,
body:has(.blog-grid) h1, body:has(.blog-grid) h2, body:has(.blog-grid) h3 {
  color: var(--ivory);
}

/* ── CASE STUDIES inline-style overrides ── */
body:has(.cs-body) .cs-hero p,
body:has(.cs-body) .cs-body p,
body:has(.cs-body) .cs-take,
body:has(.cs-body) .cs-brand-sub,
body:has(.cs-body) .cs-celeb__cap { color: var(--ivory-dim) !important; }
body:has(.cs-body) .cs-brand-name,
body:has(.cs-body) .cs-body h3 { color: var(--ivory) !important; }
body:has(.cs-body) .cs-toc { background: var(--bg-card) !important; border-color: var(--hair) !important; }
body:has(.cs-body) .cs-toc li a { color: var(--ivory) !important; }
body:has(.cs-body) .cs-toc li a:hover,
body:has(.cs-body) .cs-toc li a.cs-toc__active { color: var(--brass) !important; }
body:has(.cs-body) .cs-toc li { color: var(--ivory-muted) !important; }
body:has(.cs-body) .cs-vignette { border-top-color: var(--hair) !important; }
body:has(.cs-body) .cs-celeb { background: var(--bg-card) !important; border-color: var(--hair) !important; }
body:has(.cs-body) .cs-celeb__cap { background: var(--bg-mid) !important; border-top-color: var(--hair) !important; }
body:has(.cs-body) .cs-take { background: rgba(201,164,98,0.06) !important; }

/* ── TEAM inline-style overrides ── */
body:has(.team-info) .team-hero p { color: var(--ivory-dim) !important; }
body:has(.team-info) .team-photo { background: var(--bg-card) !important; border-color: var(--hair) !important; }
body:has(.team-info) .team-info h2 { color: var(--ivory) !important; }
body:has(.team-info) .team-info .team-tag { color: var(--ivory-muted) !important; }
body:has(.team-info) .team-info p { color: var(--ivory-dim) !important; }
body:has(.team-info) .team-info .team-linkedin:hover { color: var(--ivory) !important; border-color: var(--ivory) !important; }
body:has(.team-info) .team-principle { color: var(--ivory-dim) !important; background: rgba(201,164,98,0.06) !important; }

/* ── BLOG POST inline-style overrides ── */
body:has(.article-wrap) .article-meta { color: var(--ivory-muted) !important; }
body:has(.article-wrap) .article-title { color: var(--ivory) !important; }
body:has(.article-wrap) .article-body h2,
body:has(.article-wrap) .article-body h3 { color: var(--ivory) !important; }
body:has(.article-wrap) .article-body p { color: var(--ivory-dim) !important; }
body:has(.article-wrap) .pull-quote { color: var(--ivory-dim) !important; background: rgba(201,164,98,0.06) !important; }
body:has(.article-wrap) .read-next {
  background: var(--bg-card) !important;
  border-color: var(--hair) !important;
}
body:has(.article-wrap) .read-next a { color: var(--ivory) !important; }
body:has(.article-wrap) .read-next a:hover { color: var(--brass) !important; }

/* ── BLOG INDEX inline-style overrides ── */
body:has(.blog-grid) .blog-card,
body:has(.blog-grid) .post-card {
  background: var(--bg-card) !important;
  border-color: var(--hair) !important;
}
body:has(.blog-grid) .blog-card:hover { border-color: var(--brass-hairline) !important; }
body:has(.blog-grid) .blog-card h3,
body:has(.blog-grid) .post-card h3 { color: var(--ivory) !important; }
body:has(.blog-grid) .blog-card p,
body:has(.blog-grid) .post-card p { color: var(--ivory-dim) !important; }
body:has(.blog-grid) .blog-card-title a { color: var(--ivory) !important; }
body:has(.blog-grid) .blog-card-title a:hover { color: var(--brass) !important; }
body:has(.blog-grid) .blog-card-excerpt { color: var(--ivory-dim) !important; }
body:has(.blog-grid) .blog-hero p { color: var(--ivory-dim) !important; }
body:has(.blog-grid) .blog-lang-switch { color: var(--ivory-muted) !important; }

/* ─────────────────────────────────────────
   NAV — sub-page (dash-class) pattern
   Used by team.html, blog.html, case-studies.html,
   and all blog post pages.
───────────────────────────────────────── */
body > nav:not([class]),
body > nav.sub-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(250, 247, 242, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--hair);
}
.nav-inner {
  max-width: 1320px; margin: 0 auto; padding: 0 32px;
  min-height: 62px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.nav-logo { display: flex; flex-direction: column; line-height: 1.1; gap: 2px; }
.nav-logo .star-name { font-family: var(--font-display); font-size: 18px; color: var(--ivory); letter-spacing: 0.04em; }
.nav-logo .by-line { font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ivory-muted); }
.nav-right { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.nav-right .lang-switcher { display: flex; align-items: center; gap: 6px; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ivory-muted); }
.nav-right .lang-switcher .active { color: var(--brass); }
.nav-right .lang-switcher .sep { color: var(--ivory-subtle); }
.nav-right .lang-switcher a { color: var(--ivory-muted); text-decoration: none; transition: color 0.2s; }
.nav-right .lang-switcher a:hover { color: var(--brass); }
.nav-right .lang-switcher-v2 { position: relative; }
.nav-right .lang-switcher-v2 summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--brass); padding: 6px 10px; border: 1px solid var(--brass-hairline); border-radius: 4px; }
.nav-right .lang-switcher-v2 summary::-webkit-details-marker { display: none; }
.nav-right .lang-switcher-v2[open] summary { background: var(--bg-mid); }
.nav-right .lang-switcher-v2 .ls2-menu { list-style: none; position: absolute; top: calc(100% + 8px); right: 0; background: var(--bg-card); border: 1px solid var(--hair); border-radius: 4px; padding: 6px; margin: 0; min-width: 160px; box-shadow: 0 8px 24px rgba(42,38,32,.12); z-index: 200; }
.nav-right .lang-switcher-v2 .ls2-menu li { list-style: none; }
.nav-right .lang-switcher-v2 .ls2-menu a { display: flex; justify-content: space-between; align-items: center; padding: 8px 10px; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ivory-dim); text-decoration: none; border-radius: 3px; }
.nav-right .lang-switcher-v2 .ls2-menu a:hover { background: var(--bg-mid); color: var(--ivory); }
.nav-right .lang-switcher-v2 .ls2-menu a.ls2-active { color: var(--brass); }
.nav-right .lang-switcher-v2 .ls2-native { font-weight: 600; }
.nav-right .lang-switcher-v2 .ls2-label { color: var(--ivory-muted); font-size: 10px; }
/* Sub-page nav inline-style link overrides — the case-studies.html / team.html
   nav uses inline color:#C9A462 on its links. Preserve brass but ensure
   hover tracks the ivory palette. */
body > nav:not([class]) .nav-right > a[style*="color:#C9A462"],
body > nav:not([class]) .nav-right > a[style*="color: #C9A462"] {
  color: var(--brass) !important;
}
body > nav:not([class]) .nav-right > a[style*="color:#C9A462"]:hover,
body > nav:not([class]) .nav-right > a[style*="color: #C9A462"]:hover {
  color: var(--ivory) !important;
}
.nav-cta {
  font-size: 11px; font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase;
  padding: 9px 22px; border: 1px solid var(--brass); color: var(--bg); background: var(--brass);
  text-decoration: none; transition: all 0.2s; border-radius: 2px;
}
.nav-cta:hover { background: #CDAC7A; border-color: #CDAC7A; }
body > nav:not([class]) + div.container,
body > nav:not([class]) + main,
body > nav:not([class]) + div {
  padding-top: 62px;
}
@media (max-width: 760px) {
  .nav-inner { padding: 10px 20px; gap: 12px; }
  .nav-right { gap: 12px; }
  .nav-right a[style*="margin-right"] { margin-right: 0 !important; font-size: 11px !important; }
}

/* ─────────────────────────────────────────
   NAV — blog-post (site-header) pattern
   Used by 36 blog posts (EN + ES) that have
   <header class="site-header"><nav class="nav-inner">
   <a class="logo">...</a><ul class="nav-links">...
───────────────────────────────────────── */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(250, 247, 242, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--hair);
}
.site-header .nav-inner {
  max-width: 1320px; margin: 0 auto; padding: 0 32px;
  min-height: 58px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.site-header .logo {
  font-family: var(--font-display);
  font-size: 17px; letter-spacing: 0.06em;
  color: var(--ivory); text-decoration: none;
  padding: 10px 0;
}
.site-header .logo:hover { color: var(--brass); }
.site-header .nav-links {
  display: flex; align-items: center; gap: 24px; list-style: none;
  margin: 0; padding: 0;
  flex-wrap: wrap;
}
.site-header .nav-links li { list-style: none; }
.site-header .nav-links a {
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--ivory-muted); text-decoration: none;
  transition: color 0.2s;
  padding: 8px 0;
}
.site-header .nav-links a:hover { color: var(--brass); }

/* Push page content below fixed header (pattern B) */
.site-header + main { padding-top: 58px; }

/* Mobile/Android: nav becomes non-fixed (scrolls away with page) so users
   aren't trapped on long content pages. Fixed nav on a phone + 3,000 words
   of case-study text = can't see the page. */
@media (max-width: 760px) {
  body > nav:not([class]),
  body > header.site-header {
    position: static;         /* scrolls with the page */
    background: var(--bg);    /* opaque ivory — no blur backdrop needed */
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body > nav:not([class]) + div.container,
  body > nav:not([class]) + main,
  body > nav:not([class]) + div,
  body > header.site-header + main { padding-top: 0; }

  .site-header .nav-inner { padding: 8px 16px; gap: 10px; min-height: 48px; }
  .site-header .logo { font-size: 16px; padding: 6px 0; }
  .site-header .nav-links { gap: 14px; width: 100%; justify-content: flex-start; }
  .site-header .nav-links a { font-size: 11px; padding: 6px 0; }

  body > nav:not([class]) .nav-inner { padding: 8px 16px; gap: 10px; min-height: 48px; }
  body > nav:not([class]) .nav-logo .star-name { font-size: 16px; }
  body > nav:not([class]) .nav-logo .by-line { font-size: 9px; }
  body > nav:not([class]) .nav-right { gap: 10px; row-gap: 6px; width: 100%; justify-content: flex-start; }
  body > nav:not([class]) .nav-right > a { margin-right: 0 !important; font-size: 11px !important; padding: 6px 10px; }
  body > nav:not([class]) .nav-right .nav-cta { padding: 7px 14px; font-size: 10px; }
  body > nav:not([class]) .nav-right .lang-switcher,
  body > nav:not([class]) .nav-right .lang-switcher-v2 summary { font-size: 11px; }
}

/* Larger clickable area for the logo — user reported not being able to
   return home from sub-pages. */
body > nav:not([class]) .nav-logo { cursor: pointer; padding: 6px 0; }
body > nav:not([class]) a.nav-logo:hover .star-name { color: #C9A462; }
.site-header a.logo { cursor: pointer; }
.site-header a.logo:hover { color: #C9A462 !important; }

/* ─────────────────────────────────────────
   FOOTER — blog-post (site-footer) pattern
───────────────────────────────────────── */
.site-footer {
  border-top: 1px solid var(--hair);
  background: var(--bg-mid);
  margin-top: 4rem;
  padding: 2.5rem 1rem 2rem;
}
.site-footer .footer-inner {
  max-width: 1100px; margin: 0 auto;
  display: flex; flex-wrap: wrap; gap: 24px;
  align-items: center; justify-content: space-between;
}
.site-footer .footer-logo {
  font-family: var(--font-display);
  font-size: 16px; letter-spacing: 0.05em; color: var(--brass);
  margin: 0;
}
.site-footer .footer-links {
  display: flex; flex-wrap: wrap; gap: 18px;
  list-style: none; margin: 0; padding: 0;
}
.site-footer .footer-links li { list-style: none; }
.site-footer .footer-links a {
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ivory-muted); text-decoration: none;
  transition: color 0.2s;
}
.site-footer .footer-links a:hover { color: var(--brass); }
.site-footer .footer-copy {
  width: 100%; text-align: center;
  margin-top: 1.5rem; padding-top: 1.25rem;
  border-top: 1px solid var(--hair);
  font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--ivory-muted);
}
@media (max-width: 640px) {
  .site-footer .footer-inner { flex-direction: column; align-items: flex-start; gap: 16px; }
}

/* ─────────────────────────────────────────
   TEAM CREDENTIAL LOGOS + SOCIAL LINKS (v2 — real brand logos 2026-04-23)
───────────────────────────────────────── */
.team-credentials {
  display: flex; flex-wrap: wrap; gap: 0.9rem;
  align-items: center;
  margin: 1.4rem 0 0.35rem;
}
.team-credentials span { display: inline-flex; align-items: center; }
.team-credentials .team-cred-logo {
  height: 38px; width: auto;
  display: inline-block; vertical-align: middle;
  background: #f5f0e8; border-radius: 5px;
  padding: 4px 8px; box-sizing: border-box;
}
.team-credentials .team-cred-logo--plain { background: transparent; padding: 0; }

.team-socials {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-top: 1rem; align-items: center;
}
.team-socials a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 44px;
  padding: 6px 10px; gap: 8px;
  border: 1px solid #3a2e22; border-radius: 6px;
  color: var(--brass); text-decoration: none;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase;
  transition: all 0.18s ease;
}
.team-socials a:hover { background: rgba(201,164,98,0.08); border-color: var(--brass); }
.team-socials .team-social-icon { height: 24px; width: 24px; display: inline-block; }
.team-socials a.team-social--x { background: #000; border-color: #000; }
.team-socials a.team-social--x:hover { background: #111; border-color: var(--brass); }
.team-socials a.team-social--x .team-social-icon { filter: invert(100%); }
.team-socials a.team-social--site { padding: 0 14px; }

@media (max-width: 760px) {
  .team-credentials .team-cred-logo { height: 32px; padding: 3px 6px; }
  .team-socials .team-social-icon { height: 20px; width: 20px; }
}

/* ─────────────────────────────────────────
   CASE-STUDIES TOC — sticky sidebar on desktop
   + floating back-to-top button
───────────────────────────────────────── */
.cs-toc {
  background: var(--bg-card); border: 1px solid var(--hair); border-radius: 6px;
  padding: 1.25rem 1.5rem;
  margin: 1.5rem 0 2.5rem;
  max-width: 820px;
}
.cs-toc h3 { font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--brass); margin-bottom: .9rem; }
.cs-toc ol { list-style: decimal; padding-left: 1.1rem; margin: 0; display: grid; gap: .4rem; }
.cs-toc ol::marker { color: var(--ivory-muted); }
.cs-toc li { color: var(--ivory-muted); font-size: .85rem; line-height: 1.4; }
.cs-toc li a { color: var(--ivory); text-decoration: none; border-bottom: 1px solid transparent; transition: color .15s, border-color .15s; }
.cs-toc li a:hover { color: var(--brass); border-bottom-color: var(--brass); }
.cs-toc li a.cs-toc__active { color: var(--brass); border-bottom-color: var(--brass); }

/* Back-to-top fixed button — shown on ALL pages, ALL viewports (desktop + mobile).
   User preference 2026-04-22: "great idea. appears on some pages only. can you have it
   appear on all the pages including the home page and also on the desktop version." */
.back-to-top {
  position: fixed; right: 24px; bottom: 24px; z-index: 200;
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--brass); color: var(--bg);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; font-weight: 700; line-height: 1;
  border: none; cursor: pointer;
  box-shadow: 0 8px 24px rgba(42, 38, 32, 0.28);
  opacity: 0; transform: translateY(12px) scale(.9);
  transition: opacity .25s, transform .25s, background .2s;
  text-decoration: none;
  pointer-events: none;
}
.back-to-top.back-to-top--visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.back-to-top:hover { background: #CDAC7A; transform: translateY(-2px) scale(1.03); color: var(--bg); }

/* Mobile: TOC not sticky (just inline) + larger tap-target back-to-top */
@media (max-width: 900px) {
  .cs-toc { position: static; max-height: none; }
}
@media (max-width: 640px) {
  .back-to-top {
    right: 16px;
    /* Lift above iOS Safari bottom chrome via env() + safe-area-inset */
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    width: 48px; height: 48px; font-size: 20px;
  }
}

/* ─────────────────────────────────────────
   CASE-STUDIES FIGURE — initial placeholder variant
───────────────────────────────────────── */
.cs-celeb.cs-celeb--initial { display: flex; flex-direction: column; }
.cs-celeb__initial {
  flex: 1; display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 4rem; color: var(--brass); background: var(--bg-mid);
  min-height: 180px;
}

/* ─────────────────────────────────────────
   HERO
───────────────────────────────────────── */
.hero {
  min-height: 100svh; display: flex; align-items: flex-end;
  padding-top: 80px; padding-bottom: 100px;
  position: relative; overflow: hidden;
}
.hero::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 55% 45% at 72% 28%, rgba(107, 26, 42, 0.16) 0%, transparent 68%),
    radial-gradient(ellipse 35% 35% at 18% 82%, rgba(184, 153, 104, 0.07) 0%, transparent 55%);
  pointer-events: none;
}
.hero__inner {
  max-width: var(--container); margin: 0 auto; padding: 0 48px; width: 100%;
  display: grid; grid-template-columns: 1fr 360px; gap: 72px; align-items: end;
}
.hero__headline {
  font-size: clamp(50px, 7vw, 88px); letter-spacing: -0.03em; line-height: 1.04;
  color: var(--ivory); margin-bottom: 28px;
}
.hero__headline em { color: var(--brass); font-style: italic; }
.hero__sub { font-size: 18px; line-height: 1.72; color: var(--ivory-dim); max-width: 52ch; margin-bottom: 44px; }
.hero__actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }

.hero__stat-panel {
  background: var(--bg-card); border: 1px solid var(--hair); border-top: 2px solid var(--brass);
  padding: 36px 28px;
}
.hero__stat { padding: 18px 0; border-bottom: 1px solid var(--hair); }
.hero__stat:first-child { padding-top: 0; }
.hero__stat:last-child  { border-bottom: none; padding-bottom: 0; }
.hero__stat-value {
  font-family: var(--font-display); font-size: 30px; letter-spacing: -0.02em;
  color: var(--ivory); line-height: 1; margin-bottom: 5px;
}
.hero__stat-label {
  font-size: 10.5px; font-weight: 600; letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--ivory-muted);
}

/* ─────────────────────────────────────────
   HERO PHOTOGRAPHY
───────────────────────────────────────── */
.hero__photo {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: 68% center;
  opacity: 0.62;
  z-index: 0;
  display: block;
}
.hero::before { z-index: 1; }
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    108deg,
    rgba(250,247,242,1.0)  0%,
    rgba(250,247,242,0.97) 32%,
    rgba(250,247,242,0.72) 58%,
    rgba(250,247,242,0.10) 100%
  );
  z-index: 2;
  pointer-events: none;
}
.hero__inner { position: relative; z-index: 3; }
.hero > .container { position: relative; z-index: 3; }

/* ─────────────────────────────────────────
   EDITORIAL BREAKS (PHOTOGRAPHIC DIVIDERS)
───────────────────────────────────────── */
.editorial-break {
  width: 100%;
  aspect-ratio: 21 / 9;     /* responsive height — no desktop cutoff (was fixed 440px) */
  max-height: 520px;
  min-height: 260px;
  overflow: hidden;
  position: relative;
  background: var(--bg-mid);
}
.editorial-break img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 45%;
  display: block;
  filter: brightness(0.93) saturate(0.78) sepia(0.06);
}
.editorial-break--tall {
  aspect-ratio: 21 / 11;
  max-height: 640px;
}
.editorial-break--short {
  aspect-ratio: 21 / 7;
  max-height: 340px;
  min-height: 200px;
}
@media (max-width: 768px) {
  .editorial-break { aspect-ratio: 3 / 2; max-height: 360px; }
  .editorial-break--short { aspect-ratio: 2 / 1; max-height: 240px; }
  .editorial-break--tall { aspect-ratio: 4 / 3; max-height: 400px; }
}

/* ─────────────────────────────────────────
   HOF CARD PHOTO
───────────────────────────────────────── */
.hof-card__photo {
  width: 100%;
  height: 256px;
  overflow: hidden;
  margin-bottom: 20px;
}
.hof-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  filter: grayscale(0.15) brightness(0.92) saturate(0.82);
  transition: filter 0.5s ease, transform 0.6s ease;
}
.hof-card:hover .hof-card__photo img {
  filter: grayscale(0.0) brightness(1.0) saturate(1.0);
  transform: scale(1.025);
}

/* ─────────────────────────────────────────
   TEXTURE STRIP
───────────────────────────────────────── */
.texture-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--bg);
  max-height: 360px; /* cap on very wide desktops */
  overflow: hidden;
  margin-top: 80px;
  margin-bottom: 24px;
}
@media (min-width: 1100px) {
  .texture-strip { margin-top: 120px; margin-bottom: 40px; }
}
.texture-strip img {
  width: 100%;
  aspect-ratio: 1 / 1;   /* square cells so 1024x1024 source shows fully */
  height: auto;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(0.82) saturate(0.6) sepia(0.08);
  transition: filter 0.4s ease;
}
/* On wide desktops the full-square cells can be very tall — cap height and
   center the crop so we still see most of each image */
@media (min-width: 1100px) {
  .texture-strip img { aspect-ratio: 3 / 2; }
}
.texture-strip img:hover { filter: brightness(0.92) saturate(0.75) sepia(0.06); }

/* ─────────────────────────────────────────
   PROOF
───────────────────────────────────────── */
.proof {
  padding: var(--section-v) 0;
  background: var(--bg-mid); border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair);
}
.proof__header {
  max-width: var(--container); margin: 0 auto; padding: 0 48px; margin-bottom: 72px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: end;
}
.proof__intro p { font-size: 17px; line-height: 1.7; color: var(--ivory-dim); max-width: 46ch; }
.proof__grid {
  max-width: var(--container); margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px;
}
.proof-card {
  background: var(--bg-card); padding: 44px; position: relative; border-top: 1px solid var(--hair);
  display: flex; flex-direction: column;   /* equal-height cards across 2-col grid */
}
.proof__grid { align-items: stretch; }    /* stretch cards so same row = same height */
.proof-card::before {
  content: ''; position: absolute; top: 0; left: 0; width: 36px; height: 2px; background: var(--brass);
}
.proof-card__tag {
  font-size: 10px; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--brass); margin-bottom: 18px; display: block;
}
.proof-card__brand {
  font-family: var(--font-display); font-size: 46px; letter-spacing: -0.02em;
  color: var(--ivory); line-height: 1; margin-bottom: 8px;
}
.proof-card__byline {
  font-size: 11.5px; font-weight: 600; letter-spacing: 0.05em; color: var(--ivory-muted); margin-bottom: 28px;
}
.proof-card__value {
  font-family: var(--font-display); font-size: 40px; color: var(--brass);
  letter-spacing: -0.02em; line-height: 1; margin-bottom: 4px;
}
.proof-card__value-label {
  font-size: 10.5px; font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--ivory-muted); margin-bottom: 24px; display: block;
}
.proof-card__copy { font-size: 14.5px; line-height: 1.65; color: var(--ivory-dim); max-width: 42ch; flex: 1; }

/* ─────────────────────────────────────────
   PROOF CONTRAST
───────────────────────────────────────── */
.proof-contrast { padding: 80px 0; background: var(--bg); }
.proof-contrast__inner {
  max-width: var(--container-text); margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: 1fr 56px 1fr; align-items: center;
}
.proof-contrast__col {
  padding: 44px;
  border: 1px solid var(--hair);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 100%;
}
.proof-contrast__col--bad  { background: rgba(42,38,32,0.03); }
.proof-contrast__col--good { background: rgba(184,153,104,0.04); border-color: var(--brass-hairline); }
.proof-contrast__inner {
  align-items: stretch !important;  /* override center alignment so both cols stretch to match height */
}
.proof-contrast__label {
  font-size: 10px; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; display: block; margin-bottom: 12px;
}
.proof-contrast__col--bad  .proof-contrast__label { color: var(--ivory-muted); }
.proof-contrast__col--good .proof-contrast__label { color: var(--brass); }
.proof-contrast__value {
  font-family: var(--font-display); font-size: 34px; color: var(--ivory); letter-spacing: -0.02em; margin-bottom: 20px;
}
.proof-contrast__items { list-style: none; }
.proof-contrast__items li {
  font-size: 14px; color: var(--ivory-dim); padding: 8px 0; border-bottom: 1px solid var(--hair);
  display: flex; align-items: flex-start; gap: 10px;
}
.proof-contrast__items li:last-child { border-bottom: none; }
.proof-contrast__items li::before { content: '—'; color: var(--ivory-muted); flex-shrink: 0; }
.proof-contrast__col--good .proof-contrast__items li::before { content: '→'; color: var(--brass); }
.proof-contrast__divider {
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 18px; font-style: italic; color: var(--ivory-muted);
}

/* ─────────────────────────────────────────
   GALLERY STRIP
───────────────────────────────────────── */
.gallery-strip {
  background: var(--bg-card); border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); padding: 56px 0;
}
.gallery-strip__inner { max-width: var(--container); margin: 0 auto; padding: 0 48px; display: flex; gap: 2px; }
.gallery-strip__item { flex: 1; padding: 28px 24px; background: var(--bg); border-top: 2px solid var(--brass); text-align: center; }
.gallery-strip__label {
  font-size: 10px; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; color: var(--ivory-muted);
}

/* ─────────────────────────────────────────
   HALL OF FAME
───────────────────────────────────────── */
.hof { padding: var(--section-v) 0; background: var(--bg); border-top: 1px solid var(--hair); }
.hof__header { max-width: var(--container); margin: 0 auto; padding: 0 48px; margin-bottom: 56px; text-align: center; }
.hof__header-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; text-align: left; }
.hof__header > .hof__header-grid > div:first-child { text-align: center; max-width: 520px; margin: 0 auto; }
.hof__header > .hof__header-grid > div:first-child .eyebrow {
  justify-content: center;   /* eyebrow has flex layout; re-center */
  margin-left: auto;
  margin-right: auto;
}
.hof__header > .hof__header-grid > div:first-child h2 { margin-top: 6px; }
.hof__intro p { font-size: 17px; line-height: 1.7; color: var(--ivory-dim); max-width: 48ch; }
.hof__disclaimer {
  font-size: 11px; color: var(--ivory-muted); line-height: 1.55;
  border-left: 1px solid var(--brass-hairline); padding-left: 16px; margin-top: 28px; max-width: 46ch;
}
.hof__category { max-width: var(--container); margin: 0 auto; padding: 0 48px; margin-bottom: 64px; }
.hof__category:last-child { margin-bottom: 0; }
.hof__category-label {
  font-size: 10px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--brass); border-bottom: 1px solid var(--brass-hairline); padding-bottom: 12px; margin-bottom: 28px;
}
.hof__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
.hof-card {
  background: var(--bg-card); padding: 30px 26px 26px; border-top: 1px solid var(--hair);
  transition: border-top-color 0.2s;
}
.hof-card:hover { border-top-color: var(--brass-hairline); }
.hof-card__initial {
  font-family: var(--font-display); font-size: 52px; color: var(--ivory-subtle);
  line-height: 1; margin-bottom: 16px; font-style: italic; letter-spacing: -0.02em;
}
.hof-card__name { font-family: var(--font-display); font-size: 19px; color: var(--ivory); letter-spacing: -0.01em; margin-bottom: 5px; }
.hof-card__brand {
  font-size: 9.5px; font-weight: 600; letter-spacing: 0.11em; text-transform: uppercase;
  color: var(--brass); display: block; margin-bottom: 18px;
}
.hof-card__value { font-family: var(--font-display); font-size: 26px; color: var(--ivory); letter-spacing: -0.02em; margin-bottom: 4px; }
.hof-card__note { font-size: 10.5px; color: var(--ivory-muted); line-height: 1.4; }

/* ─────────────────────────────────────────
   PULL QUOTE
───────────────────────────────────────── */
.pull-quote--section {
  background: var(--bg-mid); border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair);
  padding: 96px 48px; text-align: center;
}
.pull-quote__text {
  font-family: var(--font-display); font-size: clamp(26px, 3.2vw, 42px);
  font-style: italic; color: var(--ivory); line-height: 1.3; letter-spacing: -0.015em;
  max-width: var(--container-text); margin: 0 auto;
}
.pull-quote__text::before { content: '\201C'; color: var(--brass); }
.pull-quote__text::after  { content: '\201D'; color: var(--brass); }
.pull-quote__attr {
  display: block; font-size: 10.5px; font-weight: 600; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--ivory-muted); margin-top: 22px;
}

/* ─────────────────────────────────────────
   MANUFACTURING
───────────────────────────────────────── */
.mfg {
  padding: var(--section-v) 0;
  background: var(--bg-mid); border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair);
}
.mfg__header {
  max-width: var(--container); margin: 0 auto; padding: 0 48px; margin-bottom: 72px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start;
}
.mfg__intro p { font-size: 17px; line-height: 1.7; color: var(--ivory-dim); max-width: 44ch; }
.mfg__grid {
  max-width: var(--container); margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px;
}
.mfg-card {
  background: var(--bg-card); padding: 38px 34px; border-top: 1px solid var(--hair); position: relative;
}
.mfg-card::after {
  content: ''; position: absolute; top: -1px; left: 0; right: 0; height: 2px;
  background: var(--brass); transform: scaleX(0); transform-origin: left; transition: transform 0.3s;
}
.mfg-card:hover::after { transform: scaleX(1); }
.mfg-card__tag {
  font-size: 9.5px; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--brass); display: block; margin-bottom: 18px;
}
.mfg-card__name { font-family: var(--font-display); font-size: 24px; color: var(--ivory); letter-spacing: -0.01em; margin-bottom: 18px; }
.mfg-card__copy { font-size: 13.5px; line-height: 1.65; color: var(--ivory-dim); }

/* ─────────────────────────────────────────
   PLATFORM
───────────────────────────────────────── */
.platform { padding: var(--section-v) 0; background: var(--bg); border-top: 1px solid var(--hair); }
.platform__header {
  max-width: var(--container); margin: 0 auto; padding: 0 48px; margin-bottom: 72px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: end;
}
.platform__intro p { font-size: 17px; line-height: 1.7; color: var(--ivory-dim); max-width: 44ch; }
.platform__grid {
  max-width: var(--container); margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px;
}
.platform-card { background: var(--bg-card); padding: 36px 32px; border-top: 1px solid var(--hair); }
.platform-card__num {
  font-family: var(--font-display); font-size: 12px; font-style: italic;
  color: var(--brass); margin-bottom: 18px; display: block;
}
.platform-card__title { font-family: var(--font-display); font-size: 21px; color: var(--ivory); letter-spacing: -0.01em; margin-bottom: 12px; }
.platform-card__copy { font-size: 13.5px; line-height: 1.65; color: var(--ivory-dim); }

/* ─────────────────────────────────────────
   GENERATIONAL WEALTH
───────────────────────────────────────── */
.gen-wealth {
  padding: var(--section-v) 0;
  background: var(--bg-mid); border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair);
}
.gen-wealth__inner { max-width: var(--container-text); margin: 0 auto; padding: 0 48px; }
.gen-wealth__header { margin-bottom: 72px; }
.gen-wealth__headline { font-size: clamp(38px, 5vw, 62px); margin-bottom: 28px; }
.gen-wealth__intro { font-size: 18px; line-height: 1.75; color: var(--ivory-dim); max-width: 54ch; }

.gen-wealth__comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-bottom: 72px; }
.gen-wealth__col { padding: 44px; background: var(--bg-card); border-top: 1px solid var(--hair); }
.gen-wealth__col--asset { background: rgba(201,169,110,0.06); border-top: 2px solid var(--brass); }
.gen-wealth__col-label {
  font-size: 10px; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; display: block; margin-bottom: 20px;
}
.gen-wealth__col--check .gen-wealth__col-label { color: var(--ivory-muted); }
.gen-wealth__col--asset .gen-wealth__col-label { color: var(--brass); }
.gen-wealth__col-items { list-style: none; }
.gen-wealth__col-items li {
  font-size: 14.5px; color: var(--ivory-dim); padding: 11px 0; border-bottom: 1px solid var(--hair); line-height: 1.5;
}
.gen-wealth__col-items li:last-child { border-bottom: none; padding-bottom: 0; }

.gen-wealth__succession { margin-bottom: 72px; }
.gen-wealth__succession-title { font-family: var(--font-display); font-size: 26px; color: var(--ivory); margin-bottom: 28px; }
.succession-item {
  display: grid; grid-template-columns: 20px 1fr auto;
  gap: 24px; align-items: start; padding: 22px 0; border-bottom: 1px solid var(--hair);
}
.succession-item:last-child { border-bottom: none; }
.succession-item__num { font-family: var(--font-display); font-size: 12px; font-style: italic; color: var(--brass); padding-top: 3px; }
.succession-item__name { font-family: var(--font-display); font-size: 19px; color: var(--ivory); letter-spacing: -0.01em; margin-bottom: 5px; }
.succession-item__desc { font-size: 13.5px; color: var(--ivory-dim); }
.succession-item__value { font-family: var(--font-display); font-size: 20px; color: var(--brass); letter-spacing: -0.01em; white-space: nowrap; padding-top: 3px; }

/* ─────────────────────────────────────────
   LATAM
───────────────────────────────────────── */
.latam { padding: var(--section-v) 0; background: var(--bg); border-top: 1px solid var(--hair); }
.latam__header {
  max-width: var(--container); margin: 0 auto; padding: 0 48px; margin-bottom: 72px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: end;
}
.latam__title-col p { font-size: 17px; line-height: 1.7; color: var(--ivory-dim); max-width: 46ch; margin-top: 16px; }
.latam__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.latam__stat { background: var(--bg-card); padding: 26px; border-top: 1px solid var(--hair); }
.latam__stat-value { font-family: var(--font-display); font-size: 34px; color: var(--ivory); letter-spacing: -0.02em; margin-bottom: 5px; }
.latam__stat-label { font-size: 10.5px; font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ivory-muted); }
.latam__artists {
  max-width: var(--container); margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px;
}
.artist-card {
  background: var(--bg-card); padding: 44px; border-top: 1px solid var(--hair); position: relative;
}
.artist-card::before { content: ''; position: absolute; top: 0; left: 0; width: 36px; height: 2px; background: var(--brass); }
.artist-card__from {
  font-size: 10px; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--ivory-muted); margin-bottom: 18px; display: block;
}
.artist-card__name { font-family: var(--font-display); font-size: 38px; color: var(--ivory); letter-spacing: -0.02em; margin-bottom: 22px; }
.artist-card__stats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.artist-card__stat-tag {
  font-size: 10.5px; font-weight: 600; letter-spacing: 0.06em;
  color: var(--ivory-muted); border: 1px solid var(--hair); padding: 4px 11px;
}
.artist-card__bio { font-size: 14.5px; line-height: 1.65; color: var(--ivory-dim); }

/* ─────────────────────────────────────────
   PROCESS
───────────────────────────────────────── */
.process {
  padding: var(--section-v) 0;
  background: var(--bg-mid); border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair);
}
.process__header {
  max-width: var(--container); margin: 0 auto; padding: 0 48px; margin-bottom: 72px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: end;
}
.process__intro p { font-size: 17px; line-height: 1.7; color: var(--ivory-dim); max-width: 44ch; }
.process__steps { max-width: var(--container); margin: 0 auto; padding: 0 48px; display: grid; grid-template-columns: repeat(6, 1fr); }
.process-step { padding: 0 24px; border-left: 1px solid var(--hair); }
.process-step:first-child { padding-left: 0; border-left: none; }
.process-step__num { font-family: var(--font-display); font-size: 11px; font-style: italic; color: var(--brass); margin-bottom: 14px; display: block; }
.process-step__title { font-family: var(--font-display); font-size: 15px; color: var(--ivory); letter-spacing: -0.01em; margin-bottom: 9px; }
.process-step__copy { font-size: 12.5px; line-height: 1.55; color: var(--ivory-muted); }

/* ─────────────────────────────────────────
   APPLY
───────────────────────────────────────── */
.apply { padding: var(--section-v) 0; background: var(--bg); border-top: 1px solid var(--hair); }
.apply__inner {
  max-width: var(--container-text); margin: 0 auto; padding: 0 48px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 72px;
}
.apply__text h2 { margin-bottom: 22px; }
.apply__text p { font-size: 16.5px; line-height: 1.7; color: var(--ivory-dim); margin-bottom: 16px; }
.apply__form { background: var(--bg-card); padding: 44px; border-top: 2px solid var(--brass); }
.form-group { margin-bottom: 22px; }
.form-label {
  display: block; font-size: 9.5px; font-weight: 600; letter-spacing: 0.11em;
  text-transform: uppercase; color: var(--ivory-muted); margin-bottom: 7px;
}
.form-input, .form-select, .form-textarea {
  width: 100%; background: var(--bg); border: 1px solid var(--hair);
  color: var(--ivory); font-family: var(--font-body); font-size: 14.5px;
  padding: 11px 14px; outline: none; transition: border-color 0.2s; -webkit-appearance: none;
}
.form-input::placeholder, .form-textarea::placeholder { color: var(--ivory-muted); }
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color: var(--brass-hairline); }
.form-textarea { resize: vertical; min-height: 110px; line-height: 1.6; }
.form-select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23C9A96E' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 13px center; padding-right: 38px;
}
.form-select option { background: var(--bg-card); color: var(--ivory); }
.form-submit {
  width: 100%; padding: 14px; background: var(--brass); color: var(--bg);
  font-family: var(--font-body); font-size: 11px; font-weight: 600;
  letter-spacing: 0.11em; text-transform: uppercase; border: none; cursor: pointer;
  transition: background 0.2s; margin-top: 6px;
}
.form-submit:hover { background: #CDAC7A; }
.form-note { font-size: 10.5px; color: var(--ivory-muted); margin-top: 14px; line-height: 1.55; text-align: center; }

/* ─────────────────────────────────────────
   FOOTER
───────────────────────────────────────── */
.footer { padding: 56px 0 44px; background: var(--bg); border-top: 1px solid var(--hair); }
.footer__inner { max-width: var(--container); margin: 0 auto; padding: 0 48px; }
.footer__top {
  display: flex; justify-content: space-between; align-items: flex-start;
  padding-bottom: 36px; border-bottom: 1px solid var(--hair); margin-bottom: 28px;
}
.footer__logo { font-family: var(--font-display); font-size: 19px; color: var(--ivory); letter-spacing: 0.04em; }
.footer__logo span { color: var(--brass); }
.footer__tagline { font-size: 12.5px; color: var(--ivory-muted); margin-top: 7px; max-width: 32ch; }
.footer__locales { display: flex; gap: 16px; list-style: none; align-items: center; }
.footer__locales a {
  font-size: 10.5px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--ivory-muted); transition: color 0.2s;
}
.footer__locales a:hover { color: var(--brass); }
.footer__legal-links {
  display: flex; flex-wrap: wrap; gap: 20px;
  list-style: none; margin: 0 0 20px; padding: 12px 0 0;
  border-top: 1px solid var(--hair);
}
.footer__legal-links a {
  font-size: 11px; font-weight: 500; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--ivory-muted);
  transition: color 0.2s; text-decoration: none;
}
.footer__legal-links a:hover { color: var(--brass); }
.footer__bottom { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 16px; }
.footer__copy { font-size: 11.5px; color: var(--ivory-muted); }
.footer__legal { font-size: 10.5px; color: var(--ivory-muted); max-width: 66ch; line-height: 1.55; }

/* ─────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────── */
@media (max-width: 1100px) {
  .editorial-break { height: 340px; }
  .editorial-break--tall { height: 440px; }
  .texture-strip { height: auto; max-height: none; }
  .hof-card__photo { height: 220px; }
  .container, .container--text { padding: 0 32px; }
  .nav__inner { padding: 0 32px; }
  .hero__inner { grid-template-columns: 1fr; gap: 56px; }
  .hero__stat-panel { display: grid; grid-template-columns: repeat(3, 1fr); }
  .hero__stat { border-bottom: none; border-right: 1px solid var(--hair); padding: 18px 20px; }
  .hero__stat:first-child { padding-top: 18px; }
  .hero__stat:last-child { border-right: none; }
  .proof__grid { grid-template-columns: 1fr; }
  .proof__header { grid-template-columns: 1fr; gap: 28px; }
  .hof__grid { grid-template-columns: repeat(2, 1fr); }
  .hof__header-grid { grid-template-columns: 1fr; gap: 28px; }
  .mfg__grid { grid-template-columns: 1fr 1fr; }
  .mfg__header { grid-template-columns: 1fr; gap: 28px; }
  .platform__grid { grid-template-columns: repeat(2, 1fr); }
  .platform__header { grid-template-columns: 1fr; gap: 28px; }
  .gen-wealth__comparison { grid-template-columns: 1fr; }
  .latam__header { grid-template-columns: 1fr; gap: 40px; }
  .latam__artists { grid-template-columns: 1fr; }
  .process__steps { grid-template-columns: repeat(3, 1fr); gap: 32px; }
  .process-step { padding-left: 0; border-left: none; border-top: 1px solid var(--hair); padding-top: 22px; }
  .process__header { grid-template-columns: 1fr; gap: 28px; }
  .apply__inner { grid-template-columns: 1fr; gap: 48px; }
  .proof-contrast__inner { grid-template-columns: 1fr 44px 1fr; }
}

@media (max-width: 768px) {
  :root { --section-v: 80px; }
  .editorial-break { height: 240px; }
  .editorial-break--tall { height: 320px; }
  .editorial-break--short { height: 180px; }
  .hof-card__photo { height: 200px; }
  .texture-strip { grid-template-columns: repeat(3, 1fr); gap: 1px; max-height: 200px; }
  .texture-strip img { aspect-ratio: 1 / 1; }
  .container, .container--text { padding: 0 20px; }
  .nav__inner { padding: 0 20px; }
  .nav__links { display: none; }
  .locale-switcher { display: none; }
  .hero__inner { padding: 0 20px; }
  .hero__headline { font-size: 42px; }
  .hof__grid { grid-template-columns: 1fr 1fr; }
  .mfg__grid { grid-template-columns: 1fr; }
  .platform__grid { grid-template-columns: 1fr; }
  .gallery-strip__inner { flex-direction: column; }
  .process__steps { grid-template-columns: 1fr 1fr; }
  .proof-contrast__inner { grid-template-columns: 1fr; gap: 20px; }
  .proof-contrast__divider {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 6px 0;
    font-family: var(--font-display);
    font-size: 30px;
    font-weight: 600;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--brass);
  }
  .proof-contrast__divider::before,
  .proof-contrast__divider::after {
    content: '';
    display: inline-block;
    width: 48px;
    height: 1px;
    background: var(--brass-hairline);
    margin: 0 14px;
  }
  .succession-item { grid-template-columns: 18px 1fr; }
  .succession-item__value { display: none; }
  .latam__stats { grid-template-columns: 1fr 1fr; }
  .footer__top { flex-direction: column; gap: 20px; }
  .pull-quote--section { padding: 64px 20px; }
  .proof__grid, .proof__header { padding: 0 20px; }
  .hof__header, .hof__category { padding: 0 20px; }
  .mfg__grid, .mfg__header { padding: 0 20px; }
  .platform__grid, .platform__header { padding: 0 20px; }
  .latam__header, .latam__artists { padding: 0 20px; }
  .process__header, .process__steps { padding: 0 20px; }
  .apply__inner { padding: 0 20px; }
  .gen-wealth__inner { padding: 0 20px; }
  .footer__inner { padding: 0 20px; }
  .proof-contrast__inner { padding: 0 20px; }
}

/* ─────────────────────────────────────────
   NAV — HAMBURGER + DRAWER (persistent across desktop + mobile)
   User preference: language selection lives exclusively in the hamburger
   drawer so the experience is consistent across all viewports.
───────────────────────────────────────── */
.nav__ham {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  margin-left: 14px;
}
.nav__ham span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--ivory);
  transition: transform 0.22s ease, opacity 0.22s ease;
  transform-origin: center;
}
.nav--open .nav__ham span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav--open .nav__ham span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav--open .nav__ham span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Drawer: shown on all viewports, triggered by hamburger */
.nav__drawer {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 62px;
  left: 0;
  right: 0;
  background: var(--bg);
  border-bottom: 1px solid var(--hair-strong);
  padding: 8px 20px 28px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: visibility 0s 0.22s, opacity 0.22s ease, transform 0.22s ease;
  z-index: 99;
}
.nav--open .nav__drawer {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  transition: visibility 0s, opacity 0.22s ease, transform 0.22s ease;
}

/* Drawer internal styles — apply on all viewports so desktop-opened drawer
   renders correctly. */
.nav__drawer-links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__drawer-links li a {
  display: block;
  padding: 16px 0;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ivory-dim);
  border-bottom: 1px solid var(--hair);
  transition: color 0.2s;
  text-decoration: none;
}
.nav__drawer-links li:first-child a { border-top: 1px solid var(--hair); }
.nav__drawer-links li a:hover { color: var(--brass); }

.nav__drawer-locales {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding: 16px 0 20px;
  margin: 0;
}
.nav__drawer-locales a {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ivory-muted);
  transition: color 0.2s;
  text-decoration: none;
}
.nav__drawer-locales a:hover,
.nav__drawer-locales a.active { color: var(--brass); }

.nav__drawer-cta { align-self: flex-start; margin-top: 4px; }

@media (max-width: 768px) {
  .nav__cta-desktop { display: none; }
  .nav__links { display: none; }
}

/* ─────────────────────────────────────────
   LEGAL PAGES — shared layout (privacy / cookies / terms)
   One rule, one set of sizes, zero drift across pages.
───────────────────────────────────────── */
.legal-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 4rem 1.5rem 6rem;
}
.legal-wrap h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 2.8rem);
  margin-bottom: 0.5rem;
  color: var(--ivory);
  letter-spacing: -0.01em;
}
.legal-wrap .legal-meta {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ivory-muted);
  margin-bottom: 2.5rem;
  font-family: var(--font-body);
}
.legal-wrap h2 {
  font-family: var(--font-display);
  font-size: 1.4rem;
  margin: 2.5rem 0 1rem;
  color: var(--ivory);
}
.legal-wrap h3 {
  font-family: var(--font-display);
  font-size: 1.1rem;
  color: var(--ivory);
  margin: 1.5rem 0 0.5rem;
}
.legal-wrap p {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.75;
  color: var(--ivory-dim);
  margin-bottom: 1.1rem;
}
.legal-wrap ul {
  margin: 1rem 0 1.5rem 1.5rem;
  color: var(--ivory-dim);
  font-family: var(--font-body);
}
.legal-wrap li {
  margin-bottom: 0.4rem;
  line-height: 1.7;
  font-size: 15px;
}
.legal-wrap a {
  color: var(--brass);
  text-decoration: underline;
}
.legal-wrap table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
  font-size: 14px;
  font-family: var(--font-body);
}
.legal-wrap th,
.legal-wrap td {
  border: 1px solid var(--hair);
  padding: 10px 12px;
  text-align: left;
  color: var(--ivory-dim);
}
.legal-wrap th {
  background: var(--bg-mid);
  color: var(--ivory);
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* ─────────────────────────────────────────
   UNIVERSAL PREFERENCE: text inside any pill/button/card/box is CENTERED
   (unless the container explicitly opts out with .text-left)

   Applies to .btn, .nav__cta, .nav__cta-desktop, .btn--solid,
   .form-submit, .apply-confirm-modal__close, any <button>, and any
   .card-*__cta element. Saves having to re-center on every new pill.
───────────────────────────────────────── */
.btn,
button.btn,
a.btn,
.nav__cta,
.nav__cta-desktop,
.form-submit,
.apply-confirm-modal__close,
.btn--solid,
.nav__drawer-cta,
.stub-actions a {
  text-align: center;
  justify-content: center;
}

/* ─────────────────────────────────────────
   APPLY FORM — required/optional badges + confirmation modal
───────────────────────────────────────── */
.form-required {
  color: var(--brass);
  font-weight: 600;
  margin-left: 2px;
}
.form-optional {
  color: var(--ivory-muted);
  font-weight: 400;
  font-size: 0.9em;
  margin-left: 4px;
  font-style: italic;
}

.apply-confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 0.22s, opacity 0.22s ease;
  pointer-events: none;
}
.apply-confirm-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: visibility 0s, opacity 0.22s ease;
}
.apply-confirm-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(42, 38, 32, 0.6);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.apply-confirm-modal__content {
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--brass-hairline);
  border-top: 3px solid var(--brass);
  max-width: 480px;
  margin: 24px;
  padding: 44px 36px 36px;
  text-align: center;
  box-shadow: 0 24px 72px rgba(42, 38, 32, 0.25);
  transform: translateY(8px);
  transition: transform 0.22s ease;
}
.apply-confirm-modal.is-open .apply-confirm-modal__content {
  transform: translateY(0);
}
.apply-confirm-modal__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: var(--brass);
  color: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 700;
}
.apply-confirm-modal__heading {
  font-family: var(--font-display);
  font-size: 26px;
  color: var(--ivory);
  letter-spacing: -0.01em;
  margin: 0 0 14px;
}
.apply-confirm-modal__body {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--ivory-dim);
  margin: 0 0 28px;
  max-width: 38ch;
  margin-left: auto;
  margin-right: auto;
}
.apply-confirm-modal__close {
  min-width: 140px;
}

/* ─────────────────────────────────────────
   FOUNDER INTRO — homepage video section between Process and Apply
───────────────────────────────────────── */
.founder-intro {
  padding: var(--section-v) 0;
  background: var(--bg);
  border-top: 1px solid var(--hair);
  border-bottom: 1px solid var(--hair);
}
.founder-intro .container,
.founder-intro .container--text { text-align: center; }
.founder-intro__eyebrow {
  font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--brass); margin-bottom: 16px;
  display: inline-flex; align-items: center; gap: 10px;
}
.founder-intro__eyebrow::before,
.founder-intro__eyebrow::after {
  content: ''; display: block; width: 24px; height: 1px;
  background: var(--brass); opacity: 0.65;
}
.founder-intro__heading {
  margin-bottom: 44px;
  font-size: clamp(32px, 4vw, 52px);
}
.founder-intro__video-wrap {
  max-width: 860px;
  margin: 0 auto;
  border: 1px solid var(--brass-hairline);
  box-shadow: 0 18px 44px rgba(42, 38, 32, 0.14);
  background: var(--bg-mid);
  overflow: hidden;
  border-radius: 2px;
}
.founder-intro__video {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 9;
}
.founder-intro__caption {
  font-size: 13.5px;
  color: var(--ivory-muted);
  margin-top: 24px;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
.founder-intro__cc-hint {
  font-size: 11.5px;
  color: var(--ivory-muted);
  margin-top: 10px;
  letter-spacing: 0.04em;
  opacity: 0.75;
}

/* Subtitle language selector — prominent flag/label row under the trailer.
   Click any button to switch the active subtitle track instantly.
   Used heavily during in-person pitches to Spanish (Argentina/Colombia) artists. */
.founder-intro__lang-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(201, 169, 97, 0.18);
  border-radius: 10px;
}
.founder-intro__lang-label {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ivory-muted);
  margin-right: 4px;
  font-weight: 600;
}
.founder-intro__lang-btn {
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(201, 169, 97, 0.35);
  background: transparent;
  color: var(--ivory);
  cursor: pointer;
  letter-spacing: 0.01em;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  min-height: 44px; /* tap target */
}
.founder-intro__lang-btn:hover {
  background: rgba(201, 169, 97, 0.12);
  border-color: rgba(201, 169, 97, 0.6);
}
.founder-intro__lang-btn[aria-pressed="true"] {
  background: var(--gold, #c9a961);
  color: #1a1410;
  border-color: var(--gold, #c9a961);
  font-weight: 600;
}
.founder-intro__lang-btn--off {
  font-size: 12px;
  opacity: 0.7;
}
@media (max-width: 768px) {
  .founder-intro__lang-bar { gap: 6px; padding: 10px 12px; margin: 14px 8px 0; }
  .founder-intro__lang-btn { font-size: 12px; padding: 8px 11px; }
  .founder-intro__lang-label { font-size: 11px; flex-basis: 100%; text-align: center; margin: 0 0 4px; }
}

/* Force WebVTT subtitles to render at the bottom of the video, NOT centered
   over the subject's face. Backup to the `line:88%` metadata baked into
   each .vtt cue — browsers that ignore line: still get bottom-aligned via CSS. */
video::cue {
  background: rgba(0, 0, 0, 0.75);
  color: #ffffff;
  font-family: 'Manrope', system-ui, sans-serif;
  font-size: 0.95em;
  line-height: 1.4;
  padding: 4px 10px;
}
@media (max-width: 768px) {
  .founder-intro__heading { margin-bottom: 28px; }
  .founder-intro__video-wrap { margin: 0 20px; }
  .founder-intro__caption { margin: 20px 20px 0; }
}

/* Blog hero image — bright editorial stock photos at top of each post.
   Scoped to figure.blog-hero (the <figure> wrapper) so it does NOT clash
   with the blog index page's text-section .blog-hero (a <div>). */
figure.blog-hero { margin: 0 0 2.5rem; aspect-ratio: 16/9; overflow: hidden; border-radius: 4px; background: var(--bg-mid); }
figure.blog-hero img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; display: block; }
@media (max-width: 760px) { figure.blog-hero { aspect-ratio: 3/2; } }

/* ==========================================================================
   Case Studies — "Back to top" arrow inline on each vignette
   Also the Archive "Quick scan" CTA on homepage
   Single source of truth for both EN and ES case-studies pages.
   ========================================================================== */
.cs-back-to-top {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: 1.5rem;
  padding: .55rem 1rem;
  background: rgba(201, 164, 98, .08);
  border: 1px solid rgba(201, 164, 98, .3);
  border-radius: 4px;
  color: var(--terra, #C9A462);
  text-decoration: none;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 600;
  transition: background .18s, border-color .18s;
}
.cs-back-to-top:hover {
  background: rgba(201, 164, 98, .15);
  border-color: rgba(201, 164, 98, .5);
}
.cs-back-to-top::before { content: "\2191"; font-size: 1rem; }

/* Archive quick-scan CTA line on homepage */
.hof__cta-line {
  margin: .75rem 0 .35rem;
  font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif);
  font-size: .72rem;
  font-style: italic;
  color: var(--ivory-muted, #b8a898);
  letter-spacing: .005em;
  opacity: 0.75;
}
.hof__cta-line em { font-style: italic; }

/* TOC — shared */
.cs-toc li a.cs-toc__active { color: var(--terra, #C9A462); font-weight: 600; }


/* === DRAWER OVERRIDE 2026-05-01: right-side dropdown panel, ivory palette === */
.nav__drawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  width: min(360px, 90vw) !important;
  max-width: 360px !important;
  height: 100vh !important;
  background: #FAF7F2 !important;
  box-shadow: -24px 0 60px -20px rgba(42, 38, 32, 0.18) !important;
  border-left: 1px solid rgba(42, 38, 32, 0.08) !important;
  transform: translateX(100%) !important;
  transition: transform 0.28s cubic-bezier(0.4,0,0.2,1) !important;
  padding: 96px 32px 32px !important;
  overflow-y: auto !important;
  z-index: 9999 !important;
}
.nav.nav--open .nav__drawer {
  transform: translateX(0) !important;
}
.nav__drawer-links { display: block !important; }
.nav__drawer-links li { display: block !important; padding: 14px 0 !important; border-bottom: 1px solid rgba(42, 38, 32, 0.08) !important; }
.nav__drawer-links li a { font-size: 1rem !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; color: #1a1a1a !important; }
.nav__drawer-links li a:hover { color: #C9A96E !important; }
.nav__drawer-locales { display: flex !important; gap: 16px !important; flex-wrap: wrap !important; padding: 24px 0 !important; border-bottom: 1px solid rgba(42, 38, 32, 0.08) !important; }
.nav__drawer-locales li { padding: 0 !important; border: 0 !important; }
.nav__drawer-locales a { font-size: 0.78rem !important; letter-spacing: 0.1em !important; color: rgba(42, 38, 32, 0.55) !important; padding: 6px 12px !important; border-radius: 4px !important; }
.nav__drawer-locales a:hover { color: #1a1a1a !important; }
.nav__drawer-locales a.active { color: #A8894E !important; background: rgba(201, 169, 110, 0.12) !important; }
.nav__drawer-cta { margin-top: 24px !important; display: block !important; text-align: center !important; }
/* Backdrop dim — shows page is "behind" the drawer */
.nav.nav--open::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(26, 26, 26, 0.18);
  z-index: 9998;
  animation: drawerBackdropIn 0.22s ease;
}
@keyframes drawerBackdropIn { from { opacity: 0; } to { opacity: 1; } }


/* === SUBTITLE STYLING 2026-04-25e: visible + smaller + backdrop. VTT line position handles vertical placement (line:78%) === */
.founder-intro__video::cue {
  font-size: 0.78em;
  background: rgba(0, 0, 0, 0.72);
  color: #ffffff;
  padding: 2px 10px;
  line-height: 1.35;
  text-shadow: 0 1px 2px rgba(0,0,0,0.6);
}
