  :root{
    color-scheme: light only;
    --navy:#0B2440;
    --navy-soft:#173456;
    --blue:#2C5697;
    --blue-deep:#1B3D6E;
    --white:#FFFFFF;
    --paper:#FBFCFD;
    --grey:#EEF2F8;
    --grey-deep:#E2E8F2;
    --text-soft:#3B4A63;
    --text-soft-on-navy:#C3D2E8;
    --line:#D5DCE7;
    --line-on-navy:#2A4363;
    --accent:#2C5697;
    --accent-on-navy:#8FB2E8;
    --max:1080px;
  }
  *{ box-sizing:border-box; forced-color-adjust:none; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0;
    background:var(--white);
    color:var(--navy);
    font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.55;
  }
  h1,h2,h3,.logo,.hero-strip strong,.step .mk,.stat .big,.price-card .amount .n,.headshot-fallback,.headshot-name{
    font-variant-ligatures:none;
    font-feature-settings:"liga" 0,"dlig" 0,"clig" 0,"calt" 0;
  }
  h1,h2,h3{
    font-family:'Fraunces', serif;
    font-weight:600;
    font-variation-settings:'opsz' 40;
    line-height:1.12;
    margin:0;
    letter-spacing:-0.01em;
    color:var(--navy);
  }
  a{ color:inherit; }
  .wrap{ max-width:var(--max); margin:0 auto; padding:0 28px; }
  section{ padding:88px 0; }
  @media (max-width:720px){ section{ padding:60px 0; } }
  :focus-visible{ outline:2.5px solid var(--navy); outline-offset:3px; }

  .eyebrow{
    font-size:0.78rem;
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--accent);
  }
  .on-navy{ background:var(--navy); color:#fff; }
  .on-navy .eyebrow{ color:var(--accent-on-navy); }

  .section-head{ max-width:640px; margin-bottom:44px; }
  .section-head h2{ font-size:clamp(1.6rem,3vw,2.15rem); margin-top:12px; }
  .section-head p{ color:var(--text-soft); margin-top:14px; font-size:1.02rem; }
  .on-navy .section-head p{ color:var(--text-soft-on-navy); }

  /* ---------- NAV ---------- */
  header.nav{
    position:sticky; top:0; z-index:50;
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    max-width:var(--max); margin:0 auto; padding:20px 28px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .logo{ font-family:'Fraunces', serif; font-weight:600; font-size:1.1rem; }
  .nav-links{ display:flex; align-items:center; gap:30px; font-size:0.92rem; }
  .nav-links a{ text-decoration:none; color:var(--text-soft); white-space:nowrap; }
  .nav-links a:hover{ color:var(--navy); }
  .nav-links a.btn{ color:#fff; }
  .nav-links a.btn-ghost{ color:var(--navy); }
  .nav-links a.btn:hover{ color:#fff; }
  .nav-links a.btn-ghost:hover{ color:#fff; }
  @media (max-width:640px){
    .nav-inner{ padding:16px 20px; }
    .nav-links{ gap:0; }
    .nav-links a:not(.btn){ display:none; }
    .btn-primary{ padding:10px 16px; font-size:0.85rem; }
  }

  .btn{
    font-family:'Inter', sans-serif; font-weight:600; font-size:0.9rem;
    padding:12px 22px; border-radius:6px; border:1.5px solid transparent;
    cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:8px;
    transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
  }
  .btn-primary{ background:var(--blue-deep); color:#fff; box-shadow:0 4px 14px -4px rgba(27,61,110,0.55); }
  .btn-primary:hover{ background:var(--navy); transform:translateY(-1px); box-shadow:0 6px 18px -4px rgba(27,61,110,0.65); }
  .btn-ghost{ background:transparent; color:var(--navy); border-color:var(--navy); }
  .btn-ghost:hover{ background:var(--navy); color:#fff; }
  .btn-white{ background:#fff; color:var(--navy); }
  .btn-white:hover{ background:var(--paper); transform:translateY(-1px); }

  /* ---------- HERO ---------- */
  .hero{ padding-top:76px; padding-bottom:64px; }
  .hero .eyebrow{ display:block; }
  .hero h1{ font-size:clamp(2.1rem,4.4vw,3.2rem); margin-top:16px; max-width:16ch; }
  .hero p.lede{ font-size:1.12rem; color:var(--text-soft); max-width:56ch; margin-top:20px; }
  .hero-cta{ display:flex; gap:14px; margin-top:30px; flex-wrap:wrap; }
  .hero-note{ margin-top:16px; font-size:0.85rem; color:var(--text-soft); }
  .hero-strip{
    margin-top:56px; border-top:1px solid var(--line); padding-top:28px;
    display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  }
  @media (max-width:720px){ .hero-strip{ grid-template-columns:1fr; } }
  .hero-strip div{ font-size:0.92rem; color:var(--text-soft); }
  .hero-strip strong{ display:block; color:var(--navy); font-family:'Fraunces', serif; font-size:1.05rem; margin-bottom:4px; }

  /* ---------- WHO WE HELP ---------- */
  .who{ background:var(--grey); }
  .who-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  @media (max-width:820px){ .who-grid{ grid-template-columns:1fr; } }
  .who-card{
    background:var(--white); border:1px solid var(--line); border-left:3px solid var(--blue);
    border-radius:10px; padding:26px 24px; box-shadow:0 2px 10px -4px rgba(11,36,64,0.06);
  }
  .who-card h3{ font-size:1.1rem; font-weight:600; }
  .who-card p{ color:var(--text-soft); font-size:0.94rem; margin-top:10px; }

  /* ---------- HOW IT WORKS ---------- */
  .steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
  @media (max-width:820px){ .steps{ grid-template-columns:1fr; gap:28px; } }
  .step .mk{ font-family:'Fraunces', serif; font-size:1.6rem; font-weight:600; color:var(--navy); }
  .step h3{ font-size:1.1rem; font-weight:600; margin-top:10px; }
  .step p{ color:var(--text-soft); font-size:0.94rem; margin-top:8px; max-width:32ch; }

  .qual{ margin-top:56px; border-top:1px solid var(--line); padding-top:44px; }
  .qual-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  @media (max-width:820px){ .qual-grid{ grid-template-columns:1fr; } }
  .qual-item h3{ font-size:1rem; font-weight:600; }
  .qual-item p{ color:var(--text-soft); font-size:0.92rem; margin-top:8px; }

  /* ---------- CREDIBILITY ---------- */
  #how, #about, #pricing{ scroll-margin-top:76px; }
  .cred{ background:var(--white); }
  .cred-grid{ display:grid; grid-template-columns:1.2fr 0.8fr; gap:48px; align-items:start; }
  @media (max-width:820px){ .cred-grid{ grid-template-columns:1fr; } }
  .cred p.body{ color:var(--text-soft); font-size:1.02rem; max-width:56ch; }
  .cred p.body + p.body{ margin-top:16px; }
  .stat{ border:1.5px solid var(--blue); background:var(--grey); border-radius:10px; padding:28px 26px; }
  .stat .big{ font-family:'Fraunces', serif; font-size:2.6rem; font-weight:600; color:var(--navy); line-height:1; }
  .stat .cap{ color:var(--text-soft); font-size:0.9rem; margin-top:10px; }
  .stat .note{ color:var(--text-soft); font-size:0.78rem; margin-top:6px; font-style:italic; }

  /* ---------- MODELS ---------- */
  .model-row{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
  @media (max-width:720px){ .model-row{ grid-template-columns:1fr; } }
  .model-card{ border:1px solid var(--line); border-top:3px solid var(--blue); border-radius:10px; padding:26px 24px; background:var(--white); }
  .model-card .eyebrow{ display:block; }
  .model-card h3{ font-size:1.15rem; margin-top:10px; }
  .model-card p{ color:var(--text-soft); font-size:0.94rem; margin-top:10px; }
  .included{
    margin-top:32px; padding-top:28px; border-top:1px solid var(--line);
    display:grid; grid-template-columns:repeat(2,1fr); gap:10px 24px;
    font-size:0.9rem; color:var(--text-soft);
  }
  .included div::before{ content:"- "; color:var(--accent); font-weight:700; }

  /* ---------- PRICING ---------- */
  .pricing{ background:var(--paper); }
  .price-row{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
  @media (max-width:720px){ .price-row{ grid-template-columns:1fr; } }
  .price-card{
    background:var(--white); border:1px solid var(--line); border-radius:10px; padding:30px 28px;
  }
  .price-card.featured{ border:1.5px solid var(--blue); box-shadow:0 10px 28px -12px rgba(44,86,151,0.32); }
  .price-card .badge{
    display:inline-block; background:var(--navy); color:#fff; font-size:0.7rem;
    font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
    padding:4px 10px; border-radius:20px; margin-bottom:14px;
  }
  .price-card h3{ font-size:1.2rem; font-weight:600; }
  .price-card .amount{ margin-top:16px; display:flex; align-items:baseline; gap:6px; }
  .price-card .amount .n{ font-family:'Fraunces', serif; font-size:2.2rem; font-weight:600; }
  .price-card .amount .u{ font-size:0.85rem; color:var(--text-soft); }
  .price-card .plus{ font-size:0.85rem; color:var(--text-soft); margin-top:6px; }
  .price-card ul{ list-style:none; padding:0; margin:22px 0 0; display:flex; flex-direction:column; gap:10px; }
  .price-card li{ font-size:0.92rem; color:var(--text-soft); display:flex; gap:10px; }
  .price-card li::before{ content:"✓"; color:var(--navy); font-weight:700; }
  .price-note{ margin-top:32px; text-align:center; font-size:0.88rem; color:var(--text-soft); }

  /* ---------- CTA / FOOTER ---------- */
  footer{ background:var(--grey); color:var(--navy); border-top:1px solid var(--line); scroll-margin-top:76px; }
  .cta{ text-align:left; }
  .cta h2{ color:var(--navy); font-size:clamp(1.9rem,3.6vw,2.6rem); max-width:20ch; }
  .cta p{ color:var(--text-soft); max-width:48ch; margin-top:16px; font-size:1.02rem; }
  .cta .hero-cta{ margin-top:28px; }
  .cta.on-navy{ background:linear-gradient(135deg, var(--blue-deep), var(--navy)); }
  .cta.on-navy h2{ color:#fff; }
  .cta.on-navy p{ color:var(--text-soft-on-navy); }
  .foot-bottom{
    border-top:1px solid var(--line); padding:26px 0;
    display:flex; justify-content:space-between; align-items:center;
    font-size:0.85rem; color:var(--text-soft); flex-wrap:wrap; gap:12px;
  }
  .foot-bottom .contact{ display:flex; gap:22px; flex-wrap:wrap; }
  .foot-bottom .contact a{ text-decoration:none; color:var(--navy); }
  .foot-bottom .contact a:hover{ color:var(--accent); }

  /* ---------- ABOUT / HEADSHOT ---------- */
  .about-grid{ display:grid; grid-template-columns:0.62fr 1fr; gap:56px; align-items:start; }
  @media (max-width:820px){ .about-grid{ grid-template-columns:1fr; } }
  .headshot-wrap{ position:sticky; top:110px; }
  @media (max-width:820px){ .headshot-wrap{ position:static; } }
  .headshot{
    width:100%; max-width:280px; aspect-ratio:1/1; border-radius:50%;
    overflow:hidden; position:relative; background:var(--paper);
    border:1px solid var(--line);
  }
  .headshot img{ width:100%; height:100%; object-fit:cover; object-position:50% 20%; display:block; }
  .headshot-fallback{
    display:none; position:absolute; inset:0; align-items:center; justify-content:center;
    background:var(--navy); color:#fff; font-family:'Fraunces', serif;
    font-size:3rem; font-weight:600;
  }
  .headshot-name{ margin-top:18px; font-family:'Fraunces', serif; font-weight:600; font-size:1.1rem; color:var(--navy); }
  .headshot-role{ color:var(--text-soft); font-size:0.9rem; margin-top:2px; }

  /* ---------- FOOTER (site-wide, compact) ---------- */
  .site-footer{ background:var(--grey-deep); border-top:1px solid var(--line); }
  .site-footer .wrap{
    padding:36px 28px; display:flex; justify-content:space-between; align-items:center;
    flex-wrap:wrap; gap:14px; font-size:0.85rem; color:var(--text-soft);
  }
  .site-footer .contact{ display:flex; gap:22px; flex-wrap:wrap; }
  .site-footer .contact a{ text-decoration:none; color:var(--navy); }
  .site-footer .contact a:hover{ color:var(--accent); }

  /* ---------- PAGE HERO (secondary pages) ---------- */
  .page-hero{ padding:64px 0 16px; }
  .page-hero .eyebrow{ display:block; }
  .page-hero h1{ font-size:clamp(1.9rem,4vw,2.7rem); margin-top:14px; max-width:20ch; }
  .page-hero p{ color:var(--text-soft); font-size:1.05rem; margin-top:16px; max-width:56ch; }
  .nav-links a.active{ color:var(--navy); font-weight:600; }
