    /* ============================================================
       SHERLOCK SOLUTIONS — Design system v4 (premium agency)
       Black & gold, up-tempo Silicon Valley startup energy.
       Type voice: Space Grotesk display (power) + Cormorant italic
       gold accent (premium signature) + DM Sans body. Dossier
       signatures kept: tracked small caps, crosshair brackets,
       sharp 2px corners, cursor spotlight + film grain.
       ============================================================ */

    /* Self-hosted fonts — latin subset only.
       Each face uses the same woff2 across weights (Google ships variable
       fonts). Relative URLs work in both file:// preview and on Cloudflare. */
    @font-face {
      font-family: 'Cormorant Garamond';
      font-style: normal;
      font-weight: 400 600;
      font-display: swap;
      src: url('fonts/cormorant-garamond.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }
    @font-face {
      font-family: 'Cormorant Garamond';
      font-style: italic;
      font-weight: 400 600;
      font-display: swap;
      src: url('fonts/cormorant-garamond-italic.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }
    @font-face {
      font-family: 'DM Sans';
      font-style: normal;
      font-weight: 300 700;
      font-display: swap;
      src: url('fonts/dm-sans.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }
    /* Space Grotesk — geometric display face. Powers headlines + the
       "Silicon Valley startup" voice. Variable 300–700, latin subset. */
    @font-face {
      font-family: 'Space Grotesk';
      font-style: normal;
      font-weight: 300 700;
      font-display: swap;
      src: url('fonts/space-grotesk.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }
    /* JetBrains Mono — precision metadata face. Used for numerals, dates,
       prices, timelines, eyebrow data labels — anywhere a "system" signal
       is wanted. 21 KB latin subset (regular + medium). */
    @font-face {
      font-family: 'JetBrains Mono';
      font-style: normal;
      font-weight: 400;
      font-display: swap;
      src: url('fonts/jetbrains-mono.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }
    @font-face {
      font-family: 'JetBrains Mono';
      font-style: normal;
      font-weight: 500;
      font-display: swap;
      src: url('fonts/jetbrains-mono-500.woff2') format('woff2');
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }

    /* Centered CTA blocks (replaces a few one-off inline styles so CSP can
       drop 'unsafe-inline' from style-src). */
    .cta-center { text-align: center; margin-top: var(--s-8); }
    .cta-center--lg { margin-top: var(--s-10); }
    .cta-center__lead {
      font-size: var(--fs-md);
      color: var(--muted);
      margin: 0 auto var(--s-3);
      max-width: 50ch;
    }

    @property --spot-x {
      syntax: '<length-percentage>'; inherits: true; initial-value: 50%;
    }
    @property --spot-y {
      syntax: '<length-percentage>'; inherits: true; initial-value: 30%;
    }

    :root {
      /* Palette — refined */
      --black:    #0A0A0A;
      --black-2:  #141312;     /* slightly warmer card surface */
      --black-3:  #1E1C18;     /* raised card surface */
      --gold:     #C9A84C;
      --gold-l:   #D4B560;
      --gold-d:   #9F8638;
      --gold-deep:#A88A38;     /* antique brass for restraint */
      /* Polished-gold "metal" gradient — light from above catching brushed
         gold. Used as a background-clip:text fill on the serif accents. Pure
         CSS, no animation, so it adds nothing to Total Blocking Time. */
      --metal-gold: linear-gradient(175deg, #E9D89C 0%, var(--gold-l) 24%, var(--gold) 54%, var(--gold-d) 96%);
      --off:      #F5F1E8;
      --muted:    #8A8578;
      --muted-2:  #807C70;     /* deeper muted for metadata — kept ≥4.5:1 on black (WCAG AA) */
      --border:   #2A2820;
      --border-l: #3A3830;     /* lighter divider */

      /* Section color drift (C8) */
      --bg-hero:    #0B0907;
      --bg-focus:   #090807;
      --bg-services:#08090B;
      --bg-quote:   #060509;
      --bg-about:   #0A0907;
      --bg-reports: #07090B;
      --bg-contact: #0B0A07;
      --bg-footer:  #050504;
      --bg-process: #08090A;     /* between services and pull-quote */
      --bg-care:    #0A0908;     /* between about and insights */
      --bg-faq:     #08090B;     /* between insights and contact */
      --bg-systems: #07090B;     /* between services and process — diagrams live here */

      /* Type */
      --font-display: 'Space Grotesk', 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
      --font-serif: 'Cormorant Garamond', 'EB Garamond', Georgia, 'Times New Roman', serif;
      --font-sans:  'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, system-ui, sans-serif;
      --font-mono:  'JetBrains Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;

      --fs-xs:   0.75rem;
      --fs-sm:   0.875rem;
      --fs-base: 1rem;
      --fs-md:   1.125rem;
      --fs-lg:   1.25rem;
      --fs-xl:   1.563rem;
      --fs-2xl:  1.953rem;
      --fs-3xl:  2.441rem;
      --fs-4xl:  3.052rem;
      --fs-5xl:  3.815rem;
      --fs-6xl:  4.768rem;     /* hero-scale display, 1.250 modular step up */

      /* Spacing */
      --s-1:  0.5rem;
      --s-2:  1rem;
      --s-3:  1.5rem;
      --s-4:  2rem;
      --s-5:  2.5rem;
      --s-6:  3rem;
      --s-7:  3.5rem;
      --s-8:  4rem;
      --s-9:  4.5rem;
      --s-10: 5rem;
      --s-11: 5.5rem;
      --s-12: 6rem;
      --s-16: 8rem;

      --container-max: 1280px;
      --container-pad: clamp(1.25rem, 4vw, 4rem);

      --radius-sm: 2px;
      --radius-md: 4px;

      --t-fast: 150ms ease;
      --t-base: 250ms ease;
      --t-slow: 450ms cubic-bezier(0.2, 0.7, 0.2, 1);

      --nav-h: 76px;

      /* Spotlight */
      --spot-x: 50%;
      --spot-y: 30vh;
      --spot-size: 38vmax;
      --spot-intensity: 0.10;

      /* Tracked-out small-cap scale (Bond signature) */
      --tracking-sm: 0.18em;
      --tracking-md: 0.24em;
      --tracking-lg: 0.32em;
    }

    /* ---------- Reset ---------- */
    *, *::before, *::after { box-sizing: border-box; }
    html { -webkit-text-size-adjust: 100%; background: var(--black); }
    @media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
    body { margin: 0; }
    img, svg, video { display: block; max-width: 100%; height: auto; }
    button { font: inherit; cursor: pointer; }
    input, select, textarea, button { font: inherit; color: inherit; }
    a { color: inherit; text-decoration: none; }
    h1, h2, h3, h4, h5, h6, p { margin: 0; }
    ul, ol { margin: 0; padding: 0; list-style: none; }

    /* ---------- Body + ambient layers (spotlight + grain) ---------- */
    body {
      font-family: var(--font-sans);
      font-size: var(--fs-base);
      line-height: 1.6;
      color: var(--off);
      background: var(--black);
      font-weight: 400;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
      overflow-x: hidden;
      position: relative;
      isolation: isolate;
    }
    body.no-scroll { overflow: hidden; }

    /* A1 — Spotlight */
    body::after {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 1;
      background: radial-gradient(
        circle var(--spot-size) at var(--spot-x) var(--spot-y),
        rgba(201, 168, 76, var(--spot-intensity)) 0%,
        rgba(201, 168, 76, calc(var(--spot-intensity) * 0.35)) 20%,
        rgba(201, 168, 76, 0) 55%
      );
      mix-blend-mode: screen;
      transition: --spot-x 200ms cubic-bezier(0.2, 0.7, 0.2, 1),
                  --spot-y 200ms cubic-bezier(0.2, 0.7, 0.2, 1);
    }

    /* C5 — Film grain */
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 9999;
      opacity: 0.055;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.85 0 0 0 0 0.78 0 0 0 0 0.62 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      background-size: 220px 220px;
      mix-blend-mode: overlay;
    }

    @media (hover: none) {
      body::after { animation: spot-drift 14s ease-in-out infinite alternate; }
      @keyframes spot-drift {
        0%   { --spot-x: 30%; --spot-y: 25%; }
        50%  { --spot-x: 60%; --spot-y: 45%; }
        100% { --spot-x: 70%; --spot-y: 30%; }
      }
    }

    ::selection { background: var(--gold); color: var(--black); }
    :focus { outline: none; }
    :focus-visible {
      outline: 2px solid var(--gold);
      outline-offset: 3px;
      border-radius: 2px;
    }

    .skip-link {
      position: absolute;
      top: -100px;
      left: var(--s-2);
      background: var(--gold);
      color: var(--black);
      padding: var(--s-1) var(--s-2);
      font-weight: 500;
      font-size: var(--fs-sm);
      border-radius: var(--radius-sm);
      z-index: 10000;
      transition: top var(--t-fast);
    }
    .skip-link:focus { top: var(--s-1); }

    /* ---------- Layout primitives ---------- */
    .container {
      width: 100%;
      max-width: var(--container-max);
      margin: 0 auto;
      padding-left: var(--container-pad);
      padding-right: var(--container-pad);
    }
    .section {
      padding-top: clamp(var(--s-8), 10vw, var(--s-16));
      padding-bottom: clamp(var(--s-8), 10vw, var(--s-16));
      position: relative;
    }
    [id] { scroll-margin-top: calc(var(--nav-h) + var(--s-2)); }

    /* ---------- Typography ---------- */
    .serif { font-family: var(--font-serif); }
    .italic { font-style: italic; }

    h1, .h1 {
      font-family: var(--font-display);
      font-size: clamp(2.5rem, 6vw, 4.5rem);
      font-weight: 600;
      line-height: 1.02;
      letter-spacing: -0.035em;
      color: var(--off);
    }
    h2, .h2 {
      font-family: var(--font-display);
      font-size: clamp(2rem, 4.5vw, var(--fs-4xl));
      font-weight: 600;
      line-height: 1.06;
      letter-spacing: -0.028em;
      color: var(--off);
    }
    h3, .h3 {
      font-family: var(--font-display);
      font-size: var(--fs-xl);
      font-weight: 600;
      line-height: 1.2;
      letter-spacing: -0.02em;
      color: var(--off);
    }
    /* Cormorant italic stays the gold signature — the elegant counterpoint
       to Space Grotesk's geometry. Do NOT switch this to the display face. */
    .gold-accent {
      font-family: var(--font-serif);
      color: var(--gold); /* solid fallback if background-clip:text is unsupported */
      font-style: italic;
      font-weight: 500;
      letter-spacing: -0.01em;
    }
    /* Polished-gold sheen on the serif accents — the site's signature metallic
       cue. Static fill (no animation), so it costs nothing in blocking time.
       Solid --gold above stays the fallback so the text can never go blank. */
    @supports ((-webkit-background-clip: text) or (background-clip: text)) {
      .gold-accent {
        background: var(--metal-gold);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
      }
    }

    .lead {
      font-size: clamp(var(--fs-md), 1.5vw, var(--fs-lg));
      line-height: 1.55;
      color: var(--off);
      max-width: 60ch;
    }
    .muted { color: var(--muted); }
    .small { font-size: var(--fs-sm); }

    /* Eyebrow — tracked-out small caps label.
       Mono'd in v4.1 (typography upgrade) — gives every section header a
       "data label" signal that pairs with the editorial serif headlines. */
    .eyebrow {
      display: inline-block;
      font-family: var(--font-mono);
      font-size: var(--fs-xs);
      font-weight: 500;
      letter-spacing: var(--tracking-sm);
      text-transform: uppercase;
      color: var(--gold);
    }

    /* ============================================================
       SECTION HEADER — simple, confident, editorial
       ============================================================ */
    .section-head {
      margin-bottom: clamp(var(--s-8), 8vw, var(--s-10));
      max-width: 900px;
    }
    .section-head .eyebrow {
      margin-bottom: var(--s-4);
    }
    .section-head__title {
      font-family: var(--font-display);
      font-size: clamp(2.25rem, 4.8vw, var(--fs-4xl));
      font-weight: 600;
      line-height: 1.04;
      letter-spacing: -0.028em;
      color: var(--off);
      margin-bottom: var(--s-3);
      max-width: 24ch;
    }
    .section-head__lead {
      font-size: var(--fs-md);
      line-height: 1.65;
      color: var(--muted);
      max-width: 64ch;
    }

    /* Corner crosshair brackets utility */
    .crosshairs { position: relative; }
    .crosshairs::before,
    .crosshairs::after,
    .crosshairs > .crosshairs__bl,
    .crosshairs > .crosshairs__br {
      content: "";
      position: absolute;
      width: 18px;
      height: 18px;
      border: 0 solid var(--gold);
      opacity: 0.45;
      pointer-events: none;
    }
    .crosshairs::before { top: 12px; left: 12px; border-top-width: 1px; border-left-width: 1px; }
    .crosshairs::after  { top: 12px; right: 12px; border-top-width: 1px; border-right-width: 1px; }
    .crosshairs > .crosshairs__bl { bottom: 12px; left: 12px; border-bottom-width: 1px; border-left-width: 1px; }
    .crosshairs > .crosshairs__br { bottom: 12px; right: 12px; border-bottom-width: 1px; border-right-width: 1px; }

    /* ---------- Buttons + links ---------- */
    .btn {
      display: inline-flex;
      align-items: center;
      gap: var(--s-1);
      padding: 0.95rem 1.75rem;
      font-family: var(--font-sans);
      font-size: var(--fs-sm);
      font-weight: 500;
      letter-spacing: var(--tracking-sm);
      text-transform: uppercase;
      border: 1px solid transparent;
      border-radius: 2px;
      transition: all var(--t-base);
      cursor: pointer;
      white-space: nowrap;
      position: relative;
    }
    .btn--primary {
      background: linear-gradient(180deg, var(--gold-l) 0%, var(--gold) 55%, var(--gold-d) 100%);
      color: var(--black);
      border-color: var(--gold-l);
      box-shadow: 0 1px 0 rgba(245, 241, 232, 0.18) inset, 0 6px 18px -10px rgba(201, 168, 76, 0.5);
      transition: transform var(--t-fast), box-shadow var(--t-base), filter var(--t-fast);
      overflow: hidden;
    }
    /* Light sweep on hover — quick metallic gleam across the gold face */
    .btn--primary::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(105deg, transparent 32%, rgba(255, 252, 245, 0.4) 50%, transparent 68%);
      transform: translateX(-130%);
      pointer-events: none;
    }
    .btn--primary > svg { position: relative; z-index: 1; }
    .btn--primary:hover::after {
      transform: translateX(130%);
      transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    @media (prefers-reduced-motion: reduce) {
      .btn--primary::after { display: none; }
    }
    .btn--primary:hover {
      filter: brightness(1.08);
      border-color: var(--gold-l);
      transform: translateY(-2px);
      box-shadow: 0 1px 0 rgba(245, 241, 232, 0.25) inset, 0 12px 30px -10px rgba(201, 168, 76, 0.62);
    }
    .btn--primary:active {
      filter: brightness(0.96);
      transform: translateY(0);
      box-shadow: 0 1px 0 rgba(245, 241, 232, 0.12) inset, 0 4px 12px -8px rgba(201, 168, 76, 0.45);
    }
    .btn--ghost {
      background: transparent;
      color: var(--off);
      border-color: var(--border-l);
      transition: transform var(--t-fast), border-color var(--t-base), color var(--t-base), background-color var(--t-base);
    }
    .btn--ghost:hover {
      border-color: var(--gold);
      color: var(--gold);
      background: rgba(201, 168, 76, 0.06);
      transform: translateY(-2px);
    }

    .link-arrow {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-family: var(--font-sans);
      font-size: var(--fs-sm);
      font-weight: 500;
      letter-spacing: var(--tracking-sm);
      text-transform: uppercase;
      color: var(--gold);
      border-bottom: 1px solid transparent;
      padding-bottom: 3px;
      transition: all var(--t-base);
    }
    .link-arrow svg { transition: transform var(--t-base); }
    .link-arrow:hover { color: var(--gold-l); border-bottom-color: var(--gold-l); }
    .link-arrow:hover svg { transform: translateX(4px); }

    /* ---------- Scroll reveals (C1) ---------- */
    .js [data-reveal],
    .js [data-reveal-group] > * {
      opacity: 0;
      transform: translateY(22px);
      transition:
        opacity 560ms cubic-bezier(0.16, 0.84, 0.27, 1),
        transform 560ms cubic-bezier(0.16, 0.84, 0.27, 1);
      will-change: opacity, transform;
    }
    .js [data-reveal].is-in,
    .js [data-reveal-group].is-in > * {
      opacity: 1;
      transform: translateY(0);
    }
    .js [data-reveal-group].is-in > *:nth-child(1) { transition-delay: 0ms; }
    .js [data-reveal-group].is-in > *:nth-child(2) { transition-delay: 70ms; }
    .js [data-reveal-group].is-in > *:nth-child(3) { transition-delay: 140ms; }
    .js [data-reveal-group].is-in > *:nth-child(4) { transition-delay: 210ms; }
    .js [data-reveal-group].is-in > *:nth-child(5) { transition-delay: 280ms; }
    .js [data-reveal-group].is-in > *:nth-child(6) { transition-delay: 350ms; }
    .js [data-reveal-group].is-in > *:nth-child(7) { transition-delay: 420ms; }
    .js [data-reveal-group].is-in > *:nth-child(8) { transition-delay: 490ms; }

    /* ============================================================
       INTRO — homepage scroll-zoom "boot up" (a laptop zooms in, then
       hands off to the hero + site). Progressive enhancement: rendered
       only with JS (.js), never under reduced motion. All motion is
       transform/opacity (GPU) driven by CSS vars the scroll handler sets,
       so it adds ~nothing to Total Blocking Time.
       ============================================================ */
    .intro { display: none; }
    .js .intro {
      display: block;
      position: relative;
      z-index: 1;
      height: 200vh;                 /* scroll distance that drives the zoom */
      background: var(--bg-hero);
    }
    .intro__sticky {
      position: sticky;
      top: 0;
      height: 100vh;
      height: 100svh;
      display: grid;
      place-items: center;
      overflow: hidden;
    }
    .intro__stage {
      position: relative;
      display: grid;
      place-items: center;
      width: 100%;
      height: 100%;
    }
    .intro__glow {
      position: absolute;
      width: 70vmax;
      height: 70vmax;
      border-radius: 50%;
      /* soft radial gradient (no blur filter — the gradient is already soft,
         and a full-element blur() is an expensive paint that hurt TBT). */
      background: radial-gradient(circle, rgba(201, 168, 76, 0.20), rgba(201, 168, 76, 0.05) 40%, transparent 66%);
      opacity: var(--intro-glow, 0.12);
      pointer-events: none;
    }
    .intro__laptop {
      position: relative;
      color: var(--gold);
      width: min(80vw, 540px);
      transform: scale(var(--intro-scale, 0.42));
      transform-origin: center 56%;
    }
    .intro__laptop-svg {
      width: 100%;
      height: auto;
      display: block;
      /* no drop-shadow filter — it rasterises the whole multi-path SVG each
         paint (costly). The ambient glow + gold stroke give enough depth. */
    }
    /* the screen "powers on" — a warm gold bloom that grows with scroll */
    .intro__screen-glow {
      position: absolute;
      left: 21%;
      right: 21%;
      top: 11%;
      height: 52%;
      border-radius: 6px;
      background: radial-gradient(ellipse at center, rgba(233, 216, 156, 0.5), rgba(201, 168, 76, 0.14) 55%, transparent 75%);
      opacity: var(--intro-glow, 0);
      pointer-events: none;
    }
    .intro__hint {
      position: absolute;
      bottom: clamp(1.5rem, 6vh, 4rem);
      left: 50%;
      transform: translateX(-50%);
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 0.35rem;
      margin: 0;
      font-family: var(--font-sans);
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--muted);
      opacity: var(--intro-hint, 1);
      pointer-events: none;
    }
    .intro__chev { animation: intro-bob 1.8s ease-in-out infinite; }
    @keyframes intro-bob {
      0%, 100% { transform: translateY(0); }
      50%      { transform: translateY(5px); }
    }

    /* While the laptop is the active view, hide the floating nav and hold
       the hero hidden; both reveal the moment the hero scrolls into view. */
    html.intro-armed .site-header {
      opacity: 0;
      transform: translateY(-10px);
      pointer-events: none;
    }
    html.intro-armed .hero[data-intro-reveal] {
      opacity: 0;
      transform: translateY(22px) scale(0.992);
    }
    .hero[data-intro-reveal] {
      transition: opacity 0.8s ease, transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .hero[data-intro-reveal].is-revealed {
      opacity: 1;
      transform: none;
    }

    @media (prefers-reduced-motion: reduce) {
      .js .intro { display: none; }
    }

    /* ---------- Header ---------- */
    .site-header {
      position: fixed;
      top: 0; left: 0; right: 0;
      height: var(--nav-h);
      display: flex;
      align-items: center;
      z-index: 100;
      background: transparent;
      transition: background var(--t-base), border-color var(--t-base), backdrop-filter var(--t-base), opacity 0.5s ease, transform 0.5s ease;
      border-bottom: 1px solid transparent;
    }
    .site-header.is-scrolled {
      background: rgba(10, 9, 7, 0.85);
      -webkit-backdrop-filter: blur(16px);
      backdrop-filter: blur(16px);
      border-bottom-color: var(--border);
    }
    .nav-wrap {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--s-3);
      width: 100%;
    }
    .logo { display: inline-flex; align-items: center; flex-shrink: 0; }
    .logo img { height: 48px; width: auto; }
    .logo:hover { opacity: 0.85; }

    .nav-links { display: flex; align-items: center; gap: var(--s-5); }
    .nav-links a:not(.btn) {
      font-size: var(--fs-sm);
      font-weight: 400;
      color: var(--off);
      letter-spacing: 0.04em;
      transition: color var(--t-fast);
      position: relative;
    }
    .nav-links a:not(.btn)::after {
      content: "";
      position: absolute;
      left: 0; right: 0; bottom: -6px;
      height: 1px;
      background: var(--gold);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform var(--t-base);
    }
    .nav-links a:not(.btn):hover { color: var(--gold); }
    .nav-links a:not(.btn):hover::after { transform: scaleX(1); }
    .nav-links .btn { padding: 0.6rem 1.25rem; }

    .menu-toggle {
      display: none;
      background: none;
      border: 1px solid var(--border);
      color: var(--off);
      width: 44px; height: 44px;
      align-items: center; justify-content: center;
      border-radius: 2px;
      transition: border-color var(--t-fast);
    }
    .menu-toggle:hover { border-color: var(--gold); color: var(--gold); }
    .menu-toggle svg { width: 22px; height: 22px; }
    .menu-toggle .close-icon { display: none; }
    .menu-toggle[aria-expanded="true"] .open-icon { display: none; }
    .menu-toggle[aria-expanded="true"] .close-icon { display: block; }

    .mobile-nav {
      position: fixed;
      top: var(--nav-h); left: 0; right: 0; bottom: 0;
      background: var(--bg-hero);
      border-top: 1px solid var(--border);
      transform: translateY(-100%);
      opacity: 0; visibility: hidden;
      transition: transform var(--t-slow), opacity var(--t-base), visibility var(--t-base);
      z-index: 99;
      padding: var(--s-6) var(--container-pad);
      overflow-y: auto;
    }
    .mobile-nav.is-open { transform: translateY(0); opacity: 1; visibility: visible; }
    .mobile-nav ul { display: flex; flex-direction: column; gap: var(--s-3); }
    .mobile-nav a {
      font-family: var(--font-serif);
      font-size: var(--fs-2xl);
      color: var(--off);
      padding: var(--s-1) 0;
      border-bottom: 1px solid var(--border);
      display: block;
    }
    .mobile-nav .btn { margin-top: var(--s-3); justify-content: center; width: 100%; }

    /* ============================================================
       HERO  (PRESERVED FROM v2 — DO NOT CHANGE)
       ============================================================ */
    .hero {
      background: var(--bg-hero);
      min-height: calc(100vh - var(--nav-h));
      padding-top: calc(var(--nav-h) + var(--s-6));
      padding-bottom: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }
    /* Ambient drifting warm glow behind hero content. Pure CSS, no JS.
       Sits behind .hero__container (z-index 0); content is z-index 2.
       Slow 24s ease loop, alternating direction; disabled for reduced-motion. */
    .hero::before {
      content: "";
      position: absolute;
      inset: -15%;
      background:
        radial-gradient(ellipse 55% 45% at 72% 38%,
          rgba(201, 168, 76, 0.20) 0%,
          rgba(201, 168, 76, 0.06) 38%,
          transparent 70%),
        radial-gradient(ellipse 40% 30% at 18% 72%,
          rgba(201, 168, 76, 0.09) 0%,
          transparent 60%);
      filter: blur(40px);
      pointer-events: none;
      z-index: 0;
    }
    .hero__container {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      flex: 1;
      padding-bottom: 0;
    }
    .hero__content {
      position: relative;
      z-index: 2;
      max-width: 760px;
      margin: 0 auto;
      text-align: center;
    }

    .hero__eyebrow {
      margin-bottom: var(--s-4);
      opacity: 0;
      animation: fade-up 700ms cubic-bezier(0.2, 0.7, 0.2, 1) 50ms forwards;
    }
    .hero__title {
      margin-bottom: var(--s-4);
      font-size: clamp(2.75rem, 7vw, var(--fs-6xl));
      font-weight: 700;
      line-height: 0.98;
      letter-spacing: -0.04em;
    }
    .hero__title-line { display: block; padding: 0.05em 0; }
    /* Gold accent line keeps the serif's optical size — italic Cormorant
       runs smaller than Space Grotesk at the same em, so nudge it up. */
    .hero__title-line.gold-accent {
      letter-spacing: -0.02em;
    }
    .hero__sub {
      max-width: 56ch;
      margin: 0 auto var(--s-6);
      color: var(--off);
      font-size: clamp(var(--fs-md), 1.4vw, var(--fs-lg));
      line-height: 1.55;
      opacity: 0;
      animation: fade-up 500ms cubic-bezier(0.2, 0.7, 0.2, 1) 500ms forwards;
    }
    .hero__cta {
      display: flex; align-items: center; justify-content: center; gap: var(--s-4); flex-wrap: wrap;
      opacity: 0;
      animation: fade-up 500ms cubic-bezier(0.2, 0.7, 0.2, 1) 700ms forwards;
    }
    /* Precision microcopy under hero CTAs — Stripe-style reassurance line */
    .hero__cta-note {
      font-family: var(--font-mono);
      font-size: var(--fs-xs);
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--muted-2);
      margin: var(--s-4) 0 0;
      opacity: 0;
      animation: fade-up 500ms cubic-bezier(0.2, 0.7, 0.2, 1) 900ms forwards;
    }

    @keyframes fade-up {
      from { opacity: 0; transform: translateY(12px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    .hero__divider { position: relative; width: 100%; margin-top: auto; }
    .hero__divider-rule {
      height: 1px;
      background: linear-gradient(90deg, transparent 0%, var(--gold-d) 14%, var(--gold-l) 50%, var(--gold-d) 86%, transparent 100%);
      transform-origin: left;
      transform: scaleX(0);
      animation: rule-draw 700ms cubic-bezier(0.2, 0.7, 0.2, 1) 800ms forwards;
    }
    @keyframes rule-draw { to { transform: scaleX(1); } }

    /* ============================================================
       TRADES MARQUEE — honest scrolling band of the verticals we serve.
       Two identical tracks; the wrapper slides -50% for a seamless loop.
       Edge-masked, hover-pauses, and collapses to a static wrap when the
       visitor prefers reduced motion.
       ============================================================ */
    .trades {
      padding: clamp(var(--s-4), 4vw, var(--s-6)) 0;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      background: var(--bg-services);
      overflow: hidden;
    }
    .trades__inner { display: flex; flex-direction: column; gap: var(--s-3); }
    .trades__label { color: var(--muted-2); align-self: start; }
    .trades__viewport {
      position: relative;
      -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
      mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
    }
    .trades__marquee {
      display: flex;
      width: max-content;
      animation: trades-scroll 52s linear infinite;
    }
    .trades__viewport:hover .trades__marquee { animation-play-state: paused; }
    .trades__track {
      display: flex;
      align-items: center;
      flex: none;
    }
    .trades__track li {
      display: flex;
      align-items: center;
      white-space: nowrap;
      font-family: var(--font-display);
      font-size: clamp(var(--fs-md), 1.6vw, var(--fs-xl));
      font-weight: 500;
      letter-spacing: -0.01em;
      color: var(--muted);
      transition: color var(--t-base);
    }
    .trades__track li:hover { color: var(--off); }
    /* CSS-drawn gold diamond between trades — dossier marker, no glyph */
    .trades__track li::after {
      content: "";
      width: 5px;
      height: 5px;
      margin: 0 clamp(var(--s-3), 2.5vw, var(--s-5));
      background: var(--gold);
      transform: rotate(45deg);
      opacity: 0.55;
      flex-shrink: 0;
    }
    @keyframes trades-scroll { to { transform: translateX(-50%); } }
    @media (prefers-reduced-motion: reduce) {
      .trades__marquee { animation: none; width: 100%; flex-wrap: wrap; }
      .trades__track:last-child { display: none; }
      .trades__track { flex-wrap: wrap; gap: var(--s-1) 0; justify-content: center; }
    }

    /* ============================================================
       FILE 02 — IN FOCUS  (NEW, JP Morgan brand-promise pattern)
       ============================================================ */
    .focus {
      background: var(--bg-focus);
      padding: clamp(var(--s-10), 12vw, var(--s-16)) 0;
      border-bottom: 1px solid var(--border);
    }
    .focus__grid {
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      gap: clamp(var(--s-6), 6vw, var(--s-12));
      align-items: start;
    }
    .focus__left { max-width: 22ch; }
    .focus__title {
      font-family: var(--font-serif);
      font-size: clamp(2.5rem, 5vw, 4rem);
      font-weight: 500;
      line-height: 1.04;
      letter-spacing: -0.018em;
      color: var(--off);
      margin-top: var(--s-3);
    }
    .focus__body {
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
      max-width: 52ch;
      padding-top: var(--s-4);
    }
    .focus__body p {
      font-size: var(--fs-md);
      line-height: 1.65;
      color: var(--muted);
    }
    .focus__body p strong {
      color: var(--off);
      font-weight: 400;
    }
    .focus__cta { margin-top: var(--s-3); }

    /* ============================================================
       SERVICES SECTION (homepage uses .services-landing-card pattern)
       ============================================================ */
    #services { background: var(--bg-services); }
    /* (Old `.service-card` bento rules removed — replaced by
       `.services-landing-card` for both homepage and landing page.) */

    .service-card--hero .service-card__detail {
      display: block;
      border-top: 1px solid var(--border);
      padding-top: var(--s-3);
      margin-top: var(--s-2);
      font-size: var(--fs-md);
      color: var(--off);
      font-style: italic;
      font-family: var(--font-serif);
      line-height: 1.4;
    }
    .service-card--hero .service-card__detail strong {
      color: var(--gold);
      font-weight: 500;
    }

    .service-card--wide .service-card__body {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
      gap: var(--s-4);
    }
    .service-card--wide .service-card__body-right {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: var(--s-2);
    }
    .service-card--wide .service-card__icon { width: 44px; height: 44px; margin-top: 4px; }
    .service-card--wide .service-card__title { font-size: var(--fs-xl); margin-top: 0; }

    /* ============================================================
       ABOUT  (Two founders)
       ============================================================ */
    #about { background: var(--bg-about); }
    .founders-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: clamp(var(--s-4), 4vw, var(--s-8));
      max-width: 1100px;
    }
    /* Solo variant: one founder featured on the homepage, full card centered. */
    .founders-grid--solo {
      grid-template-columns: minmax(0, 560px);
      justify-content: center;
      max-width: 720px;
      margin: 0 auto;
    }
    .founder {
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
    }
    .founder__photo {
      aspect-ratio: 1;
      background: var(--black-2);
      border: 1px solid var(--border);
      overflow: hidden;
      position: relative;
    }
    .founder__photo img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform var(--t-slow);
    }
    .founder:hover .founder__photo img { transform: scale(1.02); }
    .founder__link { margin: 0 0 var(--s-3); }
    .founder__name {
      font-family: var(--font-serif);
      font-size: var(--fs-2xl);
      font-weight: 500;
      line-height: 1.1;
      color: var(--off);
      margin-top: 4px;
    }
    .founder__title {
      font-size: var(--fs-sm);
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--muted);
      margin-top: 4px;
    }
    .founder__bio {
      font-size: var(--fs-sm);
      line-height: 1.7;
      color: var(--muted);
      margin-top: var(--s-2);
    }

    /* ============================================================
       BIO BLOCK — long-form founder bios on /about/
       Two-column layout: square photo + multi-paragraph prose.
       --reverse swaps photo to the right side.
       ============================================================ */
    .bio-block {
      padding: clamp(var(--s-7), 8vw, var(--s-9)) 0;
      border-top: 1px solid var(--border);
    }
    .bio-block:first-of-type { border-top: 0; }
    .bio-block__grid {
      display: grid;
      grid-template-columns: minmax(280px, 1fr) 1.4fr;
      gap: clamp(var(--s-5), 6vw, var(--s-8));
      align-items: start;
    }
    .bio-block--reverse .bio-block__grid {
      grid-template-columns: 1.4fr minmax(280px, 1fr);
    }
    .bio-block--reverse .bio-block__photo { order: 2; }
    .bio-block__photo {
      aspect-ratio: 1;
      background: var(--black-2);
      border: 1px solid var(--border);
      overflow: hidden;
      position: relative;
    }
    .bio-block__photo img {
      width: 100%; height: 100%;
      object-fit: cover;
    }
    .bio-block__body .eyebrow {
      margin-bottom: var(--s-3);
    }
    .bio-block__name {
      font-family: var(--font-serif);
      font-size: clamp(2rem, 4vw, var(--fs-3xl));
      font-weight: 500;
      line-height: 1.05;
      letter-spacing: -0.012em;
      color: var(--off);
      margin: 0 0 var(--s-5);
    }
    .bio-block__body p {
      font-size: var(--fs-md);
      line-height: 1.7;
      color: var(--muted);
      margin: 0 0 var(--s-4);
      max-width: 64ch;
    }
    .bio-block__body p:last-child { margin-bottom: 0; }
    .bio-block__body strong { color: var(--off); font-weight: 500; }
    @media (max-width: 768px) {
      .bio-block__grid,
      .bio-block--reverse .bio-block__grid {
        grid-template-columns: 1fr;
      }
      .bio-block--reverse .bio-block__photo { order: 0; }
      .bio-block__photo { max-width: 420px; }
    }

    /* ============================================================
       FILE 06 — FIELD REPORTS  (Blog teaser, typographic covers)
       ============================================================ */
    #reports { background: var(--bg-reports); }
    .reports-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--s-4);
    }
    .report-card {
      display: flex;
      flex-direction: column;
      background: linear-gradient(180deg, var(--black-2) 0%, #100F0D 100%);
      border: 1px solid var(--border);
      text-decoration: none;
      transition: border-color var(--t-base), transform var(--t-slow), box-shadow var(--t-slow);
      box-shadow: 0 1px 0 rgba(245, 241, 232, 0.03) inset, 0 12px 30px -22px rgba(0, 0, 0, 0.9);
      position: relative;
      overflow: hidden;
    }
    .report-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(
        circle 240px at var(--card-x, 50%) var(--card-y, 50%),
        rgba(201, 168, 76, 0.07) 0%,
        rgba(201, 168, 76, 0) 60%
      );
      opacity: 0;
      transition: opacity var(--t-base);
      pointer-events: none;
    }
    .report-card:hover {
      border-color: var(--gold);
      transform: translateY(-4px);
      box-shadow: 0 1px 0 rgba(201, 168, 76, 0.18) inset, 0 22px 46px -24px rgba(0, 0, 0, 0.95), 0 0 30px -18px rgba(201, 168, 76, 0.4);
    }
    .report-card:hover::before { opacity: 1; }

    /* Card "cover" — typographic by default, swaps to photo when an <img> is present */
    .report-card__cover img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
      transition: transform var(--t-slow);
    }
    .report-card:hover .report-card__cover img { transform: scale(1.03); }
    .report-card__cover {
      aspect-ratio: 16 / 10;
      background:
        linear-gradient(135deg, var(--bg-quote) 0%, var(--black-3) 100%);
      border-bottom: 1px solid var(--border);
      padding: var(--s-4);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      position: relative;
      overflow: hidden;
    }
    .report-card__cover::before,
    .report-card__cover::after {
      content: "";
      position: absolute;
      width: 18px;
      height: 18px;
      border: 0 solid var(--gold);
      opacity: 0.45;
    }
    .report-card__cover::before {
      top: var(--s-2); left: var(--s-2);
      border-top-width: 1px; border-left-width: 1px;
    }
    .report-card__cover::after {
      top: var(--s-2); right: var(--s-2);
      border-top-width: 1px; border-right-width: 1px;
    }
    .report-card__cover-bracket-bl,
    .report-card__cover-bracket-br {
      position: absolute;
      width: 18px;
      height: 18px;
      border: 0 solid var(--gold);
      opacity: 0.45;
    }
    .report-card__cover-bracket-bl {
      bottom: var(--s-2); left: var(--s-2);
      border-bottom-width: 1px; border-left-width: 1px;
    }
    .report-card__cover-bracket-br {
      bottom: var(--s-2); right: var(--s-2);
      border-bottom-width: 1px; border-right-width: 1px;
    }
    .report-card__cover-tag {
      display: inline-block;
      align-self: flex-start;
      font-family: var(--font-sans);
      font-size: 0.6875rem;
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--gold);
      padding: 4px 9px;
      border: 1px solid rgba(201, 168, 76, 0.35);
      background: rgba(201, 168, 76, 0.06);
    }
    .report-card__cover-num {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(2.75rem, 4.5vw, var(--fs-4xl));
      color: var(--gold);
      opacity: 0.85;
      line-height: 1;
      align-self: flex-end;
      letter-spacing: -0.02em;
    }
    .report-card__body {
      padding: var(--s-4);
      display: flex;
      flex-direction: column;
      gap: var(--s-2);
      flex: 1;
    }
    .report-card__title {
      font-family: var(--font-serif);
      font-size: var(--fs-xl);
      font-weight: 500;
      line-height: 1.22;
      color: var(--off);
      transition: color var(--t-fast);
    }
    .report-card:hover .report-card__title { color: var(--gold); }
    .report-card__excerpt {
      font-size: var(--fs-sm);
      line-height: 1.6;
      color: var(--muted);
    }
    .report-card__meta {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      margin-top: auto;
      padding-top: var(--s-3);
      border-top: 1px solid var(--border);
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--muted-2);
    }
    .report-card__meta-dot {
      width: 3px; height: 3px;
      background: var(--gold);
      border-radius: 50%;
      display: inline-block;
    }

    /* ============================================================
       FILE 07 — OPEN A FILE  (Contact)
       ============================================================ */
    #contact {
      background: var(--bg-contact);
      border-top: 1px solid var(--border);
    }
    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1.6fr;
      gap: var(--s-10);
      align-items: start;
    }
    .contact-info__lead {
      font-size: var(--fs-md);
      line-height: 1.65;
      color: var(--muted);
      margin-bottom: var(--s-5);
      max-width: 40ch;
    }
    .contact-info__item {
      padding: var(--s-3) 0;
      border-top: 1px solid var(--border);
      font-size: var(--fs-sm);
    }
    .contact-info__item:last-child { border-bottom: 1px solid var(--border); }
    .contact-info__label {
      display: block;
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 4px;
    }
    .contact-info__value { color: var(--off); }
    .contact-info__value a:hover { color: var(--gold); }

    .contact-form {
      background: var(--black-2);
      border: 1px solid var(--border);
      padding: clamp(var(--s-4), 3vw, var(--s-6));
      position: relative;
    }
    .contact-form__title {
      font-family: var(--font-serif);
      font-size: var(--fs-xl);
      font-weight: 500;
      color: var(--off);
      padding-bottom: var(--s-3);
      margin-bottom: var(--s-4);
      border-bottom: 1px solid var(--border);
    }

    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--s-3);
      margin-bottom: var(--s-3);
    }
    .form-row--single { grid-template-columns: 1fr; }
    .form-field { display: flex; flex-direction: column; }
    .form-field label {
      font-size: var(--fs-xs);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: var(--s-1);
      font-weight: 500;
    }
    .form-field label .req { color: var(--gold); }
    .form-field input,
    .form-field select,
    .form-field textarea {
      width: 100%;
      background: var(--black);
      border: 1px solid var(--border);
      border-radius: 2px;
      padding: 0.85rem 1rem;
      color: var(--off);
      font-size: var(--fs-base);
      font-family: var(--font-sans);
      transition: border-color var(--t-fast), background var(--t-fast);
    }
    .form-field input::placeholder,
    .form-field textarea::placeholder { color: rgba(138, 133, 120, 0.6); }
    .form-field input:hover,
    .form-field select:hover,
    .form-field textarea:hover { border-color: #3a3830; }
    .form-field input:focus,
    .form-field select:focus,
    .form-field textarea:focus {
      border-color: var(--gold);
      outline: none;
      background: #0d0d0d;
    }
    .form-field [aria-invalid="true"] { border-color: #c97a4c; }
    .form-field textarea { min-height: 140px; resize: vertical; }
    .form-field select {
      appearance: none;
      -webkit-appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 1rem center;
      padding-right: 2.5rem;
    }
    .form-field__error {
      font-size: var(--fs-xs);
      color: #c97a4c;
      margin-top: 4px;
      min-height: 1em;
    }

    .hp {
      position: absolute !important;
      left: -9999px !important;
      width: 1px !important; height: 1px !important;
      overflow: hidden !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }

    .consent {
      display: flex;
      align-items: flex-start;
      gap: var(--s-2);
      margin: var(--s-3) 0;
      font-size: var(--fs-sm);
      color: var(--muted);
      line-height: 1.55;
    }
    .consent input[type="checkbox"] {
      appearance: none;
      -webkit-appearance: none;
      width: 18px; height: 18px;
      border: 1px solid var(--border);
      background: var(--black);
      border-radius: 2px;
      flex-shrink: 0;
      margin-top: 3px;
      cursor: pointer;
      position: relative;
      transition: border-color var(--t-fast), background var(--t-fast);
    }
    .consent input[type="checkbox"]:hover { border-color: var(--gold); }
    .consent input[type="checkbox"]:checked {
      background: var(--gold);
      border-color: var(--gold);
    }
    .consent input[type="checkbox"]:checked::after {
      content: "";
      position: absolute;
      left: 5px; top: 1px;
      width: 5px; height: 10px;
      border: solid var(--black);
      border-width: 0 2px 2px 0;
      transform: rotate(45deg);
    }
    .consent a { color: var(--gold); border-bottom: 1px solid currentColor; }

    .form-submit-row {
      display: flex;
      align-items: center;
      gap: var(--s-3);
      flex-wrap: wrap;
    }
    .form-status { font-size: var(--fs-sm); flex-grow: 1; min-height: 1.4em; }
    .form-status--success { color: var(--gold); }
    .form-status--error { color: #c97a4c; }

    .btn[disabled] { opacity: 0.6; cursor: not-allowed; transform: none !important; }
    .btn .spinner {
      width: 14px; height: 14px;
      border: 2px solid currentColor;
      border-right-color: transparent;
      border-radius: 50%;
      animation: spin 0.7s linear infinite;
      display: none;
    }
    .btn.is-loading .spinner { display: inline-block; }
    @keyframes spin { to { transform: rotate(360deg); } }

    /* ============================================================
       FOOTER — JP Morgan multi-column / dossier signature
       ============================================================ */
    .site-footer {
      background: var(--bg-footer);
      border-top: 1px solid var(--gold);
      padding: clamp(var(--s-8), 8vw, var(--s-12)) 0 var(--s-4);
      position: relative;
    }
    .footer-top {
      display: grid;
      grid-template-columns: 1.7fr 1fr 1fr;
      gap: var(--s-6);
      margin-bottom: var(--s-8);
    }
    .footer-brand .logo img { height: 72px; }
    .footer-brand__tagline {
      margin-top: var(--s-3);
      font-size: var(--fs-sm);
      color: var(--muted);
      line-height: 1.6;
      max-width: 36ch;
    }
    .footer-brand__contact {
      margin-top: var(--s-4);
      display: flex;
      flex-direction: column;
      gap: 6px;
      list-style: none;
      padding: 0;
    }
    .footer-brand__contact li { font-size: var(--fs-sm); }
    .footer-brand__contact a {
      color: var(--off);
      transition: color var(--t-fast);
    }
    .footer-brand__contact a:hover { color: var(--gold); }
    .footer-brand__contact-note {
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--muted-2);
    }

    .footer-dept__title {
      font-family: var(--font-sans);
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: var(--s-3);
      font-weight: 500;
    }
    .footer-dept ul { display: flex; flex-direction: column; gap: 0.5rem; }
    .footer-dept a {
      font-size: var(--fs-sm);
      color: var(--muted);
      transition: color var(--t-fast);
    }
    .footer-dept a:hover { color: var(--gold); }

    .footer-divider {
      height: 1px;
      background: var(--border-l);
      margin-bottom: var(--s-4);
    }
    .footer-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--s-4);
      flex-wrap: wrap;
    }
    .footer-bottom__copy {
      font-family: var(--font-mono);
      font-size: var(--fs-xs);
      color: var(--muted);
      letter-spacing: 0.02em;
    }
    .footer-social { display: flex; gap: var(--s-1); }
    .footer-social a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 36px; height: 36px;
      border: 1px solid var(--border);
      color: var(--muted);
      border-radius: 2px;
      transition: border-color var(--t-fast), color var(--t-fast);
    }
    .footer-social a:hover { border-color: var(--gold); color: var(--gold); }
    .footer-social svg { width: 16px; height: 16px; }

    /* ============================================================
       PROCESS  (How It Works — asymmetric numbered step list)
       ============================================================ */
    .process {
      background: var(--bg-process);
      padding: var(--s-12) 0;
    }
    .process__steps {
      max-width: 1100px;
      margin: var(--s-9) auto 0;
      padding: 0 var(--container-pad);
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: var(--s-8);
    }
    .process__step {
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: baseline;
      gap: var(--s-5);
      max-width: 720px;
    }
    .process__step--right {
      grid-template-columns: 1fr auto;
      text-align: right;
      margin-left: auto;
    }
    .process__step--right .process__num { grid-column: 2; grid-row: 1; }
    .process__step--right .process__body { grid-column: 1; grid-row: 1; }
    .process__num {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(3rem, 6vw, 5rem);
      color: var(--gold);
      line-height: 0.9;
      letter-spacing: -0.02em;
      /* Equal-width digits keep the adjacent body text from twitching while
         the count-up rolls 00 → 0N. */
      font-variant-numeric: tabular-nums;
    }
    .process__title {
      font-family: var(--font-serif);
      font-size: clamp(var(--fs-xl), 2.5vw, var(--fs-3xl));
      font-weight: 500;
      color: var(--off);
      margin-bottom: var(--s-2);
      letter-spacing: -0.01em;
      line-height: 1.1;
    }
    .process__desc {
      color: var(--muted);
      font-size: var(--fs-md);
      line-height: 1.65;
      max-width: 56ch;
    }
    .process__step--right .process__desc { margin-left: auto; }

    /* ============================================================
       CARE  (After-launch maintenance positioning — asymmetric grid)
       ============================================================ */
    .care {
      background: var(--bg-care);
      padding: var(--s-12) 0;
    }
    .care__grid {
      display: grid;
      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
      gap: var(--s-8);
      align-items: start;
    }
    /* ============================================================
       COMMITMENTS — proof-card slot, populated with honest founder
       commitments until real client testimonials replace them
       ============================================================ */
    #commitments { background: var(--bg-about); }
    .commitments-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--s-3);
      margin-top: var(--s-8);
    }
    .commitment-card {
      position: relative;
      overflow: hidden;
      background: linear-gradient(180deg, var(--black-2) 0%, #100F0D 100%);
      border: 1px solid var(--border);
      padding: var(--s-5);
      display: flex;
      flex-direction: column;
      gap: var(--s-4);
      transition: border-color 320ms ease, transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .commitment-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(
        circle 280px at var(--card-x, 50%) var(--card-y, 50%),
        rgba(201, 168, 76, 0.08) 0%,
        rgba(201, 168, 76, 0) 60%
      );
      opacity: 0;
      transition: opacity 300ms ease;
      pointer-events: none;
    }
    .commitment-card:hover { border-color: var(--gold); transform: translateY(-2px); }
    .commitment-card:hover::before { opacity: 1; }
    .commitment-card__byline {
      display: flex;
      align-items: center;
      gap: var(--s-3);
      padding-bottom: var(--s-3);
      border-bottom: 1px solid var(--border);
      position: relative;
      z-index: 1;
    }
    .commitment-card__initial {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 44px; height: 44px;
      flex-shrink: 0;
      border: 1px solid var(--gold);
      color: var(--gold);
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: var(--fs-md);
      letter-spacing: -0.02em;
    }
    .commitment-card__name {
      font-family: var(--font-sans);
      font-size: var(--fs-sm);
      font-weight: 500;
      color: var(--off);
      margin: 0;
      line-height: 1.2;
    }
    .commitment-card__role {
      font-family: var(--font-sans);
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--muted);
      margin: 4px 0 0;
      line-height: 1.2;
    }
    .commitment-card__quote {
      margin: 0;
      font-family: var(--font-serif);
      font-style: italic;
      font-size: var(--fs-md);
      line-height: 1.5;
      color: var(--off);
      position: relative;
      z-index: 1;
    }
    @media (max-width: 1024px) {
      .commitments-grid { grid-template-columns: 1fr; gap: var(--s-3); }
    }

    .care__title {
      font-family: var(--font-serif);
      font-size: clamp(2rem, 4vw, 3.25rem);
      font-weight: 500;
      color: var(--off);
      line-height: 1.05;
      letter-spacing: -0.015em;
      margin: var(--s-3) 0 var(--s-5);
    }
    .care__lead {
      color: var(--muted);
      font-size: var(--fs-md);
      line-height: 1.7;
      max-width: 48ch;
    }
    .care__list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
      padding-top: var(--s-3);
    }
    .care__list li {
      display: flex;
      align-items: center;
      gap: var(--s-3);
      font-size: var(--fs-md);
      color: var(--off);
      font-family: var(--font-sans);
      line-height: 1.4;
      padding-bottom: var(--s-3);
      border-bottom: 1px solid var(--border);
    }
    .care__list li:last-child {
      border-bottom: 0;
      padding-bottom: 0;
    }
    .care__bullet {
      position: relative;
      display: inline-block;
      width: 14px;
      height: 14px;
      flex-shrink: 0;
    }
    .care__bullet::before,
    .care__bullet::after {
      content: "";
      position: absolute;
      background: var(--gold);
    }
    .care__bullet::before {
      top: 50%; left: 0; right: 0;
      height: 1.5px;
      transform: translateY(-50%);
    }
    .care__bullet::after {
      left: 50%; top: 0; bottom: 0;
      width: 1.5px;
      transform: translateX(-50%);
    }

    /* ============================================================
       FAQ  (Common questions — collapsible accordion)
       ============================================================ */
    .faq {
      background: var(--bg-faq);
      padding: var(--s-12) 0;
    }
    .faq__list {
      max-width: 760px;
      margin: var(--s-8) auto 0;
      padding: 0 var(--container-pad);
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
    }
    .faq details {
      border: 1px solid var(--border);
      transition: background-color 220ms ease;
    }
    .faq details[open] { background: var(--black-2); }
    .faq summary {
      cursor: pointer;
      list-style: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: var(--s-3);
      padding: var(--s-3) var(--s-4);
      font-family: var(--font-serif);
      font-size: var(--fs-lg);
      font-weight: 500;
      line-height: 1.3;
      color: var(--off);
      transition: color 220ms ease;
    }
    .faq summary::-webkit-details-marker { display: none; }
    .faq summary::after {
      content: "+";
      flex-shrink: 0;
      color: var(--gold);
      font-family: var(--font-sans);
      font-size: 1.5rem;
      font-weight: 300;
      line-height: 1;
      transform-origin: center;
      transition: transform 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .faq details[open] summary::after { transform: rotate(45deg); }
    .faq details[open] summary { color: var(--gold); }
    .faq summary:hover { color: var(--gold-l); }
    .faq summary:focus-visible {
      outline: 2px solid var(--gold);
      outline-offset: -2px;
    }
    .faq details > p {
      padding: 0 var(--s-4) var(--s-3);
      margin-top: 0;
      color: var(--off);
      line-height: 1.7;
    }

    /* ============================================================
       SYSTEMS  (Inside the systems — Lead + Review flow diagrams)
       ============================================================ */
    .systems {
      background: var(--bg-systems);
      padding: var(--s-12) 0;
    }
    .flow-diagram {
      max-width: 1100px;
      margin: var(--s-9) auto 0;
      padding: 0 var(--container-pad);
    }
    .flow-diagram + .flow-diagram { margin-top: var(--s-10); }
    .flow-diagram__caption {
      display: flex;
      align-items: baseline;
      gap: var(--s-3);
      margin-bottom: var(--s-6);
      padding-bottom: var(--s-2);
      border-bottom: 1px solid var(--border);
    }
    .flow-diagram__caption-num {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      color: var(--gold);
      font-size: clamp(3rem, 7vw, 5.5rem);
      line-height: 0.9;
      letter-spacing: -0.02em;
    }
    .flow-diagram__caption-label {
      font-family: var(--font-mono);
      font-size: var(--fs-sm);
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--muted);
      font-weight: 500;
    }
    .flow-diagram__steps {
      display: flex;
      align-items: flex-start;
      list-style: none;
      padding: 0;
      margin: 0;
      position: relative;
    }
    .flow-diagram__step {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      position: relative;
      padding: 0 var(--s-1);
      min-width: 0;
    }
    /* Dashed connector between steps — reads as a schematic, not a solid pipe. */
    .flow-diagram__step::after {
      content: '';
      position: absolute;
      top: 38px;
      left: calc(50% + 28px);
      right: calc(-50% + 28px);
      height: 1px;
      background-image: linear-gradient(to right, rgba(201, 168, 76, 0.65) 50%, transparent 50%);
      background-size: 8px 1px;
      background-repeat: repeat-x;
      z-index: 0;
    }
    .flow-diagram__step:last-child::after { display: none; }

    /* ----- Flow diagram motion choreography -----
       Override the global reveal-group cascade (90ms stagger) with a slower,
       more deliberate 220ms per step. Each step appears bottom-up; the
       connector line to the NEXT step then draws left-to-right, so the flow
       looks like it's building itself as you watch. Gated by .js so no-JS
       and prefers-reduced-motion users see the static diagram. */
    .js .flow-diagram__steps.is-in > *:nth-child(1) { transition-delay: 0ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(2) { transition-delay: 220ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(3) { transition-delay: 440ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(4) { transition-delay: 660ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(5) { transition-delay: 880ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(6) { transition-delay: 1100ms; }

    .js .flow-diagram__step::after {
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .js .flow-diagram__steps.is-in > .flow-diagram__step::after {
      transform: scaleX(1);
    }
    .js .flow-diagram__steps.is-in > *:nth-child(1)::after { transition-delay: 150ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(2)::after { transition-delay: 370ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(3)::after { transition-delay: 590ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(4)::after { transition-delay: 810ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(5)::after { transition-delay: 1030ms; }

    /* When the icon settles in, give it one breath of gold glow — subtle,
       300ms ease-out, only on first reveal. */
    .js .flow-diagram__steps.is-in > .flow-diagram__step .flow-diagram__icon {
      animation: flow-icon-pulse 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .js .flow-diagram__steps.is-in > *:nth-child(1) .flow-diagram__icon { animation-delay: 0ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(2) .flow-diagram__icon { animation-delay: 220ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(3) .flow-diagram__icon { animation-delay: 440ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(4) .flow-diagram__icon { animation-delay: 660ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(5) .flow-diagram__icon { animation-delay: 880ms; }
    .js .flow-diagram__steps.is-in > *:nth-child(6) .flow-diagram__icon { animation-delay: 1100ms; }

    @keyframes flow-icon-pulse {
      0%   { filter: drop-shadow(0 0 0 rgba(201, 168, 76, 0)); }
      40%  { filter: drop-shadow(0 0 12px rgba(201, 168, 76, 0.55)); }
      100% { filter: drop-shadow(0 0 0 rgba(201, 168, 76, 0)); }
    }

    @media (prefers-reduced-motion: reduce) {
      .js .flow-diagram__step::after { transform: none; transition: none; }
      .js .flow-diagram__steps.is-in > .flow-diagram__step .flow-diagram__icon { animation: none; }
    }

    .flow-diagram__num {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: var(--fs-sm);
      color: var(--gold);
      margin-bottom: var(--s-2);
      line-height: 1;
    }
    .flow-diagram__icon {
      color: var(--gold);
      width: 36px;
      height: 36px;
      margin-bottom: var(--s-3);
      background: var(--bg-systems);
      padding: 0 var(--s-1);
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .flow-diagram__icon svg {
      width: 28px;
      height: 28px;
    }
    .flow-diagram__label {
      font-family: var(--font-sans);
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--off);
      font-weight: 500;
      margin: 0 0 var(--s-2);
    }
    .flow-diagram__desc {
      font-family: var(--font-sans);
      font-size: var(--fs-xs);
      color: var(--muted);
      line-height: 1.45;
      margin: 0;
      max-width: 16ch;
    }

    /* Mobile overrides for new Phase-1 sections */
    @media (max-width: 768px) {
      .process__step,
      .process__step--right {
        grid-template-columns: 1fr;
        text-align: left;
        margin-left: 0;
      }
      .process__step--right .process__num { grid-column: 1; grid-row: auto; }
      .process__step--right .process__body { grid-column: 1; grid-row: auto; }
      .process__step--right .process__desc { margin-left: 0; }
      .process__num { font-size: 3rem; }
      .care__grid { grid-template-columns: 1fr; gap: var(--s-5); }

      /* Flow diagrams stack vertically on mobile */
      .flow-diagram__steps {
        flex-direction: column;
        gap: var(--s-6);
      }
      .flow-diagram__step {
        width: 100%;
        padding: 0;
      }
      .flow-diagram__step::after {
        top: auto;
        bottom: calc(-1 * var(--s-3));
        left: 50%;
        right: auto;
        width: 1px;
        height: var(--s-5);
        background: linear-gradient(to bottom, var(--gold), transparent);
        opacity: 0.55;
      }
      /* Mobile: connector draws top-to-bottom instead of left-to-right */
      .js .flow-diagram__step::after {
        transform: scaleY(0);
        transform-origin: top center;
      }
      .js .flow-diagram__steps.is-in > .flow-diagram__step::after {
        transform: scaleY(1);
      }
      .flow-diagram__desc { max-width: 32ch; }
    }

    /* ============================================================
       RESPONSIVE
       ============================================================ */
    @media (max-width: 1024px) {
      .focus__grid { grid-template-columns: 1fr; gap: var(--s-5); }
      .focus__left { max-width: 100%; }

      .services-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; min-height: 0; }
      .service-card--hero,
      .service-card--md-1,
      .service-card--md-2,
      .service-card--wide { grid-column: auto; grid-row: auto; }
      .service-card--hero { padding: var(--s-4); }
      .service-card--hero .service-card__title { font-size: var(--fs-xl); }
      .service-card--hero .service-card__desc { font-size: var(--fs-sm); }
      .service-card--hero .service-card__detail { font-size: var(--fs-sm); }
      .service-card--wide .service-card__body { flex-direction: column; }

      .reports-grid { grid-template-columns: repeat(2, 1fr); }
      .contact-grid { grid-template-columns: 1fr; gap: var(--s-6); }

      .footer-top { grid-template-columns: 1.5fr 1fr 1fr; gap: var(--s-5); }
    }

    @media (max-width: 768px) {
      .nav-links { display: none; }
      .menu-toggle { display: inline-flex; }
      .hero__container {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        padding-bottom: var(--s-6);
        gap: var(--s-4);
      }
      .hero__content { max-width: 100%; text-align: center; }
      .hero__sub { margin: 0 auto var(--s-6); }
      .hero__cta { justify-content: center; }

      .services-grid { grid-template-columns: 1fr; }
      .founders-grid { grid-template-columns: 1fr; gap: var(--s-8); }
      .reports-grid { grid-template-columns: 1fr; }
      .form-row { grid-template-columns: 1fr; }

      .footer-top { grid-template-columns: 1fr; gap: var(--s-5); }
      .footer-bottom { flex-direction: column-reverse; align-items: flex-start; gap: var(--s-3); }

      :root { --spot-size: 60vmax; --spot-intensity: 0.08; }
    }

    /* ============================================================
       REDUCED MOTION
       ============================================================ */
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
      }
      .btn--primary:hover,
      .service-card:hover,
      .report-card:hover { transform: none; }

      .js [data-reveal],
      .js [data-reveal-group] > * { opacity: 1 !important; transform: none !important; }
      .pull-quote__rule { transform: scaleX(1) !important; }
      .pull-quote__text { opacity: 1 !important; transform: none !important; }
      .pull-quote__cite { opacity: 1 !important; }
      .hero__eyebrow, .hero__sub, .hero__cta { opacity: 1 !important; }
      .hero__divider-rule { transform: scaleX(1) !important; }
      body::after { animation: none !important; transition: none !important; }
      /* Flagship circuit ring stays a calm static arc — no travelling light. */
      .services-landing-card--premium:hover::after { animation: none; }
    }

    /* ============================================================
       CONTACT CTA  (replaces the form — mailto-first approach)
       ============================================================ */
    .contact-cta {
      background: linear-gradient(180deg, var(--black-2) 0%, #100F0D 100%);
      border: 1px solid var(--border);
      padding: clamp(var(--s-5), 4vw, var(--s-6));
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
      position: relative;
      overflow: hidden;
    }
    .contact-cta::before,
    .contact-cta::after {
      content: "";
      position: absolute;
      width: 22px;
      height: 22px;
      border: 0 solid var(--gold);
      opacity: 0.4;
      pointer-events: none;
    }
    .contact-cta::before {
      top: 14px; right: 14px;
      border-top-width: 1px; border-right-width: 1px;
    }
    .contact-cta::after {
      bottom: 14px; left: 14px;
      border-bottom-width: 1px; border-left-width: 1px;
    }
    .contact-cta__eyebrow {
      font-family: var(--font-sans);
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--gold);
      font-weight: 500;
    }
    .contact-cta__title {
      font-family: var(--font-serif);
      font-size: clamp(var(--fs-2xl), 3.2vw, var(--fs-3xl));
      font-weight: 500;
      line-height: 1.08;
      letter-spacing: -0.012em;
      color: var(--off);
      margin: 0;
    }
    .contact-cta__body {
      font-size: var(--fs-md);
      line-height: 1.65;
      color: var(--muted);
    }
    .contact-cta__btn {
      align-self: flex-start;
      margin-top: var(--s-2);
    }
    .contact-cta__small {
      font-size: var(--fs-sm);
      color: var(--muted-2);
      padding-top: var(--s-3);
      margin-top: var(--s-1);
      border-top: 1px solid var(--border);
      line-height: 1.6;
    }
    .contact-cta__small em {
      color: var(--gold);
      font-style: italic;
      font-family: var(--font-serif);
      font-weight: 500;
    }

    /* ============================================================
       ARTICLE / PROSE  (blog posts + privacy/terms)
       ============================================================ */
    .article {
      padding-top: calc(var(--nav-h) + var(--s-6));
      padding-bottom: var(--s-12);
      background: var(--bg-about);
    }
    .article__head {
      max-width: 760px;
      margin: 0 auto var(--s-8);
      padding: 0 var(--container-pad);
    }
    .article__breadcrumb {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      font-family: var(--font-mono);
      font-size: var(--fs-xs);
      letter-spacing: 0.02em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: var(--s-4);
    }
    .article__breadcrumb a { color: var(--muted); transition: color var(--t-fast); }
    .article__breadcrumb a:hover { color: var(--gold); }
    .article__breadcrumb-sep { color: var(--gold); }
    .article__tag {
      display: inline-block;
      font-family: var(--font-sans);
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--gold);
      padding: 4px 10px;
      border: 1px solid rgba(201, 168, 76, 0.35);
      background: rgba(201, 168, 76, 0.06);
      margin-bottom: var(--s-3);
    }
    .article__title {
      font-family: var(--font-serif);
      font-size: clamp(2.5rem, 5vw, 4rem);
      font-weight: 500;
      line-height: 1.05;
      letter-spacing: -0.018em;
      color: var(--off);
      margin-bottom: var(--s-3);
    }
    .article__meta {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-family: var(--font-mono);
      font-size: var(--fs-sm);
      letter-spacing: 0.02em;
      color: var(--muted);
      padding-top: var(--s-3);
      border-top: 1px solid var(--border);
      margin-top: var(--s-4);
      flex-wrap: wrap;
    }
    .article__meta-dot {
      width: 3px; height: 3px;
      background: var(--gold);
      border-radius: 50%;
      display: inline-block;
    }
    .article__meta-author { color: var(--off); }

    /* Optional video embed at top of post */
    .article__video {
      max-width: 960px;
      margin: 0 auto var(--s-8);
      padding: 0 var(--container-pad);
    }
    .article__video-wrap {
      position: relative;
      width: 100%;
      aspect-ratio: 16 / 9;
      background: var(--black-2);
      border: 1px solid var(--border);
      overflow: hidden;
    }
    .article__video-wrap iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }

    /* Cover image — same width as video; pairs with .article__head */
    .article__cover {
      max-width: 960px;
      margin: 0 auto var(--s-8);
      padding: 0 var(--container-pad);
    }
    .article__cover img {
      width: 100%;
      height: auto;
      border: 1px solid var(--border);
      background: var(--black-2);
    }
    .article__cover-caption {
      margin-top: var(--s-2);
      font-family: var(--font-sans);
      font-size: var(--fs-sm);
      color: var(--muted);
      text-align: center;
      font-style: italic;
      letter-spacing: 0.01em;
    }

    /* Article body — prose styles */
    .article__body {
      max-width: 680px;
      margin: 0 auto;
      padding: 0 var(--container-pad);
      font-size: var(--fs-md);
      line-height: 1.75;
      color: var(--off);
    }
    .article__body > * + * { margin-top: var(--s-3); }
    .article__body h2 {
      font-family: var(--font-serif);
      font-size: clamp(var(--fs-2xl), 3vw, var(--fs-3xl));
      font-weight: 500;
      line-height: 1.15;
      color: var(--off);
      letter-spacing: -0.01em;
      margin-top: var(--s-8);
      margin-bottom: var(--s-3);
      padding-top: var(--s-3);
      border-top: 1px solid var(--border);
    }
    .article__body h3 {
      font-family: var(--font-serif);
      font-size: var(--fs-xl);
      font-weight: 500;
      line-height: 1.25;
      color: var(--off);
      margin-top: var(--s-5);
      margin-bottom: var(--s-2);
    }
    .article__body p { color: var(--off); }
    .article__body a {
      color: var(--gold);
      border-bottom: 1px solid currentColor;
      transition: color var(--t-fast);
    }
    .article__body a:hover { color: var(--gold-l); }
    .article__body strong { color: var(--off); font-weight: 500; }
    .article__body em { color: var(--gold); font-style: italic; }
    .article__body ul, .article__body ol {
      padding-left: var(--s-4);
      list-style: revert;
      color: var(--muted);
    }
    .article__body li { margin-bottom: 0.5rem; }
    .article__body li::marker { color: var(--gold); }
    .article__body blockquote {
      margin: var(--s-5) 0;
      padding: var(--s-3) var(--s-4);
      border-left: 2px solid var(--gold);
      background: rgba(201, 168, 76, 0.04);
      font-family: var(--font-serif);
      font-style: italic;
      font-size: var(--fs-lg);
      color: var(--off);
      line-height: 1.5;
    }
    .article__body blockquote p { color: var(--off); }
    .article__body code {
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 0.9em;
      background: var(--black-3);
      padding: 0.15em 0.4em;
      border-radius: 2px;
      color: var(--gold);
    }
    .article__body pre {
      background: var(--black-2);
      border: 1px solid var(--border);
      padding: var(--s-3);
      overflow-x: auto;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: var(--fs-sm);
      line-height: 1.55;
      color: var(--off);
    }
    .article__body pre code { background: none; padding: 0; color: var(--off); }
    .article__body hr {
      border: none;
      height: 1px;
      background: var(--gold);
      margin: var(--s-8) 0;
      max-width: 80px;
    }

    /* FAQ accordion — native <details>/<summary> */
    .article__body details {
      border: 1px solid var(--border);
      transition: background-color 220ms ease;
    }
    .article__body details[open] {
      background: var(--black-2);
    }
    .article__body summary {
      cursor: pointer;
      list-style: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: var(--s-3);
      padding: var(--s-3) var(--s-4);
      font-family: var(--font-serif);
      font-size: var(--fs-lg);
      font-weight: 500;
      line-height: 1.3;
      color: var(--off);
      transition: color 220ms ease;
    }
    .article__body summary::-webkit-details-marker { display: none; }
    .article__body summary::after {
      content: "+";
      flex-shrink: 0;
      color: var(--gold);
      font-family: var(--font-sans);
      font-size: 1.5rem;
      font-weight: 300;
      line-height: 1;
      transform-origin: center;
      transition: transform 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .article__body details[open] summary::after { transform: rotate(45deg); }
    .article__body details[open] summary { color: var(--gold); }
    .article__body summary:hover { color: var(--gold-l); }
    .article__body summary:focus-visible {
      outline: 2px solid var(--gold);
      outline-offset: -2px;
    }
    .article__body details > p {
      padding: 0 var(--s-4) var(--s-3);
      margin-top: 0;
      color: var(--off);
    }

    /* Table of contents — anchor nav */
    .article__toc {
      max-width: 680px;
      margin: var(--s-5) auto;
      padding: var(--s-4) var(--container-pad);
      background: var(--black-2);
      border: 1px solid var(--border);
    }
    .article__toc-title {
      font-family: var(--font-sans);
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: var(--s-2);
    }
    .article__toc ol { list-style: none; padding-left: 0; }
    .article__toc li {
      padding: 0.4rem 0;
      border-bottom: 1px solid var(--border);
    }
    .article__toc li:last-child { border-bottom: 0; }
    .article__toc a {
      font-size: var(--fs-sm);
      color: var(--muted);
      transition: color var(--t-fast);
    }
    .article__toc a:hover { color: var(--gold); }

    /* Related posts at end of article */
    .article__related {
      max-width: 1100px;
      margin: var(--s-10) auto 0;
      padding: var(--s-8) var(--container-pad) 0;
      border-top: 1px solid var(--border);
    }
    .article__related-title {
      font-family: var(--font-sans);
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: var(--s-4);
    }
    .article__related-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: var(--s-3);
    }

    /* ============================================================
       BLOG INDEX
       ============================================================ */
    .blog-hero {
      background: var(--bg-hero);
      padding: calc(var(--nav-h) + var(--s-8)) 0 var(--s-8);
      border-bottom: 1px solid var(--border);
    }
    .blog-hero__inner { max-width: 900px; }
    .blog-hero__title {
      font-family: var(--font-serif);
      font-size: clamp(2.75rem, 6vw, 4.5rem);
      font-weight: 500;
      line-height: 1.04;
      letter-spacing: -0.018em;
      color: var(--off);
      margin: var(--s-3) 0;
    }
    .blog-hero__lead {
      font-size: var(--fs-md);
      line-height: 1.6;
      color: var(--muted);
      max-width: 60ch;
    }
    .blog-list {
      padding: var(--s-10) 0;
      background: var(--bg-reports);
    }

    /* ============================================================
       SIMPLE STATIC PAGES (404, privacy, terms)
       ============================================================ */
    .page-shell {
      min-height: calc(100vh - var(--nav-h));
      padding: calc(var(--nav-h) + var(--s-8)) 0 var(--s-10);
      background: var(--bg-about);
    }
    .error-page {
      max-width: 600px;
      margin: 0 auto;
      padding: var(--s-10) var(--container-pad);
      text-align: center;
    }
    .error-page__code {
      font-family: var(--font-serif);
      font-style: italic;
      font-size: clamp(4rem, 10vw, 8rem);
      font-weight: 500;
      color: var(--gold);
      line-height: 1;
      margin-bottom: var(--s-3);
    }
    .error-page__title {
      font-family: var(--font-serif);
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: 500;
      line-height: 1.1;
      color: var(--off);
      margin-bottom: var(--s-3);
    }
    .error-page__body {
      font-size: var(--fs-md);
      line-height: 1.6;
      color: var(--muted);
      margin-bottom: var(--s-5);
    }
    .error-page__cta {
      display: inline-flex;
      gap: var(--s-3);
      flex-wrap: wrap;
      justify-content: center;
    }

    @media (max-width: 768px) {
      .article__related-grid { grid-template-columns: 1fr; }
    }

    /* ============================================================
       SERVICE DETAIL PAGES
       ============================================================ */
    .service-hero__num {
      font-family: var(--font-serif);
      font-style: italic;
      font-size: var(--fs-lg);
      font-weight: 500;
      color: var(--gold);
      letter-spacing: 0;
      text-transform: none;
      vertical-align: -1px;
      margin-right: 0.4rem;
    }
    .service-hero__sub {
      font-family: var(--font-serif);
      font-style: italic;
      font-size: clamp(var(--fs-lg), 2vw, var(--fs-xl));
      line-height: 1.45;
      color: var(--muted);
      max-width: 56ch;
      margin-top: var(--s-3);
      font-weight: 400;
    }
    .service-meta {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      font-family: var(--font-mono);
      font-size: var(--fs-sm);
      letter-spacing: 0.02em;
      color: var(--muted);
      padding-top: var(--s-3);
      border-top: 1px solid var(--border);
      margin-top: var(--s-4);
      flex-wrap: wrap;
    }
    .service-meta-dot {
      width: 3px; height: 3px;
      background: var(--gold);
      border-radius: 50%;
      display: inline-block;
    }
    .service-meta-label { color: var(--gold); text-transform: uppercase; letter-spacing: var(--tracking-sm); font-size: var(--fs-xs); font-family: var(--font-mono); }

    /* Bottom CTA on service detail pages */
    .service-cta {
      max-width: 760px;
      margin: var(--s-10) auto var(--s-8);
      padding: clamp(var(--s-5), 5vw, var(--s-8)) clamp(var(--s-4), 4vw, var(--s-6));
      background: linear-gradient(180deg, var(--black-2) 0%, #100F0D 100%);
      border: 1px solid var(--border);
      position: relative;
      overflow: hidden;
    }
    .service-cta::before,
    .service-cta::after {
      content: "";
      position: absolute;
      width: 22px;
      height: 22px;
      border: 0 solid var(--gold);
      opacity: 0.4;
      pointer-events: none;
    }
    .service-cta::before {
      top: 14px; right: 14px;
      border-top-width: 1px; border-right-width: 1px;
    }
    .service-cta::after {
      bottom: 14px; left: 14px;
      border-bottom-width: 1px; border-left-width: 1px;
    }
    .service-cta__eyebrow {
      font-family: var(--font-sans);
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--gold);
      font-weight: 500;
      margin-bottom: var(--s-2);
    }
    .service-cta__title {
      font-family: var(--font-serif);
      font-size: clamp(var(--fs-2xl), 3vw, var(--fs-3xl));
      font-weight: 500;
      line-height: 1.1;
      letter-spacing: -0.012em;
      color: var(--off);
      margin-bottom: var(--s-3);
    }
    .service-cta__body {
      font-size: var(--fs-md);
      line-height: 1.65;
      color: var(--muted);
      margin-bottom: var(--s-4);
      max-width: 50ch;
    }
    .service-cta__btn { align-self: flex-start; }

    /* ============================================================
       SERVICES LANDING GRID (uniform 2x2 — different from homepage bento)
       ============================================================ */
    .services-landing {
      padding: var(--s-10) 0;
      background: var(--bg-services);
    }
    .services-landing-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: var(--s-4);
    }
    .services-landing-card {
      background: linear-gradient(180deg, var(--black-2) 0%, #100F0D 100%);
      border: 1px solid var(--border);
      padding: var(--s-5);
      position: relative;
      transition: border-color var(--t-base), transform var(--t-slow), box-shadow var(--t-slow);
      box-shadow: 0 1px 0 rgba(245, 241, 232, 0.03) inset, 0 12px 30px -22px rgba(0, 0, 0, 0.9);
      display: flex;
      flex-direction: column;
      gap: var(--s-2);
      overflow: hidden;
      text-decoration: none;
      color: inherit;
      min-height: 340px;
    }
    /* Two stacked layers on one pseudo:
       (1) a diagonal shine that sweeps across once when the cursor arrives, and
       (2) a soft gold spotlight that tracks the pointer (--card-x/--card-y are
       written by the data-card-spotlights handler). The sheen rides on
       background-position (layer 1); the spotlight is centred internally so the
       position animation never moves it. */
    .services-landing-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(
          115deg,
          transparent 38%,
          rgba(245, 241, 232, 0.10) 47%,
          rgba(232, 205, 142, 0.22) 50%,
          rgba(245, 241, 232, 0.10) 53%,
          transparent 62%
        ) no-repeat,
        radial-gradient(
          circle 360px at var(--card-x, 50%) var(--card-y, 50%),
          rgba(201, 168, 76, 0.13) 0%,
          rgba(201, 168, 76, 0) 60%
        );
      background-size: 250% 100%, 100% 100%;
      background-position: 150% 0, 0 0;
      opacity: 0;
      transition: opacity var(--t-base), background-position 0s;
      pointer-events: none;
      z-index: 0;
    }
    /* Pointer-tracked "flashlight" border — a 1px gold ring, masked to the
       card edge, that brightens under the cursor. The signature premium
       hover; GPU-cheap (opacity only) and reuses the spotlight coordinates. */
    .services-landing-card::after {
      content: "";
      position: absolute;
      inset: 0;
      padding: 1px;
      border-radius: inherit;
      background: radial-gradient(
        circle 260px at var(--card-x, 50%) var(--card-y, 50%),
        rgba(232, 205, 142, 0.9) 0%,
        rgba(201, 168, 76, 0.55) 28%,
        rgba(201, 168, 76, 0) 62%
      );
      -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      -webkit-mask-composite: xor;
      mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      mask-composite: exclude;
      opacity: 0;
      transition: opacity var(--t-slow);
      pointer-events: none;
      z-index: 2;
    }
    .services-landing-card:hover {
      border-color: var(--gold);
      transform: translateY(-4px);
      box-shadow: 0 1px 0 rgba(201, 168, 76, 0.18) inset, 0 22px 46px -24px rgba(0, 0, 0, 0.95), 0 0 30px -18px rgba(201, 168, 76, 0.4);
    }
    /* On arrival the sheen sweeps left across the face once (position glides
       150% -> -150%); the spotlight layer is pinned (0 0) so it never moves. */
    .services-landing-card:hover::before {
      opacity: 1;
      background-position: -150% 0, 0 0;
      transition: opacity var(--t-base), background-position 0.8s cubic-bezier(0.16, 0.84, 0.27, 1);
    }
    .services-landing-card:hover::after { opacity: 1; }
    /* Tactile press: the whole card dips a hair on click, giving every package
       the same "button" feel regardless of size. */
    .services-landing-card:active {
      transform: translateY(-1px) scale(0.992);
      transition: transform 90ms ease;
    }
    /* Lift real content above the interior spotlight wash (::before sits at z 0,
       the masked edge-ring at z 2 only paints the 1px frame). */
    .services-landing-card > * { position: relative; z-index: 1; }
    .services-landing-card__num {
      position: absolute;
      top: var(--s-3);
      right: var(--s-5);
      font-family: var(--font-serif);
      font-style: italic;
      font-size: var(--fs-2xl);
      font-weight: 500;
      color: var(--gold);
      opacity: 0.75;
      z-index: 1;
      transition: opacity var(--t-base);
    }
    .services-landing-card:hover .services-landing-card__num { opacity: 1; }
    .services-landing-card__tag {
      display: inline-block;
      align-self: flex-start;
      font-family: var(--font-sans);
      font-size: var(--fs-xs);
      letter-spacing: var(--tracking-md);
      text-transform: uppercase;
      color: var(--gold);
      padding: 4px 10px;
      border: 1px solid rgba(201, 168, 76, 0.35);
      background: rgba(201, 168, 76, 0.06);
      margin-bottom: var(--s-2);
    }
    .services-landing-card__icon {
      width: 44px;
      height: 44px;
      color: var(--gold);
      margin-top: var(--s-1);
      flex-shrink: 0;
    }
    .services-landing-card__icon svg { width: 100%; height: 100%; }
    .services-landing-card__icon--stars {
      width: 160px;
      height: 26px;
    }
    .services-landing-card__title {
      font-family: var(--font-serif);
      font-size: var(--fs-2xl);
      font-weight: 500;
      line-height: 1.15;
      color: var(--off);
      margin-top: var(--s-1);
      transition: color var(--t-fast);
    }
    .services-landing-card:hover .services-landing-card__title { color: var(--gold); }
    .services-landing-card__desc {
      font-size: var(--fs-md);
      line-height: 1.6;
      color: var(--muted);
      flex-grow: 1;
    }
    .services-landing-card__cta {
      margin-top: auto;
      padding-top: var(--s-3);
      border-top: 1px solid var(--border);
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-family: var(--font-sans);
      font-size: var(--fs-sm);
      font-weight: 500;
      letter-spacing: var(--tracking-sm);
      text-transform: uppercase;
      color: var(--gold);
    }
    .services-landing-card__cta svg { transition: transform var(--t-base); }
    .services-landing-card:hover .services-landing-card__cta svg { transform: translateX(4px); }

    /* ----- Grouped packages layout ----- */
    .services-group {
      margin-bottom: var(--s-10);
    }
    .services-group:last-of-type { margin-bottom: var(--s-8); }
    .services-group__head {
      display: flex;
      align-items: center;
      gap: var(--s-4);
      margin-bottom: var(--s-5);
      padding-bottom: var(--s-3);
      border-bottom: 1px solid var(--border);
    }
    .services-group__num {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(2.5rem, 5vw, 4rem);
      line-height: 0.9;
      color: var(--gold);
      letter-spacing: -0.02em;
      margin: 0;
      flex-shrink: 0;
    }
    .services-group__title {
      font-family: var(--font-serif);
      font-size: clamp(1.5rem, 2.5vw, 2rem);
      font-weight: 500;
      line-height: 1.1;
      color: var(--off);
      letter-spacing: -0.01em;
      margin: var(--s-1) 0 0;
    }

    /* ----- Three-column grid variant for the "Fix the Bottleneck" row ----- */
    .services-landing-grid--3 {
      grid-template-columns: repeat(3, 1fr);
    }
    /* Spaced variant used when grid follows a featured card directly */
    .services-landing-grid--spaced { margin-top: var(--s-4); }

    /* ----- Featured / wide / premium card variants ----- */
    .services-landing-card--featured,
    .services-landing-card--wide,
    .services-landing-card--premium {
      min-height: 0;
    }
    .services-landing-card--featured {
      padding: clamp(var(--s-5), 4vw, var(--s-7));
    }
    .services-landing-card--featured .services-landing-card__title {
      font-size: clamp(var(--fs-2xl), 3.5vw, var(--fs-3xl));
    }
    .services-landing-card--featured .services-landing-card__desc {
      font-size: var(--fs-md);
      max-width: 64ch;
    }

    .services-landing-card--wide {
      padding: clamp(var(--s-5), 4vw, var(--s-7));
    }

    /* Growth Engine — premium treatment: gold-tinted border, deeper inner glow */
    .services-landing-card--premium {
      border-color: rgba(201, 168, 76, 0.4);
      background:
        linear-gradient(180deg, rgba(201, 168, 76, 0.04) 0%, transparent 60%),
        linear-gradient(180deg, var(--black-2) 0%, #100F0D 100%);
      padding: clamp(var(--s-5), 4vw, var(--s-7));
    }
    .services-landing-card--premium .services-landing-card__title {
      font-size: clamp(var(--fs-2xl), 3.5vw, var(--fs-3xl));
    }
    .services-landing-card__tag--premium {
      background: rgba(201, 168, 76, 0.12);
      border-color: rgba(201, 168, 76, 0.55);
      color: var(--gold-l);
    }

    /* Growth Engine signature — a gold "circuit" traced around the border.
       At rest it's a calm static arc that marks the flagship; on hover it
       powers up and the light travels around the edge (a literal nod to the
       "one connected system" copy). Pure CSS via a registered custom angle,
       reusing the masked edge-ring from .services-landing-card::after. The
       global reduced-motion kill-switch freezes the spin to a static ring. */
    @property --ring-angle {
      syntax: "<angle>";
      initial-value: 0deg;
      inherits: false;
    }
    .services-landing-card--premium::after {
      background: conic-gradient(
        from var(--ring-angle),
        rgba(201, 168, 76, 0) 0deg,
        rgba(201, 168, 76, 0.12) 70deg,
        rgba(232, 205, 142, 0.95) 110deg,
        rgba(201, 168, 76, 0.12) 150deg,
        rgba(201, 168, 76, 0) 220deg,
        rgba(201, 168, 76, 0) 360deg
      );
      /* Hidden at rest (a lone frozen arc would look lopsided on the wide
         banner); powers up and travels only on hover. */
    }
    .services-landing-card--premium:hover::after {
      opacity: 1;
      animation: ring-spin 4.5s linear infinite;
    }
    @keyframes ring-spin {
      to { --ring-angle: 360deg; }
    }

    /* ----- Pricing line inside cards ----- */
    .services-landing-card__price {
      font-family: var(--font-sans);
      font-size: var(--fs-sm);
      color: var(--off);
      margin: var(--s-2) 0 var(--s-2);
      padding-top: var(--s-2);
      border-top: 1px dashed var(--border);
      letter-spacing: 0.01em;
    }

    /* ----- Pricing note block at the bottom of the landing page ----- */
    .services-pricing-note {
      max-width: 720px;
      margin: 0 auto var(--s-6);
      padding: var(--s-4) var(--s-5);
      border-left: 2px solid var(--gold);
      background: rgba(255, 255, 255, 0.02);
    }
    .services-pricing-note .eyebrow { margin-bottom: var(--s-2); }
    .services-pricing-note p {
      font-size: var(--fs-sm);
      color: var(--muted);
      line-height: 1.6;
      margin: 0;
    }

    @media (max-width: 1024px) {
      .services-landing-grid--3 { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 768px) {
      .services-landing-grid,
      .services-landing-grid--3 { grid-template-columns: 1fr; }
      .services-group__head { gap: var(--s-3); }
    }

    /* ============================================================
       HOMEPAGE SERVICES — BENTO LAYOUT
       Six equal tiles on a 3-up grid (two tidy rows). No oversized
       anchor or banner — every package shares the same footprint so the
       eye reads them as peers; the Growth Engine flagship is singled out
       only by its gold border + travelling "circuit" ring, not by size.
       Collapses to 2-up at 1024px, single column at 768px.
       ============================================================ */
    .services-bento {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-auto-rows: minmax(248px, auto);
      gap: var(--s-4);
    }
    .services-bento .services-landing-card { min-height: 0; }
    /* Narrow tile columns wrap copy heavily; clamp every description to
       three lines so all six rows stay compact and uniform. */
    .services-bento .services-landing-card__desc {
      display: -webkit-box;
      -webkit-line-clamp: 3;
      line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    /* Flagship sits in a normal cell now: normalize its padding and title
       to peer scale (the premium border + ring still single it out). */
    .services-bento .services-landing-card--premium {
      padding: var(--s-5);
    }
    .services-bento .services-landing-card--premium .services-landing-card__title {
      font-size: var(--fs-2xl);
    }

    @media (max-width: 1024px) {
      .services-bento { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 768px) {
      .services-bento { grid-template-columns: 1fr; grid-auto-rows: auto; }
    }

    @media print {
      .site-header, .site-footer, .mobile-nav, .menu-toggle, .hero__cta,
      body::before, body::after, .article__related, .service-cta { display: none; }
      body { background: white; color: black; }
      .article__body { color: black; max-width: 100%; }
      .article__body h2, .article__body h3 { color: black; }
      .article__body a { color: #6a4c1a; }
    }

    /* ============================================================
       DISPLAY TYPEFACE MAP
       Space Grotesk owns every headline, card title, section number,
       nav link and accordion question — the geometric, confident
       "Silicon Valley startup" voice. Placed last so it wins by source
       order over the earlier per-element rules without re-declaring
       their size/weight (preserving the hero→section→card hierarchy).

       Deliberately EXCLUDED — these stay Cormorant Garamond italic, the
       elegant gold counterpoint Jeremy kept through every pruning. This
       includes EVERY gold section numeral (__num / __code / __cover-num):
       they are italic-gold accents, not display text, and Space Grotesk
       has no italic (would synthesize an oblique). Kept-serif set:
         .gold-accent · .serif · .commitment-card__initial
         .commitment-card__quote · .contact-cta__small em
         .article__body blockquote · .service-hero__sub
         .report-card__cover-num · .process__num · .service-hero__num
         .flow-diagram__num · .flow-diagram__caption-num
         .services-landing-card__num · .services-group__num · .error-page__code
       ============================================================ */
    .mobile-nav a,
    .focus__title,
    .founder__name,
    .bio-block__name,
    .report-card__title,
    .contact-form__title,
    .process__title,
    .care__title,
    .faq summary,
    .contact-cta__title,
    .article__title,
    .article__body h2,
    .article__body h3,
    .article__body summary,
    .blog-hero__title,
    .error-page__title,
    .service-cta__title,
    .services-landing-card__title,
    .services-group__title {
      font-family: var(--font-display);
    }

    /* ============================================================
       TYPOGRAPHY UPGRADE v4.1
       Two moves that codify the brand's type voice:

       1. Mono metadata layer (JetBrains Mono).
          Anything that's data — dates, prices, timelines, breadcrumbs,
          eyebrow labels, copyright — uses --font-mono. Applied to
          .eyebrow, .service-meta(-label), .article__meta(__breadcrumb),
          .report-card__meta, .hero__cta-note, .flow-diagram__caption-label,
          and .footer-bottom__copy. The contrast against the editorial
          serif headlines reads as "this team builds systems."

       2. Italic-as-signature (gold italic Cormorant).
          .gold-accent already uses italic Cormorant on every headline
          accent. Extended here to <em> inline emphasis sitewide and a
          .italic-gold utility. <strong> stays sans-serif (weight is the
          emphasis, not voice). Every page now has the same italic
          "moment" — a recognizable cadence across the brand.
       ============================================================ */
    em {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      color: var(--gold);
      letter-spacing: -0.005em;
    }
    /* But not inside legal pages — em there is part of policy prose,
       must inherit body styling to stay readable as long-form text. */
    .article__body em,
    article.article > .article__body em {
      font-family: var(--font-serif);
      font-style: italic;
      color: inherit;
      font-weight: inherit;
      letter-spacing: normal;
    }
    /* And bring it back on em that's INSIDE a gold-accent span (rare but
       possible) — those are already gold, just stay italic. */
    .gold-accent em { color: inherit; }

    /* Utility classes — opt in to the signature voice anywhere. */
    .italic-gold {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      color: var(--gold);
    }
    .mono { font-family: var(--font-mono); letter-spacing: 0.02em; }
    .mono-data {
      font-family: var(--font-mono);
      font-variant-numeric: tabular-nums;
      letter-spacing: 0.02em;
    }

    /* Service pricing line gets the mono treatment — these are data, not
       prose. Each service detail page has a single price line right under
       the "Pricing & timeline" heading. */
    h2#pricing-timeline + p strong,
    h2#pricing + p strong {
      font-family: var(--font-mono);
      font-weight: 500;
      letter-spacing: 0.01em;
      font-size: 0.95em;
    }

    /* ============================================================
       CARE SECTION — INVERTED (v4.2)
       The "after launch" section flips to a warm cream surface to
       create rhythm between the dark sales pages. Reads as a
       different chapter: "this is the boring-on-purpose long-term
       promise." Gold stays gold (works on both bgs). Eyebrow + plus
       bullets stay gold; headline + body shift to dark sepia.
       ============================================================ */
    .care {
      background:
        radial-gradient(ellipse 60% 50% at 80% 10%, rgba(201, 168, 76, 0.10) 0%, transparent 55%),
        #F5EFE0;
      color: #1c1814;
      border-top: 1px solid rgba(28, 24, 20, 0.08);
      border-bottom: 1px solid rgba(28, 24, 20, 0.08);
    }
    /* Eyebrow stays gold but a touch darker for cream contrast */
    .care .eyebrow {
      color: #8a6f2a;
    }
    /* Headline: dark sepia */
    .care__title {
      color: #15130F;
    }
    /* The gold-accent span inside the headline keeps the italic gold
       Cormorant treatment — gold reads great on cream too. Slightly
       deeper tone to match the eyebrow. */
    .care__title .gold-accent {
      color: #8a6f2a;
    }
    .care__lead {
      color: #5a544a;
    }
    /* Care list — items get a dark divider instead of the dark theme's
       light-on-dark border. */
    .care__list li {
      color: #2a2520;
      border-bottom-color: rgba(28, 24, 20, 0.12);
    }
    /* Plus-sign bullets: keep gold for brand cadence */
    .care__bullet::before,
    .care__bullet::after {
      background: #8a6f2a;
    }

    @media (prefers-reduced-motion: reduce) {
      .care { background: #F5EFE0; }
    }

    /* ============================================================
       SECTION POLISH v4.3 — Hero / Services / Systems / Process
       Treats each section as its own scene while keeping the brand
       voice unchanged. Pure CSS additions; no JS, no new fonts.
       ============================================================ */

    /* ---- HERO kicker ---- */
    .hero__kicker {
      display: inline-flex;
      align-items: center;
      gap: 0.6rem;
      font-family: var(--font-mono);
      font-size: var(--fs-xs);
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--gold);
      margin: 0 0 var(--s-4);
      opacity: 0;
      animation: fade-up 600ms cubic-bezier(0.2, 0.7, 0.2, 1) 250ms forwards;
    }
    .hero__kicker-tick {
      width: 18px;
      height: 1px;
      background: var(--gold);
      display: inline-block;
    }

    /* ---- HERO scroll cue ---- */
    .hero__scroll-cue {
      position: absolute;
      bottom: clamp(1.25rem, 5vh, 3rem);
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.6rem;
      opacity: 0;
      animation: fade-up 500ms cubic-bezier(0.2, 0.7, 0.2, 1) 1200ms forwards;
      pointer-events: none;
    }
    .hero__scroll-rule {
      width: 1px;
      height: 32px;
      background: linear-gradient(180deg, transparent 0%, rgba(201, 168, 76, 0.85) 100%);
      transform-origin: top;
      animation: hero-scroll-pulse 3.6s ease-in-out infinite;
    }
    .hero__scroll-label {
      font-family: var(--font-mono);
      font-size: 0.625rem;
      letter-spacing: 0.28em;
      color: rgba(201, 168, 76, 0.6);
    }
    @keyframes hero-scroll-pulse {
      0%, 100% { transform: scaleY(0.4); opacity: 0.5; }
      50%      { transform: scaleY(1);   opacity: 1; }
    }
    @media (prefers-reduced-motion: reduce) {
      .hero__scroll-rule { animation: none; transform: none; opacity: 0.7; }
      .hero__kicker { opacity: 1; animation: none; }
      .hero__scroll-cue { opacity: 0.7; animation: none; }
    }
    @media (max-width: 768px) {
      .hero__scroll-cue { display: none; }
    }

    /* ---- SERVICES grid: corner index + timeline strip + Start-here tag ---- */
    .services-landing-card {
      position: relative;
    }
    .services-landing-card__num {
      position: absolute;
      top: var(--s-3);
      left: var(--s-4);
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.18em;
      color: rgba(201, 168, 76, 0.55);
      font-variant-numeric: tabular-nums;
      pointer-events: none;
    }
    .services-landing-card:hover .services-landing-card__num {
      color: var(--gold);
    }
    /* Title needs to clear the corner index */
    .services-landing-card__title {
      margin-top: var(--s-3);
    }
    /* Timeline strip — bottom edge of the card, above the CTA */
    .services-landing-card__timeline {
      display: block;
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.18em;
      color: rgba(255, 255, 255, 0.45);
      text-transform: uppercase;
      padding-top: var(--s-3);
      margin-top: auto;
      border-top: 1px dashed rgba(255, 255, 255, 0.08);
      font-variant-numeric: tabular-nums;
    }
    .services-landing-card:hover .services-landing-card__timeline {
      color: var(--gold-l);
      border-top-color: rgba(201, 168, 76, 0.3);
    }
    /* CTA should sit BELOW the timeline strip — let flex order push it last */
    .services-landing-card__cta { order: 3; margin-top: var(--s-3); }
    .services-landing-card__timeline { order: 2; }
    .services-landing-card__title,
    .services-landing-card__desc { order: 1; }
    .services-landing-card {
      display: flex;
      flex-direction: column;
    }
    .services-landing-card__desc { flex: 1 1 auto; }

    /* "Start here" tag — italic gold pill in the top-right corner */
    .services-landing-card__tag {
      position: absolute;
      top: var(--s-3);
      right: var(--s-4);
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: 0.875rem;
      color: var(--gold);
      letter-spacing: -0.005em;
      pointer-events: none;
    }
    .services-landing-card__tag::before {
      content: "";
      display: inline-block;
      width: 10px;
      height: 1px;
      background: var(--gold);
      vertical-align: middle;
      margin-right: 0.4rem;
      transform: translateY(-1px);
    }

    /* Corner brackets — appear on hover (premium "watch face" detail) */
    .services-landing-card::after {
      content: "";
      position: absolute;
      inset: 6px;
      pointer-events: none;
      background:
        /* TL */
        linear-gradient(to right, var(--gold) 0 14px, transparent 14px) top left / 14px 1px no-repeat,
        linear-gradient(to bottom, var(--gold) 0 14px, transparent 14px) top left / 1px 14px no-repeat,
        /* TR */
        linear-gradient(to left,  var(--gold) 0 14px, transparent 14px) top right / 14px 1px no-repeat,
        linear-gradient(to bottom, var(--gold) 0 14px, transparent 14px) top right / 1px 14px no-repeat,
        /* BL */
        linear-gradient(to right, var(--gold) 0 14px, transparent 14px) bottom left / 14px 1px no-repeat,
        linear-gradient(to top,   var(--gold) 0 14px, transparent 14px) bottom left / 1px 14px no-repeat,
        /* BR */
        linear-gradient(to left,  var(--gold) 0 14px, transparent 14px) bottom right / 14px 1px no-repeat,
        linear-gradient(to top,   var(--gold) 0 14px, transparent 14px) bottom right / 1px 14px no-repeat;
      opacity: 0;
      transition: opacity var(--t-base);
    }
    .services-landing-card:hover::after { opacity: 0.65; }

    /* ---- SYSTEMS: STEP N / N annotation at base of each step ---- */
    .flow-diagram__step-num {
      display: block;
      margin-top: var(--s-2);
      font-family: var(--font-mono);
      font-size: 0.625rem;
      letter-spacing: 0.22em;
      color: rgba(255, 255, 255, 0.35);
      text-transform: uppercase;
      font-variant-numeric: tabular-nums;
    }
    @media (max-width: 768px) {
      .flow-diagram__step-num { font-size: 0.6875rem; }
    }

    /* ---- PROCESS: asymmetry, timeline rule, PHASE labels ---- */
    /* Container relative so the vertical timeline rule can position. */
    .process__steps {
      position: relative;
    }
    /* Faint vertical hairline gold rule running down the center, connecting
       all five steps. Subtle — present as a structural cue, not a graphic. */
    .process__steps::before {
      content: "";
      position: absolute;
      top: 1.5rem;
      bottom: 1.5rem;
      left: 50%;
      width: 1px;
      background: linear-gradient(180deg,
        transparent 0%,
        rgba(201, 168, 76, 0.18) 8%,
        rgba(201, 168, 76, 0.18) 92%,
        transparent 100%);
      pointer-events: none;
      z-index: 0;
    }
    .process__step { position: relative; z-index: 1; }

    /* Push the giant numeral further into the margin so it hangs as an
       editorial drop. Already italic gold serif — just give it more room. */
    .process__step--left {
      grid-template-columns: minmax(120px, auto) 1fr;
      gap: var(--s-6);
    }
    .process__step--right {
      grid-template-columns: 1fr minmax(120px, auto);
      gap: var(--s-6);
    }
    .process__num {
      font-size: clamp(4rem, 8vw, 7.5rem) !important;
      line-height: 0.85 !important;
      opacity: 0.92;
    }

    /* PHASE 0X · DURATION mono kicker above each step title */
    .process__phase {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.18em;
      color: rgba(201, 168, 76, 0.6);
      text-transform: uppercase;
      margin: 0 0 var(--s-2);
      font-variant-numeric: tabular-nums;
    }
    .process__step--right .process__phase {
      justify-content: flex-end;
      align-self: flex-end;
    }

    @media (max-width: 768px) {
      /* On mobile the steps stack and the center rule has no spine to ride
         against the asymmetric layout — drop it. */
      .process__steps::before { display: none; }
      .process__step,
      .process__step--right { grid-template-columns: auto 1fr; }
      .process__step--right .process__phase { justify-content: flex-start; }
    }

    /* ============================================================
       SECTION OVERHAULS v4.4 — Services / Process / FAQ / Contact
       Different visual architecture per section. The brand voice
       (gold, italic Cormorant, mono labels) stays. The layouts
       diverge so the page stops reading as one repeated template.
       ============================================================ */

    /* ---- 1. SERVICES as a catalog list (replaces 6-card grid) ---- */
    /* v4.7 — wider rows with more vertical breathing room; numerals get
       more weight; description column expands across the full width. */
    .services-list {
      list-style: none;
      padding: 0;
      margin: 0;
      max-width: none;
      border-top: 1px solid rgba(201, 168, 76, 0.18);
    }
    .services-list > li { border-bottom: 1px solid rgba(201, 168, 76, 0.18); }
    .services-row {
      display: grid;
      grid-template-columns: clamp(80px, 8vw, 120px) minmax(0, 1fr) 160px 36px;
      align-items: center;
      gap: clamp(var(--s-4), 4vw, var(--s-7));
      padding: clamp(var(--s-5), 5vw, var(--s-8)) clamp(var(--s-3), 3vw, var(--s-5));
      color: var(--off);
      text-decoration: none;
      position: relative;
      isolation: isolate;
    }
    /* Hover wash — warm gold film that animates in from the left */
    .services-row::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(201, 168, 76, 0.06) 0%, transparent 60%);
      opacity: 0;
      transition: opacity 240ms ease-out;
      z-index: -1;
    }
    .services-row:hover::before,
    .services-row:focus-visible::before { opacity: 1; }

    .services-row__num {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(3.5rem, 6vw, 5.5rem);
      line-height: 0.85;
      color: rgba(201, 168, 76, 0.45);
      letter-spacing: -0.03em;
      font-variant-numeric: tabular-nums;
      transition: color 240ms ease-out;
    }
    .services-row:hover .services-row__num { color: var(--gold); }

    .services-row__main { min-width: 0; }
    .services-row__title {
      font-family: var(--font-serif);
      font-size: clamp(1.75rem, 3vw, 2.5rem);
      font-weight: 500;
      line-height: 1.1;
      letter-spacing: -0.015em;
      margin: 0 0 var(--s-2);
      color: var(--off);
      display: flex;
      align-items: baseline;
      gap: 0.75rem;
      flex-wrap: wrap;
    }
    .services-row__title .gold-accent { font-size: inherit; }
    .services-row__tag {
      display: inline-block;
      font-family: var(--font-mono);
      font-size: 0.625rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      padding: 2px 8px;
      border: 1px solid rgba(201, 168, 76, 0.35);
      border-radius: 2px;
      transform: translateY(-2px);
    }
    .services-row__desc {
      font-family: var(--font-sans);
      font-size: clamp(0.9375rem, 1.15vw, 1.0625rem);
      line-height: 1.6;
      color: var(--muted);
      max-width: 70ch;
      margin: 0;
    }
    .services-row__timeline {
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.45);
      text-align: right;
      font-variant-numeric: tabular-nums;
      transition: color 240ms ease-out;
    }
    .services-row:hover .services-row__timeline { color: var(--gold-l); }

    .services-row__arrow {
      justify-self: end;
      color: rgba(201, 168, 76, 0.5);
      transition: transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1), color 240ms ease-out;
    }
    .services-row:hover .services-row__arrow {
      color: var(--gold);
      transform: translateX(6px);
    }

    /* Premium row (Growth Engine) — subtle gold underglow */
    .services-row--premium::after {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 30% 80% at 92% 50%, rgba(201, 168, 76, 0.10) 0%, transparent 60%);
      pointer-events: none;
      z-index: -1;
    }

    @media (max-width: 768px) {
      .services-row {
        grid-template-columns: 44px 1fr;
        grid-template-rows: auto auto;
        row-gap: 0.5rem;
      }
      .services-row__num { grid-row: 1 / span 2; font-size: 2.5rem; }
      .services-row__main { grid-column: 2; grid-row: 1; }
      .services-row__timeline {
        grid-column: 2;
        grid-row: 2;
        text-align: left;
      }
      .services-row__arrow { display: none; }
    }

    /* ---- 2. PROCESS as chapter spreads (replaces stepped grid) ---- */
    .process-spreads {
      list-style: none;
      padding: 0;
      margin: var(--s-9) 0 0;
      max-width: none;
    }
    .process-spread {
      position: relative;
      min-height: clamp(420px, 65vh, 640px);
      display: flex;
      align-items: center;
      padding: clamp(var(--s-7), 8vw, var(--s-10)) var(--container-pad);
      overflow: hidden;
    }
    .process-spread + .process-spread {
      border-top: 1px solid rgba(201, 168, 76, 0.10);
    }
    /* The numeral is the background art. Sized to dominate the column
       behind the content but ALWAYS fully visible — never clipped. */
    /* Numeral uses Space Grotesk upright instead of italic Cormorant so it
       doesn't compete with the italic serif title beside it. Tighter,
       geometric, sits as architecture behind the prose. */
    .process-spread__num {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      font-family: var(--font-serif);
      font-style: normal;
      font-weight: 500;
      font-size: clamp(8rem, 18vw, 15rem);
      line-height: 0.85;
      letter-spacing: -0.06em;
      color: rgba(201, 168, 76, 0.10);
      pointer-events: none;
      user-select: none;
      font-variant-numeric: tabular-nums;
      z-index: 0;
      transition: color 600ms ease-out;
    }
    /* Position numerals WELL INSIDE the section (3–6vw from edge) so both
       digits are always fully visible regardless of viewport width. */
    .process-spread--left .process-spread__num {
      left: clamp(var(--s-4), 4vw, var(--s-7));
    }
    .process-spread--right .process-spread__num {
      right: clamp(var(--s-4), 4vw, var(--s-7));
    }
    .process-spread.is-in .process-spread__num { color: rgba(201, 168, 76, 0.20); }

    /* Content sits in a centered column, biased to the opposite side
       from the numeral. Body never overlaps the numeral. */
    .process-spread__body {
      position: relative;
      z-index: 1;
      max-width: 540px;
      width: 100%;
    }
    .process-spread--left .process-spread__body {
      margin-left: auto;
      margin-right: 0;
    }
    .process-spread--right .process-spread__body {
      margin-left: 0;
      margin-right: auto;
    }
    /* Wrap content so it doesn't crowd the centered max-width */
    .process-spreads {
      max-width: 1280px;
      margin: var(--s-9) auto 0;
      padding: 0;
    }

    .process-spread__phase {
      display: inline-flex;
      align-items: center;
      gap: 0.6rem;
      font-family: var(--font-mono);
      font-size: 0.75rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      margin: 0 0 var(--s-3);
      font-variant-numeric: tabular-nums;
    }
    .process-spread__phase::before {
      content: "";
      width: 24px;
      height: 1px;
      background: var(--gold);
      display: inline-block;
    }
    .process-spread__title {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(3rem, 7vw, 5.5rem);
      line-height: 0.95;
      letter-spacing: -0.025em;
      color: var(--off);
      margin: 0 0 var(--s-4);
    }
    .process-spread__desc {
      font-family: var(--font-sans);
      font-size: clamp(1rem, 1.25vw, 1.125rem);
      line-height: 1.65;
      color: var(--muted);
      margin: 0;
      max-width: 50ch;
    }

    @media (max-width: 768px) {
      .process-spread { min-height: 0; padding: var(--s-6) 0; }
      .process-spread__num {
        position: relative;
        top: auto;
        transform: none;
        display: block;
        margin-bottom: -1rem;
        font-size: clamp(7rem, 22vw, 11rem);
      }
      .process-spread--left .process-spread__num,
      .process-spread--right .process-spread__num {
        left: auto; right: auto;
        text-align: left;
      }
      .process-spread--left .process-spread__body,
      .process-spread--right .process-spread__body {
        margin: 0;
        max-width: 100%;
      }
    }

    /* Hide the legacy timeline rule from v4.3 — chapter spreads replace it. */
    .process__steps,
    .process__step,
    .process__num,
    .process__phase,
    .process__title,
    .process__desc { display: none; }

    /* ---- 3. FAQ as two-column Q&A (replaces accordion) ---- */
    .faq-grid {
      margin: var(--s-8) auto 0;
      max-width: 1120px;
      padding: 0;
    }
    .faq-grid__row {
      display: grid;
      grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
      gap: clamp(var(--s-4), 5vw, var(--s-8));
      padding: clamp(var(--s-4), 3vw, var(--s-6)) 0;
      border-top: 1px solid rgba(255, 255, 255, 0.06);
    }
    .faq-grid__row:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.06); }

    .faq-grid__q {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: var(--s-2);
      align-items: baseline;
      text-align: right;
      justify-content: end;
      margin: 0;
    }
    .faq-grid__num {
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      color: var(--gold);
      text-transform: uppercase;
      font-variant-numeric: tabular-nums;
      align-self: flex-start;
      padding-top: 0.4rem;
    }
    .faq-grid__qtext {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(1.15rem, 1.8vw, 1.65rem);
      line-height: 1.15;
      color: var(--off);
      letter-spacing: -0.012em;
    }

    /* No side-stripe border — column spacing alone separates Q from A. */
    .faq-grid__a {
      font-family: var(--font-sans);
      font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
      line-height: 1.7;
      color: var(--muted);
      margin: 0;
      max-width: 62ch;
    }
    /* Gold italic inline emphasis already handled by the global em rule. */

    @media (max-width: 768px) {
      .faq-grid__row {
        grid-template-columns: 1fr;
        gap: var(--s-3);
      }
      .faq-grid__q {
        text-align: left;
        justify-content: start;
      }
      .faq-grid__a {
        padding-top: var(--s-2);
      }
    }

    /* Hide the legacy .faq__list only — the new <details class="faq-card">
       elements need to render. */
    .faq__list { display: none; }

    /* ---- 4. CONTACT as a letter (replaces 2-column info + CTA card) ---- */
    .contact-letter-section {
      padding: clamp(var(--s-9), 12vw, var(--s-12)) 0;
      background:
        radial-gradient(ellipse 50% 40% at 50% 0%, rgba(201, 168, 76, 0.06) 0%, transparent 60%),
        var(--bg-hero);
    }
    .contact-letter {
      max-width: 60ch;
      margin: 0 auto;
      padding: clamp(var(--s-5), 4vw, var(--s-7)) 0;
      text-align: left;
      position: relative;
    }
    .contact-letter__stamp {
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(201, 168, 76, 0.7);
      margin: 0 0 clamp(var(--s-5), 5vw, var(--s-7));
      padding-bottom: var(--s-3);
      border-bottom: 1px solid rgba(201, 168, 76, 0.18);
    }
    .contact-letter__opener {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(2.25rem, 5vw, 3.75rem);
      line-height: 1.05;
      letter-spacing: -0.02em;
      color: var(--off);
      margin: 0 0 clamp(var(--s-5), 4vw, var(--s-7));
      max-width: 16ch;
    }
    .contact-letter__body p {
      font-family: var(--font-sans);
      font-size: clamp(1rem, 1.2vw, 1.125rem);
      line-height: 1.75;
      color: var(--off);
      margin: 0 0 var(--s-4);
      max-width: 56ch;
    }
    .contact-letter__body a {
      color: var(--gold);
      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 3px;
      text-decoration-color: rgba(201, 168, 76, 0.4);
      transition: text-decoration-color var(--t-base);
    }
    .contact-letter__body a:hover {
      text-decoration-color: var(--gold);
    }

    .contact-letter__sig {
      margin-top: var(--s-6);
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
    }
    .contact-letter__sig > span:first-child {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(1.25rem, 1.8vw, 1.5rem);
      color: var(--gold);
      letter-spacing: -0.005em;
    }
    .contact-letter__sig-meta {
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--muted-2);
    }

    .contact-letter__rule {
      height: 1px;
      width: 80px;
      background: linear-gradient(90deg, var(--gold), transparent);
      margin: clamp(var(--s-5), 4vw, var(--s-7)) 0;
    }

    .contact-letter__action {
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
      align-items: flex-start;
    }
    .contact-letter__action-note {
      font-family: var(--font-sans);
      font-size: 0.875rem;
      color: var(--muted);
      margin: 0;
      line-height: 1.6;
    }

    @media (max-width: 768px) {
      .contact-letter { padding-inline: 0; }
      .contact-letter__opener { max-width: 100%; }
    }

    /* Hide legacy contact-grid / contact-info / contact-cta if anything stayed. */
    .contact-grid, .contact-info, .contact-cta { display: none; }

    /* ============================================================
       SECTION OVERHAULS v4.5 — About / Insights / Systems
       Three more architectural rewrites. The brand voice stays
       (gold + italic Cormorant + mono). The layouts diverge so
       the page keeps presenting new visual worlds.
       ============================================================ */

    /* ---- 5. ABOUT as a byline spread (photo left, prose right) ---- */
    .about-byline {
      background: var(--bg-about);
      padding: clamp(var(--s-9), 12vw, var(--s-12)) 0;
    }
    /* Standard centered container with padding on BOTH sides. The asymmetry
       comes from the 5/7 column split + content alignment, not from breaking
       the container. */
    .about-byline__inner {
      display: grid;
      grid-template-columns: 5fr 7fr;
      max-width: 1240px;
      margin: 0 auto;
      gap: clamp(var(--s-5), 5vw, var(--s-8));
      align-items: center;
      padding: 0 var(--container-pad);
    }
    .about-byline__photo {
      margin: 0;
      position: relative;
      overflow: visible; /* cream backing panel needs to peek out */
      aspect-ratio: 4 / 5;
      background: var(--black-2);
      border: 1px solid rgba(255, 255, 255, 0.06);
    }
    .about-byline__photo img {
      clip-path: inset(0); /* keep the photo itself rectangular */
    }
    .about-byline__photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 25%;
      display: block;
    }

    .about-byline__body {
      max-width: 560px;
    }
    /* Italic serif byline mark (varies from the mono kicker pattern that
       services / insights / schematic / FAQ all share). */
    .about-byline__stamp {
      display: flex;
      align-items: baseline;
      gap: 0.6em;
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: 1.125rem;
      color: var(--gold);
      margin: 0 0 var(--s-5);
      letter-spacing: -0.005em;
    }
    .about-byline__stamp-num {
      font-family: var(--font-mono);
      font-style: normal;
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(201, 168, 76, 0.55);
      transform: translateY(-1px);
    }
    .about-byline__stamp::after {
      content: "";
      flex: 1;
      height: 1px;
      background: linear-gradient(90deg, rgba(201, 168, 76, 0.5), transparent);
      align-self: center;
      margin-left: var(--s-2);
    }

    .about-byline__name {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(3rem, 6.5vw, 5.5rem);
      line-height: 0.95;
      letter-spacing: -0.025em;
      color: var(--off);
      margin: 0 0 var(--s-2);
    }
    .about-byline__role {
      font-family: var(--font-mono);
      font-size: 0.75rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.55);
      margin: 0 0 var(--s-6);
    }
    /* Pull-quote: hanging serif quote mark instead of a side-stripe accent.
       Side-stripe borders above 1px are a banned design pattern. */
    .about-byline__pull {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(1.6rem, 2.6vw, 2.25rem);
      line-height: 1.2;
      color: var(--gold);
      margin: 0 0 var(--s-6);
      padding-left: 1.8em;
      max-width: 42ch;
      position: relative;
      text-indent: -0.35em;
      quotes: "\201C" "\201D";
    }
    .about-byline__pull::before {
      content: open-quote;
      position: absolute;
      left: 0;
      top: -0.15em;
      font-size: 3.5em;
      line-height: 1;
      color: rgba(201, 168, 76, 0.4);
      font-style: normal;
      pointer-events: none;
    }
    .about-byline__bio {
      font-family: var(--font-sans);
      font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
      line-height: 1.7;
      color: var(--muted);
      margin: 0 0 var(--s-6);
      max-width: 60ch;
    }
    .about-byline__links {
      display: flex;
      flex-direction: column;
      gap: var(--s-3);
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      padding-top: var(--s-4);
    }
    .about-byline__link {
      display: grid;
      grid-template-columns: 48px 1fr;
      align-items: baseline;
      gap: var(--s-3);
      font-family: var(--font-sans);
      font-size: 0.9375rem;
      color: var(--off);
      text-decoration: none;
      padding: 0.35rem 0;
      transition: color var(--t-base);
    }
    .about-byline__link-num {
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      color: var(--gold);
      text-transform: uppercase;
      font-variant-numeric: tabular-nums;
    }
    .about-byline__link::after {
      content: "→";
      font-family: var(--font-sans);
      color: var(--gold);
      margin-left: 0.4rem;
      transition: transform var(--t-base);
      display: inline-block;
    }
    .about-byline__link:hover { color: var(--gold); }
    .about-byline__link:hover::after { transform: translateX(4px); }

    @media (max-width: 900px) {
      .about-byline__inner {
        grid-template-columns: 1fr;
        gap: var(--s-6);
      }
      .about-byline__photo {
        aspect-ratio: 4 / 3;
        max-width: 480px;
        margin: 0 auto;
      }
      .about-byline__body { max-width: 100%; }
    }

    /* Hide legacy About patterns (founders-grid + cta-center under this section). */
    #about .founders-grid,
    #about .cta-center,
    #about .section-head { display: none; }

    /* ---- 6. INSIGHTS as featured + TOC (replaces 3-card grid) ---- */
    .insights-feature {
      max-width: 1180px;
      margin: var(--s-8) auto 0;
      display: grid;
      gap: clamp(var(--s-5), 4vw, var(--s-7));
    }

    /* ----- The feature hero ----- */
    .insights-feature__main {
      position: relative;
      display: block;
      aspect-ratio: 16 / 9;
      overflow: hidden;
      border: 1px solid rgba(201, 168, 76, 0.18);
      text-decoration: none;
      isolation: isolate;
    }
    .insights-feature__img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
      transition: transform 800ms cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .insights-feature__main:hover .insights-feature__img { transform: scale(1.04); }
    /* Dark gradient anchors the headline at the bottom over any image */
    .insights-feature__main::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(10, 9, 7, 0.05) 0%, rgba(10, 9, 7, 0.4) 50%, rgba(10, 9, 7, 0.92) 100%);
      z-index: 1;
      pointer-events: none;
    }
    .insights-feature__overlay {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2;
      padding: clamp(var(--s-5), 5vw, var(--s-8));
      color: var(--off);
    }
    .insights-feature__meta {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      flex-wrap: wrap;
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      margin: 0 0 var(--s-3);
      font-variant-numeric: tabular-nums;
    }
    .insights-feature__meta-sep { color: rgba(201, 168, 76, 0.5); }
    .insights-feature__title {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(2rem, 4.5vw, 3.75rem);
      line-height: 1.0;
      letter-spacing: -0.025em;
      color: var(--off);
      margin: 0 0 var(--s-3);
      max-width: 22ch;
    }
    .insights-feature__title .gold-accent { font-size: inherit; }
    .insights-feature__excerpt {
      font-family: var(--font-sans);
      font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
      line-height: 1.55;
      color: rgba(255, 255, 255, 0.78);
      margin: 0 0 var(--s-4);
      max-width: 56ch;
    }
    .insights-feature__cta {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
    }
    .insights-feature__main:hover .insights-feature__cta svg {
      transform: translateX(4px);
      transition: transform 240ms ease-out;
    }

    /* ----- The TOC ----- */
    .insights-toc {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .insights-toc__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 0 var(--s-3);
      border-bottom: 1px solid rgba(201, 168, 76, 0.25);
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(201, 168, 76, 0.7);
    }
    .insights-toc__all {
      color: var(--gold);
      text-decoration: none;
    }
    .insights-toc__all:hover { color: var(--gold-l); }

    .insights-toc__row {
      display: grid;
      grid-template-columns: 120px minmax(0, 1fr) 70px 24px;
      align-items: center;
      gap: clamp(var(--s-3), 3vw, var(--s-5));
      padding: clamp(var(--s-3), 2vw, var(--s-4)) 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      color: var(--off);
      text-decoration: none;
      transition: color 240ms ease-out;
    }
    .insights-toc > li:last-child .insights-toc__row { border-bottom: 0; }
    /* No layout shift on hover — only the arrow and color animate. */
    .insights-toc__row:hover .insights-toc__title { color: var(--gold); }
    .insights-toc__row:hover .insights-toc__arrow {
      color: var(--gold);
      transform: translateX(6px);
    }
    .insights-toc__date {
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      font-variant-numeric: tabular-nums;
    }
    .insights-toc__title {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(1.2rem, 1.8vw, 1.65rem);
      line-height: 1.15;
      margin: 0;
      color: var(--off);
      letter-spacing: -0.012em;
    }
    .insights-toc__title em {
      font-family: var(--font-serif);
      font-style: italic;
      color: var(--gold);
    }
    .insights-toc__read {
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.5);
      text-align: right;
      font-variant-numeric: tabular-nums;
    }
    .insights-toc__arrow {
      color: rgba(201, 168, 76, 0.5);
      justify-self: end;
      transition: transform 240ms cubic-bezier(0.2, 0.7, 0.2, 1), color 240ms ease-out;
    }

    @media (max-width: 768px) {
      .insights-toc__row {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
        row-gap: 0.35rem;
      }
      .insights-toc__date { grid-row: 1; grid-column: 1; }
      .insights-toc__title { grid-row: 2; grid-column: 1 / -1; }
      .insights-toc__read { grid-row: 1; grid-column: 2; text-align: right; }
      .insights-toc__arrow { display: none; }
    }

    /* ---- 7. SYSTEMS as schematic blueprint (replaces flow-diagram) ---- */
    .schematic {
      position: relative;
      margin: var(--s-7) 0 0;
      padding: clamp(var(--s-6), 4vw, var(--s-9)) clamp(var(--s-4), 4vw, var(--s-7));
      background: #0a0907;
      border: 1px solid rgba(201, 168, 76, 0.18);
      overflow: hidden;
      isolation: isolate;
    }
    .schematic + .schematic { margin-top: var(--s-6); }

    /* Grid paper background — 1px gold lines every 40px, very subtle */
    .schematic__grid {
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(201, 168, 76, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(201, 168, 76, 0.05) 1px, transparent 1px),
        linear-gradient(rgba(201, 168, 76, 0.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(201, 168, 76, 0.10) 1px, transparent 1px);
      background-size: 20px 20px, 20px 20px, 100px 100px, 100px 100px;
      background-position: 0 0, 0 0, 0 0, 0 0;
      pointer-events: none;
      z-index: 0;
      mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 50%, transparent 100%);
    }

    /* FIG corner stamp — top-left */
    .schematic__fig {
      position: absolute;
      top: clamp(var(--s-3), 2vw, var(--s-4));
      left: clamp(var(--s-3), 2vw, var(--s-4));
      display: flex;
      align-items: center;
      gap: 0.6rem;
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      margin: 0;
      z-index: 2;
      font-variant-numeric: tabular-nums;
    }
    .schematic__fig-id { color: var(--gold); }
    .schematic__fig-rule {
      width: 28px;
      height: 1px;
      background: var(--gold);
      display: inline-block;
    }
    .schematic__fig-name { color: rgba(201, 168, 76, 0.7); }

    /* Top-right meta stamp */
    .schematic__corner {
      position: absolute;
      top: clamp(var(--s-3), 2vw, var(--s-4));
      right: clamp(var(--s-3), 2vw, var(--s-4));
      font-family: var(--font-mono);
      font-size: 0.625rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(201, 168, 76, 0.55);
      margin: 0;
      z-index: 2;
      font-variant-numeric: tabular-nums;
    }

    /* Screen-reader only caption */
    .schematic__sr {
      position: absolute;
      width: 1px; height: 1px;
      padding: 0; margin: -1px; overflow: hidden;
      clip: rect(0,0,0,0); border: 0;
    }

    /* The node row */
    .schematic__nodes {
      list-style: none;
      padding: 0;
      margin: clamp(var(--s-7), 6vw, var(--s-9)) 0 var(--s-3);
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 1fr;
      gap: 0;
      position: relative;
      z-index: 1;
    }

    .schematic__node {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      position: relative;
      padding: 0 var(--s-2);
    }

    /* Circular numbered node */
    .schematic__node-circle {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: #0a0907;
      border: 1px solid rgba(201, 168, 76, 0.55);
      display: grid;
      place-items: center;
      font-family: var(--font-mono);
      font-weight: 500;
      font-size: 0.875rem;
      letter-spacing: 0.06em;
      color: var(--gold);
      box-shadow: 0 0 0 4px #0a0907, 0 0 24px -8px rgba(201, 168, 76, 0.35);
      font-variant-numeric: tabular-nums;
      position: relative;
      z-index: 2;
    }
    .schematic__node--terminal .schematic__node-circle {
      background: rgba(201, 168, 76, 0.12);
      border-color: var(--gold);
      color: var(--gold-l);
    }

    /* Vertical leader line connecting circle down to label */
    .schematic__node::before {
      content: "";
      position: absolute;
      top: 64px;
      left: 50%;
      width: 1px;
      height: 18px;
      background: linear-gradient(180deg, rgba(201, 168, 76, 0.55), transparent);
      transform: translateX(-50%);
    }

    /* Dashed gold connector to the next node */
    .schematic__node::after {
      content: "";
      position: absolute;
      top: 32px;
      left: calc(50% + 38px);
      right: calc(-50% + 38px);
      height: 1px;
      background-image: linear-gradient(to right, rgba(201, 168, 76, 0.65) 50%, transparent 50%);
      background-size: 10px 1px;
      background-repeat: repeat-x;
      z-index: 1;
    }
    .schematic__node:last-child::after { display: none; }

    .schematic__node-label {
      margin: var(--s-4) 0 var(--s-2);
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(1.1rem, 1.6vw, 1.4rem);
      line-height: 1.15;
      color: var(--off);
      letter-spacing: -0.012em;
    }
    /* Let the description use the full column width — 18ch caused awkward
       line breaks that fought the diagram's precision. */
    .schematic__node-desc {
      margin: 0 auto;
      font-family: var(--font-sans);
      font-size: 0.8125rem;
      line-height: 1.55;
      color: var(--muted);
      max-width: 22ch;
      padding: 0 var(--s-1);
    }

    @media (max-width: 768px) {
      .schematic {
        padding: clamp(var(--s-5), 6vw, var(--s-7)) var(--s-4);
      }
      .schematic__nodes {
        grid-auto-flow: row;
        grid-auto-columns: 1fr;
        gap: var(--s-5);
      }
      .schematic__node {
        flex-direction: row;
        align-items: flex-start;
        text-align: left;
        gap: var(--s-3);
        padding: 0;
      }
      .schematic__node-circle { flex-shrink: 0; }
      .schematic__node-label { margin: 0 0 0.25rem; }
      .schematic__node-desc { max-width: 100%; }
      /* Replace the horizontal connector with a vertical dashed line down
         the left side, anchored to each circle. */
      .schematic__node::before { display: none; }
      .schematic__node::after {
        top: 64px;
        bottom: -32px;
        left: 32px;
        right: auto;
        width: 1px;
        height: auto;
        background-image: linear-gradient(180deg, rgba(201, 168, 76, 0.55) 50%, transparent 50%);
        background-size: 1px 8px;
        background-repeat: repeat-y;
      }
      .schematic__corner { display: none; }
    }

    /* Hide the legacy flow-diagram entirely. */
    .flow-diagram, .flow-diagram__caption, .flow-diagram__steps,
    .flow-diagram__step, .flow-diagram__icon, .flow-diagram__label,
    .flow-diagram__desc, .flow-diagram__step-num { display: none; }

    /* ============================================================
       VISUAL POLISH v4.6 — Cream incorporation
       Three more cream surfaces: Insights (publication/reading
       material), Contact (warm close), and a cream backing panel
       behind the About photo. Establishes a clear tonal arc:
       dark sales → cream reading → cream promise → cream close.
       ============================================================ */

    /* ---- Cream Contact surface ---- */
    /* Use ID + class to beat the legacy `#contact { background: ... }`
       rule that lives elsewhere in this stylesheet. */
    #contact.contact-letter-section {
      background:
        radial-gradient(ellipse 60% 40% at 80% 0%, rgba(201, 168, 76, 0.10) 0%, transparent 55%),
        #F5EFE0;
      color: #1c1814;
      border-top: 1px solid rgba(28, 24, 20, 0.08);
    }
    .contact-letter-section {
      background:
        radial-gradient(ellipse 60% 40% at 80% 0%, rgba(201, 168, 76, 0.10) 0%, transparent 55%),
        #F5EFE0;
    }
    .contact-letter__stamp {
      color: #8a6f2a;
      border-bottom-color: rgba(28, 24, 20, 0.18);
    }
    .contact-letter__opener {
      color: #15130F;
    }
    .contact-letter__opener .gold-accent {
      color: #8a6f2a;
    }
    .contact-letter__body p {
      color: #2a2520;
    }
    .contact-letter__body a {
      color: #8a6f2a;
      text-decoration-color: rgba(138, 111, 42, 0.45);
    }
    .contact-letter__body a:hover {
      text-decoration-color: #8a6f2a;
    }
    .contact-letter__body em {
      color: #8a6f2a;
    }
    .contact-letter__sig > span:first-child {
      color: #8a6f2a;
    }
    .contact-letter__sig-meta {
      color: rgba(28, 24, 20, 0.5);
    }
    .contact-letter__rule {
      background: linear-gradient(90deg, #8a6f2a, transparent);
    }
    .contact-letter__action-note {
      color: rgba(28, 24, 20, 0.65);
    }
    .contact-letter__action-note em {
      color: #8a6f2a;
    }

    /* ---- Cream Insights surface ---- */
    #insights {
      background:
        radial-gradient(ellipse 60% 40% at 20% 0%, rgba(201, 168, 76, 0.08) 0%, transparent 55%),
        #F5EFE0;
      color: #1c1814;
      border-top: 1px solid rgba(28, 24, 20, 0.08);
      border-bottom: 1px solid rgba(28, 24, 20, 0.08);
    }
    #insights .eyebrow { color: #8a6f2a; }
    #insights .section-head__title { color: #15130F; }
    #insights .section-head__title .gold-accent { color: #8a6f2a; }
    #insights .section-head__lead { color: #5a544a; }

    /* Feature card: keep the dark image with overlay (it carries the
       blog post's mood). Tighten contrast around it. */
    .insights-feature__main {
      border-color: rgba(28, 24, 20, 0.18);
    }

    /* TOC: cream-tuned dividers and text colors */
    .insights-toc__head {
      color: #8a6f2a;
      border-bottom-color: rgba(28, 24, 20, 0.25);
    }
    .insights-toc__all { color: #8a6f2a; }
    .insights-toc__all:hover { color: #5a4519; }
    .insights-toc__row {
      color: #1c1814;
      border-bottom-color: rgba(28, 24, 20, 0.14);
    }
    .insights-toc__date {
      color: #8a6f2a;
    }
    .insights-toc__title {
      color: #15130F;
    }
    .insights-toc__title em {
      color: #8a6f2a;
    }
    .insights-toc__read {
      color: rgba(28, 24, 20, 0.5);
    }
    .insights-toc__arrow {
      color: rgba(138, 111, 42, 0.55);
    }
    .insights-toc__row:hover .insights-toc__title { color: #8a6f2a; }
    .insights-toc__row:hover .insights-toc__arrow {
      color: #8a6f2a;
    }

    /* ---- About: cream backing panel peeking from behind the photo ---- */
    .about-byline__photo {
      isolation: isolate;
    }
    .about-byline__photo::before {
      content: "";
      position: absolute;
      top: clamp(20px, 4vw, 36px);
      right: clamp(-20px, -3vw, -36px);
      bottom: clamp(-20px, -3vw, -36px);
      left: clamp(20px, 4vw, 36px);
      background: #F5EFE0;
      z-index: -1;
      border: 1px solid rgba(201, 168, 76, 0.25);
    }
    /* On narrow screens, drop the backing panel to keep the photo clean */
    @media (max-width: 900px) {
      .about-byline__photo::before { display: none; }
    }

    /* ============================================================
       SECTION META BARS v4.7 — BASIC/DEPT-inspired counters
       Each major section opens with a horizontal rule + section
       number + total + dot. Establishes a sense of position and
       gives every section a unified left-edge anchor without
       fighting the existing eyebrow + headline pattern.
       ============================================================ */
    .section-meta {
      display: flex;
      align-items: center;
      gap: var(--s-3);
      padding-bottom: var(--s-4);
      margin-bottom: var(--s-6);
      border-bottom: 1px solid rgba(201, 168, 76, 0.18);
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      font-variant-numeric: tabular-nums;
    }
    .section-meta__rule {
      width: clamp(40px, 6vw, 80px);
      height: 1px;
      background: var(--gold);
      display: inline-block;
      flex-shrink: 0;
    }
    .section-meta__num {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: 1.625rem;
      letter-spacing: -0.02em;
      color: var(--gold);
      line-height: 1;
      margin-right: 0.1rem;
    }
    .section-meta__count {
      color: rgba(201, 168, 76, 0.5);
      font-size: 0.6875rem;
    }
    .section-meta__dot {
      color: var(--gold);
      font-size: 0.4rem;
      margin-left: auto;
      letter-spacing: 0;
    }

    /* On cream sections (Insights + Contact), shift colors to the
       deeper sepia gold so meta bars stay legible against #F5EFE0. */
    #insights .section-meta,
    .contact-letter-section .section-meta {
      border-bottom-color: rgba(28, 24, 20, 0.18);
      color: #8a6f2a;
    }
    #insights .section-meta__rule,
    .contact-letter-section .section-meta__rule {
      background: #8a6f2a;
    }
    #insights .section-meta__num,
    .contact-letter-section .section-meta__num,
    #insights .section-meta__dot,
    .contact-letter-section .section-meta__dot {
      color: #8a6f2a;
    }
    #insights .section-meta__count,
    .contact-letter-section .section-meta__count {
      color: rgba(138, 111, 42, 0.55);
    }

    /* About byline has its own container; meta wrapper aligns it to
       the centered max-width without breaking the photo layout. */
    .about-byline__meta-wrap {
      max-width: 1240px;
      margin: 0 auto;
      padding: 0 var(--container-pad);
      margin-bottom: var(--s-7);
    }

    /* ============================================================
       SPACE UTILIZATION v4.8 — BASIC/DEPT-inspired
       Wider asymmetric splits, bigger imagery in lists, tighter
       hierarchy of meta data with horizontal rules. Layouts that
       reach across the viewport instead of hugging narrow centers.
       ============================================================ */

    /* ---- Insights TOC rows now lead with a thumbnail ---- */
    .insights-toc__row {
      grid-template-columns: clamp(120px, 14vw, 200px) 130px minmax(0, 1fr) 80px 24px !important;
      gap: clamp(var(--s-4), 3vw, var(--s-6)) !important;
      padding: clamp(var(--s-4), 3vw, var(--s-6)) 0 !important;
      align-items: center;
    }
    .insights-toc__thumb {
      margin: 0;
      aspect-ratio: 16 / 10;
      overflow: hidden;
      background: rgba(28, 24, 20, 0.08);
      border: 1px solid rgba(28, 24, 20, 0.12);
    }
    .insights-toc__thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .insights-toc__row:hover .insights-toc__thumb img {
      transform: scale(1.05);
    }
    .insights-toc__title {
      font-size: clamp(1.35rem, 2.1vw, 1.85rem) !important;
    }

    /* TOC head also needs to align to the new wider grid */
    .insights-toc__head {
      padding-left: clamp(120px, 14vw, 200px);
      padding-left: calc(clamp(120px, 14vw, 200px) + clamp(var(--s-4), 3vw, var(--s-6)));
    }

    @media (max-width: 768px) {
      .insights-toc__row {
        grid-template-columns: 80px 1fr auto !important;
        grid-template-rows: auto auto;
        column-gap: var(--s-3) !important;
        row-gap: 0.35rem !important;
      }
      .insights-toc__thumb {
        grid-row: 1 / span 2;
        grid-column: 1;
        aspect-ratio: 1;
      }
      .insights-toc__date { grid-row: 1; grid-column: 2; }
      .insights-toc__title { grid-row: 2; grid-column: 2 / span 2; }
      .insights-toc__read { grid-row: 1; grid-column: 3; text-align: right; }
      .insights-toc__arrow { display: none; }
      .insights-toc__head { padding-left: 0; }
    }

    /* ---- About: photo gets more proportional weight ---- */
    .about-byline__inner {
      grid-template-columns: 6fr 5fr !important;
      gap: clamp(var(--s-6), 7vw, var(--s-10)) !important;
      max-width: 1320px !important;
    }
    .about-byline__photo {
      aspect-ratio: 4 / 5 !important;
    }
    @media (max-width: 900px) {
      .about-byline__inner {
        grid-template-columns: 1fr !important;
      }
    }

    /* ---- FAQ: wider gap between Q and A columns ---- */
    .faq-grid__row {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) !important;
      gap: clamp(var(--s-5), 8vw, var(--s-10)) !important;
      padding: clamp(var(--s-5), 4vw, var(--s-7)) 0 !important;
    }
    .faq-grid {
      max-width: 1280px !important;
    }
    .faq-grid__qtext {
      font-size: clamp(1.25rem, 2vw, 1.85rem) !important;
    }

    @media (max-width: 768px) {
      .faq-grid__row {
        grid-template-columns: 1fr !important;
        gap: var(--s-3) !important;
      }
    }

    /* ---- Section padding push (more vertical breathing room) ---- */
    section[id="services"],
    section[id="systems"],
    section[id="process"],
    section[id="insights"],
    section[id="faq"] {
      padding-block: clamp(var(--s-10), 12vw, var(--s-12));
    }

    /* ============================================================
       OVERHAUL v5.0 — Tactile / editorial overhaul
       Borrowing the *techniques* (texture, asymmetry, typographic
       drama) without copying anyone's layout. Adds noise grain
       sitewide, transforms Services into angular minted-coin
       tiles, tilts FAQ cards, and decorates with stamps + a
       marquee strip beneath the hero.
       ============================================================ */

    /* ---- Noise grain overlay (fixed, ignores pointer events) ---- */
    body::after {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 9999;
      opacity: 0.04;
      mix-blend-mode: overlay;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    }
    @media (prefers-reduced-motion: reduce) {
      body::after { opacity: 0.025; }
    }

    /* ---- Hero marquee strip ---- */
    .hero-marquee {
      position: relative;
      overflow: hidden;
      border-top: 1px solid rgba(201, 168, 76, 0.18);
      border-bottom: 1px solid rgba(201, 168, 76, 0.18);
      padding: var(--s-3) 0;
      background: rgba(20, 17, 13, 0.4);
      margin-top: var(--s-6);
    }
    .hero-marquee::before,
    .hero-marquee::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      width: clamp(60px, 8vw, 140px);
      z-index: 2;
      pointer-events: none;
    }
    .hero-marquee::before {
      left: 0;
      background: linear-gradient(90deg, var(--bg-hero), transparent);
    }
    .hero-marquee::after {
      right: 0;
      background: linear-gradient(270deg, var(--bg-hero), transparent);
    }
    .hero-marquee__track {
      display: flex;
      gap: clamp(var(--s-5), 5vw, var(--s-8));
      animation: hero-marquee-scroll 38s linear infinite;
      width: max-content;
      align-items: center;
    }
    .hero-marquee__item {
      font-family: var(--font-mono);
      font-size: 0.75rem;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: rgba(201, 168, 76, 0.75);
      white-space: nowrap;
      display: inline-flex;
      align-items: center;
      gap: clamp(var(--s-5), 5vw, var(--s-8));
    }
    .hero-marquee__item::after {
      content: "●";
      color: rgba(201, 168, 76, 0.5);
      font-size: 0.4rem;
    }
    @keyframes hero-marquee-scroll {
      from { transform: translateX(0); }
      to   { transform: translateX(-50%); }
    }
    @media (prefers-reduced-motion: reduce) {
      .hero-marquee__track { animation: none; }
    }

    /* ---- Pill-shaped primary buttons (refresh from rectangular) ---- */
    .btn--primary {
      border-radius: 999px !important;
      padding-inline: clamp(var(--s-4), 3vw, var(--s-6)) !important;
    }
    .btn--ghost {
      border-radius: 999px !important;
      padding-inline: clamp(var(--s-4), 3vw, var(--s-6)) !important;
    }

    /* ---- SERVICES as a clipped-corner tile grid ----
       Each tile reads like a stamped envelope, top-right and
       bottom-left corners diagonally clipped. Reordering the
       inner CSS Grid so the number floats large, the content
       fills the body, and the timeline/arrow anchor the bottom. */
    .services-tiles {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: clamp(var(--s-3), 2vw, var(--s-5));
      border: 0 !important;
      max-width: 1320px;
      margin-inline: auto;
    }
    .services-tiles > li {
      border: 0 !important;
      list-style: none;
      transition: transform 480ms cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    /* Alternate slight rotation for "tossed cards" feel — restrained */
    .services-tiles > li:nth-child(odd)  { transform: rotate(-0.6deg); }
    .services-tiles > li:nth-child(even) { transform: rotate(0.6deg); }
    .services-tiles > li:hover           { transform: rotate(0deg) translateY(-4px); }

    .services-tiles .services-row {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: auto 1fr auto;
      gap: var(--s-4);
      padding: clamp(var(--s-5), 3vw, var(--s-6));
      min-height: 320px;
      background:
        linear-gradient(180deg, rgba(20, 17, 13, 0.6) 0%, rgba(10, 9, 7, 0.85) 100%),
        radial-gradient(ellipse 100% 60% at 0% 0%, rgba(201, 168, 76, 0.10) 0%, transparent 60%);
      border: 1px solid rgba(201, 168, 76, 0.22);
      /* Clipped corners: top-right + bottom-left cut diagonally */
      clip-path: polygon(
        0% 0%,
        calc(100% - 28px) 0%,
        100% 28px,
        100% 100%,
        28px 100%,
        0% calc(100% - 28px)
      );
      transition: background 320ms ease-out, border-color 320ms ease-out;
    }
    .services-tiles .services-row:hover {
      border-color: var(--gold);
      background:
        linear-gradient(180deg, rgba(28, 24, 18, 0.7) 0%, rgba(10, 9, 7, 0.92) 100%),
        radial-gradient(ellipse 110% 70% at 0% 0%, rgba(201, 168, 76, 0.18) 0%, transparent 60%);
    }

    /* Number floats huge in the top-left, takes its own row */
    .services-tiles .services-row__num {
      grid-row: 1;
      font-size: clamp(4rem, 7vw, 6.5rem);
      line-height: 0.78;
      color: rgba(201, 168, 76, 0.7);
      margin: 0;
    }
    /* Main content fills the middle row */
    .services-tiles .services-row__main {
      grid-row: 2;
      align-self: end;
    }
    .services-tiles .services-row__title {
      font-size: clamp(1.4rem, 1.8vw, 1.8rem) !important;
      margin-bottom: var(--s-3) !important;
    }
    .services-tiles .services-row__desc {
      max-width: none;
      font-size: 0.9375rem;
      line-height: 1.55;
    }

    /* Footer row: timeline left, arrow right */
    .services-tiles .services-row__timeline,
    .services-tiles .services-row__arrow {
      grid-row: 3;
      align-self: end;
    }
    .services-tiles .services-row__timeline {
      text-align: left;
      padding-top: var(--s-3);
      border-top: 1px dashed rgba(201, 168, 76, 0.3);
    }
    .services-tiles .services-row__arrow {
      justify-self: end;
      align-self: end;
    }

    /* "Start here" tag floats top-right inside the clipped corner */
    .services-tiles .services-row__tag {
      position: absolute;
      top: var(--s-3);
      right: 32px;
      transform: none;
    }
    .services-tiles .services-row {
      position: relative;
      isolation: isolate;
    }

    /* Premium tile (Growth Engine) gets a subtle gold accent corner */
    .services-tiles .services-row--premium {
      background:
        linear-gradient(180deg, rgba(36, 27, 12, 0.7) 0%, rgba(12, 10, 6, 0.95) 100%),
        radial-gradient(ellipse 90% 60% at 100% 100%, rgba(201, 168, 76, 0.22) 0%, transparent 60%);
      border-color: rgba(201, 168, 76, 0.5);
    }

    /* Drop the hover wash from the row layout — we have our own treatment now */
    .services-tiles .services-row::before { display: none !important; }

    @media (max-width: 640px) {
      .services-tiles > li:nth-child(odd),
      .services-tiles > li:nth-child(even) {
        transform: none;
      }
      .services-tiles .services-row {
        min-height: 280px;
        clip-path: polygon(
          0% 0%,
          calc(100% - 18px) 0%,
          100% 18px,
          100% 100%,
          18px 100%,
          0% calc(100% - 18px)
        );
      }
    }

    /* ---- FAQ as tilted card pairs ----
       Each Q/A pair becomes a small card with a tiny rotation,
       like scattered index cards on a desk. The cream "stickies"
       feel without literal sticky-notes. */
    .faq-grid {
      gap: clamp(var(--s-3), 2vw, var(--s-5));
    }
    .faq-grid__row {
      background: linear-gradient(180deg, rgba(20, 17, 13, 0.5), rgba(10, 9, 7, 0.3));
      border: 1px solid rgba(201, 168, 76, 0.18) !important;
      padding: clamp(var(--s-5), 4vw, var(--s-7)) clamp(var(--s-5), 4vw, var(--s-7)) !important;
      position: relative;
      transition: transform 400ms cubic-bezier(0.2, 0.7, 0.2, 1), border-color 320ms ease-out;
      clip-path: polygon(
        0% 0%,
        calc(100% - 20px) 0%,
        100% 20px,
        100% 100%,
        20px 100%,
        0% calc(100% - 20px)
      );
    }
    .faq-grid__row:nth-child(odd)       { transform: rotate(-0.4deg); }
    .faq-grid__row:nth-child(even)      { transform: rotate(0.4deg); }
    .faq-grid__row:hover                { transform: rotate(0deg); border-color: rgba(201, 168, 76, 0.45) !important; }

    /* Stamp ring bottom-right, set inset from the clipped bottom-left
       corner so the ring never gets visually cut by the clip-path. */
    .faq-grid__row::before {
      content: "";
      position: absolute;
      bottom: var(--s-3);
      right: var(--s-4);
      width: 32px;
      height: 32px;
      border: 1px solid rgba(201, 168, 76, 0.35);
      border-radius: 50%;
      pointer-events: none;
      opacity: 0.7;
    }

    /* Decorative tape across the top of each card (positioned inside
       so the parent clip-path doesn't cut it off). */
    .faq-grid__row::after {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: clamp(60px, 10vw, 110px);
      height: 8px;
      background: linear-gradient(180deg, rgba(201, 168, 76, 0.35) 0%, rgba(201, 168, 76, 0.1) 100%);
      pointer-events: none;
    }

    /* Loosen the Q/A grid so the prose breathes inside the card */
    .faq-grid__row {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) !important;
      gap: clamp(var(--s-5), 6vw, var(--s-8)) !important;
    }

    /* Override the right-aligned questions — left-align inside the card */
    .faq-grid__q {
      text-align: left !important;
      grid-template-columns: auto 1fr !important;
      gap: var(--s-3) !important;
      justify-content: start !important;
    }
    .faq-grid__num {
      padding-top: 0.3rem;
    }

    @media (max-width: 768px) {
      .faq-grid__row:nth-child(odd),
      .faq-grid__row:nth-child(even) { transform: none; }
      .faq-grid__row {
        clip-path: polygon(
          0% 0%,
          calc(100% - 14px) 0%,
          100% 14px,
          100% 100%,
          14px 100%,
          0% calc(100% - 14px)
        );
        grid-template-columns: 1fr !important;
      }
    }

    /* ---- About: passport-style stamp overlay on the photo ---- */
    .about-byline__photo {
      isolation: isolate;
    }
    .about-byline__photo::after {
      content: "";
      position: absolute;
      top: clamp(20px, 4vw, 36px);
      right: clamp(20px, 4vw, 36px);
      width: clamp(70px, 8vw, 100px);
      height: clamp(70px, 8vw, 100px);
      border: 2px solid rgba(201, 168, 76, 0.55);
      border-radius: 50%;
      transform: rotate(-12deg);
      background:
        radial-gradient(circle at center, transparent 60%, rgba(201, 168, 76, 0.05) 65%, transparent 70%);
      z-index: 3;
      pointer-events: none;
      mix-blend-mode: screen;
    }
    .about-byline__photo {
      position: relative;
    }
    /* Numeric "approved" stamp text inside the circle */
    .about-byline__photo > .about-byline__photo-stamp {
      position: absolute;
      top: clamp(36px, 6vw, 54px);
      right: clamp(36px, 6vw, 54px);
      width: clamp(50px, 6vw, 70px);
      height: clamp(50px, 6vw, 70px);
      display: grid;
      place-items: center;
      transform: rotate(-12deg);
      font-family: var(--font-mono);
      font-size: 0.55rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(201, 168, 76, 0.65);
      text-align: center;
      line-height: 1.2;
      z-index: 4;
      pointer-events: none;
    }

    /* ---- Contact: wax-seal stamp top-right of the letter (away from
       the action button at the bottom and signature in the middle). ---- */
    .contact-letter {
      position: relative;
    }
    .contact-letter::after {
      content: "";
      position: absolute;
      top: clamp(60px, 8vw, 110px);
      right: clamp(-30px, -2vw, -10px);
      width: clamp(56px, 6vw, 80px);
      height: clamp(56px, 6vw, 80px);
      background:
        radial-gradient(circle at 40% 40%, rgba(138, 111, 42, 0.7) 0%, rgba(106, 78, 18, 0.6) 60%, rgba(80, 56, 12, 0.4) 100%);
      border-radius: 50%;
      transform: rotate(-8deg);
      pointer-events: none;
      box-shadow:
        inset -3px -3px 6px rgba(0, 0, 0, 0.3),
        inset 2px 2px 5px rgba(255, 220, 150, 0.15);
      opacity: 0.7;
      z-index: 0;
    }
    @media (max-width: 640px) {
      .contact-letter::after { display: none; }
    }

    /* Marquee on cream sections shifts to sepia */
    #insights .hero-marquee,
    .contact-letter-section .hero-marquee {
      background: rgba(28, 24, 20, 0.04);
    }

    /* ============================================================
       v5.1 — User-requested visual fixes
       1. Systems schematic → cream surface
       2. Process numerals → brighter, properly positioned per side
       3. About: close-quote + spacing under links
       4. Insights TOC: dark backing panel behind thumbnails
       5. FAQ: click-to-reveal accordion with fade-in
       6. Contact letter / footer: text contrast
       ============================================================ */

    /* ---- 1. SCHEMATIC on cream ---- */
    .schematic {
      background:
        radial-gradient(ellipse 60% 50% at 50% 0%, rgba(201, 168, 76, 0.10) 0%, transparent 60%),
        #F5EFE0 !important;
      border-color: rgba(28, 24, 20, 0.18) !important;
    }
    .schematic__grid {
      background-image:
        linear-gradient(rgba(28, 24, 20, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(28, 24, 20, 0.05) 1px, transparent 1px),
        linear-gradient(rgba(28, 24, 20, 0.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(28, 24, 20, 0.10) 1px, transparent 1px) !important;
    }
    .schematic__fig,
    .schematic__fig-id { color: #8a6f2a !important; }
    .schematic__fig-rule { background: #8a6f2a !important; }
    .schematic__fig-name { color: rgba(138, 111, 42, 0.7) !important; }
    .schematic__corner { color: rgba(138, 111, 42, 0.55) !important; }

    /* Node circles need dark backing on cream so the gold ring reads */
    .schematic__node-circle {
      background: #F5EFE0 !important;
      border-color: rgba(138, 111, 42, 0.7) !important;
      color: #8a6f2a !important;
      box-shadow:
        0 0 0 4px #F5EFE0,
        0 0 16px -6px rgba(138, 111, 42, 0.4) !important;
    }
    .schematic__node--terminal .schematic__node-circle {
      background: rgba(201, 168, 76, 0.18) !important;
      border-color: #8a6f2a !important;
      color: #5a4519 !important;
    }
    .schematic__node::before {
      background: linear-gradient(180deg, rgba(138, 111, 42, 0.55), transparent) !important;
    }
    .schematic__node::after {
      background-image: linear-gradient(to right, rgba(138, 111, 42, 0.55) 50%, transparent 50%) !important;
    }
    .schematic__node-label { color: #15130F !important; }
    .schematic__node-desc { color: #5a544a !important; }

    /* ---- 2. PROCESS numerals: brighter + correct per-side alignment ---- */
    .process-spread__num {
      color: rgba(245, 239, 224, 0.20) !important; /* cream tint, more visible */
      font-size: clamp(10rem, 22vw, 18rem) !important;
    }
    .process-spread.is-in .process-spread__num {
      color: rgba(245, 239, 224, 0.32) !important;
    }
    /* Hard-reset and re-apply positioning so left/right is unambiguous */
    .process-spread--left .process-spread__num {
      left: clamp(var(--s-4), 4vw, var(--s-7)) !important;
      right: auto !important;
    }
    .process-spread--right .process-spread__num {
      right: clamp(var(--s-4), 4vw, var(--s-7)) !important;
      left: auto !important;
    }

    /* ---- 3. ABOUT byline: closing quote + bottom padding under links ---- */
    .about-byline__pull::after {
      content: close-quote;
      font-size: 3.5em;
      line-height: 0;
      color: rgba(201, 168, 76, 0.4);
      font-style: normal;
      margin-left: 0.1em;
      vertical-align: -0.45em;
      position: relative;
      top: 0.2em;
    }
    .about-byline__pull {
      quotes: "\201C" "\201D";
    }
    /* Section needs bottom padding so the link rows aren't crammed
       against the next section. */
    .about-byline {
      padding-bottom: clamp(var(--s-10), 14vw, var(--s-12)) !important;
    }
    .about-byline__links {
      padding-bottom: var(--s-3);
      margin-bottom: var(--s-3);
    }

    /* ---- 4. INSIGHTS TOC thumbnails: dark backing panel + spacing ---- */
    .insights-toc__thumb {
      position: relative;
      isolation: isolate;
      overflow: visible !important;
    }
    .insights-toc__thumb::before {
      content: "";
      position: absolute;
      inset: clamp(8px, 1.5vw, 14px) clamp(-14px, -1.5vw, -8px) clamp(-14px, -1.5vw, -8px) clamp(8px, 1.5vw, 14px);
      background: #15130F;
      z-index: -1;
      border: 1px solid rgba(28, 24, 20, 0.25);
    }
    .insights-toc__thumb img {
      position: relative;
      z-index: 1;
    }
    /* More breathing space between thumb and text */
    .insights-toc__row {
      grid-template-columns: clamp(140px, 16vw, 220px) 130px minmax(0, 1fr) 80px 24px !important;
      gap: clamp(var(--s-5), 4vw, var(--s-7)) !important;
      padding: clamp(var(--s-5), 4vw, var(--s-7)) 0 !important;
    }
    .insights-toc__head {
      padding-left: calc(clamp(140px, 16vw, 220px) + clamp(var(--s-5), 4vw, var(--s-7)));
    }
    @media (max-width: 768px) {
      .insights-toc__thumb::before { display: none; }
    }

    /* ---- 5. FAQ click-to-reveal cards with fade-in ---- */
    /* Replaces the always-visible Q&A grid. Each <details> is a card;
       the answer is hidden until the question is clicked, then fades in. */
    .faq-stack {
      max-width: 960px;
      margin: var(--s-8) auto 0;
      display: flex;
      flex-direction: column;
      gap: clamp(var(--s-3), 2vw, var(--s-4));
    }
    .faq-card {
      position: relative;
      background: linear-gradient(180deg, rgba(20, 17, 13, 0.55), rgba(10, 9, 7, 0.35));
      border: 1px solid rgba(201, 168, 76, 0.22);
      padding: 0;
      clip-path: polygon(
        0% 0%,
        calc(100% - 20px) 0%,
        100% 20px,
        100% 100%,
        20px 100%,
        0% calc(100% - 20px)
      );
      transition: transform 380ms cubic-bezier(0.2, 0.7, 0.2, 1), border-color 280ms ease-out;
    }
    .faq-card:nth-child(odd)  { transform: rotate(-0.3deg); }
    .faq-card:nth-child(even) { transform: rotate(0.3deg); }
    .faq-card:hover,
    .faq-card[open] {
      transform: rotate(0deg);
      border-color: rgba(201, 168, 76, 0.5);
    }

    /* Tape strip at the top (inside the clip area) */
    .faq-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: clamp(60px, 10vw, 110px);
      height: 6px;
      background: linear-gradient(180deg, rgba(201, 168, 76, 0.45), rgba(201, 168, 76, 0.1));
      pointer-events: none;
      z-index: 1;
    }

    /* The question (summary) — always visible, the click target */
    .faq-card__q {
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: clamp(var(--s-3), 2vw, var(--s-5));
      padding: clamp(var(--s-5), 3vw, var(--s-6)) clamp(var(--s-5), 3vw, var(--s-6));
      cursor: pointer;
      list-style: none;
      user-select: none;
    }
    .faq-card__q::-webkit-details-marker { display: none; }
    .faq-card__q::marker { content: ""; }
    .faq-card > summary { list-style: none !important; }
    .faq-card__q:focus-visible {
      outline: 2px solid rgba(201, 168, 76, 0.7);
      outline-offset: 2px;
    }
    .faq-card__num {
      font-family: var(--font-mono);
      font-size: 0.6875rem;
      letter-spacing: 0.22em;
      color: var(--gold);
      text-transform: uppercase;
      font-variant-numeric: tabular-nums;
      align-self: flex-start;
      padding-top: 0.4rem;
    }
    .faq-card__qtext {
      font-family: var(--font-serif);
      font-style: italic;
      font-weight: 500;
      font-size: clamp(1.25rem, 2vw, 1.85rem);
      line-height: 1.15;
      letter-spacing: -0.012em;
      color: var(--off);
    }

    /* The + / − icon */
    .faq-card__icon {
      position: relative;
      width: 28px;
      height: 28px;
      flex-shrink: 0;
      border: 1px solid rgba(201, 168, 76, 0.45);
      border-radius: 50%;
      transition: transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1), border-color 240ms ease-out;
    }
    .faq-card__icon::before,
    .faq-card__icon::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      background: var(--gold);
      transform-origin: center;
      transition: transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .faq-card__icon::before {
      width: 10px;
      height: 1px;
      transform: translate(-50%, -50%);
    }
    .faq-card__icon::after {
      width: 1px;
      height: 10px;
      transform: translate(-50%, -50%);
    }
    .faq-card[open] .faq-card__icon {
      border-color: var(--gold);
    }
    .faq-card[open] .faq-card__icon::after {
      transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
    }

    /* The answer — fades in when the parent details is [open] */
    .faq-card__a {
      padding: 0 clamp(var(--s-5), 3vw, var(--s-6)) clamp(var(--s-5), 3vw, var(--s-6));
      animation: faq-fade-in 480ms cubic-bezier(0.2, 0.7, 0.2, 1) both;
    }
    @keyframes faq-fade-in {
      from {
        opacity: 0;
        transform: translateY(-6px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    .faq-card__a p {
      font-family: var(--font-sans);
      font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
      line-height: 1.7;
      color: var(--muted);
      margin: 0;
      padding-left: calc(clamp(var(--s-3), 2vw, var(--s-5)) + 1.5em);
      max-width: 72ch;
    }
    .faq-card__a em {
      font-family: var(--font-serif);
      font-style: italic;
      color: var(--gold);
    }

    @media (prefers-reduced-motion: reduce) {
      .faq-card { transform: none !important; }
      .faq-card__a { animation: none; }
      .faq-card__icon::after { transition: none; }
    }
    @media (max-width: 640px) {
      .faq-card { clip-path: polygon(
        0% 0%, calc(100% - 14px) 0%, 100% 14px,
        100% 100%, 14px 100%, 0% calc(100% - 14px));
      }
      .faq-card:nth-child(odd),
      .faq-card:nth-child(even) { transform: none; }
      .faq-card__a p { padding-left: 0; }
    }

    /* Hide the legacy faq-grid */
    .faq-grid { display: none !important; }

    /* ---- 6. CONTACT + FOOTER text contrast ---- */
    /* Contact letter on cream — make sure every text element is clearly
       readable, with stronger contrast than the original sepia. */
    .contact-letter__opener {
      color: #1a1410 !important;
    }
    .contact-letter__body p {
      color: #2a221a !important;
      font-weight: 400;
    }
    .contact-letter__body a {
      color: #6b4f15 !important;
      font-weight: 500;
      text-decoration-color: rgba(107, 79, 21, 0.5) !important;
    }
    .contact-letter__body a:hover {
      color: #4a3608 !important;
      text-decoration-color: #6b4f15 !important;
    }
    .contact-letter__body em {
      color: #6b4f15 !important;
      font-weight: 500;
    }
    .contact-letter__sig > span:first-child {
      color: #6b4f15 !important;
    }
    .contact-letter__sig-meta {
      color: rgba(42, 34, 26, 0.65) !important;
    }
    .contact-letter__action-note {
      color: rgba(42, 34, 26, 0.75) !important;
    }
    .contact-letter__action-note em {
      color: #6b4f15 !important;
    }

    /* Footer copyright — bump from too-muted to readable */
    .footer-bottom__copy {
      color: rgba(245, 239, 224, 0.6) !important;
    }
    /* Footer brand tagline and links — ensure all readable */
    .footer-brand__tagline,
    .footer-brand__contact a,
    .footer-brand__contact-note,
    .footer-dept ul a,
    .footer-dept__title {
      color: rgba(245, 239, 224, 0.75) !important;
    }
    .footer-brand__contact a:hover,
    .footer-dept ul a:hover {
      color: var(--gold) !important;
    }
