:root {
    /* LIGHT THEME (default) — sampled from harrisowusu.com */
    --ink: #FAFAFA;
    --ink-2: #F0F0F2;
    --ink-3: #E4E4E8;
    --ink-4: #D4D4DC;
    --cream: #14102C;
    --cream-2: #2C2858;
    --paper: #FAFAFA;
    --gold: #7A5C22;
    --gold-bright: #B08838;
    --gold-deep: #6B4E1F;
    --rust: #A04A2E;
    --muted: #6B6B80;
    --muted-2: #4A4A5C;
    --line: rgba(20, 16, 44, 0.10);
    --line-strong: rgba(20, 16, 44, 0.22);
    --serif: 'Fraunces', 'Playfair Display', Georgia, serif;
    --sans: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
    --mono: 'IBM Plex Mono', 'SF Mono', Menlo, monospace;

    /* ---- MOTION TOKENS (refined & understated) ---- */
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);        /* expo-out — reveals, entrances */
    --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);     /* symmetric — view changes    */
    --ease-hover: cubic-bezier(0.33, 1, 0.68, 1);     /* cubic-out — hovers, presses */
    --dur-fast: 0.22s;
    --dur-med: 0.45s;
    --dur-slow: 0.85s;
    --lift-shadow: 0 18px 40px -18px rgba(14, 11, 30, 0.35), 0 6px 16px -8px rgba(14, 11, 30, 0.18);
  }

  /* DARK NAVY sections — cascade the same token names to dark values */
  .topbar,
  .mobile-menu,
  .hero,
  .credo-strip,
  .desk,
  .journey,
  .leadership,
  .closer,
  footer {
    --ink: #282848;
    --ink-2: #201C44;
    --ink-3: #302C60;
    --ink-4: #3C3878;
    --cream: #FAFAFA;
    --cream-2: #E8E8F0;
    --gold: #C8A055;
    --gold-bright: #E8B86A;
    --gold-deep: #BE9A50;
    --rust: #D98A6E;
    --muted: #A0A0B8;
    --muted-2: #9A9AB6;
    --line: rgba(255, 255, 255, 0.10);
    --line-strong: rgba(255, 255, 255, 0.22);
    color: var(--cream);
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  html { scroll-behavior: smooth; }

  body {
    background: var(--ink);
    color: var(--cream);
    font-family: var(--sans);
    font-weight: 400;
    line-height: 1.5;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'ss01', 'cv11';
  }

  /* Film grain overlay */
  body::before {
    content: "";
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    pointer-events: none;
    z-index: 200;
    opacity: 0.045;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95 0 0 0 0 0.9 0 0 0 0 0.8 0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  }

  ::selection { background: var(--gold); color: #14102C; }

  a { color: inherit; text-decoration: none; }
  button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
  img { display: block; max-width: 100%; }

  /* ---------- UTILITIES ---------- */
  .wrap { max-width: 1440px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 72px); }
  .eyebrow {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold);
    font-weight: 400;
  }
  .hairline { border: 0; border-top: 1px solid var(--line); margin: 0; }
  .serif { font-family: var(--serif); font-optical-sizing: auto; }

  /* ---------- TOP BAR ---------- */
  .topbar {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    padding: 22px 0;
    background: transparent;
    transition: padding 0.3s ease, background 0.3s ease;
  }
  .topbar.scrolled {
    padding: 14px 0;
    background: rgba(20, 16, 44, 0.82);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
  }

  .nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }

  /* Stacked brand logo */
  .brand-stack {
    display: flex;
    flex-direction: column;
    font-family: 'Archivo Black', var(--sans), sans-serif;
    line-height: 1.02;
    color: var(--cream);
    text-transform: uppercase;
    gap: 1px;
    flex-shrink: 0;
  }
  .brand-line-1 {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(14px, 1.15vw, 17px);
    letter-spacing: 0.03em;
  }
  .brand-line-2,
  .brand-line-3 {
    font-family: var(--sans);
    font-weight: 800;
    font-size: clamp(8px, 0.65vw, 10px);
    letter-spacing: 0.14em;
    opacity: 0.95;
  }

  /* Pill nav */
  .nav-pill {
    display: none;
    background: #FFFFFF;
    border-radius: 50px;
    padding: 5px;
    gap: 2px;
    align-items: center;
    box-shadow: 0 6px 24px rgba(20, 16, 44, 0.18);
  }
  @media (min-width: 1100px) {
    .nav-pill { display: inline-flex; }
  }
  .nav-pill-item {
    padding: 10px 16px;
    border-radius: 50px;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #14102C;
    transition: all 0.25s ease;
    white-space: nowrap;
    line-height: 1;
  }
  .nav-pill-item.active {
    background: #2468F8;
    color: #FFFFFF;
    box-shadow: 0 2px 10px rgba(36, 104, 248, 0.35);
  }
  .nav-pill-item:not(.active):hover {
    background: rgba(20, 16, 44, 0.06);
  }

  /* Connect pill button */
  .nav-connect {
    display: inline-flex;
    align-items: center;
    padding: 13px 26px;
    background: #FFFFFF;
    color: #14102C;
    border-radius: 50px;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: all 0.25s ease;
    box-shadow: 0 6px 24px rgba(20, 16, 44, 0.18);
    flex-shrink: 0;
  }
  .nav-connect:hover {
    background: var(--gold-bright);
    color: #14102C;
  }

  .menu-toggle {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 10px;
    background: rgba(255,255,255,0.08);
    border-radius: 50%;
    width: 42px; height: 42px;
    align-items: center;
    justify-content: center;
  }
  @media (min-width: 1100px) { .menu-toggle { display: none; } }
  .menu-toggle span {
    width: 18px; height: 1.5px; background: var(--cream);
  }

  /* ---------- HERO ---------- */
  .hero {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    padding: 140px 0 50px;
    background: radial-gradient(ellipse 1200px 700px at 50% 30%, rgba(60, 80, 140, 0.20), transparent 65%),
                linear-gradient(180deg, var(--ink) 0%, var(--ink-2) 100%);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  /* Hero background video — slow cinematic drift, fades in once playing */
  .hero-video {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    z-index: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity 1.8s ease;
    animation: heroDrift 38s ease-in-out infinite alternate;
    will-change: transform, opacity;
  }
  .hero-video.is-ready { opacity: 1; }
  @keyframes heroDrift {
    from { transform: scale(1.035); }
    to   { transform: scale(1.10); }
  }
  /* Layered cinematic scrim: warm grade + edge vignette + top/bottom legibility */
  .hero-video-overlay {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
      linear-gradient(158deg, rgba(200, 160, 85, 0.08) 0%, transparent 38%),
      radial-gradient(ellipse 130% 92% at 50% 42%, transparent 52%, rgba(14, 11, 30, 0.48) 100%),
      linear-gradient(180deg, rgba(14, 11, 30, 0.42) 0%, rgba(14, 11, 30, 0.06) 24%, rgba(14, 11, 30, 0.02) 52%, rgba(14, 11, 30, 0.30) 78%, rgba(20, 16, 44, 0.72) 100%);
  }
  /* Hairline gold rule at the hero's base */
  .hero::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 1px;
    z-index: 3;
    background: linear-gradient(90deg, transparent, rgba(200, 160, 85, 0.45) 30%, rgba(232, 184, 106, 0.65) 50%, rgba(200, 160, 85, 0.45) 70%, transparent);
  }
  @media (max-width: 640px) {
    .hero-video-overlay {
      background:
        radial-gradient(ellipse 150% 95% at 50% 42%, transparent 48%, rgba(14, 11, 30, 0.55) 100%),
        linear-gradient(180deg, rgba(14, 11, 30, 0.50) 0%, rgba(14, 11, 30, 0.10) 30%, rgba(14, 11, 30, 0.38) 74%, rgba(20, 16, 44, 0.78) 100%);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .hero-video { animation: none; }
  }

  /* Massive centered name block */
  .hero-name-block {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 100%;
    text-align: center;
    padding: 0 clamp(16px, 3vw, 40px);
    pointer-events: none;
    /* --hero-par & --hero-fade are driven by scroll (JS) for a soft parallax exit */
    transform: translateY(calc(-8vh + var(--hero-par, 0px)));
    opacity: var(--hero-fade, 1);
  }
  .hero-eyebrow {
    font-family: 'Archivo Black', var(--sans), sans-serif;
    font-size: clamp(18px, 2.1vw, 34px);
    color: var(--cream);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 clamp(4px, 0.6vw, 12px) 0;
    line-height: 1;
    opacity: 0;
    animation: fadeUp 1s ease 0.3s forwards;
  }
  .hero-bigname {
    font-family: 'Archivo Black', var(--sans), sans-serif;
    font-weight: 900;
    font-size: clamp(44px, 12vw, 200px);
    line-height: 0.9;
    letter-spacing: -0.032em;
    color: var(--cream);
    text-transform: uppercase;
    white-space: nowrap;
    margin: 0;
    padding: 0;
    opacity: 0;
    animation: heroRise 1.3s cubic-bezier(0.2, 0.8, 0.2, 1) 0.5s forwards;
  }
  @keyframes heroRise {
    from { opacity: 0; transform: translateY(50px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
  }
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* Bottom corners — taglines + pill CTAs */
  .hero-bottom-row {
    position: absolute;
    bottom: clamp(28px, 4vh, 60px);
    left: 0;
    right: 0;
    padding: 0 clamp(24px, 4.5vw, 80px);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    z-index: 4;
  }
  .hero-corner {
    opacity: 0;
    animation: fadeUp 1.4s ease 1.1s forwards;
  }
  .hero-corner-right { text-align: right; }
  .corner-label {
    font-family: 'Archivo Black', var(--sans), sans-serif;
    font-size: clamp(11px, 0.95vw, 14px);
    letter-spacing: 0.08em;
    color: var(--cream);
    text-transform: uppercase;
    line-height: 1.35;
    margin-bottom: 18px;
    text-shadow: 0 1px 24px rgba(14, 11, 30, 0.55);
  }
  .corner-label::before {
    content: "";
    display: block;
    width: 30px;
    height: 2px;
    margin-bottom: 12px;
    background: linear-gradient(90deg, var(--gold-bright), rgba(232, 184, 106, 0));
  }
  .hero-corner-right .corner-label::before {
    margin-left: auto;
    background: linear-gradient(270deg, var(--gold-bright), rgba(232, 184, 106, 0));
  }

  /* Centered scroll cue */
  .hero-scroll-cue {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: clamp(28px, 4vh, 60px);
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.55);
    opacity: 0;
    animation: fadeUp 1.4s ease 1.6s forwards;
    pointer-events: none;
  }
  .cue-line {
    position: relative;
    width: 1px;
    height: 44px;
    overflow: hidden;
    background: rgba(250, 250, 250, 0.18);
  }
  .cue-line::after {
    content: "";
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, transparent, var(--gold-bright));
    animation: cueDrop 2.6s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  }
  @keyframes cueDrop {
    0%   { top: -100%; }
    62%  { top: 100%; }
    100% { top: 100%; }
  }
  @media (prefers-reduced-motion: reduce) {
    .cue-line::after { animation: none; }
  }

  /* Pill button (outline on-navy → fills white on hover) */
  .btn-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 26px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.38);
    color: var(--cream);
    font-family: var(--sans);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.01em;
    transition: all 0.3s ease;
    background: rgba(20, 16, 44, 0.28);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 8px 32px rgba(14, 11, 30, 0.22);
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
  }
  .btn-pill:hover {
    background: #FFFFFF;
    color: #14102C;
    border-color: #FFFFFF;
    box-shadow: 0 10px 36px rgba(14, 11, 30, 0.35);
  }
  .btn-pill .arrow {
    display: inline-block;
    transition: transform 0.3s ease;
  }
  .btn-pill:hover .arrow { transform: translateX(4px); }

  /* Mobile hero responsive */
  @media (max-width: 900px) {
    .hero { padding: 120px 0 40px; }
    .hero-name-block { transform: translateY(-4vh); }
    .hero-bigname { font-size: clamp(38px, 13vw, 100px); letter-spacing: -0.03em; }
    .hero-eyebrow { font-size: clamp(16px, 3vw, 22px); }
    .hero-bottom-row {
      flex-direction: column;
      align-items: stretch;
      gap: 22px;
      bottom: 30px;
    }
    .hero-corner-right { text-align: left; }
    .hero-corner-right .corner-label::before { margin-left: 0; background: linear-gradient(90deg, var(--gold-bright), rgba(232, 184, 106, 0)); }
    .btn-pill { font-size: 12px; padding: 11px 20px; }
    .hero-scroll-cue { display: none; }
  }

  /* ---------- BUTTONS (used throughout site) ---------- */
  .btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 17px 30px;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 1px solid transparent;
    font-family: var(--sans);
  }
  .btn-primary {
    background: var(--cream);
    color: var(--ink);
  }
  .btn-primary:hover { background: var(--gold-bright); }
  .btn-ghost {
    border-color: var(--line-strong);
    color: var(--cream);
  }
  .btn-ghost:hover { border-color: var(--gold); color: var(--gold-bright); }
  .btn .arrow {
    display: inline-block;
    transition: transform 0.3s ease;
  }
  .btn:hover .arrow { transform: translateX(5px); }

  /* ---------- CREDO STRIP + MARQUEE ---------- */
  .credo-strip {
    background: var(--ink);
    padding: 0;
    color: var(--cream);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .credo-strip .wrap {
    padding-top: clamp(44px, 6vh, 80px);
    padding-bottom: clamp(34px, 4vh, 55px);
    text-align: center;
  }
  .credo-quote {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(1.3rem, 2.4vw, 2.2rem);
    line-height: 1.3;
    letter-spacing: -0.015em;
    color: var(--cream);
    font-style: italic;
    font-variation-settings: 'opsz' 100, 'SOFT' 60, 'WONK' 1;
    max-width: 920px;
    margin: 0 auto;
  }
  .credo-quote em {
    color: var(--gold-bright);
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }

  .marquee {
    border-top: 1px solid var(--line);
    padding: 18px 0;
    overflow: hidden;
    position: relative;
  }
  .marquee-track {
    display: flex;
    gap: 60px;
    white-space: nowrap;
    animation: scroll 45s linear infinite;
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cream-2);
  }
  .marquee-track span { display: flex; align-items: center; gap: 60px; }
  .marquee-track .dot {
    display: inline-block;
    width: 5px; height: 5px;
    background: var(--gold);
    border-radius: 50%;
  }
  @keyframes scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }


  /* ---------- SECTION SCAFFOLD ---------- */
  section { position: relative; padding: clamp(80px, 12vh, 160px) 0; }
  .section-label {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 50px;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
  }
  .section-label .num { color: var(--gold); font-weight: 500; }
  .section-label .title { color: var(--cream-2); }
  .section-label .divider { flex: 1; height: 1px; background: var(--line); }

  .section-heading {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(2.2rem, 5vw, 4.6rem);
    line-height: 1.02;
    letter-spacing: -0.03em;
    color: var(--cream);
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
    margin-bottom: 30px;
  }
  .section-heading em {
    font-style: italic;
    color: var(--gold-bright);
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
    font-weight: 300;
  }

  /* ---------- STATS ---------- */
  .stats {
    background: var(--ink);
    padding: 80px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
  }
  @media (min-width: 900px) { .stats-grid { grid-template-columns: repeat(4, 1fr); } }

  .stat {
    padding: 30px 30px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    position: relative;
  }
  @media (min-width: 900px) {
    .stat { border-bottom: none; }
    .stat:last-child { border-right: none; }
  }
  @media (max-width: 899px) {
    .stat:nth-child(even) { border-right: none; }
    .stat:nth-last-child(-n+2) { border-bottom: none; }
  }
  .stat:hover { background: rgba(200, 160, 85, 0.03); }

  .stat-num {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(3rem, 5vw, 4.5rem);
    line-height: 1;
    letter-spacing: -0.04em;
    color: var(--cream);
    margin-bottom: 14px;
    display: flex;
    align-items: baseline;
    gap: 2px;
  }
  .stat-num .unit {
    font-size: 0.45em;
    color: var(--gold);
    font-style: italic;
    font-variation-settings: 'opsz' 100, 'SOFT' 100, 'WONK' 1;
  }
  .stat-label {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
    line-height: 1.5;
  }
  .stat-bar {
    position: absolute;
    bottom: 0; left: 0;
    height: 2px;
    width: 0;
    background: var(--gold);
    transition: width 1.4s ease;
  }
  .stat.in-view .stat-bar { width: 100%; }

  /* ---------- ABOUT ---------- */
  .about { background: var(--ink-2); }
  .about-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 60px;
  }
  @media (min-width: 1000px) {
    .about-inner { grid-template-columns: 0.9fr 1.2fr; gap: 100px; align-items: start; }
  }

  .portrait {
    position: relative;
    aspect-ratio: 4 / 5;
    background:
      radial-gradient(ellipse 400px 500px at 50% 35%, rgba(200, 160, 85, 0.22), transparent 65%),
      linear-gradient(135deg, #2C2858 0%, #201C44 100%);
    border: 1px solid var(--line-strong);
    overflow: hidden;
  }
  .portrait svg { width: 100%; height: 100%; }
  .portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; display: block; }

  .portrait-label {
    position: absolute;
    bottom: 20px; left: 20px; right: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cream-2);
    opacity: 0.7;
  }
  .portrait-label span { border-top: 1px solid var(--gold); padding-top: 6px; }

  .about-body p {
    font-size: clamp(15px, 1.15vw, 17px);
    line-height: 1.7;
    color: var(--cream-2);
    margin-bottom: 22px;
  }
  .about-lede {
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(1.3rem, 1.8vw, 1.7rem);
    line-height: 1.35;
    letter-spacing: -0.015em;
    color: var(--cream);
    margin-bottom: 32px;
    font-variation-settings: 'opsz' 100, 'SOFT' 40;
  }
  .about-body p:first-of-type::first-letter {
    font-family: var(--serif);
    font-size: 4.4em;
    line-height: 0.85;
    float: left;
    color: var(--gold-bright);
    font-weight: 300;
    padding: 8px 14px 0 0;
    font-variation-settings: 'opsz' 144, 'SOFT' 100;
  }
  .about-body b { color: var(--cream); font-weight: 600; }

  .pull-quote {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(1.5rem, 2.5vw, 2.3rem);
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--gold-bright);
    font-style: italic;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
    padding: 30px 0 30px 30px;
    margin: 40px 0;
    border-left: 2px solid var(--gold);
  }

  .about-ctas { display: flex; gap: 14px; margin-top: 40px; flex-wrap: wrap; }

  /* ---------- JOURNEY TIMELINE ---------- */
  .journey {
    background: var(--ink-2);
    position: relative;
    overflow: hidden;
  }
  .journey::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(200, 160, 85, 0.05) 1px, transparent 0);
    background-size: 40px 40px;
    pointer-events: none;
  }
  .journey .wrap { position: relative; }

  .journey-lede {
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(17px, 1.8vw, 21px);
    line-height: 1.55;
    color: rgba(250, 250, 250, 0.75);
    margin-top: 22px;
    margin-bottom: clamp(50px, 7vh, 90px);
    max-width: 68ch;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }

  .journey-timeline {
    position: relative;
    padding-left: clamp(44px, 7vw, 100px);
  }
  .journey-timeline::before {
    content: "";
    position: absolute;
    left: clamp(18px, 3vw, 32px);
    top: 0;
    bottom: 60px;
    width: 2px;
    background: linear-gradient(180deg, 
      rgba(200, 160, 85, 0.6), 
      rgba(200, 160, 85, 0.2) 70%,
      transparent);
  }

  .journey-node {
    position: relative;
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: clamp(24px, 4vw, 60px);
    padding-bottom: clamp(40px, 6vh, 70px);
    align-items: flex-start;
  }
  .journey-node:last-child { padding-bottom: 0; }
  @media (max-width: 740px) {
    .journey-node { grid-template-columns: 1fr; gap: 16px; }
  }
  .journey-node::before {
    content: "";
    position: absolute;
    left: calc(-1 * clamp(44px, 7vw, 100px) + clamp(10px, 2.2vw, 24px));
    top: 18px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--ink);
    border: 2px solid #C8A055;
    box-shadow: 0 0 0 4px var(--ink-2);
    z-index: 2;
  }
  .journey-node-start::before {
    background: #C8A055;
    box-shadow: 0 0 0 4px var(--ink-2), 0 0 0 7px rgba(200, 160, 85, 0.2);
  }
  .journey-node-current::before {
    background: #E8B86A;
    border-color: #E8B86A;
    box-shadow: 0 0 0 4px var(--ink-2), 0 0 20px rgba(232, 184, 106, 0.4);
    animation: journey-pulse 2.5s ease-in-out infinite;
  }
  @keyframes journey-pulse {
    0%, 100% { box-shadow: 0 0 0 4px var(--ink-2), 0 0 20px rgba(232, 184, 106, 0.4); }
    50%      { box-shadow: 0 0 0 4px var(--ink-2), 0 0 28px rgba(232, 184, 106, 0.7); }
  }

  .journey-year {
    position: sticky;
    top: 100px;
  }
  @media (max-width: 740px) {
    .journey-year { position: static; }
  }
  .jy-num {
    font-family: 'Archivo Black', var(--sans), sans-serif;
    font-size: clamp(44px, 6vw, 72px);
    line-height: 0.95;
    letter-spacing: -0.04em;
    color: #C8A055;
    margin-bottom: 4px;
  }
  .journey-node-current .jy-num { color: #E8B86A; }
  .jy-phase {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.55);
  }

  .journey-body {
    padding-top: 12px;
    max-width: 68ch;
  }
  .journey-body h3 {
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(1.35rem, 2.2vw, 1.7rem);
    line-height: 1.2;
    letter-spacing: -0.015em;
    color: #FAFAFA;
    margin: 0 0 14px;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .journey-body p {
    font-family: var(--sans);
    font-size: 15px;
    line-height: 1.65;
    color: rgba(250, 250, 250, 0.72);
    margin: 0 0 18px;
  }
  .journey-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .jtag {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #C8A055;
    padding: 5px 11px;
    border: 1px solid rgba(200, 160, 85, 0.3);
    border-radius: 100px;
    background: rgba(200, 160, 85, 0.06);
  }

  /* By-the-numbers band */
  .journey-numbers {
    margin: clamp(60px, 8vh, 100px) 0 clamp(50px, 7vh, 80px);
    padding: clamp(36px, 5vw, 60px) clamp(24px, 4vw, 48px);
    background: linear-gradient(135deg, rgba(200, 160, 85, 0.08), rgba(200, 160, 85, 0.02));
    border: 1px solid rgba(200, 160, 85, 0.22);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(20px, 3vw, 40px);
  }
  @media (max-width: 780px) { .journey-numbers { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 460px) { .journey-numbers { grid-template-columns: 1fr; } }
  .jn-item { text-align: center; }
  .jn-big {
    font-family: 'Archivo Black', var(--sans), sans-serif;
    font-size: clamp(36px, 5vw, 58px);
    line-height: 0.95;
    letter-spacing: -0.04em;
    color: #E8B86A;
    margin-bottom: 12px;
  }
  .jn-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.65);
    line-height: 1.5;
  }

  /* Journey CTA */
  .journey-cta {
    margin-top: clamp(50px, 7vh, 80px);
    padding: clamp(36px, 5vw, 60px);
    background: linear-gradient(135deg, #14102C 0%, #1E1A40 100%);
    border: 1px solid rgba(200, 160, 85, 0.25);
    position: relative;
    overflow: hidden;
  }
  .journey-cta::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 4px;
    background: linear-gradient(90deg, #C8A055, #E8B86A, #C8A055);
  }
  .jcta-inner {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: clamp(30px, 4vw, 60px);
    align-items: center;
  }
  @media (max-width: 820px) {
    .jcta-inner { grid-template-columns: 1fr; }
  }
  .jcta-eyebrow {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #C8A055;
    margin-bottom: 16px;
  }
  .jcta-heading {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(1.8rem, 3.6vw, 2.6rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #FAFAFA;
    margin: 0 0 16px;
    font-variation-settings: 'opsz' 144, 'SOFT' 40;
  }
  .jcta-heading em {
    font-style: italic;
    color: #E8B86A;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .jcta-copy {
    font-family: var(--sans);
    font-size: 15.5px;
    line-height: 1.65;
    color: rgba(250, 250, 250, 0.78);
    margin: 0;
    max-width: 62ch;
  }
  .jcta-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }
  @media (max-width: 820px) {
    .jcta-actions { width: 100%; }
    .jcta-actions .btn { flex: 1; justify-content: center; min-width: 200px; }
  }

  /* ---------- EXPERTISE ---------- */
  .expertise { background: var(--ink); }
  .expertise-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-top: 1px solid var(--line);
  }
  @media (min-width: 900px) {
    .expertise-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (min-width: 1200px) {
    .expertise-grid { grid-template-columns: repeat(5, 1fr); }
  }

  .expertise-item {
    padding: 40px 30px 50px;
    border-bottom: 1px solid var(--line);
    border-right: 1px solid var(--line);
    position: relative;
    transition: background 0.3s ease;
    cursor: default;
  }
  .expertise-item:hover { background: rgba(200, 160, 85, 0.04); }

  @media (min-width: 1200px) {
    .expertise-item:nth-child(5n) { border-right: none; }
  }
  @media (max-width: 1199px) and (min-width: 900px) {
    .expertise-item:nth-child(2n) { border-right: none; }
  }
  @media (max-width: 899px) {
    .expertise-item { border-right: none; }
  }

  .expertise-num {
    font-family: var(--mono);
    font-size: 11px;
    color: var(--gold);
    letter-spacing: 0.2em;
    margin-bottom: 24px;
  }
  .expertise-icon {
    width: 40px; height: 40px;
    margin-bottom: 24px;
    color: var(--gold-bright);
    transition: transform 0.4s ease;
  }
  .expertise-item:hover .expertise-icon { transform: rotate(-6deg) scale(1.08); }
  .expertise-title {
    font-family: var(--serif);
    font-weight: 400;
    font-size: 20px;
    letter-spacing: -0.015em;
    line-height: 1.2;
    color: var(--cream);
    margin-bottom: 14px;
  }
  .expertise-text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--muted);
  }

  /* ---------- GLOBAL REACH ---------- */
  .reach {
    background: var(--ink-2);
    position: relative;
    overflow: hidden;
  }
  .reach-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 60px;
  }
  @media (min-width: 1000px) {
    .reach-inner { grid-template-columns: 1fr 1.3fr; align-items: center; }
  }

  .reach-copy p {
    font-size: clamp(15px, 1.1vw, 17px);
    line-height: 1.7;
    color: var(--cream-2);
    margin-bottom: 20px;
  }
  .regions {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
  }
  .region {
    padding: 24px 20px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  .region-name {
    font-family: var(--serif);
    font-size: 20px;
    font-weight: 400;
    color: var(--cream);
    margin-bottom: 4px;
    letter-spacing: -0.015em;
  }
  .region-meta {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--gold);
  }

  .worldmap-wrap {
    position: relative;
    padding: 40px 0;
  }
  .worldmap {
    width: 100%;
    height: auto;
  }
  .worldmap .land { fill: var(--ink-3); stroke: var(--line-strong); stroke-width: 0.5; }
  .worldmap .land.active { fill: #2A2419; stroke: var(--gold); }
  .worldmap .node {
    fill: var(--gold-bright);
    animation: nodeP 3s ease-in-out infinite;
  }
  .worldmap .node-ring {
    fill: none;
    stroke: var(--gold-bright);
    stroke-width: 0.5;
    opacity: 0.6;
    animation: nodeRing 3s ease-out infinite;
    transform-box: fill-box;
    transform-origin: center;
  }
  @keyframes nodeP {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
  }
  @keyframes nodeRing {
    0% { r: 2; opacity: 0.7; }
    100% { r: 14; opacity: 0; }
  }
  .worldmap .line-path {
    fill: none;
    stroke: var(--gold);
    stroke-width: 0.6;
    stroke-dasharray: 4 3;
    opacity: 0.5;
  }

  /* ---------- ADVISORY ---------- */
  .advisory {
    background: #FAFAFA;
    color: #14102C;
    position: relative;
    overflow: hidden;
  }
  .advisory::before {
    content: "";
    position: absolute;
    top: -20%; right: -10%;
    width: 700px; height: 700px;
    background: radial-gradient(circle, rgba(200, 160, 85, 0.05), transparent 70%);
    pointer-events: none;
  }
  .advisory .wrap { position: relative; }

  /* Opening block */
  .adv-opening {
    margin-top: 36px;
    margin-bottom: clamp(60px, 9vh, 110px);
    max-width: 1000px;
  }
  .adv-eyebrow {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--gold-bright);
    margin-bottom: 22px;
  }
  .adv-headline {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(2rem, 4.8vw, 4rem);
    line-height: 1.02;
    letter-spacing: -0.025em;
    color: var(--cream);
    font-variation-settings: 'opsz' 144, 'SOFT' 40;
    margin: 0 0 24px;
  }
  .adv-headline em {
    font-style: italic;
    color: var(--gold-bright);
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .adv-lede {
    font-family: var(--sans);
    font-size: clamp(16px, 1.8vw, 19px);
    line-height: 1.65;
    color: var(--cream-2);
    max-width: 68ch;
    margin: 0 0 44px;
  }

  .adv-credentials {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(16px, 2vw, 28px);
    padding-top: 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }
  @media (max-width: 720px) {
    .adv-credentials { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  }
  .adv-cred-num {
    font-family: var(--display);
    font-size: clamp(36px, 5vw, 56px);
    line-height: 0.95;
    letter-spacing: -0.035em;
    color: var(--gold-bright);
    margin-bottom: 10px;
  }
  .adv-cred-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.6);
    line-height: 1.4;
  }

  /* Divider system */
  .adv-divider {
    margin: clamp(60px, 9vh, 110px) 0 32px;
    padding-top: 36px;
    border-top: 1px solid rgba(200, 160, 85, 0.18);
    display: flex;
    align-items: center;
  }
  .adv-divider-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--gold);
  }
  .adv-subheading {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(1.7rem, 3.4vw, 3rem);
    line-height: 1.08;
    letter-spacing: -0.022em;
    color: var(--cream);
    font-variation-settings: 'opsz' 144, 'SOFT' 40;
    margin: 0 0 16px;
    max-width: 900px;
  }
  .adv-subheading em {
    font-style: italic;
    color: var(--gold-bright);
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .adv-subcopy {
    font-family: var(--sans);
    font-size: 15.5px;
    line-height: 1.65;
    color: var(--cream-2);
    max-width: 66ch;
    margin: 0 0 56px;
  }

  /* Clients — 4-card grid */
  .adv-clients {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(18px, 2.5vw, 28px);
  }
  @media (max-width: 720px) { .adv-clients { grid-template-columns: 1fr; } }
  .adv-client {
    padding: clamp(28px, 3.5vw, 40px);
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.3s ease;
  }
  .adv-client:hover {
    border-color: var(--gold);
    background: rgba(255, 255, 255, 0.05);
    transform: translateY(-2px);
  }
  .adv-client-roman {
    font-family: var(--mono);
    font-size: 13px;
    letter-spacing: 0.1em;
    color: var(--gold-bright);
    margin-bottom: 6px;
  }
  .adv-client-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.5);
    margin-bottom: 18px;
  }
  .adv-client h4 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: clamp(1.4rem, 2.4vw, 1.85rem);
    line-height: 1.1;
    letter-spacing: -0.015em;
    color: var(--cream);
    margin: 0 0 16px;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .adv-client-desc {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--cream-2);
    margin: 0 0 22px;
  }
  .adv-client-examples {
    list-style: none;
    padding: 18px 0 0;
    margin: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }
  .adv-client-examples li {
    padding: 8px 0 8px 18px;
    position: relative;
    font-family: var(--sans);
    font-size: 13px;
    color: rgba(250, 250, 250, 0.78);
    line-height: 1.5;
  }
  .adv-client-examples li::before {
    content: "";
    position: absolute;
    left: 0; top: 15px;
    width: 8px; height: 2px;
    background: var(--gold);
  }

  /* Impact zones — 6 cards */
  .adv-zones {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 2vw, 24px);
  }
  @media (max-width: 760px) { .adv-zones { grid-template-columns: 1fr; } }
  .adv-zone {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 20px;
    padding: clamp(22px, 2.8vw, 30px);
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-left: 2px solid var(--gold);
    transition: all 0.3s ease;
  }
  .adv-zone:hover {
    border-left-color: var(--gold-bright);
    background: rgba(255, 255, 255, 0.04);
  }
  .zone-icon {
    width: 48px; height: 48px;
    background: rgba(200, 160, 85, 0.12);
    color: var(--gold-bright);
    display: grid;
    place-items: center;
    border-radius: 2px;
    flex-shrink: 0;
  }
  .zone-body h4 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--cream);
    margin: 0 0 10px;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .zone-body p {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--cream-2);
    margin: 0;
  }

  /* Competency matrix */
  .adv-matrix {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
  }
  .adv-matrix-header {
    display: grid;
    grid-template-columns: 1.2fr 1.3fr 1fr;
    gap: 24px;
    padding: 18px 28px;
    background: rgba(200, 160, 85, 0.08);
    border-bottom: 1px solid rgba(200, 160, 85, 0.25);
  }
  .adv-matrix-header .mh-col {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--gold-bright);
  }
  @media (max-width: 780px) {
    .adv-matrix-header { display: none; }
  }
  .adv-matrix-row {
    display: grid;
    grid-template-columns: 1.2fr 1.3fr 1fr;
    gap: 24px;
    padding: clamp(22px, 2.6vw, 32px) 28px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    align-items: start;
    transition: background 0.25s ease;
  }
  .adv-matrix-row:hover { background: rgba(255, 255, 255, 0.02); }
  .adv-matrix-row:last-child { border-bottom: none; }
  @media (max-width: 780px) {
    .adv-matrix-row { grid-template-columns: 1fr; gap: 10px; padding: 24px; }
  }
  .mh-col-compt h4 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: 17px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--cream);
    margin: 0;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .mr-num {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.22em;
    color: var(--gold-bright);
    margin-bottom: 6px;
  }
  .mh-col-deliv {
    font-family: var(--sans);
    font-size: 14px;
    line-height: 1.55;
    color: rgba(250, 250, 250, 0.78);
  }
  .mh-col-out {
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--gold-bright);
    font-variation-settings: 'opsz' 72, 'SOFT' 100, 'WONK' 1;
  }

  /* Leadership style block */
  .adv-leadership {
    margin-top: clamp(50px, 8vh, 80px);
    padding: clamp(36px, 5vw, 64px);
    background: linear-gradient(135deg, rgba(200, 160, 85, 0.1), rgba(200, 160, 85, 0.02));
    border: 1px solid rgba(200, 160, 85, 0.25);
    border-left: 4px solid var(--gold-bright);
    position: relative;
  }
  .adv-leadership-inner { max-width: 920px; margin: 0 auto; }
  .lead-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--gold-bright);
    margin-bottom: 24px;
    text-align: center;
  }
  .lead-quote {
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(17px, 2vw, 22px);
    line-height: 1.55;
    color: var(--cream);
    text-align: center;
    margin: 0 0 40px;
    font-variation-settings: 'opsz' 144, 'SOFT' 40;
  }
  .lead-pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 3vw, 40px);
    padding-top: 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
  @media (max-width: 700px) { .lead-pillars { grid-template-columns: 1fr; gap: 24px; } }
  .lead-pillar { text-align: center; }
  .lead-pillar-k {
    font-family: 'Archivo Black', sans-serif;
    font-size: 13px;
    letter-spacing: 0.04em;
    color: var(--gold-bright);
    margin-bottom: 10px;
    text-transform: uppercase;
  }
  .lead-pillar-v {
    font-family: var(--sans);
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--cream-2);
  }

  /* 4-phase process */
  .adv-process {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(14px, 2vw, 22px);
  }
  @media (max-width: 900px) { .adv-process { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 500px) { .adv-process { grid-template-columns: 1fr; } }
  .adv-proc {
    padding: clamp(24px, 2.8vw, 32px);
    background: rgba(255, 255, 255, 0.02);
    border-top: 2px solid var(--gold);
    transition: all 0.3s ease;
  }
  .adv-proc:hover {
    border-top-color: var(--gold-bright);
    background: rgba(255, 255, 255, 0.04);
  }
  .adv-proc-num {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--gold-bright);
    margin-bottom: 14px;
  }
  .adv-proc h4 {
    font-family: var(--display);
    font-size: clamp(26px, 3.5vw, 36px);
    line-height: 0.98;
    letter-spacing: -0.03em;
    color: var(--cream);
    margin: 0 0 14px;
  }
  .adv-proc p {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--cream-2);
    margin: 0;
  }

  /* CTA */
  .adv-cta {
    margin-top: clamp(60px, 9vh, 100px);
    background:
      radial-gradient(circle at 20% 30%, rgba(200, 160, 85, 0.12), transparent 55%),
      radial-gradient(circle at 80% 70%, rgba(36, 104, 248, 0.08), transparent 55%),
      rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(200, 160, 85, 0.22);
    padding: clamp(36px, 5vw, 64px);
    position: relative;
    overflow: hidden;
  }
  .adv-cta::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.05) 1px, transparent 0);
    background-size: 28px 28px;
    pointer-events: none;
  }
  .adv-cta-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: clamp(24px, 4vw, 60px);
    align-items: center;
    position: relative;
  }
  @media (max-width: 820px) { .adv-cta-inner { grid-template-columns: 1fr; } }
  .adv-cta-eyebrow {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 14px;
  }
  .adv-cta-inner h3 {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(1.8rem, 3.4vw, 2.8rem);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--cream);
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
    margin: 0 0 14px;
  }
  .adv-cta-inner h3 em {
    font-style: italic;
    color: var(--gold-bright);
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .adv-cta-inner p {
    font-family: var(--sans);
    font-size: 15.5px;
    line-height: 1.6;
    color: var(--cream-2);
    margin: 0;
    max-width: 54ch;
  }
  .adv-cta-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }
  @media (max-width: 820px) {
    .adv-cta-actions { width: 100%; }
    .adv-cta-actions .btn { flex: 1; justify-content: center; min-width: 200px; }
  }

  /* ---------- MARKET DESK ---------- */
  .desk {
    background: var(--ink);
    position: relative;
    overflow: hidden;
  }
  .desk::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background: radial-gradient(ellipse 900px 400px at 20% 20%, rgba(200,160,85,0.06), transparent 60%);
    pointer-events: none;
  }
  .desk-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 40px;
  }
  .desk-status {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border: 1px solid var(--line-strong);
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--cream-2);
    background: rgba(0,0,0,0.25);
  }
  .desk-status .live-dot {
    width: 7px; height: 7px;
    background: #6BD98A;
    border-radius: 50%;
    animation: pulseGreen 2s infinite;
  }
  @keyframes pulseGreen {
    0%, 100% { box-shadow: 0 0 0 0 rgba(107,217,138,0.6); }
    50% { box-shadow: 0 0 0 7px rgba(107,217,138,0); }
  }
  .desk-status[data-status="cached"] .live-dot {
    background: var(--gold-bright);
    animation: none;
    box-shadow: 0 0 0 3px rgba(232,184,106,0.15);
  }
  .desk-status[data-status="offline"] .live-dot {
    background: #E57C5C;
    animation: none;
    box-shadow: 0 0 0 3px rgba(229,124,92,0.15);
  }

  /* Ticker */
  .ticker {
    margin-top: 20px;
    border-top: 1px solid var(--line-strong);
    border-bottom: 1px solid var(--line-strong);
    padding: 16px 0;
    overflow: hidden;
    background: rgba(0,0,0,0.25);
  }
  .ticker-track {
    display: flex;
    gap: 48px;
    white-space: nowrap;
    animation: scroll 55s linear infinite;
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 0.08em;
  }
  .ticker-item {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    flex-shrink: 0;
  }
  .ticker-sym { color: var(--cream); font-weight: 500; letter-spacing: 0.18em; }
  .ticker-price { color: var(--cream-2); font-variant-numeric: tabular-nums; }
  .ticker-chg.up { color: #6BD98A; }
  .ticker-chg.dn { color: #E57C5C; }

  /* Main desk grid */
  .desk-grid {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 50px;
    gap: 0;
  }
  @media (min-width: 1000px) {
    .desk-grid { grid-template-columns: 1.15fr 1fr; }
  }

  .commodities, .statements {
    background: var(--ink-2);
    border: 1px solid var(--line);
  }
  @media (min-width: 1000px) {
    .statements { border-left: none; }
  }

  .commodities-title, .statements-title {
    padding: 22px 28px;
    border-bottom: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold);
  }
  .commodities-title .updated,
  .statements-title .updated {
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 0.18em;
  }

  .desk-error {
    display: none;
    padding: 14px 28px;
    background: rgba(229, 124, 92, 0.08);
    border-bottom: 1px solid rgba(229, 124, 92, 0.28);
    font-family: var(--mono);
    font-size: 11px;
    color: #F5A58A;
    letter-spacing: 0.08em;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    line-height: 1.45;
  }
  .desk-error.visible { display: flex; }
  .desk-error-text { flex: 1; min-width: 0; }
  .desk-error strong {
    color: #E57C5C;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    margin-right: 10px;
    display: inline-block;
  }
  #desk-error-reason { opacity: 0.85; }
  .desk-error button {
    background: transparent;
    border: 1px solid rgba(229, 124, 92, 0.55);
    padding: 8px 16px;
    color: #F5A58A;
    font-family: inherit;
    font-size: 10px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 24px;
    transition: all 0.2s;
    flex-shrink: 0;
  }
  .desk-error button:hover {
    background: rgba(229, 124, 92, 0.18);
    color: #FFFFFF;
    border-color: #E57C5C;
  }

  .commodity-row {
    display: grid;
    grid-template-columns: 1.4fr 0.9fr 0.7fr 1fr;
    align-items: center;
    gap: 16px;
    padding: 20px 28px;
    border-bottom: 1px solid var(--line);
    transition: background 0.25s;
  }
  .commodity-row:hover { background: rgba(200,160,85,0.04); }
  .commodity-row:last-child { border-bottom: none; }

  .c-name {
    font-family: var(--serif);
    font-size: 17px;
    color: var(--cream);
    letter-spacing: -0.01em;
    line-height: 1.15;
  }
  .c-name .sub {
    display: block;
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: 0.14em;
    color: var(--muted);
    text-transform: uppercase;
    margin-top: 4px;
  }

  .c-price {
    font-family: var(--mono);
    font-size: 14px;
    color: var(--cream);
    text-align: right;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
    transition: color 0.4s;
  }
  .c-price.flash { color: var(--gold-bright); }

  .c-chg {
    font-family: var(--mono);
    font-size: 11px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.04em;
  }
  .c-chg.up { color: #6BD98A; }
  .c-chg.dn { color: #E57C5C; }

  /* Awaiting-data state. A row must never display a number it did not
     receive from the feed, so the placeholder is visibly inert. */
  .c-price.is-empty,
  .c-chg.is-empty {
    color: var(--muted);
    opacity: 0.45;
    letter-spacing: 0.12em;
  }
  .commodity-row.is-stale { opacity: 0.5; }

  .c-spark { width: 100%; height: 32px; max-width: 110px; justify-self: end; }
  .c-spark path { stroke-linecap: round; stroke-linejoin: round; }

  /* Statements */
  .statement {
    padding: 30px 28px;
    border-bottom: 1px solid var(--line);
    position: relative;
  }
  .statement:last-child { border-bottom: none; }
  .statement::before {
    content: "";
    position: absolute;
    left: 0; top: 30px; bottom: 30px;
    width: 2px;
    background: var(--gold);
    opacity: 0;
    transition: opacity 0.35s;
  }
  .statement:hover::before { opacity: 1; }

  .statement-meta {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    flex-wrap: wrap;
  }
  .statement-topic { color: var(--gold); }
  .statement-date { color: var(--muted); }

  .statement-quote {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(1.05rem, 1.3vw, 1.25rem);
    line-height: 1.4;
    letter-spacing: -0.005em;
    color: var(--cream);
    font-variation-settings: 'opsz' 100, 'SOFT' 40;
    font-style: italic;
  }

  .desk-footnote {
    margin-top: 24px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    color: var(--muted);
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
  }

  /* ---------- GLOBAL FEED (LIVE NEWS) ---------- */
  .newsfeed {
    background: var(--ink-2);
    position: relative;
    overflow: hidden;
  }
  .newsfeed::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(200, 160, 85, 0.04) 1px, transparent 0);
    background-size: 36px 36px;
    pointer-events: none;
  }
  .newsfeed .wrap { position: relative; }
  .newsfeed-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 24px;
  }
  .news-status {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid var(--line-strong);
    border-radius: 100px;
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--cream-2);
    white-space: nowrap;
  }
  .news-dot {
    width: 8px; height: 8px;
    background: #4ADE80;
    border-radius: 50%;
    animation: news-pulse 2s ease-in-out infinite;
  }
  .news-status[data-status="loading"] .news-dot { background: #C8A055; animation: news-pulse 1s ease-in-out infinite; }
  .news-status[data-status="live"] .news-dot { background: #4ADE80; }
  .news-status[data-status="cached"] .news-dot { background: #C8A055; animation: none; }
  .news-status[data-status="offline"] .news-dot { background: #A04A2E; animation: none; }
  .status-sep { color: var(--muted); opacity: 0.5; }
  @keyframes news-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.45; }
  }

  .news-lede {
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(17px, 1.8vw, 20px);
    line-height: 1.5;
    color: var(--cream-2);
    margin-top: 18px;
    margin-bottom: 48px;
    max-width: 62ch;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }

  .news-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(12px, 1.5vw, 18px);
  }
  @media (max-width: 1100px) { .news-grid { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 800px)  { .news-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 500px)  { .news-grid { grid-template-columns: 1fr; } }

  .news-card {
    display: flex;
    flex-direction: column;
    padding: 22px 22px 18px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--cream);
    transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
    text-decoration: none;
    min-height: 190px;
    position: relative;
    overflow: hidden;
  }
  .news-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 2px;
    background: var(--gold-bright);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
  }
  .news-card:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(200, 160, 85, 0.4);
    transform: translateY(-2px);
  }
  .news-card:hover::before { transform: scaleX(1); }

  .news-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 14px;
    gap: 8px;
  }
  .news-source {
    color: var(--gold-bright);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 65%;
  }
  .news-time {
    color: rgba(250, 250, 250, 0.45);
    flex-shrink: 0;
  }
  .news-title {
    font-family: var(--serif);
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    letter-spacing: -0.005em;
    color: var(--cream);
    flex: 1;
    margin: 0;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
    transition: color 0.3s ease;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .news-card:hover .news-title { color: var(--gold-bright); }
  .news-arrow {
    margin-top: 14px;
    font-family: var(--mono);
    font-size: 15px;
    color: var(--muted);
    transition: all 0.3s;
    align-self: flex-end;
  }
  .news-card:hover .news-arrow {
    color: var(--gold-bright);
    transform: translate(3px, -3px);
  }

  .news-skeleton {
    min-height: 190px;
    background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.03) 25%,
      rgba(255, 255, 255, 0.08) 50%,
      rgba(255, 255, 255, 0.03) 75%);
    background-size: 200% 100%;
    animation: news-shimmer 1.6s infinite;
    border: 1px solid rgba(255, 255, 255, 0.06);
  }
  @keyframes news-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
  }

  .news-error-banner {
    grid-column: 1/-1;
    padding: 36px;
    text-align: center;
    background: rgba(160, 74, 46, 0.08);
    border: 1px solid rgba(160, 74, 46, 0.3);
    color: var(--cream-2);
    font-family: var(--serif);
    font-style: italic;
    font-size: 16px;
    line-height: 1.5;
  }
  .news-error-banner strong {
    color: var(--gold-bright);
    font-style: normal;
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 8px;
  }

  .news-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
  }
  .news-refresh {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: var(--cream-2);
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 100px;
    transition: all 0.3s ease;
  }
  .news-refresh:hover {
    background: var(--gold-bright);
    color: var(--ink);
    border-color: var(--gold-bright);
  }
  .news-refresh svg { transition: transform 0.5s ease; }
  .news-refresh.spinning svg { animation: news-spin 1s linear infinite; }
  @keyframes news-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
  }
  .news-note {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    color: var(--muted);
    text-align: right;
  }
  @media (max-width: 640px) {
    .news-note { text-align: left; }
  }

  /* ---------- INSIGHTS ---------- */
  .insights { background: var(--ink); }
  .insights-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 40px;
    flex-wrap: wrap;
    margin-bottom: 60px;
  }
  .insights-header .section-heading { margin-bottom: 0; max-width: 700px; }
  .insights-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-top: 1px solid var(--line);
  }
  @media (min-width: 780px) { .insights-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (min-width: 1100px) { .insights-grid { grid-template-columns: repeat(4, 1fr); } }

  .insight {
    padding: 34px 28px 40px;
    border-bottom: 1px solid var(--line);
    border-right: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: background 0.3s;
    cursor: pointer;
    min-height: 320px;
  }
  .insight:hover { background: rgba(200, 160, 85, 0.04); }
  @media (min-width: 1100px) { .insight:nth-child(4n) { border-right: none; } }
  @media (max-width: 1099px) and (min-width: 780px) { .insight:nth-child(2n) { border-right: none; } }
  @media (max-width: 779px) { .insight { border-right: none; } }

  .insight-meta {
    display: flex;
    justify-content: space-between;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gold);
  }
  .insight-meta .cat { color: var(--cream-2); }
  .insight-title {
    font-family: var(--serif);
    font-weight: 400;
    font-size: 20px;
    line-height: 1.25;
    letter-spacing: -0.015em;
    color: var(--cream);
    flex: 1;
  }
  .insight-read {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gold-bright);
    margin-top: 10px;
  }

  /* ---------- RELEASES (Featured Briefs) ---------- */
  .release-featured {
    background: linear-gradient(135deg, rgba(200, 160, 85, 0.08), rgba(200, 160, 85, 0.02));
    border: 1px solid rgba(200, 160, 85, 0.3);
    border-left: 4px solid var(--gold);
    padding: clamp(36px, 5vw, 64px);
    margin-bottom: clamp(60px, 9vh, 110px);
    position: relative;
  }
  .release-badge {
    display: inline-block;
    padding: 7px 14px;
    background: var(--gold);
    color: var(--ink);
    font-family: var(--mono);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    border-radius: 100px;
    margin-bottom: 22px;
  }
  .release-title {
    font-family: var(--display);
    font-size: clamp(2rem, 4.8vw, 4rem);
    line-height: 0.98;
    letter-spacing: -0.035em;
    color: var(--cream);
    margin: 0 0 18px;
  }
  .release-title em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 300;
    color: var(--gold-bright);
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .release-dek {
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(18px, 2.1vw, 22px);
    line-height: 1.45;
    color: var(--cream);
    margin: 0 0 32px;
    max-width: 70ch;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .release-meta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 28px;
    padding: 24px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 32px;
  }
  @media (max-width: 640px) { .release-meta { grid-template-columns: 1fr; } }
  .release-meta-item {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 16px;
    align-items: baseline;
    font-size: 13.5px;
  }
  .rm-k {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.5);
  }
  .rm-v { color: rgba(250, 250, 250, 0.85); }

  .release-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }
  .btn-release-primary, .btn-release-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 26px;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.3s ease;
    text-decoration: none;
  }
  .btn-release-primary {
    background: var(--gold);
    color: var(--ink);
  }
  .btn-release-primary:hover {
    background: var(--gold-bright);
    transform: translateY(-2px);
  }
  .btn-release-ghost {
    background: transparent;
    color: var(--cream);
    border-color: rgba(255, 255, 255, 0.3);
  }
  .btn-release-ghost:hover {
    border-color: var(--gold);
    color: var(--gold-bright);
  }

  /* Expandable full release body */
  .release-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.7s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease;
    opacity: 0;
  }
  .release-body.expanded {
    max-height: 10000px;
    opacity: 1;
    padding-top: 48px;
    margin-top: 20px;
    border-top: 1px solid rgba(200, 160, 85, 0.25);
  }

  .release-pull {
    margin: 20px 0 40px;
    padding: 32px;
    background: rgba(0, 0, 0, 0.25);
    border-left: 3px solid var(--gold-bright);
  }
  .release-pull p {
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(20px, 2.6vw, 28px);
    line-height: 1.35;
    color: var(--cream);
    margin: 0;
    font-variation-settings: 'opsz' 144, 'SOFT' 40;
  }
  .release-pull em {
    color: var(--gold-bright);
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }

  .release-section {
    margin-bottom: 36px;
  }
  .release-h {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--gold);
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(200, 160, 85, 0.2);
  }
  .release-section p {
    font-family: var(--sans);
    font-size: 15.5px;
    line-height: 1.7;
    color: rgba(250, 250, 250, 0.82);
    margin: 0 0 18px;
    max-width: 68ch;
  }
  .release-section-sub {
    font-family: var(--serif) !important;
    font-style: italic;
    color: var(--cream) !important;
    font-size: 17px !important;
  }

  .release-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 28px);
    padding: 32px 0;
    margin: 28px 0 48px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
  @media (max-width: 700px) { .release-stats { grid-template-columns: 1fr; text-align: center; } }
  .rs-num {
    font-family: var(--display);
    font-size: clamp(38px, 5.5vw, 64px);
    line-height: 0.9;
    letter-spacing: -0.035em;
    color: var(--gold-bright);
    margin-bottom: 10px;
  }
  .rs-lbl {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.65);
    line-height: 1.4;
  }

  /* Individual insight block (01-06) */
  .release-insight {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: clamp(16px, 3vw, 36px);
    padding: 32px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }
  .release-insight:last-of-type { border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
  @media (max-width: 640px) { .release-insight { grid-template-columns: 1fr; gap: 12px; } }
  .ri-num {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(40px, 6vw, 64px);
    letter-spacing: -0.04em;
    color: var(--gold);
    line-height: 0.9;
  }
  .ri-body h5 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    line-height: 1.2;
    letter-spacing: -0.015em;
    color: var(--cream);
    margin: 0 0 16px;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .ri-body p {
    font-family: var(--sans);
    font-size: 15px;
    line-height: 1.7;
    color: rgba(250, 250, 250, 0.82);
    margin: 0 0 14px;
    max-width: 68ch;
  }
  .ri-body em {
    color: var(--gold-bright);
    font-style: italic;
  }
  .ri-pullnote {
    font-family: var(--serif) !important;
    font-weight: 500 !important;
    font-style: italic;
    color: var(--gold-bright) !important;
    padding-top: 8px;
    border-top: 1px dashed rgba(200, 160, 85, 0.3);
    max-width: 60ch;
  }

  .release-cta {
    margin-top: 48px;
    padding: clamp(28px, 4vw, 44px);
    background: rgba(200, 160, 85, 0.08);
    border: 1px solid rgba(200, 160, 85, 0.3);
  }
  .rc-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--gold-bright);
    margin-bottom: 18px;
  }
  .release-cta p {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(17px, 2vw, 20px);
    line-height: 1.5;
    color: var(--cream);
    margin: 0 0 24px;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .rc-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }

  .release-colophon {
    margin-top: 48px;
    padding-top: 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    justify-content: space-between;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.45);
  }

  /* Divider before other releases */
  .release-divider {
    margin: clamp(50px, 8vh, 80px) 0 32px;
    padding-top: 36px;
    border-top: 1px solid rgba(200, 160, 85, 0.18);
    display: flex;
    align-items: center;
  }
  .release-divider-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--gold);
  }

  /* ---------- PRESS ---------- */
  .press {
    background: #14102C;
    color: #FAFAFA;
    position: relative;
    overflow: hidden;
  }
  .press::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(200, 160, 85, 0.05) 1px, transparent 0);
    background-size: 36px 36px;
    pointer-events: none;
  }
  .press .wrap { position: relative; }
  .press .section-label .num { color: #C8A055; }
  .press .section-label .title { color: rgba(250, 250, 250, 0.6); }
  .press .section-label .divider { background: rgba(255, 255, 255, 0.18); }
  .press .section-heading { color: #FAFAFA; }
  .press .section-heading em { color: #E8B86A; }

  .press-intro {
    margin-bottom: clamp(40px, 6vh, 70px);
  }
  .press-lede {
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(17px, 1.8vw, 20px);
    line-height: 1.55;
    color: rgba(250, 250, 250, 0.75);
    margin-top: 22px;
    max-width: 68ch;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }

  .press-divider {
    margin: clamp(50px, 7vh, 90px) 0 32px;
    padding-top: 34px;
    border-top: 1px solid rgba(200, 160, 85, 0.18);
    display: flex;
    align-items: center;
  }
  .press-divider-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #C8A055;
  }

  /* Press pending / coming-soon block */
  .press-pending {
    margin: clamp(20px, 4vh, 40px) 0 clamp(50px, 7vh, 80px);
    padding: clamp(40px, 5vw, 70px);
    background: linear-gradient(135deg, rgba(200, 160, 85, 0.06), rgba(232, 184, 106, 0.02));
    border: 1px solid rgba(200, 160, 85, 0.22);
    position: relative;
    overflow: hidden;
  }
  .press-pending::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 4px; height: 100%;
    background: linear-gradient(180deg, #C8A055, #E8B86A);
  }
  .pending-inner { max-width: 820px; }
  .pending-badge {
    display: inline-block;
    padding: 7px 14px;
    background: rgba(200, 160, 85, 0.18);
    border: 1px solid rgba(200, 160, 85, 0.4);
    color: #E8B86A;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    border-radius: 100px;
    margin-bottom: 24px;
  }
  .pending-heading {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(1.8rem, 3.6vw, 2.8rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #FAFAFA;
    font-variation-settings: 'opsz' 144, 'SOFT' 40;
    margin: 0 0 24px;
  }
  .pending-heading em {
    font-style: italic;
    color: #E8B86A;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .pending-copy {
    font-family: var(--sans);
    font-size: 15.5px;
    line-height: 1.7;
    color: rgba(250, 250, 250, 0.78);
    margin: 0 0 20px;
    max-width: 62ch;
  }
  .pending-copy:last-of-type { margin-bottom: 32px; }
  .pending-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }

  /* ===== FEATURED STORY ===== */
  .press-featured {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: clamp(30px, 5vw, 60px);
    padding: clamp(32px, 4vw, 54px);
    background: linear-gradient(135deg, rgba(200, 160, 85, 0.08), rgba(232, 184, 106, 0.04));
    border: 1px solid rgba(200, 160, 85, 0.3);
    border-left: 4px solid #C8A055;
    position: relative;
    overflow: hidden;
  }
  @media (max-width: 880px) {
    .press-featured { grid-template-columns: 1fr; }
  }
  .featured-outlet {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 24px;
  }
  .featured-outlet-mark {
    width: 52px; height: 52px;
    background: #C8A055;
    color: #14102C;
    display: grid;
    place-items: center;
    font-family: 'Archivo Black', sans-serif;
    font-size: 16px;
    letter-spacing: -0.02em;
    flex-shrink: 0;
  }
  .featured-outlet-name {
    font-family: 'Archivo Black', sans-serif;
    font-size: 15px;
    color: #FAFAFA;
    letter-spacing: 0.02em;
    line-height: 1.1;
  }
  .featured-outlet-sub {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.55);
    margin-top: 4px;
  }
  .featured-title {
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #FAFAFA;
    margin: 0 0 20px;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .featured-title em {
    font-style: italic;
    color: #E8B86A;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .featured-excerpt {
    font-family: var(--sans);
    font-size: 15.5px;
    line-height: 1.65;
    color: rgba(250, 250, 250, 0.78);
    margin: 0 0 28px;
    max-width: 62ch;
  }
  .featured-meta {
    display: grid;
    gap: 12px;
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 28px;
  }
  .featured-meta-item {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 18px;
    font-size: 13.5px;
  }
  .meta-k {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.45);
    padding-top: 2px;
  }
  .meta-v {
    color: rgba(250, 250, 250, 0.85);
  }
  .featured-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }

  /* Pull quote in featured */
  .featured-quote {
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(200, 160, 85, 0.2);
    padding: clamp(28px, 3.5vw, 40px);
    position: relative;
    align-self: start;
  }
  .quote-mark {
    font-family: var(--serif);
    font-weight: 300;
    font-size: 120px;
    line-height: 0.7;
    color: #C8A055;
    opacity: 0.55;
    margin-bottom: 0;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .featured-quote p {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(17px, 1.8vw, 21px);
    line-height: 1.5;
    color: #FAFAFA;
    margin: 10px 0 24px;
    font-style: italic;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .quote-attr {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
  .attr-name {
    font-family: 'Archivo Black', sans-serif;
    font-size: 12px;
    letter-spacing: 0.06em;
    color: #FAFAFA;
  }
  .attr-role {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #C8A055;
  }

  /* ===== PRESS SUBHEADING ===== */
  .press-subheading {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(1.7rem, 3.2vw, 2.6rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #FAFAFA;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
    margin: 0 0 14px;
    max-width: 840px;
  }
  .press-subcopy {
    font-size: 15.5px;
    line-height: 1.65;
    color: rgba(250, 250, 250, 0.72);
    max-width: 640px;
    margin-bottom: 40px;
  }

  /* ===== PRESS GRID (selected media) ===== */
  .press-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(18px, 2vw, 26px);
  }
  @media (max-width: 900px) { .press-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .press-grid { grid-template-columns: 1fr; } }

  .press-item {
    padding: clamp(24px, 2.8vw, 32px);
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    cursor: pointer;
  }
  .press-item:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: #C8A055;
    transform: translateY(-3px);
  }
  .press-item-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
  }
  .press-outlet {
    font-family: 'Archivo Black', sans-serif;
    font-style: normal;
    font-size: 12px;
    color: #E8B86A;
    letter-spacing: 0.02em;
  }
  .press-date {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.4);
  }
  .press-kind {
    display: inline-block;
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #C8A055;
    padding: 4px 10px;
    background: rgba(200, 160, 85, 0.1);
    border-radius: 2px;
    margin-bottom: 16px;
    align-self: flex-start;
  }
  .press-title {
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(1.1rem, 1.6vw, 1.25rem);
    line-height: 1.25;
    letter-spacing: -0.015em;
    color: #FAFAFA;
    margin: 0 0 14px;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .press-excerpt {
    font-size: 13.5px;
    line-height: 1.6;
    color: rgba(250, 250, 250, 0.7);
    margin: 0 0 22px;
    flex: 1;
  }
  .press-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #C8A055;
    transition: color 0.25s ease, gap 0.25s ease;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }
  .press-item:hover .press-cta {
    color: #E8B86A;
    gap: 14px;
  }

  /* ===== KEYNOTES LIST ===== */
  .keynotes-list {
    display: grid;
    gap: 0;
  }
  .keynote {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: clamp(20px, 3vw, 40px);
    padding: clamp(28px, 3vw, 40px) 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    transition: background 0.3s ease;
  }
  .keynote:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
  .keynote:hover { background: rgba(255, 255, 255, 0.02); }
  @media (max-width: 700px) {
    .keynote { grid-template-columns: 1fr; gap: 14px; }
  }
  .keynote-date {
    font-family: 'Archivo Black', sans-serif;
  }
  .kd-year {
    font-size: clamp(36px, 5vw, 56px);
    letter-spacing: -0.04em;
    color: #C8A055;
    line-height: 0.95;
  }
  .keynote-venue {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.55);
    margin-bottom: 10px;
  }
  .keynote-title {
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(1.25rem, 2vw, 1.6rem);
    line-height: 1.2;
    letter-spacing: -0.015em;
    color: #FAFAFA;
    margin: 0 0 12px;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .keynote-desc {
    font-size: 14.5px;
    line-height: 1.6;
    color: rgba(250, 250, 250, 0.72);
    margin: 0 0 14px;
    max-width: 70ch;
  }
  .keynote-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }
  .kt {
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #C8A055;
    padding: 4px 10px;
    border: 1px solid rgba(200, 160, 85, 0.3);
    border-radius: 100px;
  }

  /* ===== PRESS KIT BLOCK ===== */
  .press-kit {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: clamp(30px, 4vw, 60px);
    padding: clamp(36px, 5vw, 64px);
    background: linear-gradient(135deg, rgba(200, 160, 85, 0.06), rgba(255, 255, 255, 0.02));
    border: 1px solid rgba(200, 160, 85, 0.2);
    margin-top: 20px;
  }
  @media (max-width: 820px) {
    .press-kit { grid-template-columns: 1fr; }
  }
  .kit-eyebrow {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #C8A055;
    margin-bottom: 16px;
  }
  .kit-heading {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1;
    letter-spacing: -0.025em;
    color: #FAFAFA;
    margin: 0 0 16px;
    font-variation-settings: 'opsz' 144, 'SOFT' 40;
  }
  .kit-copy {
    font-size: 15.5px;
    line-height: 1.65;
    color: rgba(250, 250, 250, 0.75);
    margin: 0;
    max-width: 58ch;
  }
  .press-kit-contact {
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: clamp(24px, 2.8vw, 32px);
  }
  .kit-contact-block {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  .kit-contact-block:last-of-type { border-bottom: none; }
  .kit-k {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.5);
    flex-shrink: 0;
  }
  .kit-v {
    font-family: var(--sans);
    font-size: 13.5px;
    color: #FAFAFA;
    text-align: right;
    transition: color 0.2s ease;
    word-break: break-word;
  }
  a.kit-v:hover { color: #E8B86A; }
  .kit-actions {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
  }
  .kit-actions .btn-press-primary { width: 100%; justify-content: center; }

  /* ===== PRESS BUTTONS ===== */
  .btn-press-primary, .btn-press-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 26px;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.3s ease;
  }
  .btn-press-primary {
    background: #C8A055;
    color: #14102C;
  }
  .btn-press-primary:hover {
    background: #E8B86A;
    transform: translateY(-2px);
  }
  .btn-press-ghost {
    background: transparent;
    color: #FAFAFA;
    border-color: rgba(255, 255, 255, 0.3);
  }
  .btn-press-ghost:hover {
    border-color: #C8A055;
    color: #C8A055;
  }

  /* ---------- LEADERSHIP STYLE ---------- */
  .leadership {
    background: var(--ink-2);
    position: relative;
  }
  .leadership::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 20% 30%, rgba(200, 160, 85, 0.08), transparent 50%),
                      radial-gradient(circle at 80% 70%, rgba(36, 104, 248, 0.05), transparent 50%);
    pointer-events: none;
  }
  .leadership-inner {
    max-width: 960px;
    margin: 0 auto;
    text-align: center;
    position: relative;
  }
  .leadership-label {
    display: inline-block;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--gold-bright);
    margin-bottom: 40px;
  }
  .leadership-quote {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(1.5rem, 2.8vw, 2.4rem);
    line-height: 1.3;
    letter-spacing: -0.015em;
    color: var(--cream);
    font-variation-settings: 'opsz' 144, 'SOFT' 30;
  }
  .leadership-quote em {
    font-style: italic;
    color: var(--gold-bright);
    font-variation-settings: 'opsz' 144, 'SOFT' 100;
    font-weight: 300;
  }
  .leadership-quote .open-q,
  .leadership-quote .close-q {
    font-family: var(--serif);
    color: var(--gold);
    opacity: 0.65;
    font-size: 1.2em;
    font-weight: 400;
  }
  .leadership-signature {
    margin-top: 56px;
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
    opacity: 0.85;
  }
  .leadership-signature img {
    width: 100%;
    height: auto;
    display: block;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
  }

  /* ---------- FOUNDATION VIEW (CSR) ---------- */
  .foundation {
    background:
      radial-gradient(ellipse at 15% 10%, rgba(143, 204, 114, 0.08), transparent 55%),
      radial-gradient(ellipse at 85% 80%, rgba(107, 142, 46, 0.06), transparent 55%),
      var(--paper);
    position: relative;
  }
  .foundation-intro { max-width: 920px; }
  .foundation-lede {
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.5;
    color: var(--ink-2);
    max-width: 70ch;
    margin-top: 24px;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .foundation-mission {
    margin: clamp(50px, 7vh, 80px) 0 clamp(60px, 9vh, 110px);
    padding: clamp(36px, 5vw, 56px);
    background: linear-gradient(135deg, #2D4020, #1F2D16);
    color: #FAFAFA;
    border-radius: 2px;
    position: relative;
    overflow: hidden;
  }
  .foundation-mission::before {
    content: "";
    position: absolute;
    top: -40%; right: -10%;
    width: 420px; height: 420px;
    background: radial-gradient(circle, rgba(143, 204, 114, 0.18), transparent 70%);
    pointer-events: none;
  }
  .foundation-mission-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-bottom: 18px;
    position: relative;
  }
  .foundation-mission-copy {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(20px, 2.4vw, 30px);
    line-height: 1.35;
    letter-spacing: -0.015em;
    color: #FAFAFA;
    max-width: 780px;
    font-variation-settings: 'opsz' 144, 'SOFT' 40;
    position: relative;
    margin: 0;
  }

  /* Flagship initiative — Techiman Schools */
  .csr-flagship {
    padding: clamp(36px, 5vw, 64px) clamp(32px, 4vw, 56px);
    background: #FFFFFF;
    border: 1px solid rgba(45, 64, 32, 0.14);
    border-radius: 2px;
    position: relative;
    overflow: hidden;
  }
  .csr-flagship::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 5px;
    background: linear-gradient(90deg, #6B8E2E, #8FCC72, #6B8E2E);
  }
  .flagship-head {
    max-width: 880px;
    margin-bottom: clamp(40px, 5vh, 60px);
  }
  .flagship-eyebrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
  }
  .flagship-badge {
    padding: 7px 14px;
    background: #6B8E2E;
    color: #FAFAFA;
    font-family: var(--mono);
    font-size: 9.5px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    border-radius: 100px;
  }
  .flagship-location {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .flagship-title {
    font-family: var(--display);
    font-size: clamp(32px, 5vw, 60px);
    line-height: 0.98;
    letter-spacing: -0.035em;
    color: var(--ink);
    margin: 0 0 22px;
  }
  .flagship-title em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 300;
    color: #2D4020;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .flagship-dek {
    font-family: var(--sans);
    font-size: clamp(16px, 1.7vw, 18px);
    line-height: 1.6;
    color: var(--ink-2);
    margin: 0;
    max-width: 70ch;
  }

  /* Photo gallery — 1 big + 2 side */
  .flagship-gallery {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: clamp(10px, 1.5vw, 16px);
    margin-bottom: clamp(40px, 6vh, 70px);
    aspect-ratio: 16 / 9;
    max-height: 540px;
  }
  @media (max-width: 720px) {
    .flagship-gallery {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto;
      aspect-ratio: auto;
      max-height: none;
    }
  }
  .flagship-photo {
    position: relative;
    overflow: hidden;
    border-radius: 2px;
    background: #E8E8E0;
  }
  .flagship-photo-main {
    grid-row: 1 / 3;
  }
  @media (max-width: 720px) {
    .flagship-photo { aspect-ratio: 4 / 3; }
    .flagship-photo-main { grid-row: auto; }
  }
  .flagship-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
  }
  .flagship-photo:hover img { transform: scale(1.03); }
  .flagship-caption {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 18px 20px 14px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75), transparent);
    color: #FFFFFF;
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  /* 4 pillars of flagship programme */
  .flagship-pillars {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(14px, 2vw, 22px);
    margin-bottom: clamp(40px, 6vh, 70px);
    padding-top: clamp(32px, 5vh, 50px);
    border-top: 1px solid rgba(45, 64, 32, 0.12);
  }
  @media (max-width: 900px) { .flagship-pillars { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 500px) { .flagship-pillars { grid-template-columns: 1fr; } }
  .flagship-pillar {
    display: flex;
    gap: 14px;
    align-items: flex-start;
  }
  .flagship-pillar-num {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.22em;
    color: #6B8E2E;
    padding-top: 3px;
    flex-shrink: 0;
  }
  .flagship-pillar-body h4 {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 17px;
    letter-spacing: -0.01em;
    color: #14102C;
    margin: 0 0 8px;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .flagship-pillar-body p {
    font-size: 13.5px;
    line-height: 1.55;
    color: #2C2858;
    margin: 0;
  }

  /* Stats band */
  .flagship-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 28px);
    padding-top: clamp(30px, 4vh, 40px);
    border-top: 1px solid rgba(45, 64, 32, 0.12);
  }
  @media (max-width: 640px) { .flagship-stats { grid-template-columns: 1fr; } }
  .flagship-stat {
    text-align: center;
    padding: 14px;
  }
  .flagship-stat-num {
    font-family: var(--display);
    font-size: clamp(24px, 3.4vw, 40px);
    line-height: 1;
    letter-spacing: -0.03em;
    color: #2D4020;
    margin-bottom: 10px;
  }
  .flagship-stat-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--muted);
    line-height: 1.4;
  }

  /* CSR divider + subheading */
  .csr-divider {
    margin: clamp(60px, 9vh, 110px) 0 28px;
    padding-top: 36px;
    border-top: 1px solid rgba(45, 64, 32, 0.16);
    display: flex;
    align-items: center;
  }
  .csr-divider-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #6B8E2E;
  }
  .csr-subheading {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(1.7rem, 3.2vw, 2.8rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--ink);
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
    margin: 0 0 14px;
    max-width: 900px;
  }
  .csr-subheading em {
    font-style: italic;
    color: #2D4020;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
    font-weight: 300;
  }
  .csr-subcopy {
    font-size: 16px;
    line-height: 1.65;
    color: var(--ink-2);
    max-width: 640px;
    margin-bottom: 48px;
  }

  /* 6 CSR cards with images */
  .csr-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2.5vw, 32px);
  }
  @media (max-width: 960px) { .csr-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .csr-grid { grid-template-columns: 1fr; } }
  .csr-card {
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 2px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
  }
  .csr-card:hover {
    border-color: #6B8E2E;
    transform: translateY(-3px);
    box-shadow: 0 16px 40px rgba(45, 64, 32, 0.1);
  }
  /* When card is a link (Restore Ghana) */
  a.csr-card-link {
    color: inherit;
    text-decoration: none;
    border-left: 3px solid #6B8E2E;
  }
  a.csr-card-link:hover {
    border-color: #6B8E2E;
    border-left-color: #8FCC72;
  }
  .csr-card-link-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(45, 64, 32, 0.12);
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #6B8E2E;
    transition: gap 0.3s ease;
  }
  a.csr-card-link:hover .csr-card-link-cta {
    gap: 14px;
    color: #2D4020;
  }
  a.csr-card-link:hover .csr-card-link-cta .arrow {
    transform: translate(2px, -2px);
  }
  .csr-card-link-cta .arrow {
    transition: transform 0.3s ease;
  }
  .csr-card-img {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(135deg, #E8F0DC, #D0E2B8);
  }
  .csr-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
  }
  .csr-card:hover .csr-card-img img { transform: scale(1.05); }
  .csr-card-body {
    padding: clamp(22px, 2.8vw, 32px);
    display: flex;
    flex-direction: column;
    flex: 1;
  }
  .csr-card-tag {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #6B8E2E;
    margin-bottom: 14px;
  }
  .csr-card h4 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 0 0 12px;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .csr-card p {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--ink-2);
    margin: 0;
  }

  /* CSR CTA block */
  .csr-cta {
    margin-top: clamp(70px, 10vh, 120px);
    padding: clamp(40px, 5vw, 64px);
    background: linear-gradient(135deg, #2D4020 0%, #3D5428 100%);
    color: #FAFAFA;
    border-radius: 2px;
    position: relative;
    overflow: hidden;
  }
  .csr-cta::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.08) 1px, transparent 0);
    background-size: 28px 28px;
    pointer-events: none;
  }
  .csr-cta-inner {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: clamp(24px, 4vw, 60px);
    align-items: center;
    position: relative;
  }
  @media (max-width: 820px) {
    .csr-cta-inner { grid-template-columns: 1fr; }
  }
  .csr-cta-eyebrow {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-bottom: 14px;
  }
  .csr-cta-inner h3 {
    font-family: var(--display);
    font-size: clamp(30px, 4.2vw, 52px);
    line-height: 0.98;
    letter-spacing: -0.035em;
    color: #FAFAFA;
    margin: 0 0 14px;
  }
  .csr-cta-inner h3 em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 300;
    color: #8FCC72;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .csr-cta-inner p {
    font-family: var(--sans);
    font-size: 15px;
    line-height: 1.6;
    color: rgba(250, 250, 250, 0.82);
    margin: 0;
    max-width: 56ch;
  }
  .csr-cta-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }
  @media (max-width: 820px) {
    .csr-cta-actions { width: 100%; }
    .csr-cta-actions .btn { flex: 1; justify-content: center; min-width: 220px; }
  }

  /* ---------- SOCIAL VIEW ---------- */
  .social-view {
    background:
      radial-gradient(ellipse at 10% 10%, rgba(36, 104, 248, 0.05), transparent 55%),
      radial-gradient(ellipse at 90% 90%, rgba(79, 131, 255, 0.04), transparent 55%),
      var(--paper);
  }
  .social-lede {
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.5;
    color: var(--ink-2);
    max-width: 70ch;
    margin-top: 20px;
    margin-bottom: 56px;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .social-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 2vw, 24px);
  }
  @media (max-width: 700px) { .social-grid { grid-template-columns: 1fr; } }
  .social-card {
    display: grid;
    grid-template-columns: 60px 1fr auto;
    gap: 20px;
    align-items: center;
    padding: clamp(24px, 2.8vw, 36px);
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 2px;
    color: var(--ink);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
  }
  .social-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(11, 18, 44, 0.08);
  }
  .social-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: currentColor;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .social-card:hover::before { opacity: 1; }
  .social-linkedin:hover { color: #0A66C2; }
  .social-x:hover { color: #14102C; }
  .social-instagram:hover { color: #E4405F; }
  .social-youtube:hover { color: #E63228; }
  .social-card-icon {
    width: 56px; height: 56px;
    background: rgba(20, 16, 44, 0.06);
    border-radius: 50%;
    display: grid;
    place-items: center;
    transition: all 0.3s ease;
  }
  .social-card:hover .social-card-icon {
    background: currentColor;
    color: #FFFFFF;
  }
  .social-linkedin:hover .social-card-icon { background: #0A66C2; }
  .social-x:hover .social-card-icon { background: #14102C; }
  .social-instagram:hover .social-card-icon { background: linear-gradient(135deg, #E4405F, #833AB4, #F77737); }
  .social-youtube:hover .social-card-icon { background: #E63228; }
  .social-platform {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 4px;
  }
  .social-handle {
    font-family: var(--serif);
    font-weight: 500;
    font-size: 19px;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin-bottom: 6px;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .social-desc {
    font-family: var(--sans);
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--ink-2);
  }
  .social-arrow {
    font-size: 20px;
    color: var(--muted);
    transition: all 0.3s ease;
  }
  .social-card:hover .social-arrow {
    color: currentColor;
    transform: translate(3px, -3px);
  }

  /* Direct channels block */
  .social-direct {
    margin-top: clamp(60px, 8vh, 100px);
    padding: clamp(40px, 5vw, 64px);
    background: linear-gradient(135deg, #14102C, #2C2858);
    color: #FAFAFA;
    border-radius: 2px;
    position: relative;
    overflow: hidden;
  }
  .social-direct::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.06) 1px, transparent 0);
    background-size: 28px 28px;
    pointer-events: none;
  }
  .social-direct-heading {
    position: relative;
    margin-bottom: 40px;
  }
  .social-direct-heading h3 {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(24px, 3vw, 36px);
    color: #FAFAFA;
    letter-spacing: -0.015em;
    margin-bottom: 8px;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .social-direct-heading p {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.55);
  }
  .direct-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(14px, 2vw, 20px);
    position: relative;
  }
  @media (max-width: 800px) { .direct-row { grid-template-columns: 1fr; } }
  .direct-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 22px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 2px;
    color: #FAFAFA;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    width: 100%;
    font-family: inherit;
  }
  .direct-card:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #4F83FF;
    transform: translateY(-2px);
  }
  .direct-icon {
    width: 44px; height: 44px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
  }
  .direct-whatsapp:hover .direct-icon { background: #25D366; }
  .direct-email:hover .direct-icon { background: #4F83FF; }
  .direct-session:hover .direct-icon { background: #C8A055; }
  .direct-body { flex: 1; }
  .direct-label {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(250, 250, 250, 0.5);
    margin-bottom: 3px;
  }
  .direct-value {
    font-family: var(--sans);
    font-weight: 600;
    font-size: 15px;
    color: #FAFAFA;
    margin-bottom: 2px;
  }
  .direct-sub {
    font-family: var(--mono);
    font-size: 10.5px;
    color: rgba(250, 250, 250, 0.55);
  }

  /* Newsletter */
  .social-newsletter {
    margin-top: clamp(40px, 6vh, 70px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(30px, 4vw, 60px);
    align-items: center;
    padding: clamp(36px, 4vw, 56px);
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 2px;
  }
  @media (max-width: 780px) {
    .social-newsletter { grid-template-columns: 1fr; }
  }
  .newsletter-eyebrow {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #2468F8;
    margin-bottom: 14px;
  }
  .newsletter-copy h3 {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(22px, 2.6vw, 32px);
    line-height: 1.15;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 14px;
    font-variation-settings: 'opsz' 144, 'SOFT' 40;
  }
  .newsletter-copy h3 em {
    font-style: italic;
    color: #2468F8;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .newsletter-copy p {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--ink-2);
  }
  .newsletter-form {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }
  .newsletter-form input {
    flex: 1;
    min-width: 200px;
    padding: 14px 18px;
    border: 1px solid rgba(20, 16, 44, 0.15);
    font-family: var(--sans);
    font-size: 15px;
    color: var(--ink);
    background: #FFFFFF;
    outline: none;
    border-radius: 2px;
    transition: border-color 0.2s ease;
  }
  .newsletter-form input:focus { border-color: #2468F8; }
  .newsletter-form button {
    padding: 14px 26px;
    background: #14102C;
    color: #FAFAFA;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    border: none;
    border-radius: 2px;
    transition: background 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }
  .newsletter-form button:hover { background: #2468F8; }

  /* Location tag */
  .social-location {
    margin-top: 48px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: rgba(36, 104, 248, 0.08);
    border: 1px solid rgba(36, 104, 248, 0.2);
    border-radius: 100px;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--ink-2);
  }
  .location-pin {
    width: 8px; height: 8px;
    background: #2468F8;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(36, 104, 248, 0.2);
  }

  /* ---------- CTA CLOSER ---------- */
  .closer {
    background: linear-gradient(180deg, var(--ink) 0%, #1A1638 100%);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    text-align: center;
    padding: 140px 0;
    position: relative;
    overflow: hidden;
  }
  .closer::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background: radial-gradient(ellipse 800px 400px at 50% 50%, rgba(200, 160, 85, 0.08), transparent 70%);
  }
  .closer-inner { position: relative; max-width: 1000px; margin: 0 auto; }
  .closer-eyebrow {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 30px;
  }
  .closer-title {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(2.6rem, 7vw, 6rem);
    line-height: 0.95;
    letter-spacing: -0.035em;
    color: var(--cream);
    font-variation-settings: 'opsz' 144, 'SOFT' 20;
    margin-bottom: 40px;
  }
  .closer-title em {
    font-style: italic;
    color: var(--gold-bright);
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .closer-sub {
    font-size: 17px;
    line-height: 1.6;
    color: var(--cream-2);
    max-width: 620px;
    margin: 0 auto 50px;
  }

  /* ---------- MODALS ---------- */
  .modal {
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(20px, 4vh, 60px) 16px;
    overflow-y: auto;
  }
  .modal.open {
    display: flex;
    animation: modalFade 0.3s ease forwards;
  }
  @keyframes modalFade {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
  .modal-backdrop {
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background: rgba(20, 16, 44, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }
  .modal-card {
    position: relative;
    width: 100%;
    max-width: 640px;
    background: #FAFAFA;
    border: 1px solid rgba(20, 16, 44, 0.12);
    padding: clamp(32px, 5vw, 56px) clamp(24px, 5vw, 56px);
    box-shadow: 0 40px 120px rgba(20, 16, 44, 0.45);
    animation: modalSlide 0.45s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
    margin: auto 0;
  }
  @keyframes modalSlide {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 36px; height: 36px;
    background: transparent;
    border: 1px solid rgba(20, 16, 44, 0.12);
    color: #14102C;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  }
  .modal-close:hover {
    background: #14102C;
    color: #FAFAFA;
    border-color: #14102C;
  }
  .modal-eyebrow {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #9C7A2E;
    margin-bottom: 16px;
  }
  .modal-title {
    font-family: 'Fraunces', serif;
    font-weight: 300;
    font-size: clamp(1.9rem, 3.4vw, 2.8rem);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #14102C;
    font-variation-settings: 'opsz' 144, 'SOFT' 30;
    margin: 0 0 18px;
  }
  .modal-title em {
    font-style: italic;
    color: #9C7A2E;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
    font-weight: 300;
  }
  .modal-sub {
    font-family: 'Manrope', sans-serif;
    font-size: 15px;
    line-height: 1.55;
    color: #4A4A5C;
    margin: 0 0 32px;
    max-width: 52ch;
  }
  .modal-form .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 18px;
  }
  .field {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .field-full { grid-column: 1 / -1; }
  .field-label {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 9.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #6B6B80;
  }
  .field input,
  .field select,
  .field textarea {
    font-family: 'Manrope', sans-serif;
    font-size: 15px;
    color: #14102C;
    background: #FFFFFF;
    border: 1px solid rgba(20, 16, 44, 0.15);
    padding: 12px 14px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
  }
  .field select {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%2314102C' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 40px;
    cursor: pointer;
  }
  .field textarea {
    resize: vertical;
    min-height: 110px;
    font-family: 'Manrope', sans-serif;
  }
  .field input:focus,
  .field select:focus,
  .field textarea:focus {
    border-color: #9C7A2E;
    box-shadow: 0 0 0 3px rgba(156, 122, 46, 0.12);
  }
  .field input::placeholder,
  .field textarea::placeholder {
    color: #6E6E80;
  }
  .field.has-error input,
  .field.has-error select,
  .field.has-error textarea {
    border-color: #A04A2E;
    box-shadow: 0 0 0 3px rgba(160, 74, 46, 0.10);
  }
  .form-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(20, 16, 44, 0.08);
    flex-wrap: wrap;
  }
  .form-note {
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10.5px;
    letter-spacing: 0.05em;
    color: #6B6B80;
    margin: 0;
    flex: 1;
    min-width: 220px;
  }
  .form-note strong {
    font-weight: 500;
    color: #14102C;
  }
  .btn-primary.dark {
    background: #14102C;
    color: #FAFAFA;
    border: 1px solid #14102C;
  }
  .btn-primary.dark:hover {
    background: #9C7A2E;
    border-color: #9C7A2E;
    color: #FAFAFA;
  }
  /* Success state */
  .modal-success {
    text-align: center;
    padding: 20px 0;
  }
  .modal-success-icon {
    width: 64px; height: 64px;
    border: 1.5px solid #9C7A2E;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: 0 auto 24px;
    color: #9C7A2E;
  }
  .modal-success h4 {
    font-family: 'Fraunces', serif;
    font-weight: 300;
    font-size: 26px;
    color: #14102C;
    margin: 0 0 12px;
    font-variation-settings: 'opsz' 120, 'SOFT' 30;
  }
  .modal-success p {
    font-family: 'Manrope', sans-serif;
    font-size: 15px;
    line-height: 1.55;
    color: #4A4A5C;
    max-width: 42ch;
    margin: 0 auto;
  }
  @media (max-width: 560px) {
    .modal-form .form-grid { grid-template-columns: 1fr; }
    .form-actions { flex-direction: column; align-items: stretch; }
    .form-note { text-align: center; }
    .btn-primary.dark { width: 100%; justify-content: center; }
  }
  body.modal-open { overflow: hidden; }

  /* ---------- FOOTER ---------- */
  footer {
    background: var(--ink);
    padding: 80px 0 30px;
  }
  .foot-top {
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
    padding-bottom: 50px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 30px;
  }
  @media (min-width: 800px) {
    .foot-top { grid-template-columns: 1.3fr 1fr 1fr 1.3fr; gap: 40px; }
  }

  .foot-brand { }
  .foot-brand .logo {
    font-family: var(--serif);
    font-weight: 300;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--cream);
    margin-bottom: 16px;
  }
  .foot-brand .logo em {
    font-style: italic;
    color: var(--gold-bright);
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .foot-brand .tag {
    font-size: 14px;
    color: var(--muted);
    line-height: 1.6;
    max-width: 320px;
  }
  .foot-col h4 {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 20px;
    font-weight: 500;
  }
  .foot-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
  .foot-col ul a { font-size: 14px; color: var(--cream-2); transition: color 0.2s; }
  .foot-col ul a:hover { color: var(--gold-bright); }

  .newsletter {
    display: flex;
    border: 1px solid var(--line-strong);
    margin-top: 18px;
  }
  .newsletter input {
    flex: 1;
    padding: 14px 16px;
    background: transparent;
    border: none;
    color: var(--cream);
    font-family: inherit;
    font-size: 13px;
    outline: none;
  }
  .newsletter input::placeholder { color: var(--muted); }
  .newsletter button {
    padding: 14px 20px;
    background: var(--gold);
    color: var(--ink);
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 500;
    transition: background 0.2s;
  }
  .newsletter button:hover { background: var(--gold-bright); }

  .foot-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
    padding-top: 20px;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.12em;
    color: var(--muted);
  }
  .foot-bottom .legal { display: flex; gap: 24px; }
  .foot-bottom .legal a:hover { color: var(--gold-bright); }
  .socials { display: flex; gap: 20px; }
  .socials a { color: var(--muted); transition: color 0.2s; }
  .socials a:hover { color: var(--gold-bright); }

  /* Reveal on scroll — expo-out rise with per-element stagger (--reveal-delay set by JS) */
  .reveal {
    opacity: 0;
    transform: translateY(26px);
    transition:
      opacity var(--dur-slow, 0.85s) var(--ease-out, ease) var(--reveal-delay, 0s),
      transform var(--dur-slow, 0.85s) var(--ease-out, ease) var(--reveal-delay, 0s);
    will-change: opacity, transform;
  }
  .reveal.in-view {
    opacity: 1;
    transform: translateY(0);
  }
  /* Once revealed, release the compositor hint */
  .reveal.in-view { will-change: auto; }
  @media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1; transform: none; transition: none; }
  }

  /* Mobile menu */
  .mobile-menu {
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background: var(--ink);
    z-index: 99;
    padding: 100px 40px 40px;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.8, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .mobile-menu.open { transform: translateX(0); }
  .mobile-menu a {
    font-family: var(--serif);
    font-size: 34px;
    font-weight: 300;
    color: var(--cream);
    letter-spacing: -0.02em;
  }
  .mobile-menu a em { color: var(--gold-bright); font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1; }
  .mobile-menu a.mm-link-denzel {
    margin-top: 14px;
    padding-top: 22px;
    border-top: 1px solid rgba(250, 250, 250, 0.1);
    color: #4CA8E8;
  }
  .mobile-menu a.mm-link-denzel em {
    color: #4CA8E8;
    font-style: normal;
    font-family: inherit;
  }

  /* ---------- VIEW SWITCH (multi-view routing) ---------- */
  [data-view][hidden] { display: none !important; }

  /* =========================================================
     PER-VIEW STYLING — each body class overrides accents/tints
     ========================================================= */

  /* HOAG (personal brand) — warm editorial, gold dominates */
  body.view-hoag {
    --gold: #7A5C22;
    --gold-bright: #836327;
  }

  /* ADVISORY — light paper background, dark text */
  body.view-advisory {
    /* Light background means we need dark text tokens */
    --ink: #14102C;
    --ink-2: #2C2858;
    --cream: #14102C;
    --cream-2: #2C2858;
    --muted: #5A5A70;
  }
  body.view-advisory .topbar {
    background: rgba(20, 16, 44, 0.94) !important;
    backdrop-filter: blur(16px);
  }
  body.view-advisory .topbar .nav-pill-item {
    color: rgba(250, 250, 250, 0.75) !important;
  }
  body.view-advisory .topbar .nav-pill-item.active {
    background: #C8A055;
    color: #14102C !important;
  }
  body.view-advisory .topbar .nav-connect {
    background: #C8A055 !important;
    color: #14102C !important;
  }

  /* Override all near-white text colors inside Advisory — these were
     designed for a dark bg, but background is now light/paper */
  body.view-advisory .advisory h2,
  body.view-advisory .advisory h3,
  body.view-advisory .advisory h4,
  body.view-advisory .advisory p,
  body.view-advisory .advisory li,
  body.view-advisory .advisory .adv-headline,
  body.view-advisory .advisory .adv-lede,
  body.view-advisory .advisory .adv-subcopy,
  body.view-advisory .advisory .adv-subheading,
  body.view-advisory .advisory .adv-client h4,
  body.view-advisory .advisory .adv-client-desc,
  body.view-advisory .advisory .zone-body h4,
  body.view-advisory .advisory .zone-body p,
  body.view-advisory .advisory .mh-col-compt h4,
  body.view-advisory .advisory .mh-col-deliv,
  body.view-advisory .advisory .lead-quote,
  body.view-advisory .advisory .lead-pillar-v,
  body.view-advisory .advisory .adv-proc h4,
  body.view-advisory .advisory .adv-proc p,
  body.view-advisory .advisory .adv-cta-inner h3,
  body.view-advisory .advisory .adv-cta-inner p {
    color: #14102C !important;
  }
  body.view-advisory .advisory .adv-client-desc,
  body.view-advisory .advisory .zone-body p,
  body.view-advisory .advisory .adv-client-examples li,
  body.view-advisory .advisory .mh-col-deliv,
  body.view-advisory .advisory .adv-proc p,
  body.view-advisory .advisory .lead-pillar-v,
  body.view-advisory .advisory .adv-cta-inner p {
    color: #2C2858 !important;
  }

  /* Small uppercase labels — need a readable dark grey on light bg */
  body.view-advisory .advisory .adv-cred-label,
  body.view-advisory .advisory .adv-client-label,
  body.view-advisory .advisory .adv-proc-num,
  body.view-advisory .advisory .adv-eyebrow {
    color: #5A5A70 !important;
  }

  /* Eyebrow and small gold labels retain gold */
  body.view-advisory .advisory .adv-eyebrow {
    color: #8A6A2E !important;
  }

  /* Card backgrounds: light instead of white-on-white */
  body.view-advisory .advisory .adv-client,
  body.view-advisory .advisory .adv-zone,
  body.view-advisory .advisory .adv-matrix,
  body.view-advisory .advisory .adv-proc {
    background: #FFFFFF !important;
    border-color: rgba(20, 16, 44, 0.1) !important;
  }
  body.view-advisory .advisory .adv-client:hover,
  body.view-advisory .advisory .adv-zone:hover {
    background: #F8F6F0 !important;
    border-color: var(--gold) !important;
  }
  body.view-advisory .advisory .adv-matrix-header {
    background: rgba(200, 160, 85, 0.12) !important;
    border-bottom-color: rgba(200, 160, 85, 0.4) !important;
  }
  body.view-advisory .advisory .adv-matrix-row {
    border-bottom-color: rgba(20, 16, 44, 0.08) !important;
  }
  body.view-advisory .advisory .adv-matrix-row:hover {
    background: rgba(20, 16, 44, 0.02) !important;
  }
  body.view-advisory .advisory .adv-client-examples {
    border-top-color: rgba(20, 16, 44, 0.12) !important;
  }
  body.view-advisory .advisory .adv-credentials {
    border-top-color: rgba(20, 16, 44, 0.12) !important;
  }

  /* Leadership quote block — keep gold-tinted card with dark text */
  body.view-advisory .advisory .adv-leadership {
    background: linear-gradient(135deg, rgba(200, 160, 85, 0.12), rgba(200, 160, 85, 0.04)) !important;
    border-color: rgba(200, 160, 85, 0.3) !important;
  }
  body.view-advisory .advisory .lead-pillars {
    border-top-color: rgba(20, 16, 44, 0.1) !important;
  }

  /* CTA block — subtle gold wash on light bg */
  body.view-advisory .advisory .adv-cta {
    background:
      radial-gradient(circle at 20% 30%, rgba(200, 160, 85, 0.1), transparent 55%),
      radial-gradient(circle at 80% 70%, rgba(36, 104, 248, 0.05), transparent 55%),
      rgba(20, 16, 44, 0.02) !important;
    border-color: rgba(200, 160, 85, 0.3) !important;
  }

  /* FOUNDATION — hopeful, green accents */
  body.view-foundation {
    --gold: #4F7A1F;
    --gold-bright: #4F7A1F;
    /* Foundation has a light/paper background, so force dark text tokens
       (the global --ink is misnamed and evaluates to near-white by default) */
    --ink: #14102C;
    --ink-2: #2C2858;
    --muted: #6B6B80;
  }
  body.view-foundation .topbar .nav-pill-item.active {
    background: #6B8E2E;
    color: #FAFAFA !important;
  }

  /* INSIGHTS — editorial magazine, heavy serif emphasis, terracotta accent */
  body.view-insights {
    --gold: #A04A2E;
    --gold-bright: #D47A52;
  }
  body.view-insights .topbar .nav-pill-item.active {
    background: #A04A2E;
    color: #FAFAFA !important;
  }

  /* PRESS — clean documentary, high contrast */
  body.view-press .topbar .nav-pill-item.active {
    background: #14102C;
    color: #FAFAFA !important;
  }

  /* SOCIAL — vibrant, electric blue accent */
  body.view-social {
    --gold: #2468F8;
    --gold-bright: #4F83FF;
    /* Light background — force dark text tokens */
    --ink: #14102C;
    --ink-2: #2C2858;
    --muted: #6B6B80;
  }
  body.view-social .topbar .nav-pill-item.active {
    background: #2468F8;
    color: #FFFFFF !important;
  }

  /* DENZEL — full brand swap */
  body.view-denzel { background: #FFFFFF; }

  /* ============================================================
     RESTORE GHANA VIEW
     Dark forest-green palette matching the RGP brand PDF
     ============================================================ */
  .rg-view {
    display: none;
    background: #FFFFFF;
    color: #14102C;
    font-family: var(--sans);
  }
  body.view-restore .rg-view { display: block; }
  body.view-restore .harris-section,
  body.view-restore .dz-view { display: none !important; }
  body.view-restore { background: #FFFFFF; }

  .rg-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 48px);
  }
  .rg-section {
    padding: clamp(60px, 9vh, 120px) 0;
  }

  /* RG section labels (like Denzel's) */
  .rg-section-label {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 32px;
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #2D4020;
  }
  .rg-sl-num {
    padding: 4px 10px;
    background: #6B8E2E;
    color: #FFFFFF;
    border-radius: 2px;
    font-weight: 500;
  }
  .rg-sl-title { color: #2D4020; font-weight: 600; }
  .rg-sl-divider {
    width: 24px;
    height: 1px;
    background: rgba(45, 64, 32, 0.3);
  }
  .rg-sl-sub { color: #6B8E2E; }
  .rg-section-label-light .rg-sl-title { color: #E8F0DC; }
  .rg-section-label-light .rg-sl-sub { color: #8FCC72; }
  .rg-section-label-sub {
    margin-top: 50px;
    margin-bottom: 24px;
  }

  /* ---------- HERO ---------- */
  .rg-hero {
    background:
      radial-gradient(ellipse at 80% 20%, rgba(143, 204, 114, 0.2), transparent 55%),
      linear-gradient(135deg, #0F2419 0%, #1F3D22 50%, #0F2419 100%);
    color: #FFFFFF;
    padding: clamp(80px, 12vh, 160px) 0 clamp(60px, 9vh, 110px);
    position: relative;
    overflow: hidden;
  }
  .rg-hero::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(143, 204, 114, 0.08) 1px, transparent 0);
    background-size: 32px 32px;
    pointer-events: none;
  }
  .rg-hero-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 48px);
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: clamp(40px, 5vw, 80px);
    align-items: center;
    position: relative;
  }
  @media (max-width: 900px) {
    .rg-hero-inner { grid-template-columns: 1fr; }
  }
  .rg-eyebrow {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 30px;
  }
  .rg-badge {
    padding: 6px 14px;
    background: #8FCC72;
    color: #0F2419;
    font-family: var(--mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    border-radius: 100px;
  }
  .rg-conf {
    padding: 6px 14px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    border-radius: 100px;
  }
  .rg-title {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(2.5rem, 6.5vw, 6rem);
    line-height: 0.94;
    letter-spacing: -0.035em;
    color: #8FCC72;
    margin: 0 0 20px;
  }
  .rg-title span {
    display: block;
    color: #FFCC33;
    font-size: 0.85em;
  }
  .rg-subtitle {
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(17px, 2vw, 22px);
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
    margin: 0 0 40px;
    max-width: 64ch;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .rg-partners {
    padding: 24px;
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(143, 204, 114, 0.3);
    border-left: 3px solid #8FCC72;
  }
  .rg-partner-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-bottom: 10px;
    display: block;
  }
  .rg-partner-line {
    font-family: var(--sans);
    font-size: 14px;
    color: #FFFFFF;
    line-height: 1.5;
    margin-bottom: 12px;
  }
  .rg-partner-line strong { font-weight: 700; display: block; }
  .rg-partner-plus {
    display: block;
    padding: 4px 0;
    font-style: italic;
    color: #A5D88A;
    font-size: 12px;
  }
  .rg-jv {
    padding-top: 12px;
    border-top: 1px solid rgba(143, 204, 114, 0.2);
    font-family: 'Archivo Black', sans-serif;
    font-size: 13px;
    letter-spacing: 0.04em;
    color: #FFCC33;
  }
  .rg-hero-image {
    position: relative;
    aspect-ratio: 1;
    border-radius: 50% 50% 40% 40% / 45% 45% 55% 55%;
    overflow: hidden;
    border: 3px solid #8FCC72;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
  }
  .rg-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* ---------- EXECUTIVE SUMMARY ---------- */
  .rg-exec { background: #F5F8F0; }
  .rg-h2 {
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(1.8rem, 3.6vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.025em;
    color: #0F2419;
    font-variation-settings: 'opsz' 144, 'SOFT' 40;
    margin: 0 0 18px;
  }
  .rg-h2 em {
    font-style: italic;
    color: #6B8E2E;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
    font-weight: 300;
  }
  .rg-h2-light { color: #FFFFFF; }
  .rg-h2-light em { color: #8FCC72; }
  .rg-lede {
    font-family: var(--sans);
    font-size: clamp(16px, 1.8vw, 18px);
    line-height: 1.65;
    color: #2D4020;
    margin: 0 0 18px;
    max-width: 70ch;
  }
  .rg-lede-light { color: rgba(255, 255, 255, 0.85); }
  .rg-body {
    font-family: var(--sans);
    font-size: 15.5px;
    line-height: 1.7;
    color: #2D4020;
    margin: 0;
  }
  .rg-lede strong, .rg-body strong { color: #0F2419; font-weight: 700; }

  .rg-exec-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: clamp(28px, 4vw, 56px);
    margin-bottom: clamp(50px, 8vh, 80px);
  }
  @media (max-width: 820px) { .rg-exec-grid { grid-template-columns: 1fr; } }

  .rg-objectives {
    background: linear-gradient(135deg, #0F2419, #1F3D22);
    color: #FFFFFF;
    padding: clamp(28px, 3.4vw, 36px);
    border-radius: 2px;
    border-top: 4px solid #8FCC72;
  }
  .rg-obj-header {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(143, 204, 114, 0.25);
  }
  .rg-obj-list { display: grid; gap: 18px; }
  .rg-obj {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 12px;
    font-size: 14.5px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.9);
  }
  .rg-obj-icon {
    color: #8FCC72;
    font-size: 11px;
    padding-top: 4px;
  }

  /* 6 outcomes */
  .rg-outcomes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  @media (max-width: 900px) { .rg-outcomes { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 540px) { .rg-outcomes { grid-template-columns: 1fr; } }
  .rg-outcome {
    padding: clamp(22px, 2.6vw, 30px);
    color: #FFFFFF;
    border-radius: 2px;
  }
  .rg-outcome-1 { background: #3FAE5B; }
  .rg-outcome-2 { background: #C8601F; }
  .rg-outcome-3 { background: #7F7F8A; }
  .rg-outcome-4 { background: #B2870B; }
  .rg-outcome-5 { background: #6F429B; }
  .rg-outcome-6 { background: #25548E; }
  .rg-outcome-ico {
    margin-bottom: 14px;
    opacity: 0.9;
  }
  .rg-outcome h4 {
    font-family: var(--sans);
    font-weight: 700;
    font-size: 16px;
    margin: 0 0 10px;
    letter-spacing: -0.005em;
  }
  .rg-outcome p {
    font-size: 13px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
  }

  /* ---------- PROBLEM STATEMENT ---------- */
  .rg-problem {
    background: linear-gradient(135deg, #0F2419 0%, #1F3D22 100%);
    color: #FFFFFF;
    position: relative;
  }
  .rg-problem::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(143, 204, 114, 0.05) 1px, transparent 0);
    background-size: 28px 28px;
    pointer-events: none;
  }
  .rg-problem .rg-wrap { position: relative; }

  .rg-impact-label {
    margin-top: 48px;
    margin-bottom: 24px;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #8FCC72;
  }
  .rg-impacts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
  }
  @media (max-width: 900px) { .rg-impacts { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 540px) { .rg-impacts { grid-template-columns: 1fr; } }
  .rg-impact {
    padding: 28px 24px;
    background: rgba(143, 204, 114, 0.08);
    border: 1px solid rgba(143, 204, 114, 0.2);
    border-radius: 2px;
    transition: all 0.3s ease;
  }
  .rg-impact:hover {
    background: rgba(143, 204, 114, 0.14);
    border-color: #8FCC72;
    transform: translateY(-3px);
  }
  .rg-impact-num {
    font-family: 'Archivo Black', sans-serif;
    font-size: 28px;
    color: #8FCC72;
    letter-spacing: -0.03em;
    margin-bottom: 10px;
  }
  .rg-impact h4 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: 18px;
    color: #FFFFFF;
    margin: 0 0 10px;
    letter-spacing: -0.01em;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .rg-impact p {
    font-size: 13.5px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
  }

  .rg-dimensions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 48px;
    padding-top: 36px;
    border-top: 1px solid rgba(143, 204, 114, 0.2);
  }
  @media (max-width: 720px) { .rg-dimensions { grid-template-columns: 1fr; } }
  .rg-dimension {
    padding: 24px;
    background: rgba(0, 0, 0, 0.3);
    border-left: 3px solid #8FCC72;
  }
  .rg-dim-k {
    font-family: 'Archivo Black', sans-serif;
    font-size: 14px;
    color: #8FCC72;
    letter-spacing: 0.02em;
    margin-bottom: 12px;
  }
  .rg-dimension p {
    font-size: 13.5px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
  }

  /* ---------- FIELD PHOTO GALLERY ---------- */
  .rg-gallery-section {
    background: linear-gradient(180deg, #1F3D22 0%, #0F2419 100%);
    color: #FFFFFF;
  }
  .rg-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 40px;
  }
  @media (max-width: 900px) { .rg-gallery { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 640px) { .rg-gallery { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 420px) { .rg-gallery { grid-template-columns: 1fr; } }
  .rg-photo {
    margin: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #0F2419;
    border: 1px solid rgba(143, 204, 114, 0.2);
    transition: all 0.3s ease;
  }
  .rg-photo:hover {
    border-color: #8FCC72;
    transform: scale(1.02);
  }
  .rg-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
  }
  .rg-photo:hover img { transform: scale(1.08); }

  /* ---------- TIMELINE ---------- */
  .rg-timeline-section { background: #F5F8F0; }
  .rg-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 40px;
  }
  @media (max-width: 1000px) { .rg-timeline { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 540px) { .rg-timeline { grid-template-columns: 1fr; } }
  .rg-tl-item {
    padding: 24px;
    background: #FFFFFF;
    border: 1px solid rgba(45, 64, 32, 0.12);
    border-top: 3px solid #6B8E2E;
    border-radius: 2px;
    position: relative;
  }
  .rg-tl-1 { border-top-color: #25548E; }
  .rg-tl-2 { border-top-color: #C8601F; }
  .rg-tl-3 { border-top-color: #7F7F8A; }
  .rg-tl-4 { border-top-color: #B2870B; }
  .rg-tl-5 { border-top-color: #25548E; }
  .rg-tl-6 { border-top-color: #C8601F; }
  .rg-tl-7, .rg-tl-8 { border-top-color: #7F7F8A; }
  .rg-tl-pending { background: rgba(0, 0, 0, 0.03); opacity: 0.85; }
  .rg-tl-date {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #6B8E2E;
    margin-bottom: 12px;
  }
  .rg-tl-item h4 {
    font-family: var(--sans);
    font-weight: 700;
    font-size: 15px;
    color: #0F2419;
    margin: 0 0 10px;
  }
  .rg-tl-item p {
    font-size: 13px;
    line-height: 1.55;
    color: #4A5540;
    margin: 0;
  }

  /* ---------- GOALS ---------- */
  .rg-goals { background: #F5F8F0; padding-top: 0; }
  .rg-goals-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 40px;
  }
  @media (max-width: 900px) { .rg-goals-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 540px) { .rg-goals-grid { grid-template-columns: 1fr; } }
  .rg-goal {
    padding: 28px;
    background: #FFFFFF;
    border-radius: 2px;
    border-bottom: 4px solid #0F2419;
    box-shadow: 0 6px 20px rgba(45, 64, 32, 0.06);
  }
  .rg-goal-label {
    font-family: 'Archivo Black', sans-serif;
    font-size: 12px;
    color: #0F2419;
    background: #8FCC72;
    padding: 4px 10px;
    display: inline-block;
    letter-spacing: 0.08em;
    margin-bottom: 18px;
  }
  .rg-goal h4 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: 18px;
    color: #0F2419;
    margin: 0 0 14px;
    line-height: 1.2;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .rg-goal ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px;
  }
  .rg-goal li {
    position: relative;
    padding-left: 16px;
    font-size: 13.5px;
    line-height: 1.55;
    color: #4A5540;
  }
  .rg-goal li::before {
    content: "▪";
    position: absolute;
    left: 0;
    color: #6B8E2E;
  }

  /* ---------- IMPACT AREAS (VALUE PROP) ---------- */
  .rg-impacts-section {
    background: linear-gradient(135deg, #0F2419, #1F3D22);
    color: #FFFFFF;
  }
  .rg-value-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 40px;
  }
  @media (max-width: 800px) { .rg-value-grid { grid-template-columns: 1fr; } }
  .rg-value {
    padding: 30px;
    background: rgba(143, 204, 114, 0.08);
    border: 1px solid rgba(143, 204, 114, 0.22);
    border-left: 3px solid #8FCC72;
    border-radius: 2px;
  }
  .rg-value-header {
    font-family: var(--serif);
    font-weight: 600;
    font-size: 20px;
    color: #8FCC72;
    margin-bottom: 6px;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .rg-value-sub {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(143, 204, 114, 0.18);
  }
  .rg-value ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
  .rg-value li {
    position: relative;
    padding-left: 18px;
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
  }
  .rg-value li::before {
    content: "";
    position: absolute;
    left: 0; top: 9px;
    width: 8px; height: 2px;
    background: #8FCC72;
  }

  /* ---------- PHASES ---------- */
  .rg-phases-section { background: #F5F8F0; }
  .rg-phases {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-top: 40px;
  }
  @media (max-width: 1100px) { .rg-phases { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 600px) { .rg-phases { grid-template-columns: 1fr; } }
  .rg-phase {
    padding: 26px 22px;
    background: #FFFFFF;
    border-radius: 2px;
    border: 1px solid rgba(45, 64, 32, 0.1);
    transition: all 0.3s ease;
  }
  .rg-phase:hover {
    border-color: #6B8E2E;
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(45, 64, 32, 0.08);
  }
  .rg-phase-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 2px solid #6B8E2E;
  }
  .rg-phase-num {
    font-family: 'Archivo Black', sans-serif;
    font-size: 13px;
    color: #0F2419;
    letter-spacing: 0.03em;
  }
  .rg-phase-dur {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #6B8E2E;
    background: rgba(143, 204, 114, 0.14);
    padding: 3px 10px;
    border-radius: 100px;
  }
  .rg-phase h4 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: 16px;
    color: #0F2419;
    margin: 0 0 14px;
    line-height: 1.2;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .rg-phase ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px;
  }
  .rg-phase li {
    position: relative;
    padding-left: 14px;
    font-size: 12.5px;
    line-height: 1.55;
    color: #4A5540;
  }
  .rg-phase li::before {
    content: "▸";
    position: absolute;
    left: 0;
    color: #6B8E2E;
    font-size: 10px;
    top: 2px;
  }

  /* ---------- REVIVAL ---------- */
  .rg-revival-section { background: #FFFFFF; }
  .rg-revival-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 40px;
  }
  @media (max-width: 1000px) { .rg-revival-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 600px) { .rg-revival-grid { grid-template-columns: 1fr; } }
  .rg-revival {
    padding: 30px;
    background: linear-gradient(135deg, #F5F8F0, #FFFFFF);
    border: 1px solid rgba(143, 204, 114, 0.35);
    border-radius: 2px;
  }
  .rg-revival h4 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: 18px;
    color: #0F2419;
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(107, 142, 46, 0.25);
    line-height: 1.2;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .rg-revival ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
  .rg-revival li {
    position: relative;
    padding-left: 18px;
    font-size: 13.5px;
    line-height: 1.55;
    color: #2D4020;
  }
  .rg-revival li::before {
    content: "";
    position: absolute;
    left: 0; top: 9px;
    width: 8px; height: 2px;
    background: #6B8E2E;
  }

  /* ---------- FINANCIALS ---------- */
  .rg-financials-section {
    background: linear-gradient(135deg, #0F2419, #1F3D22);
    color: #FFFFFF;
  }
  .rg-fin-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: clamp(28px, 5vw, 60px);
    margin-top: 40px;
    align-items: center;
  }
  @media (max-width: 820px) { .rg-fin-grid { grid-template-columns: 1fr; } }
  .rg-fin-total {
    padding: clamp(36px, 5vw, 56px);
    background: #FFFFFF;
    color: #0F2419;
    border-radius: 2px;
    text-align: center;
    border-top: 6px solid #8FCC72;
  }
  .rg-fin-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #6B8E2E;
    margin-bottom: 14px;
  }
  .rg-fin-amount {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(60px, 10vw, 110px);
    line-height: 0.9;
    letter-spacing: -0.05em;
    color: #0F2419;
    margin-bottom: 10px;
  }
  .rg-fin-amount-sm { font-size: clamp(44px, 7vw, 72px); }
  .rg-fin-amount span { color: #6B8E2E; font-size: 0.55em; margin-left: 4px; }
  .rg-fin-sub {
    font-family: var(--sans);
    font-size: 13px;
    color: #4A5540;
    margin-bottom: 0;
  }
  .rg-fin-divider {
    height: 1px;
    background: rgba(45, 64, 32, 0.18);
    margin: 32px 0 24px;
  }

  .rg-fin-sources { display: grid; gap: 14px; }
  .rg-fin-src-heading {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(143, 204, 114, 0.25);
  }
  .rg-fin-src {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 16px;
    align-items: center;
    padding: 18px 22px;
    background: rgba(143, 204, 114, 0.08);
    border: 1px solid rgba(143, 204, 114, 0.22);
    border-radius: 2px;
  }
  .rg-fin-src-num {
    font-family: 'Archivo Black', sans-serif;
    font-size: 18px;
    color: #0F2419;
    background: #8FCC72;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    text-transform: lowercase;
  }
  .rg-fin-src > div:last-child {
    font-family: var(--sans);
    font-weight: 700;
    font-size: 14px;
    color: #FFFFFF;
  }

  /* ---------- STAKEHOLDERS ---------- */
  .rg-stakeholders-section { background: #F5F8F0; }
  .rg-stake-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: clamp(30px, 4vw, 60px);
    margin-top: 40px;
  }
  @media (max-width: 900px) { .rg-stake-grid { grid-template-columns: 1fr; } }
  .rg-stake-heading {
    font-family: var(--serif);
    font-weight: 400;
    font-size: 22px;
    color: #0F2419;
    margin: 0 0 24px;
    padding-bottom: 14px;
    border-bottom: 2px solid #6B8E2E;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .rg-stake-cat {
    margin-bottom: 24px;
    padding: 18px 22px;
    background: #FFFFFF;
    border-left: 3px solid #6B8E2E;
  }
  .rg-stake-cat-label {
    font-family: 'Archivo Black', sans-serif;
    font-size: 12px;
    color: #0F2419;
    letter-spacing: 0.04em;
    margin-bottom: 10px;
    text-transform: uppercase;
  }
  .rg-stake-cat ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
  .rg-stake-cat li {
    font-size: 13.5px;
    line-height: 1.45;
    color: #2D4020;
  }

  .rg-csr-col { display: grid; gap: 14px; align-content: start; }
  .rg-csr-item {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 18px;
    padding: 22px;
    background: linear-gradient(135deg, #0F2419, #1F3D22);
    color: #FFFFFF;
    border-radius: 2px;
  }
  .rg-csr-num {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    background: #8FCC72;
    color: #0F2419;
    font-family: 'Archivo Black', sans-serif;
    font-size: 20px;
    border-radius: 50%;
  }
  .rg-csr-body h4 {
    font-family: var(--sans);
    font-weight: 700;
    font-size: 15px;
    color: #FFFFFF;
    margin: 0 0 6px;
  }
  .rg-csr-body p {
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.78);
    margin: 0;
  }

  /* ---------- CTA ---------- */
  .rg-cta-section {
    background:
      radial-gradient(ellipse at 90% 50%, rgba(143, 204, 114, 0.12), transparent 55%),
      linear-gradient(135deg, #0F2419, #1F3D22);
    color: #FFFFFF;
  }
  .rg-cta-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: clamp(30px, 4vw, 60px);
    align-items: center;
    margin-bottom: clamp(50px, 7vh, 80px);
  }
  @media (max-width: 820px) { .rg-cta-grid { grid-template-columns: 1fr; } }
  .rg-cta-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-bottom: 22px;
  }
  .rg-cta-heading {
    font-family: 'Archivo Black', sans-serif;
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    line-height: 0.98;
    letter-spacing: -0.035em;
    color: #FFFFFF;
    margin: 0 0 24px;
  }
  .rg-cta-heading em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 300;
    color: #8FCC72;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .rg-cta-text p {
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.82);
    margin: 0 0 18px;
    max-width: 60ch;
  }
  .rg-cta-slogan {
    font-family: var(--serif) !important;
    font-weight: 400 !important;
    font-style: italic;
    color: #8FCC72 !important;
    font-size: 20px !important;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
    margin-top: 28px !important;
    margin-bottom: 32px !important;
  }
  .rg-cta-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }
  .rg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 28px;
    font-family: var(--sans);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.3s ease;
    text-decoration: none;
    border-radius: 2px;
  }
  .rg-btn-primary {
    background: #8FCC72;
    color: #0F2419;
  }
  .rg-btn-primary:hover {
    background: #A5D88A;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(143, 204, 114, 0.35);
  }
  .rg-btn-ghost {
    background: transparent;
    color: #FFFFFF;
    border-color: rgba(255, 255, 255, 0.3);
  }
  .rg-btn-ghost:hover {
    border-color: #8FCC72;
    color: #8FCC72;
  }

  .rg-cta-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 2px;
    border: 2px solid #8FCC72;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
  }
  .rg-cta-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .rg-contact {
    padding: clamp(28px, 4vw, 44px);
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(143, 204, 114, 0.25);
    border-top: 3px solid #8FCC72;
    border-radius: 2px;
  }
  .rg-contact-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-bottom: 24px;
  }
  .rg-contact-details {
    display: grid;
    gap: 14px;
  }
  .rg-contact-item {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 20px;
    align-items: start;
    padding: 12px 0;
    border-bottom: 1px solid rgba(143, 204, 114, 0.14);
  }
  .rg-contact-item:last-child { border-bottom: none; }
  @media (max-width: 640px) {
    .rg-contact-item { grid-template-columns: 1fr; gap: 4px; }
  }
  .rg-contact-k {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    padding-top: 3px;
  }
  .rg-contact-v {
    font-family: var(--sans);
    font-size: 14px;
    color: #FFFFFF;
    line-height: 1.55;
    transition: color 0.2s ease;
  }
  a.rg-contact-v:hover { color: #8FCC72; }

  .rg-confidential-footer {
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid rgba(143, 204, 114, 0.2);
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    text-align: center;
  }

  /* ---------- BOARD CHAIRMAN MESSAGE (Restore Ghana) ---------- */
  .rg-chair-section {
    background:
      radial-gradient(ellipse at 12% 25%, rgba(143, 204, 114, 0.10), transparent 55%),
      linear-gradient(135deg, #0B1E15, #14301C);
    color: #FFFFFF;
  }
  .rg-chair-grid {
    display: grid;
    grid-template-columns: minmax(300px, 0.85fr) 1.15fr;
    gap: clamp(32px, 5vw, 70px);
    align-items: stretch;
  }
  @media (max-width: 900px) { .rg-chair-grid { grid-template-columns: 1fr; } }
  .rg-chair-photo-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .rg-chair-photo {
    flex: 1 1 auto;
    min-height: 380px;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(143, 204, 114, 0.18);
  }
  .rg-chair-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 18%;
    display: block;
    border-radius: 16px;
  }
  .rg-chair-nameplate {
    margin-top: 18px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(143, 204, 114, 0.18);
    padding: 18px 22px;
    border-radius: 12px;
  }
  .rg-chair-name {
    font-family: var(--serif);
    font-size: 19px;
    font-weight: 500;
    color: #FFFFFF;
    letter-spacing: -0.015em;
  }
  .rg-chair-role {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-top: 8px;
  }
  .rg-chair-message {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
  }
  .rg-chair-message p {
    font-size: 15.5px;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.82);
    margin-bottom: 18px;
  }
  .rg-chair-message p:first-of-type {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(19px, 2vw, 23px);
    line-height: 1.5;
    color: #FFFFFF;
    letter-spacing: -0.01em;
    margin-bottom: 26px;
  }
  .rg-chair-message p:first-of-type em {
    font-style: italic;
    color: #8FCC72;
  }

  /* Denzel tab in Harris topbar */
  .denzel-tab {
    display: inline-flex;
    align-items: center;
    padding: 13px 26px;
    margin-left: 8px;
    background: linear-gradient(135deg, #0872D0, #0B2E6B);
    color: #FFFFFF !important;
    border-radius: 50px;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: all 0.25s ease;
    box-shadow: 0 6px 24px rgba(8, 114, 208, 0.28);
    flex-shrink: 0;
    border: 1px solid transparent;
  }
  .denzel-tab:hover {
    background: linear-gradient(135deg, #2E91E8, #0872D0);
    color: #FFFFFF !important;
  }
  @media (max-width: 1099px) {
    .denzel-tab { display: none; }
  }

  /* Restore Ghana tab — same size as Connect/Denzel, green brand color */
  .restore-tab {
    display: inline-flex;
    align-items: center;
    padding: 13px 26px;
    margin-left: 8px;
    background: linear-gradient(135deg, #8FCC72, #2D4020);
    color: #FFFFFF !important;
    border-radius: 50px;
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: all 0.25s ease;
    box-shadow: 0 6px 24px rgba(45, 64, 32, 0.28);
    flex-shrink: 0;
    border: 1px solid transparent;
  }
  .restore-tab:hover {
    background: linear-gradient(135deg, #A5D88A, #4D6834);
    color: #FFFFFF !important;
  }
  @media (max-width: 1099px) {
    .restore-tab { display: none; }
  }
  body.view-restore .restore-tab {
    background: linear-gradient(135deg, #A5D88A, #4D6834);
    color: #FFFFFF !important;
  }
  body.view-restore .nav .nav-pill { display: none !important; }
  body.view-restore .nav-connect { display: none !important; }

  /* Mobile menu Restore entry */
  .mobile-menu a.mm-link-restore {
    padding-top: 14px;
    color: #8FCC72;
  }
  .mobile-menu a.mm-link-restore em {
    color: #8FCC72;
    font-style: normal;
    font-family: inherit;
  }
  .denzel-tab::before {
    content: none;
  }
  body.view-denzel .denzel-tab {
    background: #FFFFFF;
    color: #0B2E6B !important;
    border-color: rgba(11, 46, 107, 0.15);
  }
  
  /* Harris tab shown in Denzel view - "return to Harris" affordance */
  body.view-denzel .nav .nav-pill { display: none !important; }
  body.view-denzel .nav-connect { display: none !important; }
  .harris-return-tab {
    display: none;
  }
  body.view-denzel .harris-return-tab,
  body.view-restore .harris-return-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    color: #2C2858;
    font-family: var(--mono);
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    border: 1px solid rgba(20, 16, 44, 0.18);
    border-radius: 100px;
    transition: all 0.3s ease;
  }
  body.view-restore .harris-return-tab {
    color: #0F2419;
    border-color: rgba(45, 64, 32, 0.22);
  }
  .harris-return-tab:hover {
    background: #14102C;
    color: #FAFAFA;
    border-color: #14102C;
  }
  
  /* When in Denzel view, give the Denzel content breathing room below Harris topbar */
  body.view-denzel .dz-view { padding-top: 0; }

  /* ========== DENZEL LOGISTICS (NAMESPACED) ========== */

  .dz-view {
    /* DENZEL BRAND PALETTE — corporate blues */
    --navy-deep: #0B2E6B;
    --navy: #123A82;
    --blue: #0872D0;
    --blue-bright: #2E91E8;
    --sky: #4CA8E8;
    --sky-soft: #B8D9EE;
    --paper: #F5F7FA;
    --paper-2: #EBEFF5;
    --ink: #0B1A35;
    --ink-2: #1E2E50;
    --muted: #5B6580;
    --line: rgba(11, 26, 53, 0.10);
    --line-strong: rgba(11, 26, 53, 0.22);
    --gold: #C8A055;
    --accent-green: #8FCC72;
    --serif: 'Fraunces', Georgia, serif;
    --sans: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
    --mono: 'IBM Plex Mono', Menlo, monospace;
    --display: 'Archivo Black', 'Manrope', sans-serif;
  }

  .dz-wrap {
    max-width: 1360px;
    margin: 0 auto;
    padding: clamp(70px, 10vh, 130px) clamp(20px, 5vw, 80px);
  }
  .dz-wrap-tight {
    max-width: 1040px;
    margin: 0 auto;
    padding: clamp(70px, 10vh, 130px) clamp(20px, 5vw, 80px);
  }

  /* ---------- TOPBAR ---------- */
  .dz-topbar {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--line);
    transition: box-shadow 0.3s ease;
  }
  .dz-topbar.dz-scrolled { box-shadow: 0 4px 20px rgba(11, 26, 53, 0.06); }
  .dz-topbar-inner {
    max-width: 1360px;
    margin: 0 auto;
    padding: 18px clamp(20px, 5vw, 80px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }
  .dz-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
  }
  .dz-brand-mark {
    width: 38px; height: 38px;
    background: linear-gradient(135deg, var(--blue) 0%, var(--navy-deep) 100%);
    color: #FFFFFF;
    display: grid;
    place-items: center;
    font-family: var(--display);
    font-size: 18px;
    letter-spacing: -0.06em;
    border-radius: 8px;
    flex-shrink: 0;
  }
  .dz-brand-text {
    font-family: var(--display);
    font-size: 15px;
    letter-spacing: -0.03em;
    color: var(--navy-deep);
    line-height: 1;
  }
  .dz-brand-text .dz-tag {
    display: block;
    font-family: var(--mono);
    font-size: 8.5px;
    letter-spacing: 0.22em;
    color: var(--muted);
    margin-top: 4px;
    text-transform: uppercase;
    font-weight: 400;
  }

  .dz-nav {
    display: flex;
    gap: 32px;
    align-items: center;
  }
  .dz-nav a {
    font-family: var(--sans);
    font-size: 13px;
    font-weight: 500;
    color: var(--ink-2);
    transition: color 0.2s ease;
    position: relative;
  }
  .dz-nav a:hover { color: var(--blue); }
  .dz-nav a.dz-harris-link {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .dz-nav a.dz-harris-link:hover { color: var(--gold); }
  .dz-nav-cta {
    padding: 11px 22px;
    background: var(--navy-deep);
    color: #FFFFFF !important;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: all 0.25s ease;
    border-radius: 2px;
  }
  .dz-nav-cta:hover { background: var(--blue) !important; color: #FFFFFF !important; transform: translateY(-1px); }

  .dz-menu-toggle {
    display: none;
    width: 44px; height: 44px;
    align-items: center;
    justify-content: center;
    color: var(--ink);
  }
  @media (max-width: 960px) {
    .dz-nav a:not(.dz-nav-cta):not(.dz-harris-link) { display: none; }
    .dz-nav a.dz-harris-link { display: none; }
  }
  @media (max-width: 640px) {
    .dz-menu-toggle { display: flex; }
    .dz-nav { display: none; }
    .dz-nav.dz-open {
      display: flex;
      position: absolute;
      top: 100%;
      right: 0;
      left: 0;
      flex-direction: column;
      background: #FFFFFF;
      padding: 24px;
      gap: 20px;
      border-bottom: 1px solid var(--line);
      box-shadow: 0 10px 30px rgba(11, 26, 53, 0.08);
    }
    .dz-nav.dz-open a:not(.dz-nav-cta):not(.dz-harris-link),
    .dz-nav.dz-open a.dz-harris-link { display: block; }
  }

  /* ---------- HERO ---------- */
  .dz-hero {
    position: relative;
    padding: 180px 0 130px;
    background:
      radial-gradient(ellipse at 20% 10%, rgba(76, 168, 232, 0.25), transparent 50%),
      radial-gradient(ellipse at 80% 80%, rgba(8, 114, 208, 0.35), transparent 55%),
      linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 55%, var(--blue) 100%);
    color: #FFFFFF;
    overflow: hidden;
  }
  .dz-hero::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.12) 1px, transparent 0);
    background-size: 28px 28px;
    opacity: 0.4;
    pointer-events: none;
  }
  .dz-hero-world {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    height: 120%;
    opacity: 0.2;
    pointer-events: none;
  }
  .dz-hero-inner {
    position: relative;
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 clamp(20px, 5vw, 80px);
    text-align: center;
  }
  .dz-hero-eyebrow {
    display: inline-block;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--sky);
    margin-bottom: 28px;
    padding: 9px 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.04);
  }
  .dz-hero-title {
    font-family: var(--display);
    font-size: clamp(44px, 11vw, 180px);
    line-height: 0.88;
    letter-spacing: -0.045em;
    color: #FFFFFF;
    margin-bottom: 28px;
    word-spacing: -0.05em;
  }
  .dz-hero-tagline {
    font-family: var(--serif);
    font-weight: 300;
    font-style: italic;
    font-size: clamp(20px, 3vw, 32px);
    letter-spacing: -0.02em;
    color: var(--sky-soft);
    font-variation-settings: 'opsz' 144, 'SOFT' 40;
    margin-bottom: 48px;
  }
  .dz-hero-cta-row {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 40px;
  }

  /* ---------- BUTTONS ---------- */
  .dz-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 16px 30px;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 1px solid transparent;
    font-family: var(--sans);
    border-radius: 2px;
  }
  .dz-btn-primary {
    background: #FFFFFF;
    color: var(--navy-deep);
  }
  .dz-btn-primary:hover {
    background: var(--sky);
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(76, 168, 232, 0.3);
  }
  .dz-btn-ghost {
    border-color: rgba(255, 255, 255, 0.3);
    color: #FFFFFF;
  }
  .dz-btn-ghost:hover {
    border-color: var(--sky);
    color: var(--sky);
  }
  .dz-btn-dark {
    background: var(--navy-deep);
    color: #FFFFFF;
  }
  .dz-btn-dark:hover {
    background: var(--blue);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(8, 114, 208, 0.3);
  }
  .dz-btn .dz-arrow { transition: transform 0.3s ease; }
  .dz-btn:hover .dz-arrow { transform: translateX(5px); }

  /* ---------- STATS STRIP ---------- */
  .dz-stats-strip {
    background: var(--paper);
    border-top: 4px solid var(--blue);
    border-bottom: 1px solid var(--line);
  }
  .dz-stats-grid {
    max-width: 1360px;
    margin: 0 auto;
    padding: 56px clamp(20px, 5vw, 80px);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(24px, 4vw, 60px);
  }
  @media (max-width: 800px) {
    .dz-stats-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  }
  .dz-stat-item {
    text-align: center;
  }
  .dz-stat-num {
    font-family: var(--display);
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1;
    color: var(--navy-deep);
    margin-bottom: 10px;
    letter-spacing: -0.04em;
  }
  .dz-stat-label {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--muted);
    line-height: 1.3;
  }

  /* ---------- SECTION LABELS ---------- */
  .dz-label-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 32px;
    flex-wrap: wrap;
  }
  .dz-label-row .dz-num {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.24em;
    color: var(--blue);
    font-weight: 500;
  }
  .dz-label-row .dz-divider {
    height: 1px;
    width: 40px;
    background: var(--line-strong);
  }
  .dz-label-row .dz-title {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .dz-section-heading {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(2rem, 4.8vw, 4rem);
    line-height: 1.02;
    letter-spacing: -0.025em;
    color: var(--navy-deep);
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
    margin-bottom: 24px;
  }
  .dz-section-heading em {
    font-style: italic;
    color: var(--blue);
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
    font-weight: 300;
  }
  .dz-section-lede {
    font-family: var(--sans);
    font-size: clamp(16px, 1.6vw, 19px);
    line-height: 1.6;
    color: var(--ink-2);
    max-width: 72ch;
    font-weight: 400;
  }

  /* ---------- THE COMPANY SECTION ---------- */
  .dz-company {
    background: #FFFFFF;
  }
  .dz-company-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: clamp(40px, 6vw, 90px);
    align-items: start;
  }
  @media (max-width: 900px) {
    .dz-company-grid { grid-template-columns: 1fr; }
  }
  .dz-company-body p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink-2);
    margin-bottom: 20px;
  }
  .dz-company-body p:first-child {
    font-size: 18px;
    color: var(--navy-deep);
    font-weight: 500;
  }
  .dz-company-body b, .dz-company-body strong {
    color: var(--navy-deep);
    font-weight: 600;
  }

  /* ---------- CHAIRMAN SECTION ---------- */
  .dz-chairman {
    background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%);
    color: #FFFFFF;
    position: relative;
    overflow: hidden;
  }
  .dz-chairman::before {
    content: "";
    position: absolute;
    top: -100px; right: -100px;
    width: 400px; height: 400px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
  }
  .dz-chairman::after {
    content: "";
    position: absolute;
    top: -80px; right: -80px;
    width: 380px; height: 380px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 50%;
  }
  .dz-chairman .dz-section-heading { color: #FFFFFF; }
  .dz-chairman .dz-section-heading em { color: var(--sky); }
  .dz-chairman .dz-label-row .dz-num { color: var(--sky); }
  .dz-chairman .dz-label-row .dz-title { color: rgba(255, 255, 255, 0.6); }
  .dz-chairman .dz-label-row .dz-divider { background: rgba(255, 255, 255, 0.2); }

  .dz-chairman-grid {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: clamp(32px, 5vw, 70px);
    align-items: start;
    position: relative;
  }
  @media (max-width: 900px) {
    .dz-chairman-grid { grid-template-columns: 1fr; }
  }
  .dz-chairman-photo-wrap {
    position: relative;
  }
  .dz-chairman-photo {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
  }
  .dz-chairman-photo img {
    width: 100%;
    display: block;
    border-radius: 16px;
  }
  .dz-chairman-nameplate {
    margin-top: 24px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px 24px;
    border-radius: 12px;
  }
  .dz-chairman-nameplate .dz-name {
    font-family: var(--serif);
    font-size: 20px;
    font-weight: 500;
    color: #FFFFFF;
    letter-spacing: -0.015em;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .dz-chairman-nameplate .dz-role {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--accent-green);
    margin-top: 8px;
  }
  .dz-chairman-message p {
    font-size: 15.5px;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.82);
    margin-bottom: 18px;
  }
  .dz-chairman-message p:first-child {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(19px, 2vw, 23px);
    line-height: 1.45;
    color: #FFFFFF;
    letter-spacing: -0.01em;
    margin-bottom: 28px;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .dz-chairman-message p:first-child em {
    font-style: italic;
    color: var(--sky);
    font-variation-settings: 'opsz' 144, 'SOFT' 100;
  }
  .dz-chairman-sign-off {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }
  .dz-chairman-sign-off img {
    max-width: 300px;
    height: auto;
    opacity: 0.9;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3));
  }

  /* ---------- EVOLUTION SECTION ---------- */
  .dz-evolution {
    background: var(--paper);
  }
  .dz-evolution-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 6vw, 90px);
    align-items: center;
  }
  @media (max-width: 900px) {
    .dz-evolution-grid { grid-template-columns: 1fr; }
  }
  .dz-evolution-body p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink-2);
    margin-bottom: 20px;
  }
  .dz-evolution-body p:first-child {
    font-size: 18px;
    color: var(--navy-deep);
    font-weight: 500;
  }
  .dz-evolution-visual {
    position: relative;
    padding: 40px 0;
  }
  .dz-evolution-line {
    position: absolute;
    left: 30px;
    top: 60px;
    bottom: 60px;
    width: 2px;
    background: linear-gradient(180deg, var(--blue), var(--navy-deep));
  }
  .dz-evo-point {
    position: relative;
    padding-left: 80px;
    margin-bottom: 36px;
  }
  .dz-evo-point:last-child { margin-bottom: 0; }
  .dz-evo-point::before {
    content: "";
    position: absolute;
    left: 20px; top: 8px;
    width: 22px; height: 22px;
    background: var(--blue);
    border: 3px solid #FFFFFF;
    box-shadow: 0 0 0 2px var(--blue);
    border-radius: 50%;
  }
  .dz-evo-year {
    font-family: var(--display);
    font-size: 28px;
    color: var(--navy-deep);
    letter-spacing: -0.03em;
    margin-bottom: 6px;
  }
  .dz-evo-point h4 {
    font-family: var(--serif);
    font-size: 19px;
    font-weight: 500;
    color: var(--ink);
    margin-bottom: 6px;
    letter-spacing: -0.01em;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .dz-evo-point p {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--muted);
  }

  /* ---------- VISION · MISSION · VALUES ---------- */
  .dz-vmv {
    background: #FFFFFF;
  }
  .dz-vmv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(30px, 4vw, 60px);
    margin-top: 60px;
  }
  @media (max-width: 900px) {
    .dz-vmv-grid { grid-template-columns: 1fr; }
  }
  .dz-vmv-left {
    display: grid;
    gap: clamp(30px, 4vw, 60px);
  }
  .dz-vmv-card {
    background: linear-gradient(135deg, var(--navy-deep), var(--navy));
    color: #FFFFFF;
    padding: clamp(32px, 4vw, 48px);
    border-radius: 16px;
    position: relative;
    overflow: hidden;
  }
  .dz-vmv-card::before {
    content: "";
    position: absolute;
    bottom: -80px; right: -80px;
    width: 200px; height: 200px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
  }
  .dz-vmv-card-icon {
    width: 56px; height: 56px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin-bottom: 24px;
    color: var(--sky);
  }
  .dz-vmv-card h3 {
    font-family: var(--display);
    font-size: 32px;
    letter-spacing: -0.02em;
    margin-bottom: 16px;
    color: #FFFFFF;
  }
  .dz-vmv-card p {
    font-size: 15.5px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.85);
    position: relative;
    z-index: 1;
  }

  .dz-values-list {
    background: var(--paper);
    padding: clamp(32px, 4vw, 48px);
    border-radius: 16px;
    position: relative;
  }
  .dz-values-list::before {
    content: "THE VALUES";
    position: absolute;
    left: -8px;
    top: 30px;
    font-family: var(--display);
    font-size: clamp(28px, 3vw, 42px);
    letter-spacing: -0.02em;
    color: var(--blue);
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    opacity: 0.12;
  }
  .dz-value-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 18px 0;
    border-bottom: 1px solid var(--line);
  }
  .dz-value-item:last-child { border-bottom: none; }
  .dz-value-icon {
    width: 44px; height: 44px;
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: var(--blue);
  }
  .dz-value-text h4 {
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 700;
    color: var(--navy-deep);
    margin-bottom: 4px;
    letter-spacing: -0.005em;
  }
  .dz-value-text p {
    font-size: 14px;
    line-height: 1.55;
    color: var(--muted);
  }

  /* ---------- SERVICES GRID (10 divisions) ---------- */
  .dz-services {
    background: var(--paper);
    position: relative;
  }
  .dz-services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 2vw, 24px);
    margin-top: 60px;
  }
  @media (max-width: 700px) {
    .dz-services-grid { grid-template-columns: 1fr; }
  }
  .dz-service-card {
    background: #FFFFFF;
    border: 1px solid var(--line);
    padding: clamp(28px, 3vw, 42px);
    border-radius: 12px;
    transition: all 0.35s ease;
    position: relative;
    overflow: hidden;
  }
  .dz-service-card:hover {
    border-color: var(--blue);
    transform: translateY(-3px);
    box-shadow: 0 16px 40px rgba(11, 46, 107, 0.08);
  }
  .dz-service-card:hover .dz-service-num { color: var(--blue); }
  .dz-service-card:hover .dz-service-icon { background: var(--blue); color: #FFFFFF; }
  .dz-service-head {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 18px;
  }
  .dz-service-icon {
    width: 52px; height: 52px;
    background: var(--paper-2);
    border-radius: 12px;
    display: grid;
    place-items: center;
    color: var(--blue);
    flex-shrink: 0;
    transition: all 0.3s ease;
  }
  .dz-service-meta {
    flex: 1;
  }
  .dz-service-num {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.22em;
    color: var(--muted);
    margin-bottom: 4px;
    transition: color 0.3s ease;
  }
  .dz-service-card h3 {
    font-family: var(--serif);
    font-size: clamp(19px, 2vw, 23px);
    font-weight: 500;
    color: var(--navy-deep);
    letter-spacing: -0.01em;
    line-height: 1.15;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .dz-service-desc {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--ink-2);
    margin-bottom: 18px;
  }
  .dz-service-features {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .dz-service-features li {
    position: relative;
    padding-left: 18px;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--muted);
    margin-bottom: 8px;
  }
  .dz-service-features li::before {
    content: "";
    position: absolute;
    left: 0; top: 9px;
    width: 6px; height: 6px;
    background: var(--blue);
    border-radius: 50%;
  }
  .dz-service-features li strong {
    color: var(--ink-2);
    font-weight: 600;
  }

  /* ---------- SOLUTIONS PORTFOLIO ---------- */
  .dz-solutions {
    background: #FFFFFF;
  }
  .dz-solutions-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 24px);
    margin-top: 60px;
  }
  @media (max-width: 900px) { .dz-solutions-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 600px) { .dz-solutions-grid { grid-template-columns: 1fr; } }
  .dz-solution-card {
    background: linear-gradient(135deg, var(--navy-deep), var(--navy));
    color: #FFFFFF;
    padding: clamp(24px, 3vw, 36px);
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    min-height: 260px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .dz-solution-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 50px rgba(11, 26, 53, 0.2);
  }
  .dz-solution-card::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background: radial-gradient(circle at 30% 20%, rgba(76, 168, 232, 0.2), transparent 50%);
  }
  .dz-solution-num {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.22em;
    color: var(--sky);
    position: relative;
    margin-bottom: 20px;
  }
  .dz-solution-card h3 {
    font-family: var(--serif);
    font-size: clamp(22px, 2.4vw, 28px);
    font-weight: 500;
    color: #FFFFFF;
    letter-spacing: -0.015em;
    line-height: 1.1;
    margin-bottom: 16px;
    position: relative;
    font-variation-settings: 'opsz' 120, 'SOFT' 30;
  }
  .dz-solution-card p {
    font-size: 14.5px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.78);
    position: relative;
  }
  .dz-solution-card .dz-arrow-corner {
    position: absolute;
    bottom: 24px; right: 24px;
    width: 36px; height: 36px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: grid;
    place-items: center;
    transition: all 0.3s ease;
  }
  .dz-solution-card:hover .dz-arrow-corner {
    background: var(--sky);
    border-color: var(--sky);
  }

  /* ---------- INVESTMENT PORTFOLIO ---------- */
  .dz-invest {
    background: #FFFFFF;
    position: relative;
    overflow: hidden;
  }
  .dz-invest::before {
    content: "";
    position: absolute;
    top: -200px; right: -200px;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(8, 114, 208, 0.06), transparent 70%);
    pointer-events: none;
  }

  /* Hero block — big $765M with supporting copy */
  .invest-hero {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: clamp(40px, 6vw, 80px);
    align-items: start;
    margin-top: 60px;
    margin-bottom: clamp(60px, 8vh, 100px);
  }
  @media (max-width: 900px) {
    .invest-hero { grid-template-columns: 1fr; }
  }
  .invest-hero-amount {
    background: linear-gradient(135deg, #0B2E6B 0%, #123A82 60%, #0872D0 100%);
    color: #FFFFFF;
    padding: clamp(32px, 4vw, 52px);
    border-radius: 2px;
    position: relative;
    overflow: hidden;
  }
  .invest-hero-amount::before {
    content: "";
    position: absolute;
    bottom: -80px; left: -80px;
    width: 260px; height: 260px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
  }
  .invest-eyebrow {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-bottom: 16px;
    position: relative;
  }
  .invest-amount {
    font-family: var(--display);
    font-size: clamp(72px, 12vw, 140px);
    line-height: 0.88;
    letter-spacing: -0.05em;
    color: #FFFFFF;
    position: relative;
  }
  .invest-amount-sub {
    font-size: 0.5em;
    margin-left: 4px;
    color: #8FCC72;
  }
  .invest-amount-line {
    font-family: var(--sans);
    font-size: 12px;
    color: rgba(255, 255, 255, 0.75);
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    position: relative;
  }
  .invest-dot { color: #8FCC72; }

  .invest-hero-body p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink-2);
    margin-top: 24px;
    margin-bottom: 24px;
  }
  .invest-hero-confidential {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    background: rgba(11, 46, 107, 0.05);
    border: 1px solid rgba(11, 46, 107, 0.15);
    border-radius: 100px;
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #0B2E6B;
  }

  /* 6 Investment Highlights tiles */
  .invest-highlights {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 24px);
    margin-bottom: clamp(60px, 8vh, 100px);
  }
  @media (max-width: 900px) { .invest-highlights { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .invest-highlights { grid-template-columns: 1fr; } }
  .invest-tile {
    padding: clamp(24px, 2.6vw, 32px);
    background: linear-gradient(135deg, #FAFDF5 0%, #F0F8E8 100%);
    border: 1px solid rgba(143, 204, 114, 0.35);
    border-radius: 2px;
    transition: all 0.3s ease;
  }
  .invest-tile:hover {
    border-color: #6B8E2E;
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(107, 142, 46, 0.1);
  }
  .invest-tile-icon {
    width: 48px; height: 48px;
    background: #0B2E6B;
    color: #8FCC72;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
  }
  .invest-tile-label {
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 700;
    color: #0B2E6B;
    margin-bottom: 8px;
    letter-spacing: -0.005em;
  }
  .invest-tile-body {
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--ink-2);
  }
  .invest-tile-body strong {
    color: #0B2E6B;
    font-weight: 700;
  }

  /* Section subheading */
  .invest-section-sub {
    font-family: var(--serif);
    font-weight: 300;
    font-size: clamp(1.8rem, 3.4vw, 2.8rem);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #0B2E6B;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
    margin: 0 0 14px;
  }
  .invest-sub-lede {
    font-family: var(--sans);
    font-size: 15.5px;
    line-height: 1.6;
    color: var(--ink-2);
    max-width: 62ch;
    margin-bottom: 48px;
  }

  /* 9 Project Cards grid */
  .invest-projects {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 24px);
    margin-bottom: clamp(60px, 8vh, 100px);
  }
  @media (max-width: 1000px) { .invest-projects { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 620px)  { .invest-projects { grid-template-columns: 1fr; } }

  .invest-project {
    padding: clamp(24px, 2.8vw, 32px);
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: 2px;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    position: relative;
  }
  .invest-project:hover {
    border-color: #0872D0;
    transform: translateY(-2px);
    box-shadow: 0 14px 40px rgba(11, 46, 107, 0.08);
  }

  .invest-project-featured {
    background: linear-gradient(135deg, #FAFDF5, #FFFFFF);
    border: 1px solid #8FCC72;
  }
  .invest-project-featured::after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, #6B8E2E, #8FCC72);
  }
  .invest-project-badge {
    position: absolute;
    top: 16px; right: 16px;
    padding: 5px 12px;
    background: #6B8E2E;
    color: #FFFFFF;
    font-family: var(--mono);
    font-size: 8.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    border-radius: 100px;
    font-weight: 500;
  }

  .invest-project-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    gap: 12px;
  }
  .invest-project-sector {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #0872D0;
  }
  .invest-project-value {
    font-family: var(--display);
    font-size: clamp(22px, 2.4vw, 28px);
    letter-spacing: -0.03em;
    color: #0B2E6B;
    line-height: 1;
  }
  .per-plant {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    color: var(--muted);
    text-transform: lowercase;
    margin-left: 2px;
  }
  .invest-project-name {
    font-family: var(--serif);
    font-weight: 500;
    font-size: clamp(17px, 1.9vw, 20px);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #0B2E6B;
    margin: 0 0 16px;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .invest-project-name .rgp {
    color: var(--muted);
    font-weight: 400;
    font-size: 0.8em;
  }

  .invest-project-roi {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 12px 16px;
    background: linear-gradient(90deg, #8FCC72 0%, #6B8E2E 100%);
    color: #FFFFFF;
    border-radius: 2px;
    margin-bottom: 20px;
  }
  .roi-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.9;
  }
  .roi-value {
    font-family: var(--display);
    font-size: 18px;
    letter-spacing: -0.02em;
  }

  .invest-project-details {
    margin-bottom: 16px;
  }
  .detail-row {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 12px;
    padding: 6px 0;
    font-size: 13px;
    border-bottom: 1px dashed var(--line);
  }
  .detail-row:last-child { border-bottom: none; }
  .detail-key {
    font-family: var(--mono);
    font-size: 9.5px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
    padding-top: 2px;
  }
  .detail-val {
    color: var(--ink-2);
    line-height: 1.4;
  }

  .invest-project-summary {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--ink-2);
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid var(--line);
    margin-top: auto;
  }
  .invest-project-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding: 10px 16px;
    background: #6B8E2E;
    color: #FFFFFF;
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    align-self: flex-start;
    transition: all 0.25s ease;
  }
  .invest-project-link:hover {
    background: #8FCC72;
    color: #14102C;
    gap: 12px;
  }

  /* Financial Summary — tabular breakdown */
  .invest-finsum {
    background: linear-gradient(135deg, #F5F7FA, #FFFFFF);
    border: 1px solid var(--line);
    padding: clamp(32px, 4vw, 56px);
    border-radius: 2px;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: clamp(30px, 5vw, 60px);
    align-items: start;
    margin-top: clamp(30px, 5vh, 60px);
  }
  @media (max-width: 800px) {
    .invest-finsum { grid-template-columns: 1fr; }
  }
  .invest-finsum-total {
    padding: 32px 28px;
    background: linear-gradient(135deg, #0B2E6B, #123A82);
    color: #FFFFFF;
    border-radius: 2px;
    text-align: center;
  }
  .invest-finsum-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-bottom: 10px;
  }
  .invest-finsum-amount {
    font-family: var(--display);
    font-size: 68px;
    line-height: 0.9;
    letter-spacing: -0.04em;
    color: #FFFFFF;
    margin-bottom: 16px;
  }
  .invest-finsum-amount span {
    color: #8FCC72;
    font-size: 0.5em;
  }
  .invest-finsum-note {
    font-family: var(--sans);
    font-size: 12px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
  }

  .invest-finsum-breakdown {
    display: grid;
    gap: 0;
  }
  .fin-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
    font-family: var(--sans);
    font-size: 15px;
  }
  .fin-row.fin-highlight {
    padding: 14px 16px;
    margin: 2px 0;
    background: rgba(143, 204, 114, 0.1);
    border-radius: 2px;
    border-bottom: 1px solid rgba(143, 204, 114, 0.25);
  }
  .fin-row.fin-highlight .fin-name { color: #6B8E2E; font-weight: 600; }
  .fin-row.fin-highlight .fin-val { color: #6B8E2E; }
  .fin-row.fin-total {
    margin-top: 10px;
    padding: 18px 0;
    border-top: 2px solid #0B2E6B;
    border-bottom: none;
  }
  .fin-row.fin-total .fin-name {
    font-family: var(--display);
    font-size: 16px;
    color: #0B2E6B;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }
  .fin-row.fin-total .fin-val {
    font-family: var(--display);
    font-size: 28px;
    letter-spacing: -0.02em;
    color: #0B2E6B;
  }
  .fin-name {
    color: var(--ink-2);
    font-weight: 500;
  }
  .fin-val {
    font-family: var(--mono);
    font-weight: 500;
    color: #0B2E6B;
  }

  /* 7-step Investment Process */
  .invest-process {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 2vw, 24px);
    margin-top: 12px;
  }
  @media (max-width: 700px) {
    .invest-process { grid-template-columns: 1fr; }
  }
  .proc-step {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 20px;
    align-items: flex-start;
    padding: clamp(20px, 2.4vw, 28px);
    background: #FFFFFF;
    border: 1px solid var(--line);
    border-left: 3px solid #0872D0;
    border-radius: 2px;
    transition: all 0.3s ease;
  }
  .proc-step:hover {
    border-left-color: #6B8E2E;
    background: linear-gradient(90deg, rgba(143, 204, 114, 0.04), #FFFFFF 60%);
  }
  .proc-num {
    font-family: var(--display);
    font-size: clamp(26px, 3vw, 38px);
    letter-spacing: -0.04em;
    color: #0872D0;
    line-height: 0.95;
  }
  .proc-body h4 {
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #0B2E6B;
    margin: 0 0 6px;
  }
  .proc-body p {
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--ink-2);
    margin: 0;
  }

  /* Investor CTA */
  .invest-cta {
    margin-top: clamp(60px, 8vh, 100px);
    background: linear-gradient(135deg, #0B2E6B 0%, #0872D0 100%);
    color: #FFFFFF;
    padding: clamp(40px, 5vw, 72px);
    border-radius: 2px;
    position: relative;
    overflow: hidden;
  }
  .invest-cta::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.1) 1px, transparent 0);
    background-size: 32px 32px;
    pointer-events: none;
  }
  .invest-cta-inner {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: clamp(30px, 4vw, 60px);
    align-items: center;
    position: relative;
  }
  @media (max-width: 880px) {
    .invest-cta-inner { grid-template-columns: 1fr; }
  }
  .invest-cta-eyebrow {
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-bottom: 18px;
  }
  .invest-cta-heading {
    font-family: var(--display);
    font-size: clamp(30px, 4.5vw, 52px);
    line-height: 0.98;
    letter-spacing: -0.035em;
    color: #FFFFFF;
    margin-bottom: 18px;
  }
  .invest-cta-heading em {
    font-style: italic;
    font-family: var(--serif);
    font-weight: 300;
    color: #8FCC72;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
  }
  .invest-cta-copy {
    font-family: var(--sans);
    font-size: 15.5px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.82);
    margin: 0;
    max-width: 54ch;
  }
  .invest-cta-contact {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: clamp(24px, 2.8vw, 32px);
    border-radius: 2px;
  }
  .invest-contact-name {
    font-family: var(--serif);
    font-weight: 500;
    font-size: 20px;
    letter-spacing: -0.015em;
    color: #FFFFFF;
    margin-bottom: 4px;
    font-variation-settings: 'opsz' 72, 'SOFT' 30;
  }
  .invest-contact-role {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #8FCC72;
    margin-bottom: 22px;
  }
  .invest-contact-rows {
    display: grid;
    gap: 8px;
  }
  .invest-contact-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 12px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #FFFFFF;
    transition: color 0.2s ease;
    gap: 10px;
  }
  .invest-contact-row:hover { color: #8FCC72; }
  .invest-contact-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    flex-shrink: 0;
  }
  .invest-contact-val {
    font-family: var(--sans);
    font-size: 13.5px;
    text-align: right;
    word-break: break-word;
  }

  /* ---------- GLOBAL PRESENCE / PARTNERS ---------- */
  .dz-presence {
    background: var(--paper);
  }
  .dz-presence-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-bottom: 50px;
    align-items: start;
  }
  @media (max-width: 900px) {
    .dz-presence-header { grid-template-columns: 1fr; gap: 30px; }
  }
  .dz-presence-meta p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--ink-2);
    margin-bottom: 16px;
  }
  .dz-presence-meta strong {
    color: var(--navy-deep);
    font-weight: 600;
  }
  .dz-milestones {
    list-style: none;
    padding: 0;
    margin-top: 24px;
  }
  .dz-milestones li {
    position: relative;
    padding-left: 24px;
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--ink-2);
    margin-bottom: 12px;
  }
  .dz-milestones li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--blue);
    font-weight: 700;
  }
  .dz-milestones li strong {
    color: var(--navy-deep);
  }
  .dz-partners-wall {
    background: #FFFFFF;
    border: 1px solid var(--line);
    padding: clamp(32px, 4vw, 56px);
    border-radius: 16px;
  }
  .dz-partners-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(16px, 2.5vw, 30px);
  }
  @media (max-width: 800px) { .dz-partners-grid { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 500px) { .dz-partners-grid { grid-template-columns: repeat(2, 1fr); } }
  .dz-partner-cell {
    aspect-ratio: 3 / 2;
    display: grid;
    place-items: center;
    padding: clamp(14px, 2vw, 22px);
    border: 1px solid transparent;
    border-radius: 8px;
    transition: border-color 0.3s ease;
    font-family: var(--sans);
    color: var(--navy-deep);
    font-weight: 700;
    font-size: 13px;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.01em;
  }
  .dz-partner-cell:hover {
    border-color: var(--line);
  }
  .dz-partner-cell .dz-cell-name {
    display: block;
    font-family: var(--sans);
    font-size: clamp(12px, 1.3vw, 14px);
    font-weight: 700;
    letter-spacing: 0.01em;
    color: var(--navy-deep);
  }
  .dz-partner-cell .dz-cell-note {
    display: block;
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: 0.18em;
    color: var(--muted);
    text-transform: uppercase;
    margin-top: 4px;
  }

  /* ---------- DIFFERENCE (4 pillars) ---------- */
  .dz-difference {
    background: linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%);
    color: #FFFFFF;
    position: relative;
    overflow: hidden;
  }
  .dz-difference::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.08) 1px, transparent 0);
    background-size: 32px 32px;
  }
  .dz-difference .dz-section-heading { color: #FFFFFF; position: relative; }
  .dz-difference .dz-section-heading em { color: var(--sky); }
  .dz-difference .dz-label-row .dz-num { color: var(--sky); }
  .dz-difference .dz-label-row .dz-title { color: rgba(255, 255, 255, 0.6); }
  .dz-difference .dz-label-row .dz-divider { background: rgba(255, 255, 255, 0.2); }
  .dz-difference .dz-section-lede { color: rgba(255, 255, 255, 0.75); position: relative; }

  .dz-pillars-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 3vw, 40px);
    margin-top: 60px;
    position: relative;
  }
  @media (max-width: 800px) { .dz-pillars-grid { grid-template-columns: 1fr; } }
  .dz-pillar {
    padding: clamp(28px, 3vw, 40px);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    transition: all 0.3s ease;
  }
  .dz-pillar:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: var(--sky);
  }
  .dz-pillar-num {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.22em;
    color: var(--sky);
    margin-bottom: 18px;
  }
  .dz-pillar h3 {
    font-family: var(--display);
    font-size: clamp(20px, 2vw, 26px);
    color: #FFFFFF;
    letter-spacing: -0.02em;
    margin-bottom: 14px;
  }
  .dz-pillar p {
    font-size: 15px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.78);
  }

  /* ---------- WHY PARTNER WITH US ---------- */
  .dz-why {
    background: #FFFFFF;
  }
  .dz-why-list {
    margin-top: 50px;
    display: grid;
    gap: 16px;
  }
  .dz-why-item {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 24px;
    padding: clamp(24px, 3vw, 36px);
    background: var(--paper);
    border: 1px solid var(--line);
    border-left: 4px solid var(--blue);
    border-radius: 8px;
    align-items: center;
    transition: all 0.3s ease;
  }
  .dz-why-item:hover {
    background: #FFFFFF;
    box-shadow: 0 10px 30px rgba(11, 26, 53, 0.06);
    transform: translateX(4px);
  }
  .dz-why-roman {
    font-family: var(--serif);
    font-style: italic;
    font-size: clamp(32px, 4vw, 56px);
    color: var(--blue);
    letter-spacing: -0.02em;
    text-align: center;
    font-variation-settings: 'opsz' 144, 'SOFT' 100, 'WONK' 1;
    line-height: 1;
  }
  .dz-why-content h3 {
    font-family: var(--sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--navy-deep);
    margin-bottom: 8px;
  }
  .dz-why-content p {
    font-size: 15.5px;
    color: var(--ink-2);
    line-height: 1.6;
  }

  /* ---------- HUBS ---------- */
  .dz-hubs {
    background: var(--paper);
    position: relative;
  }
  .dz-hubs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2.5vw, 32px);
    margin-top: 60px;
  }
  @media (max-width: 900px) { .dz-hubs-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .dz-hubs-grid { grid-template-columns: 1fr; } }
  .dz-hub-card {
    background: #FFFFFF;
    border: 1px solid var(--line);
    padding: clamp(24px, 2.8vw, 36px);
    border-radius: 12px;
    transition: all 0.3s ease;
    position: relative;
  }
  .dz-hub-card:hover {
    border-color: var(--blue);
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(11, 46, 107, 0.08);
  }
  .dz-hub-flag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
  }
  .dz-hub-pin {
    width: 28px; height: 28px;
    background: var(--blue);
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #FFFFFF;
  }
  .dz-hub-country {
    font-family: var(--display);
    font-size: 20px;
    color: var(--navy-deep);
    letter-spacing: -0.015em;
  }
  .dz-hub-address {
    font-size: 14px;
    line-height: 1.6;
    color: var(--ink-2);
  }

  /* ---------- CLOSER / CONTACT ---------- */
  .dz-closer {
    background: linear-gradient(135deg, var(--navy-deep) 0%, var(--blue) 100%);
    color: #FFFFFF;
    position: relative;
    overflow: hidden;
    text-align: center;
  }
  .dz-closer::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.12) 1px, transparent 0);
    background-size: 32px 32px;
    opacity: 0.5;
  }
  .dz-closer-inner {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
  }
  .dz-closer h2 {
    font-family: var(--display);
    font-size: clamp(36px, 6vw, 72px);
    line-height: 0.98;
    letter-spacing: -0.035em;
    color: #FFFFFF;
    margin-bottom: 20px;
  }
  .dz-closer p {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 300;
    font-size: clamp(18px, 2vw, 26px);
    color: var(--sky-soft);
    margin-bottom: 40px;
    font-variation-settings: 'opsz' 120, 'SOFT' 40;
  }
  .dz-closer-contact {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 32px);
    margin-top: 48px;
    padding-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  @media (max-width: 700px) {
    .dz-closer-contact { grid-template-columns: 1fr; gap: 20px; }
  }
  .dz-contact-block {
    text-align: center;
  }
  .dz-contact-block .dz-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--sky);
    margin-bottom: 10px;
  }
  .dz-contact-block .dz-value {
    font-family: var(--sans);
    font-size: 16px;
    color: #FFFFFF;
    font-weight: 500;
    line-height: 1.4;
  }
  .dz-contact-block .dz-value a { color: #FFFFFF; transition: color 0.2s; }
  .dz-contact-block .dz-value a:hover { color: var(--sky); }

  /* ---------- FOOTER ---------- */
  footer {
    background: var(--ink);
    color: rgba(255, 255, 255, 0.65);
    padding: 56px 0 28px;
  }
  .dz-footer-inner {
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 clamp(20px, 5vw, 80px);
  }
  .dz-footer-top {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 28px;
  }
  @media (max-width: 800px) {
    .dz-footer-top { grid-template-columns: 1fr; }
  }
  .dz-footer-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
  }
  .dz-footer-brand .dz-brand-mark {
    background: linear-gradient(135deg, var(--blue) 0%, var(--navy) 100%);
  }
  .dz-footer-brand .dz-brand-text {
    color: #FFFFFF;
  }
  .dz-footer-brand .dz-brand-text .dz-tag {
    color: rgba(255, 255, 255, 0.4);
  }
  .dz-footer-about p {
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.55);
    max-width: 42ch;
  }
  .dz-footer-col h4 {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--sky);
    margin-bottom: 16px;
    font-weight: 500;
  }
  .dz-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .dz-footer-col li {
    margin-bottom: 10px;
    font-size: 14px;
  }
  .dz-footer-col a { color: rgba(255, 255, 255, 0.65); transition: color 0.2s; }
  .dz-footer-col a:hover { color: var(--sky); }
  .dz-footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    font-family: var(--mono);
    font-size: 10.5px;
    letter-spacing: 0.15em;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
  }
  .dz-footer-bottom a { color: var(--sky); }
  .dz-footer-bottom a:hover { color: #FFFFFF; }

  /* ---------- REVEAL / ANIMATIONS ---------- */
  .dz-reveal { /* disabled — always visible */ }
  .dz-reveal.dz-in-view { /* disabled */ }

/* ---- extracted style block boundary ---- */

/* ═══════════════════════════════════════════════════════════════════
     MOTION SYSTEM v2 — refined & understated
     One vocabulary everywhere: expo-out entrances, cubic-out hovers,
     small distances, layered shadows, gold hairline accents.
     ═══════════════════════════════════════════════════════════════════ */

  /* --- View transitions: each view fades and settles in as one piece --- */
  body.view-entering [data-view]:not([hidden]) {
    animation: viewEnter 0.55s var(--ease-out, ease) both;
  }
  @keyframes viewEnter {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* --- Scroll progress: a gold hairline under the topbar --- */
  .scroll-progress {
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    height: 2px;
    z-index: 101;
    background: linear-gradient(90deg, var(--gold-deep, #8A6A2E), var(--gold-bright, #E8B86A));
    transform-origin: 0 50%;
    transform: scaleX(var(--scroll-p, 0));
    pointer-events: none;
    opacity: 0.9;
  }

  /* --- Cards: smaller lift, real depth, gold hairline on hover ---
     Reveal and hover share `transform`, so cards reveal by staggered fade
     only (transform stays reserved for the hover lift — no fighting). */
  .insight, .expertise-item, .dz-hub-country, .stat, .flagship-stat, .social-card, .statement {
    transition:
      opacity var(--dur-slow, .85s) var(--ease-out, ease) var(--reveal-delay, 0s),
      transform var(--dur-med, .45s) var(--ease-hover, ease),
      box-shadow var(--dur-med, .45s) var(--ease-hover, ease),
      border-color var(--dur-med, .45s) var(--ease-hover, ease);
  }
  .insight.reveal, .expertise-item.reveal, .dz-hub-country.reveal, .stat.reveal,
  .flagship-stat.reveal, .social-card.reveal, .statement.reveal {
    transform: none;
  }
  .insight:hover, .expertise-item:hover, .dz-hub-country:hover, .stat:hover,
  .flagship-stat:hover, .social-card:hover, .statement:hover {
    transform: translateY(-4px);
    box-shadow: var(--lift-shadow, 0 18px 40px -18px rgba(14,11,30,.35));
    border-color: rgba(200, 160, 85, 0.45);
  }

  /* --- Buttons & pills: press feedback + arrow nudge --- */
  .btn-pill, .dz-btn, .nav-connect, .nav-pill-item {
    transition-timing-function: var(--ease-hover, ease);
  }
  .btn-pill:active, .dz-btn:active, .nav-connect:active { transform: scale(0.975); }
  .btn-pill .arrow, .dz-btn .dz-arrow {
    display: inline-block;
    transition: transform var(--dur-fast, .22s) var(--ease-hover, ease);
  }
  .btn-pill:hover .arrow { transform: translateX(4px); }
  .dz-btn:hover .dz-arrow { transform: translateX(4px); }

  /* --- Marquee: pause on hover so it can be read --- */
  .marquee:hover .marquee-track { animation-play-state: paused; }

  /* --- Journey chips & accordion cues inherit hover ease --- */
  .jt-chip:active { transform: scale(0.96); }

  /* --- Keyboard focus: visible, on-brand, never a default blue ring --- */
  a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
    outline: 2px solid var(--gold-bright, #E8B86A);
    outline-offset: 3px;
    border-radius: 4px;
  }

  /* --- Denzel hero: cinematic ambient layer (video-ready slot) --- */
  .dz-hero { isolation: isolate; }
  .dz-hero::after {
    content: "";
    position: absolute;
    inset: -20%;
    z-index: -1;
    pointer-events: none;
    background:
      radial-gradient(ellipse 40% 55% at 24% 30%, rgba(200, 160, 85, 0.10), transparent 70%),
      radial-gradient(ellipse 46% 60% at 78% 68%, rgba(76, 168, 232, 0.14), transparent 70%);
    animation: dzAurora 26s var(--ease-inout, ease-in-out) infinite alternate;
    will-change: transform;
  }
  @keyframes dzAurora {
    from { transform: translate3d(-2.5%, -1.5%, 0) scale(1); }
    to   { transform: translate3d(2.5%, 2%, 0) scale(1.06); }
  }
  /* Drop a generated/hosted clip in with:
     <video class="dz-hero-video" autoplay muted loop playsinline src="..."></video>
     placed as the first child of .dz-hero — it slots under the content. */
  .dz-hero-video {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    z-index: -2;
    opacity: 0.5;
    pointer-events: none;
  }

  img.zoomable { cursor: zoom-in; transition: filter var(--dur-med, .3s) var(--ease-hover, ease), transform var(--dur-med, .3s) var(--ease-hover, ease); }
  img.zoomable:hover { filter: brightness(1.05); }
  .lb-overlay {
    position: fixed; inset: 0; z-index: 99999;
    background: rgba(6,8,14,0.92);
    display: flex; align-items: center; justify-content: center;
    padding: 4vmin; opacity: 0; transition: opacity .3s ease;
    cursor: zoom-out; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  }
  .lb-overlay.show { opacity: 1; }
  .lb-overlay img {
    max-width: 94vw; max-height: 92vh; border-radius: 10px;
    box-shadow: 0 40px 120px rgba(0,0,0,.6);
    transform: scale(.96); transition: transform .35s cubic-bezier(.2,.7,.2,1);
  }
  .lb-overlay.show img { transform: scale(1); }
  .lb-close {
    position: fixed; top: 18px; right: 22px; z-index: 100000;
    width: 42px; height: 42px; border-radius: 50%;
    background: rgba(255,255,255,.10); color: #fff;
    border: 1px solid rgba(255,255,255,.25);
    font-size: 24px; line-height: 1; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
  }
  .lb-close:hover { background: rgba(255,255,255,.2); }
  @media (prefers-reduced-motion: reduce) {
    .insight, .expertise-item, .dz-hub-country, .stat, .flagship-stat, .social-card, .statement { transition: none; }
    body.view-entering [data-view]:not([hidden]) { animation: none; }
    .dz-hero::after { animation: none; }
    .marquee-track { animation-play-state: paused; }
    .scroll-progress { display: none; }
    .btn-pill:active, .dz-btn:active, .nav-connect:active, .jt-chip:active { transform: none; }
  }

/* ---- extracted style block boundary ---- */

/* ===== Deeper per-tab interactions (additive) ===== */

  /* --- Journey: interactive year rail + scroll-spy --- */
  .jt-rail {
    position: sticky; top: 78px; z-index: 30;
    display: flex; gap: 8px; flex-wrap: nowrap; overflow-x: auto;
    padding: 11px 12px; margin: 0 0 34px;
    background: rgba(12,16,26,0.72);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.08); border-radius: 14px;
    scrollbar-width: none;
  }
  .jt-rail::-webkit-scrollbar { display: none; }
  .jt-chip {
    flex: 0 0 auto; cursor: pointer;
    border: 1px solid rgba(255,255,255,0.14); background: transparent;
    color: rgba(255,255,255,0.72); border-radius: 999px;
    padding: 8px 15px; font-family: var(--mono, monospace);
    font-size: 12px; letter-spacing: .04em; white-space: nowrap;
    transition: color .25s ease, background .25s ease, border-color .25s ease;
    display: flex; align-items: center; gap: 8px;
  }
  .jt-chip .jt-phase { font-size: 10px; opacity: .6; letter-spacing: .1em; text-transform: uppercase; }
  .jt-chip:hover { color: #fff; border-color: rgba(200,160,85,.55); }
  .jt-chip.jt-active {
    color: #0b0e16; background: var(--gold-bright, #d9b46a);
    border-color: var(--gold-bright, #d9b46a); font-weight: 600;
  }
  .jt-chip.jt-active .jt-phase { opacity: .85; }
  .journey-node .jy-num { transition: color .35s ease; }
  .journey-node.jt-current .jy-num { color: var(--gold-bright, #d9b46a); }
  @media (max-width: 640px) {
    .jt-rail { top: 66px; }
    .jt-chip .jt-phase { display: none; }
  }

  /* --- Advisory: client-archetype accordion --- */
  .adv-clients { align-items: start; }
  .adv-client { position: relative; cursor: pointer; }
  .adv-client::after {
    content: '+'; position: absolute; top: 16px; right: 18px;
    width: 26px; height: 26px; border-radius: 50%;
    border: 1px solid rgba(200,160,85,.45); color: var(--gold-bright, #d9b46a);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; line-height: 1; transition: background .3s ease, color .3s ease, transform .3s ease;
  }
  .adv-client.advc-open::after {
    content: '\2212'; background: var(--gold-bright, #d9b46a);
    color: #0b0e16; border-color: var(--gold-bright, #d9b46a);
  }
  .adv-client .adv-client-desc,
  .adv-client .adv-client-examples {
    overflow: hidden; max-height: 0; opacity: 0;
    transition: max-height .5s cubic-bezier(.2,.7,.2,1), opacity .35s ease, margin .35s ease, padding .35s ease;
  }
  .adv-client.advc-open .adv-client-desc { max-height: 280px; opacity: 1; }
  .adv-client.advc-open .adv-client-examples { max-height: 360px; opacity: 1; }

/* ---- extracted style block boundary ---- */

/* ===== Auto-reveal layer (self-cleaning) =====
     Applied by JS to section labels and cards that lack a .reveal class.
     Opacity-only, so it never fights an element's own hover transform.
     Both classes are stripped after the entrance, restoring pristine CSS. */
  .rv-pre {
    opacity: 0 !important;
    transition: opacity 0.85s var(--ease-out, ease) var(--reveal-delay, 0s) !important;
  }
  .rv-pre.rv-in { opacity: 1 !important; }
  @media (prefers-reduced-motion: reduce) {
    .rv-pre { opacity: 1 !important; transition: none !important; }
  }

/* ---- extracted style block boundary ---- */

/* Visually hidden but available to screen readers and to Google. */
  .visually-hidden {
    position: absolute; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap; border: 0;
  }

  /* Skip link — first tab stop, lets keyboard users bypass 22 nav links. */
  .skip-link {
    position: absolute; left: -9999px; top: 0; z-index: 5000;
    background: #14102C; color: #FAFAFA;
    padding: 12px 20px; border-radius: 0 0 6px 0;
    font: 600 14px var(--sans, sans-serif); text-decoration: none;
  }
  .skip-link:focus { left: 0; }
  #main-content:focus { outline: none; }

  /* Mobile menu had 10 links needing ~920px in a ~584px viewport, so the
     last five were unreachable. Scroll it, and tighten the rhythm. */
  .mobile-menu {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  .mobile-menu a { font-size: clamp(22px, 6vw, 34px); line-height: 1.25; }
  @media (max-width: 900px) { .mobile-menu { gap: 18px; } }

  /* Keep closed menu links out of the tab order (it is moved off-canvas
     with a transform, which does not remove it from the a11y tree). */
  .mobile-menu:not(.open) { visibility: hidden; }
  .mobile-menu.open { visibility: visible; }

  /* Touch targets: WCAG 2.5.8 floor. The ≤640px rule made the primary
     hero CTAs *smaller* (36px); this raises them back. */
  @media (hover: none) and (pointer: coarse) {
    .btn-pill, .rg-btn, .nav-connect, .denzel-tab, .restore-tab,
    .harris-return-tab, .dz-nav-cta, .invest-project-link,
    .jt-chip, .social-location {
      min-height: 44px;
      display: inline-flex; align-items: center; justify-content: center;
    }
  }

  /* Focus indicator that passes contrast on light views. The inherited
     --gold-bright based ring was 1.8:1 on the foundation palette. */
  :focus-visible {
    outline: 2px solid #14102C;
    outline-offset: 3px;
  }
  .view-insights :focus-visible,
  body:not([class*="view-"]) :focus-visible { outline-color: #14102C; }

  /* Reduced motion: the existing rules stopped CSS animation on the hero
     but the video itself kept playing, and the ticker was never covered. */
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .hero-video { display: none; }
    .hero { background: url("assets/img-01.jpg") center / cover no-repeat; }
    .ticker-track, .marquee-track { animation-play-state: paused; }
    .live-dot { animation: none; }
  }

  /* WCAG 2.2.2 — auto-moving content needs a pause mechanism. */
  .ticker:hover .ticker-track,
  .ticker:focus-within .ticker-track { animation-play-state: paused; }

  /* Inline validation messages (see the aria-invalid wiring in JS). */
  .field-error {
    display: block; margin-top: 6px;
    font: 500 13px/1.4 var(--sans, sans-serif);
    color: #8F3F26;
  }
  .field-label .req { color: #8F3F26; margin-left: 2px; }

/* ---- extracted style block boundary ---- */

/* ---- H2: the ✕ glyph swallowed its own click because the SVG was the
       event target. Belt and braces alongside the closest() fix in JS. ---- */
  .modal-close svg, .modal-close path, .lb-close svg { pointer-events: none; }

  /* ---- Neutral state for a flat market (was rendering a green up-arrow
       at 0.00%). ---- */
  .c-chg.flat { color: var(--muted, #A0A0B8); }

  /* ---- Connecting state: the desk used to show a pulsing green "Live"
       badge over eight blank rows for up to a minute. ---- */
  .desk-status[data-status="loading"] .live-dot {
    background: #C8A055;
    animation: none;
    opacity: 0.6;
  }

  /* ---- Validation summary (paired with the aria-live region in JS). ---- */
  .form-status:not(:empty) {
    display: block;
    margin-bottom: 10px;
    font: 500 13px/1.4 var(--sans, sans-serif);
    color: #8F3F26;
  }

  /* ===================================================================
     PRINT — journalists will Ctrl-P the Press and HOAG views.
     Browsers do not print background colours, so every dark section was
     printing #FAFAFA text on white paper, i.e. blank pages.
     =================================================================== */
  @media print {
    *, *::before, *::after {
      background: transparent !important;
      color: #000 !important;
      box-shadow: none !important;
      text-shadow: none !important;
    }
    body { background: #fff !important; font-size: 11pt; }

    /* Chrome, furniture and anything interactive has no place on paper. */
    .topbar, .mobile-menu, .skip-link, .scroll-progress, .hero-video,
    .hero-video-overlay, .ticker, .marquee, .desk-error, .news-footer,
    .modal, .lb-overlay, .menu-toggle, .nav, .hero-scroll-cue,
    .newsletter-form, .newsletter, .foot-social, body::before {
      display: none !important;
    }

    /* Hidden views must stay hidden — otherwise printing dumps all nine. */
    [data-view][hidden] { display: none !important; }

    /* Reveal animations never run in print; without this the page is blank. */
    .reveal, .stat, .rv-pre {
      opacity: 1 !important;
      transform: none !important;
      animation: none !important;
    }

    /* Print link destinations — a printed page with invisible URLs is useless. */
    a[href^="http"]::after {
      content: " (" attr(href) ")";
      font-size: 9pt;
      word-break: break-all;
    }
    a[href^="#"]::after { content: ""; }

    .harris-section, .rg-section, .dz-section { page-break-inside: avoid; }
    h1, h2, h3, h4 { page-break-after: avoid; }
    img { max-width: 100% !important; page-break-inside: avoid; }
  }

/* Release hardening and layout stability. */
img { max-width: 100%; }
.newsletter-status { min-height: 1.25em; margin: 8px 0 0; font-size: 12px; color: var(--muted, #6d6a78); }
.insight:not(a) { cursor: default; }
.modal-success-icon { display: grid; place-items: center; }
