  /* ============================================================
     Backtest Audit — obsidian & champagne (house style, matches
     the factor·health monitor). Light-only: warm porcelain + champagne.
     Type system: serif display · sans body · mono data.
     ============================================================ */
  :root{
    --bg:#f2efe8; --panel:#ffffff; --panel-hi:#fbf9f4; --pill:#efeae0;
    --fg:#191a1e; --muted:#5c584e; --faint:#938e82; --line:#e3ddd1;
    --card:#ffffff;
    --accent:#9a7a3f; --accent-hi:#7d6231; --accent-ink:#ffffff; --accent-soft:rgba(154,122,63,.1);
    --pass:#3d8763; --passbg:rgba(61,135,99,.1);
    --flag:#a9741f; --flagbg:rgba(169,116,31,.11);
    --fail:#bb4750; --failbg:rgba(187,71,80,.1);
    --pos:#3d8763; --neg:#bb4750; --bar-neutral:#8a93a5;
    --mono:ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace;
    --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    --shadow:0 1px 2px rgba(20,20,18,.04),0 12px 30px -16px rgba(20,20,18,.14);
  }
  /* light-only by design — no dark theme */

  *{box-sizing:border-box}
  html{scroll-behavior:smooth;interpolate-size:allow-keywords}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none!important}}
  /* smooth-scroll (Lenis) helper rules */
  html.lenis,html.lenis body{height:auto}
  .lenis.lenis-smooth{scroll-behavior:auto!important}
  .lenis.lenis-stopped{overflow:hidden}
  body{margin:0;background:var(--bg);color:var(--fg);
       font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
  .wrap{max-width:1100px;margin:0 auto;padding:0 24px}
  .narrow{max-width:880px}
  h1{font-family:var(--serif);font-size:clamp(1.95rem,4.4vw,3rem);line-height:1.08;
     letter-spacing:-.012em;font-weight:500;margin:0 0 1rem}
  h2{font-family:var(--serif);font-size:1.5rem;letter-spacing:-.01em;font-weight:500;margin:0 0 .45rem}
  .sub{color:var(--muted);margin:0 0 1.6rem;max-width:640px}
  p{margin:0 0 1rem}
  a{color:var(--fg);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;
    text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent);transition:color .18s}
  a:hover{color:var(--accent);text-decoration-thickness:2px}
  .fine{font-size:.9rem;color:var(--muted);line-height:1.55}
  section{padding:6.4rem 0 0}
  .kicker{font:600 .78rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;
          color:var(--accent-hi);margin-bottom:.95rem}

  .topbar{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 80%,transparent);
          backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .topbar .in{max-width:1100px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;gap:1.2rem}
  .brand{font:600 .96rem/1 var(--sans);letter-spacing:.01em;text-decoration:none;color:var(--fg)}
  .brand:hover{color:var(--accent)}
  .nav{margin-left:auto;display:flex;gap:1.2rem;align-items:center}
  .nav a{font-size:.9rem;color:var(--muted);text-decoration:none}
  .nav a:hover{color:var(--fg)}
  .nav .go{background:var(--accent);color:var(--accent-ink);padding:8px 15px;border-radius:7px;
           font-weight:650;font-size:.84rem}
  .nav .go:hover{background:var(--accent-hi);color:var(--accent-ink)}
  @media(max-width:640px){
    .nav a:not(.go){display:none}
    .topbar .in{padding:11px 20px;gap:.8rem}
    .brand{font-size:.82rem;line-height:1.2}
    .nav .go{padding:8px 13px;font-size:.78rem;white-space:nowrap}
    section{padding:3.4rem 0 0}
    .hero{padding:3.4rem 0 2.4rem}
    /* Patek-style section snap — a small scroll settles to the next section, no awkward gaps */
    html{scroll-snap-type:y mandatory;scroll-padding-top:52px}
    .hero,section,footer{scroll-snap-align:start}
  }

  .hero{position:relative;padding:5.6rem 0 4.2rem;overflow:hidden}
  .hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.42;
    background:radial-gradient(680px 340px at 93% -24%,var(--accent-soft),transparent 58%)}
  .hero .in{position:relative;z-index:1;display:grid;grid-template-columns:1.12fr .88fr;gap:3.8rem;align-items:center}
  @media(max-width:880px){.hero .in{grid-template-columns:1fr}}
  h1 em{font-style:italic;color:var(--accent)}
  .lede{font-size:1.14rem;color:var(--muted);max-width:520px;margin:.4rem 0 1.7rem;line-height:1.55}
  .cta{display:inline-block;padding:14px 26px;border-radius:8px;background:var(--accent);
       color:var(--accent-ink);text-decoration:none;font:650 .84rem/1 var(--sans);letter-spacing:.06em;
       text-transform:uppercase;transition:background .18s}
  .cta:hover{background:var(--accent-hi);color:var(--accent-ink);text-decoration:none}
  .cta2{display:inline-block;margin-left:1rem;font-size:.95rem;color:var(--muted);text-decoration:none}
  .cta2:hover{color:var(--accent)}
  .creed{margin:1.9rem 0 0;font:400 1rem/1.55 var(--serif);font-style:italic;color:var(--muted);max-width:42ch}

  .panelbase,.report,.finding,.check,.tier,.stats,.intake{
    background:var(--panel);border:1px solid var(--line);border-radius:11px}
  .report{box-shadow:var(--shadow);padding:18px 20px}
  .report .rh{display:flex;justify-content:space-between;align-items:baseline;
              border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:6px}
  .report .rh b{font-size:.95rem}
  .report .rh span{font:600 .68rem/1 var(--sans);letter-spacing:.08em;color:var(--muted)}
  .rrow{display:flex;justify-content:space-between;align-items:center;gap:1rem;
        padding:10px 0;border-bottom:1px solid var(--line);font-size:.92rem}
  .rrow:last-child{border-bottom:0}
  .rrow small{color:var(--muted);font-size:.78rem}
  .chip{font:600 .64rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;
        padding:5px 10px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
  .chip.fail{color:var(--fail);background:var(--failbg);border-color:color-mix(in srgb,var(--fail) 30%,transparent)}
  .chip.flag{color:var(--flag);background:var(--flagbg);border-color:color-mix(in srgb,var(--flag) 30%,transparent)}
  .chip.pass{color:var(--pass);background:var(--passbg);border-color:color-mix(in srgb,var(--pass) 30%,transparent)}

  .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;
         background:var(--line);overflow:hidden;margin:2.6rem 0 .9rem}
  .stat{background:var(--panel);padding:17px 19px;position:relative}
  .stat b{display:block;font:600 1.55rem/1.2 var(--mono);letter-spacing:-.01em;
          color:var(--fg);margin-top:2px;font-variant-numeric:tabular-nums}
  .stat span{font-size:.8rem;color:var(--muted);line-height:1.42;display:block;margin-top:5px}
  .verify{font:400 .88rem/1.9 var(--sans);color:var(--muted)}
  .verify code{font-family:var(--mono);font-size:.84em;background:var(--pill);color:var(--accent);
               padding:2px 8px;border-radius:6px;white-space:nowrap}

  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  @media(max-width:880px){.grid2{grid-template-columns:1fr}}
  .finding{padding:22px 24px;display:flex;flex-direction:column;transition:border-color .2s}
  .finding:hover{border-color:color-mix(in srgb,var(--accent) 26%,var(--line))}
  .finding .head{display:flex;gap:.7rem;align-items:center;margin-bottom:.4rem;flex-wrap:wrap}
  .finding .what{font-family:var(--serif);font-weight:500;font-size:1.12rem;letter-spacing:-.005em}
  .finding p{font-size:.95rem;color:var(--muted);margin:.4rem 0 0;line-height:1.55}
  .finding .num{font-family:var(--mono);font-size:.88em;color:var(--fg)}
  .finding svg{width:100%;height:auto;margin-top:auto;padding-top:.9rem}
  .axnote{font:400 .73rem/1.45 var(--sans);color:var(--muted);margin-top:.5rem}

  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  @media(max-width:880px){.grid3{grid-template-columns:1fr 1fr}}
  .check{padding:19px 21px}
  .check .n{font:600 1rem/1 var(--mono);color:var(--accent-hi);display:block;margin-bottom:.7rem;letter-spacing:.02em}
  .check b{font-family:var(--serif);font-weight:500;font-size:1.12rem;letter-spacing:-.005em}
  .check p{font-size:.93rem;color:var(--muted);margin:.4rem 0 0;line-height:1.5}

  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:1.5rem}
  @media(max-width:700px){.steps{grid-template-columns:1fr}}
  .step{padding:0}
  .step b{display:block;font-family:var(--serif);font-weight:500;font-size:1.08rem;margin-bottom:.3rem}
  .step p{font-size:.93rem;color:var(--muted);margin:0;line-height:1.5}

  .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:1.5rem}
  @media(max-width:880px){.tiers{grid-template-columns:1fr}}
  .tier{padding:28px 26px;display:flex;flex-direction:column;transition:border-color .2s}
  .tier:hover{border-color:color-mix(in srgb,var(--accent) 26%,var(--line))}
  .tier.featured{position:relative;border-color:color-mix(in srgb,var(--accent) 52%,var(--line));
        background:var(--panel)}
  .tier .tag{font:600 .64rem/1 var(--sans);letter-spacing:.12em;color:var(--accent-hi);
             margin-bottom:.7rem;text-transform:uppercase}
  .tier h3{font-family:var(--serif);margin:0 0 .2rem;font-size:1.3rem;font-weight:500;letter-spacing:-.01em}
  .tier .amt{font:500 1.7rem/1.2 var(--mono);letter-spacing:-.01em;margin:.35rem 0 .8rem;
             font-variant-numeric:tabular-nums}
  .tier .amt small{font:400 .78rem/1 var(--sans);color:var(--muted)}
  .tier p{font-size:.94rem;color:var(--muted);line-height:1.55;margin:0 0 .8rem}
  .tier .foot{margin-top:auto;font:400 .8rem/1.5 var(--sans);color:var(--muted)}
  .pill{display:inline-block;background:var(--pill);border:1px solid var(--line);border-radius:999px;
        padding:5px 12px;font:500 .74rem/1.5 var(--sans);letter-spacing:.03em;color:var(--muted);margin:0 .4rem .4rem 0}

  details{border-top:1px solid var(--line);padding:1rem 0}
  details:last-of-type{border-bottom:1px solid var(--line)}
  summary{cursor:pointer;font-family:var(--serif);font-weight:500;font-size:1.14rem;list-style:none;transition:color .18s}
  summary:hover{color:var(--accent)}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+";float:right;color:var(--accent);font-weight:400;font-family:var(--sans)}
  details[open] summary::after{content:"−"}
  details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .32s ease,opacity .26s ease}
  details[open]::details-content{block-size:auto;opacity:1}
  details p{font-size:.99rem;color:var(--muted);margin:.6rem 0 0;max-width:70ch}

  .intake{box-shadow:var(--shadow);padding:26px;margin-top:1.5rem}
  .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media(max-width:760px){.fgrid{grid-template-columns:1fr}}
  .field{display:flex;flex-direction:column;gap:5px;height:100%}
  .field.wide{grid-column:1/-1}
  .field label{font:600 .84rem/1.35 var(--sans)}
  .field label small{color:var(--muted);font-weight:400}
  .field input[type=text],.field input[type=email],.field textarea{
    background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--fg);
    padding:11px 13px;font:inherit;font-size:.95rem}
  .field input[type=text],.field input[type=email]{margin-top:auto}
  .field textarea{min-height:88px;resize:vertical}
  .field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
  .radios{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center;font-size:.93rem}
  .radios label{display:flex;gap:.4rem;align-items:center;font-weight:500;cursor:pointer}
  .radios input[type=radio]{accent-color:var(--accent)}
  .radios input[type=text]{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--fg);
    padding:6px 10px;font:inherit;font-size:.88rem;width:150px}
  .intake .actions{display:flex;align-items:center;gap:1.1rem;margin-top:1.2rem;flex-wrap:wrap}
  .intake button{border:0;cursor:pointer}
  .success{display:none;background:var(--passbg);border:1px solid var(--pass);border-radius:12px;padding:18px 20px;font-size:.96rem}
  .success b{color:var(--pass)}
  .cols2{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
  @media(max-width:760px){.cols2{grid-template-columns:1fr}}
  footer{margin-top:4.2rem;padding:2rem 0 3rem;border-top:1px solid var(--line)}

  /* MOBILE: card sections become horizontal swipe carousels — same content, a fraction of the scroll */
  @media(max-width:700px){
    .grid2,.grid3,.tiers{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
      padding-bottom:14px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding-left:2px}
    .grid2::-webkit-scrollbar,.grid3::-webkit-scrollbar,.tiers::-webkit-scrollbar{display:none}
    .grid2>*,.grid3>*,.tiers>*{flex:0 0 86%;scroll-snap-align:start}
  }
