
  :root{
    --navy-950:#0a2a5e;
    --navy-900:#12356f;
    --navy-800:#1c4a8f;
    --navy-050:#eaf1fb;
    --gold-600:#c98a12;
    --gold-500:#f2b705;
    --gold-300:#ffe08a;
    --paper:#faf8f3;
    --paper-dim:#f1ede2;
    --ink:#151a22;
    --ink-soft:#4a5568;
    --line: rgba(10,24,48,0.12);
    --max: 1120px;
    --radius: 2px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }

  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter', -apple-system, sans-serif;
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3{
    font-family:'Fraunces', Georgia, serif;
    color:var(--navy-950);
    margin:0;
    line-height:1.08;
    letter-spacing:-0.01em;
  }

  a{color:inherit;}

  .wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}

  /* ---------- Dial-string motif (signature element) ---------- */
  .dial{
    display:inline-flex;
    align-items:center;
    gap:0.5em;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.78rem;
    font-weight:600;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--gold-600);
  }
  .dial::before{
    content:"";
    width:7px;height:7px;
    background:var(--gold-500);
    border-radius:1px;
    display:inline-block;
    transform:rotate(45deg);
  }

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:40;
    background:rgba(250,248,243,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 28px;
    max-width:var(--max); margin:0 auto;
  }
  .brand{
    font-family:'Fraunces', serif;
    font-weight:600;
    font-size:1.15rem;
    color:var(--navy-950);
    letter-spacing:-0.01em;
  }
  .brand span{color:var(--gold-600);}
  .nav-links{display:flex; gap:32px; font-size:0.88rem; font-weight:500;}
  .nav-links a{text-decoration:none; color:var(--ink-soft); transition:color 0.2s ease;}
  .nav-links a:hover, .nav-links a:focus-visible{color:var(--navy-950);}
  @media (max-width:720px){ .nav-links{display:none;} }

  /* ---------- Hero ---------- */
  .hero{
    padding:96px 0 88px;
    position:relative;
    overflow:hidden;
  }
  .hero::after{
    content:"";
    position:absolute; right:-10%; top:-30%;
    width:640px; height:640px;
    background:radial-gradient(circle, rgba(242,183,5,0.10) 0%, rgba(242,183,5,0) 70%);
    pointer-events:none;
  }
  .hero .dial{margin-bottom:22px;}
  .hero h1{
    font-size:clamp(2.4rem, 5.2vw, 4rem);
    max-width:15ch;
    font-weight:600;
  }
  .hero .accent{color:var(--gold-600); font-style:italic; font-weight:500;}
  .hero-sub{
    margin-top:24px;
    font-size:1.15rem;
    color:var(--ink-soft);
    max-width:52ch;
  }
  .hero-line{
    margin-top:34px;
    display:flex; align-items:center; gap:14px;
    font-family:'Fraunces', serif;
    font-size:1.05rem;
    font-weight:600;
    color:var(--navy-900);
  }
  .hero-line .rule{width:38px; height:1px; background:var(--gold-500);}

  /* ---------- Section shell ---------- */
  section{padding:76px 0;}
  .band{border-top:1px solid var(--line);}
  .band-tint{background:var(--navy-050);}
  .eyebrow{margin-bottom:16px;}
  .section-head h2{font-size:clamp(1.7rem, 3vw, 2.3rem); max-width:22ch;}
  .section-body{margin-top:20px; max-width:60ch; color:var(--ink-soft); font-size:1.05rem;}
  .section-body p + p{margin-top:14px;}

  blockquote{
    margin:32px 0 0;
    padding:26px 30px;
    border-left:3px solid var(--gold-500);
    background:var(--paper-dim);
    font-family:'Fraunces', serif;
    font-size:1.25rem;
    color:var(--navy-950);
    font-weight:500;
  }
  blockquote strong{
    display:block;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--gold-600);
    font-weight:600;
    margin-bottom:8px;
  }

  /* ---------- Audience grid ---------- */
  .grid{
    margin-top:36px;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  @media (max-width:900px){ .grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .grid{grid-template-columns:1fr;} }
  .cell{
    background:var(--paper);
    padding:26px 22px;
    font-size:0.95rem;
    font-weight:500;
    color:var(--navy-900);
  }
  .cell small{
    display:block;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.68rem;
    color:var(--gold-600);
    letter-spacing:0.1em;
    margin-bottom:8px;
    font-weight:600;
  }
  .foot-note{margin-top:22px; color:var(--ink-soft); font-size:0.95rem; max-width:52ch;}

  /* ---------- Aggregator diagram ---------- */
  .agg-layout{
    margin-top:44px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:center;
  }
  @media (max-width:820px){ .agg-layout{grid-template-columns:1fr; gap:36px;} }
  .agg-list{list-style:none; margin:24px 0 0; padding:0; display:grid; gap:10px;}
  .agg-list li{
    font-size:0.95rem;
    color:var(--navy-900);
    font-weight:500;
    padding:12px 16px;
    background:var(--paper);
    border:1px solid var(--line);
    border-left:3px solid var(--gold-500);
  }
  .diagram{
    position:relative;
    aspect-ratio:1/1;
    max-width:340px;
    margin:0 auto;
  }
  .diagram .hub{
    position:absolute; top:50%; left:50%;
    transform:translate(-50%,-50%);
    width:104px; height:104px;
    border-radius:50%;
    background:var(--navy-950);
    display:flex; align-items:center; justify-content:center;
    color:var(--gold-300);
    font-family:'Fraunces', serif;
    font-weight:600;
    font-size:0.82rem;
    text-align:center;
    z-index:3;
    box-shadow:0 0 0 8px var(--paper), 0 0 0 9px var(--line);
  }
  .diagram .node{
    position:absolute;
    width:64px; height:64px;
    border-radius:50%;
    background:var(--paper);
    border:1.5px solid var(--gold-500);
    display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.58rem;
    text-align:center;
    color:var(--navy-900);
    font-weight:600;
    z-index:2;
    line-height:1.15;
    padding:4px;
  }
  .diagram svg{position:absolute; inset:0; width:100%; height:100%; z-index:1;}
  .diagram .n1{top:2%; left:34%;}
  .diagram .n2{top:20%; left:78%;}
  .diagram .n3{top:62%; left:84%;}
  .diagram .n4{top:82%; left:40%;}
  .diagram .n5{top:58%; left:-6%;}
  .diagram .n6{top:18%; left:-2%;}

  /* ---------- Feature strip ---------- */
  .feature-strip{
    margin-top:40px;
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  @media (max-width:900px){ .feature-strip{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:520px){ .feature-strip{grid-template-columns:repeat(2,1fr);} }
  .feature-strip div{
    background:var(--navy-950);
    color:var(--paper);
    padding:20px 14px;
    font-size:0.82rem;
    font-weight:500;
    text-align:center;
  }

  /* ---------- Vision split ---------- */
  .vision-split{
    margin-top:40px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  @media (max-width:720px){ .vision-split{grid-template-columns:1fr;} }
  .vision-split > div{background:var(--paper); padding:34px 30px;}
  .vision-split .dial{margin-bottom:14px;}
  .vision-split h3{font-size:1.3rem;}
  .vision-split p{margin-top:10px; color:var(--ink-soft); font-size:0.98rem;}

  /* ---------- CTA ---------- */
  .cta-band{
    background:var(--navy-950);
    color:var(--paper);
    padding:96px 0;
    position:relative;
    overflow:hidden;
  }
  .cta-band::before{
    content:"";
    position:absolute; left:-8%; bottom:-40%;
    width:520px; height:520px;
    background:radial-gradient(circle, rgba(242,183,5,0.14) 0%, rgba(242,183,5,0) 70%);
  }
  .cta-band h2{color:var(--paper); font-size:clamp(1.9rem, 4vw, 2.8rem); font-weight:500;}
  .cta-band .accent{color:var(--gold-300); font-style:italic;}
  .cta-band p{margin-top:22px; color:rgba(250,248,243,0.72); max-width:58ch; font-size:1.05rem;}
  .cta-band .dial{color:var(--gold-300); margin-bottom:20px;}

  footer{
    padding:36px 0;
    border-top:1px solid var(--line);
    display:flex; justify-content:space-between; align-items:center;
    font-size:0.82rem;
    color:var(--ink-soft);
    flex-wrap:wrap;
    gap:12px;
  }


  /* ---------- Multi-page additions ---------- */
  .nav-links a.active{color:var(--navy-950); position:relative;}
  .nav-links a.active::after{content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--gold-500);}

  .page-header{
    padding:64px 0 48px;
    border-bottom:1px solid var(--line);
  }
  .page-header .dial{margin-bottom:16px;}
  .page-header h1{font-size:clamp(2rem, 4vw, 3rem);}
  .page-header p{margin-top:18px; color:var(--ink-soft); font-size:1.05rem; max-width:56ch;}

  .team-card{
    display:grid;
    grid-template-columns:180px 1fr;
    gap:32px;
    align-items:start;
    margin-top:40px;
    padding:32px;
    background:var(--paper-dim);
    border:1px solid var(--line);
  }
  @media (max-width:600px){ .team-card{grid-template-columns:1fr;} }
  .team-photo{
    width:180px; height:180px;
    border-radius:50%;
    background:var(--navy-950);
    display:flex; align-items:center; justify-content:center;
    color:var(--gold-300);
    font-family:'Fraunces', serif;
    font-weight:600;
    font-size:2.2rem;
  }
  .team-card h3{font-size:1.4rem;}
  .team-card .role{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.75rem;
    color:var(--gold-600);
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-weight:600;
    margin-top:6px;
  }
  .team-card p{margin-top:16px; color:var(--ink-soft); font-size:0.98rem;}

  .contact-grid{
    margin-top:40px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
  }
  @media (max-width:800px){ .contact-grid{grid-template-columns:1fr;} }

  form.mform{display:grid; gap:18px;}
  .mform label{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--navy-900);
    font-weight:600;
    display:block;
    margin-bottom:6px;
  }
  .mform input, .mform textarea, .mform select{
    width:100%;
    padding:12px 14px;
    border:1px solid var(--line);
    background:var(--paper);
    font-family:'Inter', sans-serif;
    font-size:0.95rem;
    color:var(--ink);
  }
  .mform input:focus, .mform textarea:focus, .mform select:focus{
    outline:none; border-color:var(--gold-500);
  }
  .mform button{
    justify-self:start;
    padding:14px 30px;
    background:var(--navy-950);
    color:var(--paper);
    border:none;
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:0.92rem;
    cursor:pointer;
    letter-spacing:0.02em;
    transition:background 0.2s ease;
  }
  .mform button:hover{background:var(--navy-900);}
  .form-note{
    margin-top:14px;
    font-size:0.85rem;
    color:var(--ink-soft);
  }
  .contact-info{padding-top:4px;}
  .contact-info .item{margin-bottom:22px;}
  .contact-info .item .k{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.7rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--gold-600);
    font-weight:600;
    display:block;
    margin-bottom:4px;
  }
  .contact-info .item .v{font-size:1.02rem; color:var(--navy-950); font-weight:500;}

  .legal-body h2{font-size:1.2rem; margin-top:32px; margin-bottom:12px; color:var(--navy-950);}
  .legal-body p{color:var(--ink-soft); font-size:0.98rem; margin-bottom:12px; max-width:70ch;}
  .legal-pending{
    margin-top:24px; margin-bottom:32px;
    padding:20px 24px;
    background:var(--navy-050);
    border-left:3px solid var(--gold-500);
    font-size:0.95rem;
    color:var(--navy-900);
  }

