/* Career Clarity Labs - index.html
   Extracted verbatim from the page's inline <style>. Byte-identical, original order.
   Shared chrome is duplicated across page files: see CSS-NOTES.md before deduping. */

  /* ==== Design tokens: radius, motion, elevation, spacing, type ====
     Values are the site's existing values, named. No visual change by design. */
  :root{
    --r-xs:2px; --r-sm:3px; --r-md:5px; --r-lg:8px; --r-circle:50%;
    --dur-fast:.2s; --dur-base:.25s; --dur-slow:.3s; --dur-reveal:.7s; --ease:ease;
    --shadow-sm:0 24px 44px -26px rgba(12,31,68,0.25);
    --shadow-md:0 24px 48px -30px rgba(12,31,68,0.25);
    --shadow-lg:0 30px 60px -38px rgba(0,0,0,0.55);
    --sp-1:0.5rem; --sp-2:1rem; --sp-3:1.5rem; --sp-4:2rem; --sp-6:3rem; --sp-8:4rem; --sp-12:6rem; --sp-16:8rem;
    --fs-xs:0.68rem; --fs-sm:0.78rem; --fs-base:0.95rem; --fs-md:1.05rem; --fs-lg:1.25rem; --fs-xl:1.5rem;
  }

  /* ==== SELF-HOSTED FONTS (eliminates FOUT: real font present at first paint) ==== */
  @font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url('../fonts/CormorantGaramond-300i.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;font-display:swap;src:url('../fonts/CormorantGaramond-400i.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:normal;font-weight:300;font-display:swap;src:url('../fonts/CormorantGaramond-300.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:normal;font-weight:400;font-display:swap;src:url('../fonts/CormorantGaramond-400.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:normal;font-weight:600;font-display:swap;src:url('../fonts/CormorantGaramond-600.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;font-display:swap;src:url('../fonts/DMSans-300.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:400;font-display:swap;src:url('../fonts/DMSans-400.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:500;font-display:swap;src:url('../fonts/DMSans-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;}

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
  --accent-text: #1d5fd0; /* AA-safe blue for small text on white */
  --gold-text: #7a5c00;  /* AA-safe ochre for gold words on white */
    --ink:    #0c1f44;
    --paper:  #ffffff;
    --warm:   #fbbc04;
    --muted:  #5f6368;
    --accent: #4285f4;
    --light:  #e8f0fe;
    --serif:  'Cormorant Garamond', Georgia, serif;
    --sans:   'DM Sans', sans-serif;
  }
  img, svg, video, iframe { max-width: 100%; }
  html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { font-family: var(--sans); background: var(--paper); color: var(--ink); overflow-x: hidden; }
  h1, h2, h3 { font-weight: inherit; }

  .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  /* NAV */
  nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 1.5rem 3rem; background: transparent; border-bottom: 1px solid transparent; transition: background 0.3s ease, border-color 0.3s ease, padding 0.3s ease; }
  nav.scrolled { background: rgba(255,255,255,0.93); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(12,31,68,0.08); }
  .nav-logo { font-family: var(--serif); font-size: 1.4rem; font-weight: 600; letter-spacing: 0.04em; color: var(--ink); text-decoration: none; }
  .nav-logo span { color: var(--accent); }
  .nav-links { display: flex; gap: 2.5rem; list-style: none; }
  .nav-links a { font-family: var(--sans); font-size: 0.82rem; font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); text-decoration: none; transition: color 0.2s; }
  .nav-links a:hover, .nav-links a.active { color: var(--ink); }
  .nav-cta { font-family: var(--sans); font-size: 0.82rem; letter-spacing: 0.1em; text-transform: uppercase; background: var(--ink); color: var(--paper); padding: 0.75rem 1.5rem; text-decoration: none; transition: background 0.3s; white-space: nowrap; }
  .nav-cta:hover { background: var(--accent); }

  .nav-toggle { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px; background: none; border: none; cursor: pointer; padding: 0; }
  .nav-toggle span { display: block; width: 22px; height: 2px; background: var(--ink); transition: transform 0.25s ease, opacity 0.25s ease; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .mobile-menu { position: fixed; inset: 0; z-index: 99; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2rem; background: var(--paper); opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease; }
  .mobile-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }
  .mobile-menu a { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; color: var(--ink); text-decoration: none; letter-spacing: 0.02em; }
  .mobile-menu a:hover { color: var(--accent); }
  .mobile-menu .nav-cta { font-family: var(--sans); font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 0.5rem; }

  /* SHARED */
  .eyebrow { font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent-text); margin-bottom: 1.5rem; display: inline-flex; align-items: center; gap: 0.75rem; }
  .eyebrow::before { content: ''; display: inline-block; width: 2rem; height: 1px; background: var(--accent); }
  .eyebrow.center { justify-content: center; }
  .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
  .reveal.visible { opacity: 1; transform: translateY(0); }
  .btn-primary { display: inline-flex; align-items: center; gap: 0.75rem; background: var(--ink); color: var(--paper); font-family: var(--sans); font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 1rem 2rem; text-decoration: none; transition:background-color 0.3s ease,color 0.3s ease,border-color 0.3s ease,gap 0.3s ease,transform 0.3s ease,box-shadow 0.3s ease; border: none; cursor: pointer; }
  .btn-primary:hover { background: var(--accent-text); gap: 1.1rem; }
  .btn-ghost { display: inline-flex; align-items: center; gap: 0.6rem; background: transparent; color: var(--ink); border: 1px solid rgba(12,31,68,0.2); font-family: var(--sans); font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 1rem 2rem; text-decoration: none; transition:background-color 0.3s ease,color 0.3s ease,border-color 0.3s ease,gap 0.3s ease,transform 0.3s ease,box-shadow 0.3s ease; }
  .btn-ghost:hover { color: var(--accent); border-color: var(--accent); background: rgba(66,133,244,0.06); }
  .section-eyebrow { font-family: var(--sans); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent-text); margin-bottom: 1.25rem; }

  /* HERO (centered stakes statement) */
  #hero { min-height: 96vh; min-height: 96svh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 9rem 2rem 5rem; background: radial-gradient(120% 90% at 50% 0%, rgba(232,240,254,0.7) 0%, var(--paper) 55%); }
  .hero-inner { max-width: 940px; }
  .hero-title { font-family: var(--serif); font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 300; line-height: 1.08; letter-spacing: -0.01em; color: var(--ink); margin-bottom: 1.75rem; }
  .hero-title em { font-style: italic; color: var(--accent); }
  .hero-sub { font-size: 1.08rem; font-weight: 300; color: var(--muted); line-height: 1.8; max-width: 600px; margin: 0 auto 2.5rem; }
  .hero-cta-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem; }
  .hero-micro { font-size: 0.78rem; color: var(--muted); margin-top: 1.1rem; letter-spacing: 0.02em; }

  /* FORK (two doors) */
  #fork { padding: 7rem 3rem; background: var(--paper); }
  .fork-wrap { max-width: 1200px; margin: 0 auto; }
  .fork-head { text-align: center; margin-bottom: 3.5rem; }
  .fork-title { font-family: var(--serif); font-size: clamp(2rem, 4vw, 3rem); font-weight: 300; color: var(--ink); line-height: 1.15; }
  .fork-title em { font-style: italic; color: var(--accent); }
  .fork-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
  .door { position: relative; display: flex; flex-direction: column; background: var(--paper); border: 1px solid rgba(12,31,68,0.12); padding: 3rem 2.75rem 2.5rem; text-decoration: none; overflow: hidden; transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease; }
  .door::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; transform: scaleX(0); transform-origin: left; transition: transform 0.35s ease; }
  .door.parents::before { background: var(--warm); }
  .door.pros::before { background: var(--accent); }
  .door:hover { transform: translateY(-6px); box-shadow: 0 28px 50px -22px rgba(12,31,68,0.28); border-color: transparent; }
  .door:hover::before { transform: scaleX(1); }
  .door-tag { font-family: var(--sans); font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 1.5rem; }
  .door.parents .door-tag { color: #c79400; }
  .door.pros .door-tag { color: var(--accent); }
  .door-title { font-family: var(--serif); font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 400; color: var(--ink); line-height: 1.18; margin-bottom: 1rem; }
  .door-body { font-size: 0.95rem; font-weight: 300; color: var(--muted); line-height: 1.7; margin-bottom: 2rem; flex-grow: 1; }
  .door-link { font-family: var(--sans); font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); display: inline-flex; align-items: center; gap: 0.5rem; transition: gap 0.25s ease; }
  .door:hover .door-link { gap: 0.85rem; }
  .door-link span { color: var(--accent); }

  /* PROOF */
  #proof { padding: 7rem 3rem; background: var(--light); }
  .proof-wrap { max-width: 880px; margin: 0 auto; text-align: center; }
  .proof-mark { font-family: var(--serif); font-size: 4rem; line-height: 1; color: var(--accent); opacity: 0.4; margin-bottom: 0.5rem; }
  .proof-quote { font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 300; font-style: italic; line-height: 1.4; color: var(--ink); margin-bottom: 2rem; }
  .proof-attr { font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
  .proof-div { width: 60px; height: 1px; background: var(--line); margin: 2.75rem auto; }
  .proof-note { margin-top: 2.5rem; font-size: 0.82rem; font-weight: 300; font-style: italic; color: var(--muted); border-top: 1px solid rgba(12,31,68,0.12); padding-top: 1.5rem; display: inline-block; }
  .proof-link { margin-top: 2rem; }
  .proof-link, .people-link { display: inline-flex; align-items: center; gap: 0.6rem; font-family: var(--sans); font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); text-decoration: none; padding: 0.85rem 1.4rem; border: 1px solid transparent; border-radius:var(--r-xs); transition: border-color .25s ease, background .25s ease, gap .25s ease; }
  .proof-link:hover, .people-link:hover, .proof-link:focus-visible, .people-link:focus-visible { border-color: rgba(12,31,68,0.28); background: rgba(232,240,254,0.35); gap: 0.9rem; outline: none; }

  /* PROMISE (navy) */
  #promise { padding: 8rem 3rem; background: var(--ink); color: var(--paper); }
  .promise-wrap { max-width: 1100px; margin: 0 auto; }
  .promise-head { max-width: 720px; margin-bottom: 3.5rem; }
  .promise-title { font-family: var(--serif); font-size: clamp(2.2rem, 4.5vw, 3.4rem); font-weight: 300; line-height: 1.12; color: var(--paper); margin-bottom: 1.5rem; }
  .promise-title em { font-style: italic; color: var(--warm); }
  .promise-body { font-size: 1.02rem; font-weight: 300; color: rgba(255,255,255,0.78); line-height: 1.8; }
  .promise-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5px; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.12); }
  .promise-card { background: var(--ink); padding: 2.5rem; }
  .promise-card .pc-label { font-size: 0.68rem; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 1.25rem; }
  .promise-card.menu .pc-label { color: rgba(255,255,255,0.5); }
  .promise-card.answer .pc-label { color: var(--warm); }
  .promise-card .pc-head { font-family: var(--serif); font-size: 1.5rem; font-weight: 400; margin-bottom: 1rem; }
  .promise-card.menu .pc-head { color: rgba(255,255,255,0.6); }
  .promise-card.answer .pc-head { color: var(--paper); }
  .promise-card .pc-body { font-size: 0.92rem; font-weight: 300; line-height: 1.7; }
  .promise-card.menu .pc-body { color: rgba(255,255,255,0.5); }
  .promise-card.answer .pc-body { color: rgba(255,255,255,0.82); }

  /* PEOPLE */
  #people { padding: 8rem 3rem; background: var(--paper); }
  .people-wrap { max-width: 1100px; margin: 0 auto; }
  .people-head { max-width: 720px; margin-bottom: 3.5rem; }
  .people-title { font-family: var(--serif); font-size: clamp(2rem, 4vw, 3rem); font-weight: 300; line-height: 1.15; color: var(--ink); margin-bottom: 1.25rem; }
  .people-title em { font-style: italic; color: var(--accent); }
  .people-intro { font-size: 1rem; font-weight: 300; color: var(--muted); line-height: 1.8; max-width: 640px; }
  .bench { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5px; background: rgba(12,31,68,0.1); border: 1px solid rgba(12,31,68,0.1); }
  .bench-card { background: var(--paper); padding: 2.5rem; }
  .bench-num { font-family: var(--serif); font-size: 0.95rem; font-style: italic; color: var(--gold-text); display: block; margin-bottom: 0.5rem; }
  .bench-role { font-family: var(--serif); font-size: 1.5rem; font-weight: 400; color: var(--ink); margin-bottom: 0.75rem; }
  .bench-body { font-size: 0.92rem; font-weight: 300; color: var(--muted); line-height: 1.75; }
  .people-link { margin-top: 2.5rem; }

  /* RISK REVERSAL */
  .risk-seal { font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: #c79400; margin-bottom: 1.25rem; }

  /* FINAL CTA */
  #final-cta { padding: 8rem 3rem; background: var(--ink); color: var(--paper); text-align: center; }
  .final-wrap { max-width: 760px; margin: 0 auto; }
  .final-title { font-family: var(--serif); font-size: clamp(2.4rem, 5vw, 3.6rem); font-weight: 300; line-height: 1.12; color: var(--paper); margin-bottom: 1.5rem; }
  .final-title em { font-style: italic; color: var(--warm); }
  .final-sub { font-size: 1.02rem; font-weight: 300; color: rgba(255,255,255,0.78); line-height: 1.8; margin-bottom: 2.5rem; max-width: 560px; margin-left: auto; margin-right: auto; }
  #final-cta .btn-primary { background: var(--paper); color: var(--ink); }
  #final-cta .btn-primary:hover { background: var(--warm); color: var(--ink); }
  .final-micro { font-size: 0.78rem; color: rgba(255,255,255,0.55); margin-top: 1.1rem; letter-spacing: 0.02em; }

  /* FOOTER */
  footer { background: var(--ink); color: rgba(255,255,255,0.62); padding: 3rem; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(251,188,4,0.1); }
  .footer-logo { font-family: var(--serif); font-size: 1.2rem; color: var(--paper); }
  .footer-logo span { color: var(--warm); }
  .footer-links { display: flex; gap: 2rem; flex-wrap: wrap; }
  .footer-links a { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.62); text-decoration: none; transition: color 0.2s; }
  .footer-links a:hover { color: var(--warm); }
  .footer-copy { font-size: 0.72rem; letter-spacing: 0.05em; }

  @media (max-width: 900px) {
    nav { padding: 1.25rem 1.5rem; }
    #promise, #people, #final-cta { padding-top: 6rem; padding-bottom: 6rem; }
    .fork-grid, .promise-cols, .bench { grid-template-columns: 1fr; }
    .promise-card, .bench-card { padding: 2rem; }
  }
  @media (max-width: 560px) {
    .nav-links { display: none; }
    .nav-toggle { display: flex; }
    .nav-cta { padding: 0.6rem 1rem; font-size: 0.72rem; }
  }
  @media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1 !important; transform: none !important; transition: none; }
    html { scroll-behavior: auto; }
  }
  
  /* ==== UNIVERSAL SMALL-PHONE SAFETY v2 (320-440px) ==== */
  @media (max-width:440px){
    html,body{max-width:100%;overflow-x:hidden;}
    nav{padding:0.95rem 1.05rem;}
    .nav-logo{font-size:1.12rem;letter-spacing:0.02em;}
    .nav-cta{padding:0.55rem 0.85rem;font-size:0.72rem;letter-spacing:0.06em;}
    .fork-grid,.promise-cols,.bench,.points,.proc,.callout,.stories,.price-grid,
    .bp-grid,.anatomy-cols,.stats,.ostats,.team,.stds,.featured-arc,.pgrid,
    .cgrid,.steps,.rgrid,.feat,.lhero-grid,.tracks,.fprofile,.deliver-wrap{grid-template-columns:1fr!important;}
    .ev-row,.plan-step,.bp-item{grid-template-columns:1fr!important;gap:0.35rem!important;}
    section,.sec,.lhero,.phero,.final,.oband,#hero,#fork,#proof,#promise,
    #deliver,#people,#final-cta{padding-left:1.1rem!important;padding-right:1.1rem!important;}
    .featured,.anatomy-panel,.price-card,.story,.co-card,.cbox,.pillar,
    .coach-body,.pcard,.feat-body,.track,.rcard,.promise-card,.bench-card{padding:1.6rem 1.2rem!important;}
    .stat-num,.ostat-num{font-size:1.9rem!important;}
    h1,.hero-title,.phero-title,.lhero-title{overflow-wrap:break-word;word-break:break-word;}
    #my-cal-inline{height:520px!important;}
  }
  @media (max-width:360px){
    .nav-logo{font-size:1.02rem;}
    .price-amount{font-size:2.8rem!important;}
    .featured-quote,.pattern-quote{font-size:1.45rem!important;}
  }
  #deliver{padding:8rem 3rem;background:var(--paper);}
  .deliver-wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.1fr 0.9fr;gap:3.5rem;align-items:center;}
  .deliver-list{list-style:none;}
  .deliver-list li{font-size:1rem;font-weight:300;color:var(--ink);padding:0.85rem 0 0.85rem 1.75rem;border-bottom:1px solid rgba(12,31,68,0.1);position:relative;}
  .deliver-list li::before{content:'\2713';position:absolute;left:0;color:var(--accent);font-weight:500;}
  .price-card{background:var(--light);border-top:3px solid var(--warm);padding:2.75rem;text-align:center;}
  .price-amount{font-family:var(--serif);font-size:3.6rem;font-weight:300;color:var(--ink);line-height:1;}
  .price-unit{font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-top:0.75rem;}
  .price-note{font-size:0.85rem;font-weight:300;color:var(--muted);margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(12,31,68,0.12);}
  @media(max-width:900px){.deliver-wrap{grid-template-columns:1fr;gap:2.5rem;}}
  
  /* ==== FOOTER STANDARD (all pages, all resolutions) ==== */
  footer{display:flex;flex-direction:column;align-items:center;gap:1.4rem;text-align:center;background:var(--ink);color:rgba(255,255,255,0.62);padding:3.25rem 1.5rem calc(2.75rem + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(251,188,4,0.12);}
  a.footer-logo{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--paper);text-decoration:none;}
  footer .footer-logo span{color:var(--warm);}
  footer .footer-links{display:flex;flex-wrap:wrap;justify-content:center;column-gap:1.9rem;row-gap:0.8rem;max-width:820px;margin:0;}
  footer .footer-links a{font-size:0.74rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.66);text-decoration:none;transition:color .2s;}
  footer .footer-links a:hover{color:var(--warm);}
  footer .footer-sub a{color:rgba(255,255,255,0.45);}
  footer .footer-mail{text-transform:none;letter-spacing:0.04em;}
  footer .footer-copy{font-size:0.7rem;letter-spacing:0.08em;color:rgba(255,255,255,0.4);}
  
  /* mobile menu CTA: always white text on navy/blue */
  .mobile-menu a.nav-cta{color:var(--paper);background:var(--ink);}
  .mobile-menu a.nav-cta:hover{color:var(--paper);background:var(--accent);}
  
  /* ==== TABLET OPTIMIZATION (601 to 1024: iPad, iPad Pro portrait, Nest Hub, Surface, folds) ==== */
  @media (max-width:1024px){
    .nav-links{display:none!important;}
    .nav-toggle{display:flex!important;}
  }
  @media (min-width:768px) and (max-width:1024px){
    .points{grid-template-columns:repeat(3,1fr)!important;gap:1.75rem!important;}
    .proc{grid-template-columns:repeat(3,1fr)!important;row-gap:2.5rem!important;}
    .bench{grid-template-columns:repeat(2,1fr)!important;}
    .steps{grid-template-columns:repeat(3,1fr)!important;}
    .callout{grid-template-columns:1fr 1fr!important;}
    .cgrid{grid-template-columns:1fr!important;max-width:660px;margin:0 auto;}
    .deliver-wrap{grid-template-columns:1fr!important;}
    .deliver-wrap .price-card{max-width:560px;margin:0 auto;width:100%;}
    .fprofile{grid-template-columns:0.8fr 1.2fr!important;}
    .tracks{grid-template-columns:repeat(3,1fr)!important;gap:1.5rem!important;}
  }
    .final-fit { font-size: 0.92rem; font-weight: 300; color: rgba(255,255,255,0.75); margin: 0 0 2rem; }
    /* mobile vertical rhythm: 3-tier scale */
  @media (max-width:600px){
    #hero{padding-top:7rem!important;padding-bottom:3.25rem!important;}
    #fork,#proof,#people{padding-top:3.5rem!important;padding-bottom:3.5rem!important;}
    #deliver{padding-top:3.5rem!important;padding-bottom:3.5rem!important;}
    #final-cta{padding-top:4.5rem!important;padding-bottom:4rem!important;}
    .fork-head,.sec-head,.promise-head,.people-head{margin-bottom:2rem!important;}
      }
    #method { padding: 8rem 3rem; background: var(--light); }
  #method .promise-title { color: var(--ink); }
  #method .promise-title em { color: var(--accent); }
  .proc { display: grid; grid-template-columns: repeat(5,1fr); gap: 1.75rem; max-width: 1180px; margin: 0 auto; }
  .proc-num { width: 40px; height: 40px; border: 1px solid var(--accent-text); border-radius:var(--r-circle); display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-style: italic; color: var(--accent-text); margin-bottom: 1rem; }
  .proc-title { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; color: var(--ink); line-height: 1.2; margin-bottom: 0.6rem; }
  .proc-body { font-size: 0.88rem; font-weight: 300; color: var(--muted); line-height: 1.7; }
  @media (max-width: 900px){ #method { padding: 6rem 3rem; } }
  @media (max-width: 760px){ #method { padding: 4rem 1.5rem; } .proc { grid-template-columns: 1fr 1fr; gap: 2rem; } }
  @media (max-width: 600px){ #method { padding-top: 3.5rem!important; padding-bottom: 3.5rem!important; } }
  
  /* ==== AA CONTRAST TOKENS + GHOST LINKS (site standard) ==== */
  :root{--accent-text:#1d5fd0;--gold-text:#7a5c00;}
  .eyebrow,.sec-eyebrow,.section-eyebrow,.cbox-label,.rcard-cat,.feat-kicker,.tldr-label,.fp-role,.co-tag,.point-num{color:var(--accent-text);}
  .rcard-cat{border-color:rgba(29,95,208,0.4);}
  .proc-num{color:var(--accent-text);border-color:var(--accent-text);}
  .sec.ink .sec-eyebrow{color:var(--accent);}
  .story-stage.verdict .ss-label,.arc-step.verdict .arc-label,.pcard-row.verdict .pr-label,.track-num{color:var(--gold-text);}
  .ostat-num.gold{color:var(--gold-text);}
  .read-link,.fp-links a{display:inline-flex;align-items:center;gap:0.5rem;padding:0.55rem 0.95rem;border:1px solid transparent;border-radius:var(--r-xs);text-decoration:none;transition:border-color .25s ease,background .25s ease,gap .25s ease;}
  .read-link:hover,.fp-links a:hover,.read-link:focus-visible,.fp-links a:focus-visible{border-color:rgba(12,31,68,0.28);background:rgba(232,240,254,0.35);gap:0.85rem;outline:none;color:var(--ink);}
  
  /* ==== Contrast: WCAG AA for small text (uses existing accessible tokens) ==== */
  footer .footer-sub a{color:rgba(255,255,255,0.62);}
  footer .footer-copy{color:rgba(255,255,255,0.6);}
  .cbox-meta,.pcard-seg,.story-tag,.feat-kicker{color:var(--accent-text);}
  .ctable th{color:var(--accent-text);}

  /* ==== Interaction states: focus / pressed / disabled ==== */
  :focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:var(--r-xs);}
  footer :focus-visible,.final :focus-visible,.art-cta :focus-visible,.lm :focus-visible,.hero :focus-visible{outline-color:var(--warm);}
  .field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px;}
  .proof-link:focus-visible,.people-link:focus-visible,.read-link:focus-visible,.fp-links a:focus-visible,.door-link:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;}
  .btn-primary:active,.btn-ghost:active,.nav-cta:active,.lm-btn:active{transform:translateY(1px);filter:brightness(0.96);}
  .faq-q:active{background:rgba(12,31,68,0.03);}
  button:disabled,button[disabled],a[aria-disabled="true"]{opacity:0.5;cursor:not-allowed;transform:none;filter:none;pointer-events:none;}

  /* ==== Print: parents print these for kitchen-table conversations ==== */
  @media print{
    nav,#siteNav,.nav-toggle,.mobile-menu,.final,.art-cta,#guide,.lm,.nav-cta{display:none!important;}
    .reveal{opacity:1!important;transform:none!important;transition:none!important;animation:none!important;}
    html,body{background:#fff!important;color:#111!important;}
    .hero,.phero,.lhero,.sec.light,.feat-media,.alt-us,.price-card,footer{background:#fff!important;color:#111!important;}
    .hero-title,.phero-title,.lhero-title,.final-title,.alt-us .alt-name,.feat-title,h1,h2,h3,h4{color:#111!important;page-break-after:avoid;}
    .hero-sub,.phero-sub,.lhero-sub,.alt-us .alt-take,.footer-copy,footer a,.feat-dek{color:#333!important;}
    .sec,.phero,.lhero,.hero{padding:1.1rem 0!important;}
    .ctable-scroll{overflow:visible!important;}
    .ctable,.proc,.alt-row,figure,.rs-card{page-break-inside:avoid;}
    a[href^="http"]::after{content:" (" attr(href) ")";font-size:0.72em;color:#555;word-break:break-all;}
    a[href^="#"]::after,a[href$=".html"]::after{content:"";}
    img{max-width:100%!important;}
    @page{margin:16mm;}
  }

  /* ==== WCAG 2.2 target size: standalone links need 24px on every device ==== */
  .footer-links a,.footer-mail,.footer-sub a{min-height:24px;display:inline-flex;align-items:center;}

  /* ==== Touch ergonomics ==== */
  @media (pointer: coarse), (max-width: 820px){
    /* iOS Safari zooms any field rendered under 16px on focus */
    input,select,textarea,.lm-input,.field input,.field select,.field textarea{font-size:16px;}
    /* thumb-sized targets */
    .nav-cta{min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
    .nav-toggle{width:44px;height:44px;}
    .mobile-menu a{min-height:48px;display:flex;align-items:center;padding:0 0.6rem;}
    .footer-links a,.footer-mail,.footer-sub a{min-height:44px;}
    .faq-q{min-height:48px;}
    /* restrained tap feedback instead of the stock blue flash */
    a,button,summary,[role="button"],.faq-q{-webkit-tap-highlight-color:rgba(12,31,68,0.09);}
  }

  /* Nav is over-constrained on phones: the hamburger was being squeezed to 29px.
     Pin the toggle, keep the CTA intact, let the logo absorb the remainder. */
  @media (pointer: coarse), (max-width: 820px){
    .nav-toggle{flex-shrink:0;}
    .nav-cta{flex-shrink:0;}
    .nav-logo{min-width:0;}
  }
  @media (max-width: 440px){
    .nav-cta{padding:0.55rem 0.62rem;letter-spacing:0.03em;}
    nav{padding-left:0.85rem;padding-right:0.85rem;}
  }
@font-face{
  font-family:'DM Sans Fallback';
  src:local('Arial'),local('Helvetica Neue'),local('Helvetica'),local('Liberation Sans');
  size-adjust:97.19%; ascent-override:102.06%; descent-override:31.90%; line-gap-override:0%;
}
:root{
  --serif:'Cormorant Garamond','Cormorant Fallback',Georgia,serif;
  --sans:'DM Sans','DM Sans Fallback',Arial,sans-serif;
}

/* ---- Font fallback + display strategy ---------------------------------------
   font-display:swap  -> the browser gives the preloaded font a ~100ms window.
   If it arrives (normal case, fonts are preloaded and self-hosted) it is used at
   first paint and NEVER swaps. If it misses, the fallback is used for the whole
   page load and still never swaps. Either way: no flash, no reflow.

   The fallbacks below override ONLY the line box (ascent/descent), matching
   Cormorant/DM Sans exactly. Deliberately NO size-adjust on the serif: Cormorant
   has a very small x-height but normal glyph widths, so scaling to match x-height
   squeezes it ~15% too narrow and changes line breaks. Measured, not assumed. */
@font-face{
  font-family:'Cormorant Fallback';
  src:local('Times New Roman'),local('Times'),local('Georgia'),local('Liberation Serif');
  ascent-override:92.40%; descent-override:28.70%; line-gap-override:0%;
}
@font-face{
  font-family:'DM Sans Fallback';
  src:local('Arial'),local('Helvetica Neue'),local('Helvetica'),local('Liberation Sans');
  size-adjust:97.19%; ascent-override:102.06%; descent-override:31.90%; line-gap-override:0%;
}
:root{
  --serif:'Cormorant Garamond','Cormorant Fallback',Georgia,serif;
  --sans:'DM Sans','DM Sans Fallback',Arial,sans-serif;
}

/* 3 bench cards (was 4): 3 columns on desktop */
@media (min-width:901px){.bench{grid-template-columns:repeat(3,1fr);}}

  .skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--ink,#0c1f44);color:#fff;padding:0.85rem 1.2rem;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;border-radius:0 0 6px 0;font-family:var(--sans,-apple-system,sans-serif);font-size:0.85rem;font-weight:500;text-decoration:none;}
  .skip-link:focus{left:0;}

  /* --- mobile legibility: micro-label font floor (>=12px) --- */
  .fm-badge,.rcard-cat,.rcard-src,.lm-eyebrow,.lm-label,.vcard-label,.vcard-fit,.feat-kicker,.tldr-label,.cbox-meta,.ctable th{font-size:0.75rem;}

  /* numerals: force lining figures (Cormorant defaults to old-style, where 4 and 9 descend) */
  html{font-variant-numeric:lining-nums;}
  .price-amount,.pa-now,.pa-alt,.final-price,.price-anchor,.hero-title,.phero-title,.lhero-title,
  .final-title,.sec-title,.point-num,.proc-num,.bpi-num,.track-title,.stat-num,.price-unit,
  .fp-cred,.track-body,.price-lead,.deliver-list,.fnd-item{font-variant-numeric:lining-nums tabular-nums;}

  /* investment CTA: accessible blue (5.9:1 on white text) */
  .btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:0.75rem;background:#1d5fd0;color:#fff;font-family:var(--sans);font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;padding:1rem 2rem;text-decoration:none;transition:background-color 0.3s ease,color 0.3s ease,border-color 0.3s ease,gap 0.3s ease,transform 0.3s ease,box-shadow 0.3s ease;border:none;cursor:pointer;min-height:44px;box-sizing:border-box;}
  .btn-accent:hover{background:var(--ink);gap:1.1rem;color:#fff;}
  .btn-accent:focus-visible{outline:2px solid var(--ink);outline-offset:2px;}

  /* ===== STANDARDIZED VERTICAL RHYTHM v2 (single source of truth, appended last) =====
     Tightened after measuring dead space across phone/tablet/laptop/desktop.
     Scale: mobile 44 -> tablet 56 -> desktop 68. Closers get one step more. 4px grid. */
  @media (max-width:560px){
    .sec,.sec.light,.sec.ink,.section{padding-top:44px!important;padding-bottom:44px!important;}
    .final,#final-cta{padding-top:56px!important;padding-bottom:56px!important;}
    .phero,.lhero{padding-top:88px!important;padding-bottom:32px!important;}
    #hero{min-height:74vh!important;min-height:74svh!important;padding-top:96px!important;padding-bottom:56px!important;}
    .sec-head,.fork-head,.promise-head,.people-head{margin-bottom:28px!important;}
  }
  @media (min-width:561px) and (max-width:980px){
    .sec,.sec.light,.sec.ink,.section{padding-top:56px!important;padding-bottom:56px!important;}
    .final,#final-cta{padding-top:68px!important;padding-bottom:68px!important;}
    .phero,.lhero{padding-top:104px!important;padding-bottom:40px!important;}
    #hero{min-height:80vh!important;min-height:80svh!important;padding-top:112px!important;padding-bottom:56px!important;}
    .sec-head,.fork-head,.promise-head,.people-head{margin-bottom:36px!important;}
  }
  @media (min-width:981px){
    .sec,.sec.light,.sec.ink,.section{padding-top:68px!important;padding-bottom:68px!important;}
    .final,#final-cta{padding-top:84px!important;padding-bottom:84px!important;}
    .phero,.lhero{padding-top:112px!important;padding-bottom:48px!important;}
    #hero{min-height:84vh!important;min-height:84svh!important;padding-top:112px!important;padding-bottom:64px!important;}
    .sec-head,.fork-head,.promise-head,.people-head{margin-bottom:40px!important;}
  }

  /* index uses id-styled sections; bring them onto the same scale (ids outrank .sec) */
  @media (max-width:560px){
    #fork,#proof,#method,#deliver,#people{padding-top:44px!important;padding-bottom:44px!important;}
  }
  @media (min-width:561px) and (max-width:980px){
    #fork,#proof,#method,#deliver,#people{padding-top:56px!important;padding-bottom:56px!important;}
  }
  @media (min-width:981px){
    #fork,#proof,#method,#deliver,#people{padding-top:68px!important;padding-bottom:68px!important;}
  }
