
  :root {
    --deep:       #171B34;
    --deep-line:  rgba(240,239,247,.16);
    --fg:         #F2F1F8;
    --fg-soft:    rgba(242,241,248,.74);
    --fg-faint:   rgba(242,241,248,.46);

    --maxw: 1180px;
    --gutter: clamp(20px, 5vw, 64px);
    --r: 4px;
    --f-display: 'Plus Jakarta Sans', system-ui, sans-serif;
    --ease: cubic-bezier(.22,.61,.36,1);
  }
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
  body {
    margin: 0; font-family: var(--f-display); color: var(--fg); background: var(--deep);
    -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
    position: relative;
  }
  body::before {
    content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none;
    background-image:
      linear-gradient(var(--deep-line) 1px, transparent 1px),
      linear-gradient(90deg, var(--deep-line) 1px, transparent 1px);
    background-size: 58px 58px;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 8%, #000 88%, transparent 100%);
            mask-image: linear-gradient(to bottom, transparent 0, #000 8%, #000 88%, transparent 100%);
  }
  .nav, main, footer { position: relative; z-index: 1; }
  p { margin: 0; text-wrap: pretty; }
  a { color: inherit; text-decoration: none; }
  .wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
  .skip { position: absolute; left: -999px; top: 0; z-index: 200; background: var(--fg); color: var(--deep); padding: 10px 16px; border-radius: var(--r); }
  .skip:focus { left: 12px; top: 12px; }
  :focus-visible { outline: 2.5px solid var(--fg); outline-offset: 3px; border-radius: 2px; }

  /* ---- nav (matches methodology.html) ---- */
  .nav {
    position: static;
    background: rgba(23,27,52,.82);
    backdrop-filter: saturate(140%) blur(12px);
    -webkit-backdrop-filter: saturate(140%) blur(12px);
    border-bottom: 1px solid transparent;
  }
  /* sticky header is desktop-only by design; mobile keeps default flow */
  @media (min-width: 769px) {
    .nav { position: sticky; top: 0; z-index: 100; }
  }
  .nav.scrolled { border-color: var(--deep-line); }
  .nav__inner { max-width: var(--maxw); margin-inline: auto; padding: 18px var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
  .brand { font-weight: 800; font-size: 21px; letter-spacing: -0.03em; display: inline-flex; align-items: center; gap: 9px; color: var(--fg); }
  .cad-brand b { font-weight: 800; }
  .cad-brand .ag { font-weight: 400; color: var(--fg-soft); }
  .cad-word { display: inline-flex; align-items: baseline; gap: 0.3em; text-transform: uppercase; }
  .cad-mark { width: 24px; height: 24px; flex: none; display: block; }
  .cad-mark svg { display: block; width: 100%; height: 100%; }
  .cad-mark svg g { stroke: var(--fg) !important; }
  .nav__links { display: flex; align-items: center; gap: clamp(20px, 3vw, 40px); }
  .nav__links a { font-family: 'DM Sans', sans-serif; font-size: 15px; font-weight: 500; color: var(--fg-soft); transition: color .2s var(--ease); }
  .nav__links a:hover { color: var(--fg); }
  .nav__cta {
    display: inline-flex; padding: 10px 20px; border-radius: 999px;
    background: var(--fg); color: var(--deep) !important; font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 600;
    transition: transform .2s var(--ease), background .2s var(--ease);
  }
  .nav__cta:hover { background: var(--fg-soft); transform: translateY(-1px); }
  @media (max-width: 720px) { .nav__links .nav__link, .nav__cta { display: none; } }

  /* ---- page ---- */
  .founder-page { padding-block: clamp(46px, 7vw, 88px) clamp(80px, 11vw, 140px); }
  .founder-back {
    display: inline-flex; align-items: center; gap: .7em;
    font-family: 'DM Sans', sans-serif; font-weight: 500; font-size: clamp(12.5px, 1.15vw, 14.5px);
    letter-spacing: .15em; text-transform: uppercase; color: var(--fg-soft);
    padding: 8px 2px; transition: gap .25s var(--ease), opacity .25s var(--ease);
  }
  .founder-back:hover { gap: 1em; opacity: .78; }
  .founder-back__line { width: clamp(30px, 5vw, 52px); height: 1px; background: var(--fg-soft); transition: width .3s var(--ease); }
  .founder-back:hover .founder-back__line { width: clamp(42px, 7vw, 72px); }

  .founder-body { max-width: 680px; margin-top: clamp(40px, 6vw, 64px); }
  .founder-grid {
    display: grid; grid-template-columns: minmax(280px, 1fr) minmax(240px, 320px);
    gap: clamp(30px, 5vw, 64px); align-items: center; margin-top: clamp(40px, 6vw, 64px);
  }
  @media (max-width: 880px) {
    .founder-grid { grid-template-columns: 1fr; }
    .founder-reel { order: -1; margin-bottom: clamp(20px, 5vw, 34px); }
  }
  @media (max-width: 1060px) and (min-width: 881px) {
    .founder-grid { grid-template-columns: minmax(240px, 1fr) minmax(240px, 320px); }
  }

  /* right-side video stack — identical fan geometry to methodology.html */
  .founder-reel { display: flex; flex-direction: column; align-items: center; gap: 20px; min-width: 0; }
  .founder-reel-stack { position: relative; width: 100%; max-width: 460px; aspect-ratio: 3 / 3.1; }
  .founder-reel-card {
    position: absolute; top: 50%; left: 50%; width: 56%; aspect-ratio: 9 / 16;
    border-radius: 16px; overflow: hidden; box-shadow: 0 26px 52px -20px rgba(0,0,0,.55);
    border: 1px solid rgba(255,255,255,.14);
  }
  .founder-reel-card video { width: 100%; height: 100%; object-fit: cover; display: block; }
  .frc-1 { transform: translate(-50%,-50%) translateX(-38%) rotate(-9deg); z-index: 1; }
  .frc-2 { transform: translate(-50%,-50%) rotate(2deg); z-index: 2; }
  .frc-3 { transform: translate(-50%,-50%) translateX(38%) rotate(11deg); z-index: 1; }
  .founder-reel-credit {
    margin: 0; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: 14px; font-weight: 500;
    letter-spacing: .01em; color: var(--fg-faint); text-align: center;
  }
  .founder-label {
    font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 600;
    letter-spacing: 0.24em; text-transform: uppercase; color: var(--fg-soft); margin: 0 0 22px;
  }
  .founder-h1 {
    font-weight: 700; letter-spacing: -0.02em; line-height: 1.1;
    font-size: clamp(30px, 4.6vw, 48px); color: var(--fg); margin: 0 0 clamp(28px, 4vw, 40px);
  }
  .founder-copy { display: flex; flex-direction: column; gap: 20px; }
  .founder-copy p {
    font-family: 'DM Sans', sans-serif; font-size: clamp(16px, 1.35vw, 18.5px);
    line-height: 1.75; color: var(--fg-soft); margin: 0;
  }

  .founder-return {
    display: inline-flex; align-items: center; gap: .6em; margin-top: clamp(40px, 5vw, 56px);
    padding: 13px 24px; border-radius: 999px; background: var(--fg); color: var(--deep);
    font-family: 'DM Sans', sans-serif; font-weight: 700; font-size: 15px;
    transition: transform .2s var(--ease), background .2s var(--ease);
  }
  .founder-return .ar { transition: transform .2s var(--ease); }
  .founder-return:hover { background: var(--fg-soft); transform: translateY(-1px); }
  .founder-return:hover .ar { transform: translateX(-3px); }

  .footer {
    border-top: 1px solid var(--deep-line); padding: 34px 0;
    display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between;
    font-family: 'DM Sans', sans-serif; font-size: 13.5px; color: var(--fg-faint);
  }

  .reveal {
    opacity: 0; transform: translateY(32px) scale(.965); filter: blur(6px);
    transition: opacity .8s var(--ease), transform .8s var(--ease), filter .8s var(--ease);
  }
  .reveal.in { opacity: 1; transform: none; filter: none; }
  .reveal.d1 { transition-delay: .08s; }
  @media (prefers-reduced-motion: reduce) { .reveal { opacity: 1 !important; transform: none !important; } }
