:root {
        /* — Teal: the brand core, 9 steps — */
        --teal-50:#f3fbfa;  --teal-100:#e0f4f1; --teal-200:#c2e7e3;
        --teal-300:#93d0cb; --teal-400:#4fa9a3; --teal-500:#087d78;
        --teal-600:#05635f; --teal-700:#044e4b; --teal-800:#0a3a38;

        /* — Ink: teal-tinted neutrals so greys never read cold — */
        --ink-900:#0e2634; --ink-800:#173447; --ink-700:#284c5f;
        --ink-600:#3d5f70; --ink-500:#5b7280; --ink-400:#82959f;
        --ink-300:#aabec5; --ink-200:#cedde1; --ink-100:#e5eef0;
        --ink-50:#f2f7f8;

        /* — Gold: reserved for the guarantee, 6 steps — */
        --gold-50:#fffbf2;  --gold-100:#fff4d6; --gold-200:#fae3ae;
        --gold-300:#f8d184; --gold-400:#f6ba51; --gold-600:#c98a20;
        --gold-800:#78500f;

        /* — Clay: the honest-no state — */
        --clay-50:#fdefe9; --clay-200:#f0c4b4; --clay-500:#b4462f; --clay-700:#7d3421;

        /* — Surfaces — */
        --paper:#fffdfa; --surface:#ffffff; --surface-sunk:#f8fbfb;

        /* — Semantic aliases (existing rules read these) — */
        --ink:var(--ink-800); --muted:var(--ink-500);
        --accent:var(--teal-500); --accent-dark:var(--teal-600);
        --mint:var(--teal-100); --sky:var(--teal-50); --line:var(--ink-200);
        --gold:var(--gold-400); --gold-tint:var(--gold-100); --gold-ink:var(--gold-800);
        --red:var(--clay-500); --red-tint:var(--clay-50);

        /* — Elevation, tinted to the brand rather than neutral grey — */
        --lift-1:0 1px 2px rgba(14,38,52,.04), 0 2px 8px rgba(14,38,52,.04);
        --lift-2:0 2px 4px rgba(14,38,52,.04), 0 12px 28px rgba(14,38,52,.07);
        --lift-3:0 4px 8px rgba(14,38,52,.05), 0 24px 56px rgba(14,38,52,.10);

        --display:"Inter Tight",Inter,ui-sans-serif,system-ui,sans-serif;
        --body:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
        --headline:"Fraunces",ui-serif,Georgia,serif;
      }
      * { box-sizing:border-box; }
      html { scroll-behavior:smooth; }
      @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *{transition:none!important;animation:none!important} }

      body {
        margin:0; color:var(--ink); background:var(--paper);
        font-family:var(--body); font-size:17px; line-height:1.62;
        -webkit-font-smoothing:antialiased;
      }
      a { color:inherit; }
      .wrap { width:min(1020px,calc(100% - 36px)); margin:auto; }
      .narrow { max-width:640px; margin-left:auto; margin-right:auto; }
      a:focus-visible, button:focus-visible, summary:focus-visible {
        outline:3px solid var(--accent); outline-offset:3px; border-radius:8px;
      }

      /* ————— TYPE SYSTEM ————— */
      h1,h2,h3,.qtext,.verdict,.score-val,.pricetag b,.brand {
        font-family:var(--display); font-weight:700; letter-spacing:-.015em;
      }
      h1 { margin:20px auto 20px; font-size:clamp(2.5rem,6.6vw,4.2rem); line-height:1.05; letter-spacing:-.015em; font-weight:600; font-family:var(--headline); }
      h2 { margin:0 0 14px; font-size:clamp(1.9rem,4.2vw,2.8rem); line-height:1.08; }
      h3 { margin:0 0 9px; font-size:1.2rem; letter-spacing:-.012em; }
      p { margin:0; }
      .lead { font-size:clamp(1.15rem,2.4vw,1.42rem); line-height:1.45; color:var(--muted); }
      .intro { color:var(--muted); font-size:1.05rem; }
      .fine { margin-top:12px; color:var(--muted); font-size:.88rem; line-height:1.5; }

      /* ————— HEADER ————— */
      header {
        padding:15px 0; border-bottom:2px solid var(--ink-900);
        background:rgba(255,253,250,.88); backdrop-filter:saturate(1.4) blur(10px);
        position:sticky; top:0; z-index:20;
      }
      .nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; }
      .nav-links { justify-self:center; }
      .brand { display:flex; align-items:center; gap:10px; text-decoration:none; font-size:1.35rem; }
      .brand-block { display:flex; flex-direction:column; }
      .brand-sub { font-size:.78rem; font-weight:500; color:var(--muted); margin-top:1px; }
      @media(max-width:700px){ .brand-sub{display:none} }
      .mark { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; }
      .mark img { width:100%; height:100%; object-fit:contain; }
      .header-cta {
        display:inline-flex; align-items:center; gap:7px;
        color:#fff; font-size:.9rem; font-weight:600;
        padding:9px 16px; border-radius:10px;
        background:linear-gradient(180deg,var(--teal-500),var(--teal-600));
        box-shadow:0 1px 2px rgba(4,78,75,.2), 0 6px 14px rgba(8,125,120,.18);
        justify-self:end; white-space:nowrap; text-decoration:none;
        transition:.16s ease;
      }
      .header-cta:hover { background:linear-gradient(180deg,var(--teal-600),var(--teal-700)); transform:translateY(-1px); }
      @media(max-width:600px){ .header-cta{display:none} }
      @media(max-width:820px){ .nav{grid-template-columns:auto 1fr} }
      .nav-links { display:flex; align-items:center; gap:26px; }
      .nav-links a {
        font-size:.94rem; font-weight:600; color:var(--ink-700);
        text-decoration:none;
      }
      .nav-links a:hover { color:var(--teal-600); }
      @media(max-width:820px){ .nav-links{display:none} }

      /* ————— BUTTONS ————— */
      .button {
        display:inline-flex; align-items:center; justify-content:center; min-height:56px;
        padding:15px 30px; border:none; border-radius:12px; background:var(--accent); color:#fff;
        font-family:var(--body); font-size:1.05rem; font-weight:700; letter-spacing:-.01em;
        text-decoration:none; cursor:pointer;
        background:linear-gradient(180deg,var(--teal-500),var(--teal-600));
        box-shadow:0 1px 2px rgba(4,78,75,.24), 0 10px 24px rgba(8,125,120,.22);
        transition:.16s ease;
      }
      .button:hover {
        background:linear-gradient(180deg,var(--teal-600),var(--teal-700));
        transform:translateY(-1px);
        box-shadow:0 1px 2px rgba(4,78,75,.28), 0 14px 30px rgba(8,125,120,.26);
      }
      .button.secondary {
        background:var(--surface); color:var(--teal-700);
        border:1px solid var(--teal-300); box-shadow:var(--lift-1);
      }
      .button.secondary:hover { background:var(--teal-50); border-color:var(--teal-400); transform:none; }
      .button.block { width:100%; }
      .button.big { min-height:62px; font-size:1.15rem; }

      /* ————— HERO ————— */
      .hero {
        padding:70px 0 34px; text-align:center; position:relative; overflow:hidden;
        background:
          radial-gradient(160% 100% at 50% -10%, var(--teal-100) 0%, rgba(243,251,250,0) 72%),
          linear-gradient(180deg, var(--paper) 0%, var(--surface-sunk) 100%);
      }
      .hero-blob {
        position:absolute; border-radius:50%; filter:blur(80px); z-index:0; pointer-events:none;
      }
      .hero-blob.b1 { width:420px; height:420px; top:-160px; left:-140px; background:var(--teal-200); opacity:.6; }
      .hero-blob.b2 { width:360px; height:360px; bottom:-160px; right:-120px; background:var(--gold-200); opacity:.5; }
      .hero-blob.b3 { width:300px; height:300px; top:40%; left:-160px; background:var(--gold-100); opacity:.4; }
      .hero-blob.b4 { width:300px; height:300px; top:10%; right:-160px; background:var(--teal-100); opacity:.5; }
      .hero > .wrap { position:relative; z-index:1; }
      .eyebrow {
        display:inline-block; padding:7px 15px; border-radius:99px;
        background:var(--surface); color:var(--teal-700);
        border:1px solid var(--teal-200); box-shadow:var(--lift-1);
        font-size:.88rem; font-weight:600; letter-spacing:.005em;
      }
      .hero-strip {
        display:flex; flex-wrap:wrap; gap:8px 22px; justify-content:center;
        margin-top:22px; color:var(--muted); font-size:.94rem; font-weight:500;
      }
      .hero-strip b { color:var(--accent-dark); font-weight:700; }

      /* ————— ANALYZER ————— */
      .analyzer-shell { background:var(--surface-sunk); padding:0 0 66px; }
      .analyzer {
        max-width:660px; margin:0 auto; background:#fff;
        border:1px solid var(--ink-200); border-radius:20px;
        box-shadow:var(--lift-3); overflow:hidden;
      }
      .progress { height:6px; background:var(--ink-100); }
      .progress span {
        display:block; height:100%; width:0; min-width:14px; border-radius:0 99px 99px 0;
        background:linear-gradient(90deg,var(--teal-400),var(--teal-500));
        transition:width .35s ease;
      }
      .panel { padding:38px 36px; }
      @media(max-width:600px){ .panel{padding:26px 20px} }

      .qcount { color:var(--accent-dark); font-weight:700; font-size:.92rem; margin-bottom:12px; }
      .qtext { font-size:clamp(1.5rem,4vw,1.95rem); line-height:1.15; margin-bottom:8px; }
      .qhelp { color:var(--muted); font-size:1rem; margin-bottom:22px; }
      .qcue {
        display:inline-flex; align-items:center; gap:7px; margin-bottom:14px;
        padding:6px 12px; border-radius:99px;
        background:var(--teal-50); border:1px solid var(--teal-200);
        color:var(--teal-700); font-size:.85rem; font-weight:600;
      }

      .opts { display:grid; gap:11px; }
      .opt {
        position:relative;
        display:grid; grid-template-columns:30px 1fr 18px; align-items:center; gap:12px;
        width:100%; text-align:left; padding:16px 18px;
        background:var(--surface); border:1px solid var(--ink-200); border-radius:12px;
        font-family:var(--body); font-size:1.02rem; color:var(--ink-800); cursor:pointer;
        box-shadow:var(--lift-1); transition:border-color .14s ease, background .14s ease, box-shadow .14s ease, transform .1s ease;
      }
      .opt::after {
        content:"\203A"; justify-self:end; align-self:center;
        font-size:1.5rem; line-height:1; color:var(--teal-400);
        transition:color .14s ease, transform .14s ease;
      }
      .opt:hover::after { color:var(--teal-600); transform:translateX(3px); }
      .opt:active { transform:scale(.995); }
      .opt:focus-visible { outline:3px solid var(--teal-300); outline-offset:2px; }
      .opt .opt-mark {
        font-family:var(--headline); font-weight:600; font-size:1.1rem; color:var(--ink-400);
        transition:color .14s ease;
      }
      .opt:hover .opt-mark { color:var(--teal-600); }
      .opt:hover {
        border-color:var(--teal-400); background:var(--teal-50); box-shadow:var(--lift-2);
      }
      .opt strong { display:block; font-weight:600; line-height:1.35; }
      .opt small { display:block; margin-top:4px; color:var(--ink-500); font-size:.89rem; }

      .backlink {
        margin-top:20px; background:none; border:none; padding:0; cursor:pointer;
        color:var(--muted); font-family:var(--body); font-size:.94rem; text-decoration:underline;
      }

      /* ————— RESULT ————— */
      .calc { text-align:center; padding:34px 0; }
      .calc-text { font-family:var(--display); font-size:1.3rem; font-weight:600; color:var(--muted); }
      .dots::after { content:""; animation:dots 1.2s steps(4,end) infinite; }
      @keyframes dots { 0%{content:""} 25%{content:"."} 50%{content:".."} 75%{content:"..."} }

      .score-ring { position:relative; width:186px; height:186px; margin:0 auto 4px; }
      .score-ring svg { transform:rotate(-90deg); }
      .ring-bg { fill:none; stroke:var(--mint); stroke-width:13; }
      .ring-fg { fill:none; stroke:var(--accent); stroke-width:13; stroke-linecap:round;
                 stroke-dasharray:509; stroke-dashoffset:509; transition:stroke-dashoffset 1.4s cubic-bezier(.22,1,.36,1); }
      .score-val {
        position:absolute; inset:0; display:grid; place-items:center; align-content:center;
        font-size:3.7rem; letter-spacing:-.03em; line-height:1;
      }
      .score-val small {
        display:block; margin-top:6px; font-family:var(--body);
        font-size:.8rem; font-weight:600; letter-spacing:.02em; color:var(--muted); text-transform:none;
      }
      .verdict { text-align:center; font-size:clamp(1.7rem,4.5vw,2.2rem); margin-top:12px; }

      .ground {
        margin:22px 0 0; padding:19px 21px; background:var(--teal-50);
        border:1px solid var(--teal-200); border-left:3px solid var(--teal-500);
        border-radius:12px;
      }
      .ground-label { font-size:.86rem; font-weight:600; letter-spacing:.01em; color:var(--teal-600); }
      .ground-name { font-family:var(--display); font-size:1.4rem; font-weight:700; letter-spacing:-.015em; margin:4px 0 7px; color:var(--ink-900); }
      .ground p { font-size:.97rem; color:var(--ink-700); }

      .findings { padding:0; margin:24px 0 0; list-style:none; }
      .findings li { position:relative; padding-left:28px; margin:13px 0; color:var(--ink-600); font-size:1.01rem; line-height:1.55; }
      .findings li::before { content:"→"; position:absolute; left:0; color:var(--accent); font-weight:800; }

      /* guarantee — the centrepiece */
      .double-guarantee {
        margin-top:26px; padding:24px; border-radius:16px;
        background:linear-gradient(180deg,var(--gold-50),var(--gold-100));
        border:1px solid var(--gold-200); box-shadow:var(--lift-1);
      }
      .dg-title { font-family:var(--display); font-size:1.3rem; font-weight:700; letter-spacing:-.015em; color:var(--gold-ink); margin-bottom:6px; }
      .dg-sub { color:var(--gold-ink); font-size:.97rem; margin-bottom:16px; }
      .dg-rows { display:grid; gap:10px; }
      .dg-row {
        display:flex; gap:13px; align-items:flex-start; padding:14px 16px;
        background:var(--surface); border:1px solid var(--gold-200); border-radius:11px;
      }
      .dg-icon { flex:0 0 auto; font-size:1.2rem; line-height:1.4; color:var(--gold-600); }
      .dg-row b { display:block; font-size:1rem; color:var(--ink-900); }
      .dg-row span { color:var(--ink-500); font-size:.92rem; }
      .dg-punch { margin-top:15px; font-family:var(--display); font-weight:700; font-size:1.06rem; color:var(--gold-ink); text-align:center; letter-spacing:-.01em; }

      .locked {
        margin-top:24px; padding:26px; border-radius:16px;
        background:linear-gradient(180deg,var(--surface),var(--teal-50));
        border:1px solid var(--teal-200); box-shadow:var(--lift-2);
      }
      .locked ul { padding:0; margin:14px 0 20px; list-style:none; }
      .locked li { position:relative; padding-left:28px; margin:11px 0; color:var(--ink-600); font-size:1rem; }
      .locked li::before { content:"✓"; position:absolute; left:0; color:var(--teal-500); font-weight:800; }
      .pricetag { display:flex; align-items:baseline; gap:12px; margin-bottom:18px; }
      .pricetag b { font-size:2.9rem; letter-spacing:-.025em; line-height:1; color:var(--ink-900); }
      .pricetag span { color:var(--ink-500); font-size:.96rem; }
      .weak-note {
        margin-top:24px; padding:20px 22px; background:var(--clay-50);
        border:1px solid var(--clay-200); border-left:3px solid var(--clay-500);
        border-radius:12px; color:var(--clay-700); font-size:1rem; line-height:1.55;
      }

      /* ————— SECTIONS ————— */
      section { padding:66px 0; }
      .section-head { max-width:620px; margin:0 auto 34px; text-align:center; }
      .steps { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
      .step {
        padding:24px; background:var(--surface);
        border:1px solid var(--ink-200); border-radius:14px; box-shadow:var(--lift-1);
      }
      .step-num {
        display:inline-grid; place-items:center; width:32px; height:32px; margin-bottom:14px;
        border-radius:99px; background:var(--teal-100); color:var(--teal-700);
        border:1px solid var(--teal-200);
        font-family:var(--display); font-size:.92rem; font-weight:700;
      }
      .step h3 { color:var(--ink-900); }
      .step p { color:var(--ink-500); font-size:.97rem; }

      /* ————— FOUNDER ————— */
      .founder {
        background:
          radial-gradient(90% 70% at 50% 0%, var(--teal-800) 0%, rgba(10,58,56,0) 60%),
          linear-gradient(180deg, var(--ink-900), #0b1f2b);
        color:#fff;
      }
      .founder h2 { color:#fff; }
      .founder .intro { color:var(--ink-300); }
      .founder-note { max-width:640px; margin:0 auto; text-align:center; }
      .avatar {
        width:104px; height:104px; margin:0 auto 20px; border-radius:50%;
        background:linear-gradient(180deg,var(--teal-400),var(--teal-600));
        border:3px solid rgba(255,255,255,.22);
        display:grid; place-items:center; overflow:hidden;
        font-family:var(--display); font-size:2.4rem; font-weight:800; color:#fff;
      }
      .avatar img { width:100%; height:100%; object-fit:cover; display:block; }
      .signoff { margin-top:20px; color:var(--ink-400); font-size:.97rem; }
      .signoff strong { color:#fff; font-family:var(--display); font-size:1.1rem; }
      .testimonials { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:36px; }
      .testimonial {
        padding:25px; background:rgba(255,255,255,.045);
        border:1px solid rgba(255,255,255,.12); border-radius:14px; text-align:left;
      }
      .testimonial p { color:var(--ink-200); font-size:.98rem; line-height:1.62; }
      .testimonial .who { margin-top:16px; color:#fff; font-weight:600; font-size:.97rem; }
      .testimonial .case { margin-top:3px; color:var(--teal-300); font-weight:500; font-size:.85rem; }
      a.testimonial { display:block; cursor:pointer; transition:.16s ease; }
      a.testimonial:hover { border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.075); transform:translateY(-2px); }

      /* ————— FAQ ————— */
      .faq { max-width:720px; margin:auto; }
      details { border-bottom:1px solid var(--ink-100); padding:19px 3px; }
      summary { cursor:pointer; color:var(--ink-900); font-weight:600; font-size:1.1rem; line-height:1.4; list-style:none; padding-right:28px; position:relative; }
      summary:hover { color:var(--teal-600); }
      summary::-webkit-details-marker { display:none; }
      summary::after { content:"+"; position:absolute; right:4px; top:-3px; color:var(--teal-400); font-size:1.5rem; font-weight:400; }
      details[open] summary::after { content:"–"; }
      details p { color:var(--ink-600); margin:13px 0 2px; font-size:1.05rem; line-height:1.7; }

      .final {
        text-align:center;
        background:
          radial-gradient(110% 80% at 50% 110%, var(--teal-50) 0%, rgba(243,251,250,0) 65%),
          linear-gradient(180deg, var(--surface-sunk), var(--paper));
      }
      footer { padding:28px 0 34px; color:var(--ink-500); text-align:center; font-size:.89rem; border-top:1px solid var(--ink-100); }
      footer a { color:var(--teal-600); }

      @media(max-width:860px){ .steps,.testimonials{grid-template-columns:1fr 1fr} }
      @media(max-width:700px){ .steps,.testimonials{grid-template-columns:1fr} }
      @media(max-width:680px){ .hero{padding:52px 0 28px} section{padding:52px 0} }

/* ————— SUBPAGES (About, Guides, category landing pages) ————— */
.subhero {
  padding:56px 0 40px; text-align:center; position:relative; overflow:hidden;
  background:
    radial-gradient(160% 100% at 50% -10%, var(--teal-100) 0%, rgba(243,251,250,0) 72%),
    linear-gradient(180deg, var(--paper) 0%, var(--surface-sunk) 100%);
}
.subhero > .wrap { position:relative; z-index:1; }
.crumb { font-size:.88rem; color:var(--muted); margin-bottom:14px; }
.crumb a { color:var(--teal-600); text-decoration:none; font-weight:600; }
.crumb a:hover { text-decoration:underline; }

.guide-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
@media(max-width:700px){ .guide-grid{grid-template-columns:1fr} }
.guide-card {
  display:block; padding:26px; background:var(--surface); text-decoration:none;
  border:1px solid var(--ink-200); border-radius:16px; box-shadow:var(--lift-1);
  transition:.16s ease;
}
.guide-card:hover { border-color:var(--teal-400); box-shadow:var(--lift-2); transform:translateY(-2px); }
.guide-tag {
  display:inline-block; padding:4px 11px; border-radius:99px; margin-bottom:12px;
  background:var(--teal-100); color:var(--teal-700); font-size:.8rem; font-weight:700;
}
.guide-card h3 { color:var(--ink-900); font-size:1.25rem; }
.guide-card p { color:var(--muted); font-size:.96rem; margin-top:6px; }
.guide-card .go { margin-top:14px; color:var(--teal-600); font-weight:700; font-size:.92rem; }

.handle-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:700px){ .handle-grid{grid-template-columns:1fr} }
.handle-box { padding:22px 24px; border-radius:14px; }
.handle-box.yes { background:var(--teal-50); border:1px solid var(--teal-200); }
.handle-box.no { background:var(--clay-50); border:1px solid var(--clay-200); }
.handle-box h3 { font-size:1rem; margin-bottom:12px; }
.handle-box.yes h3 { color:var(--teal-700); }
.handle-box.no h3 { color:var(--clay-700); }
.handle-box ul { list-style:none; padding:0; margin:0; }
.handle-box li { position:relative; padding-left:26px; margin:9px 0; font-size:.96rem; color:var(--ink-700); line-height:1.5; }
.handle-box.yes li::before { content:"✓"; position:absolute; left:0; color:var(--teal-500); font-weight:800; }
.handle-box.no li::before { content:"✕"; position:absolute; left:0; color:var(--clay-500); font-weight:800; }

.solo-testimonial {
  max-width:640px; margin:0 auto; padding:30px 32px; background:var(--surface);
  border:1px solid var(--ink-200); border-left:3px solid var(--teal-500);
  border-radius:16px; box-shadow:var(--lift-1);
}
.solo-testimonial p { font-size:1.08rem; color:var(--ink-700); line-height:1.65; }
.solo-testimonial .who { margin-top:16px; font-weight:700; color:var(--ink-900); }
.solo-testimonial .case { margin-top:2px; color:var(--teal-600); font-weight:500; font-size:.9rem; }

.trust-strip {
  display:flex; flex-wrap:wrap; gap:10px 28px; justify-content:center;
  margin-top:20px; padding-top:20px; border-top:1px solid var(--ink-100);
  color:var(--muted); font-size:.92rem;
}
.trust-strip b { color:var(--ink-800); }

.about-block { max-width:680px; margin:0 auto; }
.about-block p { margin-bottom:18px; color:var(--ink-700); font-size:1.05rem; line-height:1.7; }
.about-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:36px; }
@media(max-width:700px){ .about-facts{grid-template-columns:1fr} }
.about-fact { padding:18px; background:var(--surface); border:1px solid var(--ink-200); border-radius:12px; text-align:center; }
.about-fact b { display:block; font-family:var(--display); font-size:1.05rem; color:var(--ink-900); }
.about-fact span { color:var(--muted); font-size:.88rem; }

/* ————— PILOT PAGE (deliverables / guarantee callout) ————— */
.pilot-guarantee {
  max-width:640px; margin:26px auto 0; padding:18px 20px; text-align:left;
  background:var(--gold-50); border:1px solid var(--gold-200); border-left:3px solid var(--gold-400);
  border-radius:12px; color:var(--gold-ink); font-size:.95rem;
}
.pilot-guarantee strong { display:block; margin-bottom:5px; font-family:var(--display); }
.deliverables {
  max-width:720px; margin:0 auto; padding:30px 32px;
  border:2px solid var(--teal-500); border-radius:18px; background:var(--surface);
  box-shadow:var(--lift-3);
}
.price-line { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.price-line .price { font-size:2.9rem; font-weight:800; letter-spacing:-.025em; line-height:1; color:var(--ink-900); }
.price-note { color:var(--muted); font-size:.95rem; }
ul.checks { padding:0; margin:22px 0 0; list-style:none; }
ul.checks li { margin:10px 0; color:var(--ink-700); padding-left:26px; position:relative; }
ul.checks li::before { content:"✓"; position:absolute; left:0; color:var(--teal-500); font-weight:800; }
.gold-note { margin-top:22px; padding:14px 16px; background:var(--gold-100); border-radius:10px; color:var(--gold-ink); font-size:.92rem; }
.actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:26px; }
@media(max-width:600px){ .actions .button{width:100%} }

/* ————— SHAREABLE RESULT ————— */
.share-block {
  margin-top:24px; padding:20px 22px; border-radius:14px;
  background:var(--surface); border:1px solid var(--ink-200); text-align:center;
}
.share-title { font-family:var(--display); font-weight:700; font-size:1.05rem; color:var(--ink-900); }
.share-sub { margin-top:4px; color:var(--muted); font-size:.9rem; }
.share-row { display:flex; gap:9px; justify-content:center; flex-wrap:wrap; margin-top:14px; }
.share-btn {
  display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:10px 18px;
  border-radius:10px; border:1px solid var(--teal-300); background:var(--surface);
  color:var(--teal-700); font-family:var(--body); font-size:.95rem; font-weight:600;
  cursor:pointer; transition:.15s ease;
}
.share-btn:hover { background:var(--teal-50); border-color:var(--teal-400); }
.share-btn.done { background:var(--teal-500); border-color:var(--teal-500); color:#fff; }
.share-fine { margin-top:11px; color:var(--muted); font-size:.83rem; line-height:1.5; }

.shared-banner {
  margin-bottom:22px; padding:14px 16px; border-radius:12px;
  background:var(--teal-50); border:1px solid var(--teal-200); border-left:3px solid var(--teal-500);
  color:var(--ink-700); font-size:.95rem; text-align:left;
}
.shared-banner b { color:var(--ink-900); }

/* ————— SHARED-LINK TEASER (someone arrived via #odds=NN-G) ————— */
.shared-teaser {
  max-width:660px; margin:0 auto 20px; padding:20px 22px; text-align:center;
  background:linear-gradient(180deg,var(--teal-50),var(--surface));
  border:1px solid var(--teal-200); border-radius:16px; box-shadow:var(--lift-1);
}
.st-badge {
  display:inline-block; padding:4px 12px; border-radius:99px; margin-bottom:10px;
  background:var(--teal-100); color:var(--teal-700); font-size:.78rem; font-weight:700;
  letter-spacing:.02em; text-transform:uppercase;
}
.st-score {
  font-family:var(--display); font-weight:800; font-size:2.6rem; line-height:1;
  letter-spacing:-.03em; color:var(--ink-900);
}
.st-score small { font-size:1rem; font-weight:600; color:var(--muted); margin-left:2px; }
.st-verdict { margin-top:6px; font-family:var(--display); font-weight:700; font-size:1.05rem; color:var(--teal-700); }
.st-sub { margin-top:10px; color:var(--muted); font-size:.94rem; line-height:1.55; }

/* ————— REFUND REQUEST GENERATOR (refund-request.html) ————— */
.gen-shell { background:var(--surface-sunk); padding:10px 0 66px; }
.gen { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; align-items:start; }
@media(max-width:900px){ .gen{grid-template-columns:1fr} }
.gen-form { display:grid; gap:16px; }
.gen-card {
  margin:0; padding:22px 22px 20px; min-width:0;
  background:var(--surface); border:1px solid var(--ink-200); border-radius:16px; box-shadow:var(--lift-1);
}
.gen-card legend {
  float:left; width:100%; padding:0; margin-bottom:16px; display:flex; align-items:center; gap:10px;
  font-family:var(--display); font-weight:700; font-size:1.2rem; letter-spacing:-.012em; color:var(--ink-900);
}
.gen-card legend + * { clear:both; }
.gen-num {
  display:inline-grid; place-items:center; width:28px; height:28px; border-radius:99px;
  background:var(--teal-100); color:var(--teal-700); border:1px solid var(--teal-200); font-size:.85rem;
}
.field { display:grid; gap:6px; margin-top:12px; min-width:0; }
.field label, .field .label { font-size:.9rem; font-weight:600; color:var(--ink-700); }
.field em { font-style:normal; font-weight:500; color:var(--ink-400); }
.field input, .field select, .field textarea {
  width:100%; min-height:46px; padding:10px 12px; border-radius:10px;
  border:1px solid var(--ink-200); background:var(--surface); color:var(--ink-900);
  font-family:var(--body); font-size:1rem; line-height:1.4;
  transition:border-color .14s ease, box-shadow .14s ease;
}
.field textarea { resize:vertical; }
.field input::placeholder, .field textarea::placeholder { color:var(--ink-300); }
.field input:focus, .field select:focus, .field textarea:focus {
  outline:none; border-color:var(--teal-400); box-shadow:0 0 0 3px var(--teal-100);
}
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
.row3 { display:grid; grid-template-columns:.8fr 1fr 1.2fr; gap:0 12px; }
@media(max-width:560px){ .row2,.row3{grid-template-columns:1fr} }

.chips { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
@media(max-width:560px){ .chips{grid-template-columns:1fr} }
.chip { position:relative; cursor:pointer; }
.chip input { position:absolute; opacity:0; pointer-events:none; }
.chip span {
  display:block; height:100%; padding:12px 14px; border-radius:12px;
  border:1px solid var(--ink-200); background:var(--surface);
  transition:border-color .14s ease, background .14s ease, box-shadow .14s ease;
}
.chip strong { display:block; font-size:.97rem; font-weight:600; color:var(--ink-800); line-height:1.3; }
.chip small { display:block; margin-top:3px; font-size:.84rem; color:var(--ink-500); line-height:1.35; }
.chip:hover span { border-color:var(--teal-400); background:var(--teal-50); }
.chip input:checked + span { border-color:var(--teal-500); background:var(--teal-50); box-shadow:0 0 0 1px var(--teal-500); }
.chip input:checked + span strong { color:var(--teal-700); }
.chip input:focus-visible + span { outline:3px solid var(--teal-300); outline-offset:2px; }

.cond { display:none; margin-top:6px; padding-top:4px; }
.cond.on { display:block; }
.check { display:flex; align-items:center; gap:9px; margin-top:12px; font-size:.95rem; color:var(--ink-700); cursor:pointer; }
.check input { width:18px; height:18px; accent-color:var(--teal-500); }

.seg { display:grid; grid-template-columns:1fr 1fr; padding:4px; gap:4px; border-radius:12px; background:var(--ink-100); }
.seg label { cursor:pointer; position:relative; }
.seg input { position:absolute; opacity:0; pointer-events:none; }
.seg span { display:grid; place-items:center; min-height:38px; border-radius:9px; font-weight:600; font-size:.95rem; color:var(--ink-600); transition:.14s ease; }
.seg input:checked + span { background:var(--surface); color:var(--teal-700); box-shadow:var(--lift-1); }
.seg input:focus-visible + span { outline:3px solid var(--teal-300); }

.gen-safe {
  margin-top:16px; padding:11px 13px; border-radius:10px;
  background:var(--clay-50); border:1px solid var(--clay-200); color:var(--clay-700); font-size:.87rem; line-height:1.5;
}

.gen-out { position:sticky; top:92px; }
@media(max-width:900px){ .gen-out{position:static} }
.letter {
  background:var(--surface); border:1px solid var(--ink-200); border-radius:16px;
  box-shadow:var(--lift-3); overflow:hidden;
}
.letter-head {
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:13px 20px; background:var(--teal-50); border-bottom:1px solid var(--teal-200);
}
.letter-tag { font-family:var(--display); font-weight:700; color:var(--teal-700); }
.letter-left {
  padding:3px 10px; border-radius:99px; font-size:.8rem; font-weight:700;
  background:var(--gold-100); color:var(--gold-ink); border:1px solid var(--gold-200);
}
.letter-left.ok { background:var(--teal-100); color:var(--teal-700); border-color:var(--teal-200); }
.letter-subj { padding:14px 20px; border-bottom:1px solid var(--ink-100); font-weight:600; color:var(--ink-900); font-size:.97rem; }
.letter-subj span { display:block; font-size:.76rem; font-weight:600; color:var(--ink-400); letter-spacing:.02em; text-transform:uppercase; margin-bottom:3px; }
.letter-body {
  padding:18px 20px 22px; font-size:.98rem; line-height:1.65; color:var(--ink-800);
  max-height:min(62vh,560px); overflow:auto; overflow-wrap:anywhere;
}
@media(max-width:900px){ .letter-body{max-height:none} }
.letter-body p + p { margin-top:13px; }
mark.ph {
  padding:1px 6px; border-radius:5px; background:var(--gold-100); color:var(--gold-ink);
  border:1px dashed var(--gold-400); font-size:.92em; font-weight:600; white-space:nowrap;
}
.gen-actions { margin-top:14px; }
.gen-actions-row { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:9px; }
.gen-actions-row .share-btn { justify-content:center; padding:10px 8px; }
.gen-upsell {
  margin-top:18px; padding:20px 22px; border-radius:16px;
  background:linear-gradient(180deg,var(--gold-50),var(--gold-100));
  border:1px solid var(--gold-200);
}
.steps-3 { grid-template-columns:repeat(3,1fr); }
@media(max-width:860px){ .steps-3{grid-template-columns:1fr} }
.alt-route { margin-top:14px; color:var(--muted); font-size:.94rem; }
.alt-route a { color:var(--teal-600); font-weight:600; }
.guide-card.feature { grid-column:1/-1; background:linear-gradient(180deg,var(--surface),var(--teal-50)); border-color:var(--teal-200); }
.gen-upsell.hot { background:var(--surface); border:2px solid var(--teal-500); box-shadow:var(--lift-2); }
.gen-upsell.hot .dg-title, .gen-upsell.hot .dg-sub { color:var(--ink-900); }
.gen-upsell.hot .dg-sub { color:var(--ink-600); }
.gen-next { display:none; margin-top:18px; padding:20px 22px; border-radius:16px; background:var(--teal-50); border:1px solid var(--teal-200); border-left:3px solid var(--teal-500); }
.gen-next.on { display:block; }
.gen-next ol { margin:10px 0 0; padding-left:20px; color:var(--ink-700); font-size:.95rem; }
.gen-next li { margin:7px 0; }
.gen-next a { color:var(--teal-700); font-weight:700; }
@media(max-width:1100px){ .brand-sub{display:none} .nav-links{gap:20px} }
.brand { white-space:nowrap; }
@media(max-width:980px){ .nav-links{gap:15px} .nav-links a{font-size:.88rem} .header-cta{padding:9px 13px; font-size:.86rem} }
/* Header: size columns to content so nav labels never wrap */
.nav { grid-template-columns:auto 1fr auto; }
.nav-links a, .header-cta { white-space:nowrap; }
@media(max-width:1240px){ .brand-sub{display:none} }
@media(max-width:899px){ .nav-links{display:none} }

/* ————— HOME: quiz fits the screen + headline docks into the card ————— */
.dock-hero { overflow:visible; }
.hero-bg { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.dock-hero h1 { position:relative; z-index:5; transform-origin:50% 50%; will-change:transform; }
.analyzer-shell { scroll-margin-top:104px; }

.analyzer-head { padding:16px 24px 14px; text-align:center; background:linear-gradient(180deg,var(--teal-50),var(--surface)); }
.dock-title {
  font-family:var(--headline); font-weight:600; font-size:1.55rem; line-height:1.15;
  letter-spacing:-.015em; color:var(--ink-900);
}
body.dock-on .dock-title { opacity:0; }

.qtop { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; margin-bottom:10px; }
.qtop .qcount { margin-bottom:0; }
.qtop .qcue { margin-bottom:0; }

@media(min-width:760px){
  .analyzer { max-width:860px; }
  .panel { padding:26px 32px 30px; }
  .qhelp { margin-bottom:18px; }
  .opts.two { grid-template-columns:1fr 1fr; gap:10px; }
  .opts.two .opt { padding:14px 16px; align-items:center; height:100%; }
  .opts.two .opt strong { font-size:.98rem; }
  .opts.two .opt small { font-size:.85rem; }
  .analyzer .locked, .analyzer .double-guarantee, .analyzer .ground, .analyzer .findings,
  .analyzer .weak-note, .analyzer .share-block { max-width:660px; margin-left:auto; margin-right:auto; }
}
/* The card's title strip only exists as the landing spot for the scroll
   effect. Where that effect is off, the hero headline already says it. */
@media (max-width:759px), (prefers-reduced-motion:reduce) { .analyzer-head { display:none; } }

/* ————— REFUND STORIES ————— */
.stories-shell { padding-top:10px; }
.story-filters { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:26px; }
.story-filter {
  min-height:40px; padding:8px 16px; border-radius:99px; cursor:pointer;
  border:1px solid var(--ink-200); background:var(--surface); color:var(--ink-700);
  font-family:var(--body); font-size:.92rem; font-weight:600; transition:.14s ease;
}
.story-filter:hover { border-color:var(--teal-400); background:var(--teal-50); }
.story-filter.on { background:var(--teal-500); border-color:var(--teal-500); color:#fff; }
.stories { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media(max-width:820px){ .stories{grid-template-columns:1fr} }
.story {
  display:flex; flex-direction:column; padding:24px; background:var(--surface);
  border:1px solid var(--ink-200); border-radius:16px; box-shadow:var(--lift-1);
}
.story[hidden] { display:none; }
.story-top { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-bottom:12px; }
.story-badge {
  padding:3px 10px; border-radius:99px; font-size:.78rem; font-weight:700;
  background:var(--teal-100); color:var(--teal-700); border:1px solid var(--teal-200);
}
.story-meta { color:var(--muted); font-size:.86rem; font-weight:500; }
.story-title { font-size:1.3rem; line-height:1.25; margin-bottom:14px; color:var(--ink-900); }
.story-facts { margin:0; display:grid; gap:10px; }
.story-facts div { display:grid; grid-template-columns:128px 1fr; gap:12px; }
@media(max-width:480px){ .story-facts div{grid-template-columns:1fr; gap:2px} }
.story-facts dt { font-size:.82rem; font-weight:700; color:var(--ink-500); padding-top:2px; }
.story-facts dd { margin:0; font-size:.96rem; color:var(--ink-700); line-height:1.5; }
.story-facts dd.said { font-style:italic; color:var(--clay-700); }
.story-facts dd.win { font-weight:700; color:var(--teal-700); }
.story-lesson {
  margin-top:16px; padding:12px 14px; border-radius:10px;
  background:var(--gold-50); border:1px solid var(--gold-200); color:var(--gold-ink); font-size:.93rem; line-height:1.5;
}
.story-quote {
  margin:16px 0 0; padding-left:14px; border-left:3px solid var(--teal-200);
  color:var(--ink-600); font-size:.93rem; line-height:1.6;
}
.story-quote cite { display:block; margin-top:6px; font-style:normal; font-weight:700; color:var(--ink-900); }
.story-links { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:auto; padding-top:16px; }
.story-links a { color:var(--teal-600); font-weight:700; font-size:.9rem; text-decoration:none; }
.story-links a:hover { text-decoration:underline; }
.stories-empty { text-align:center; color:var(--muted); margin-top:20px; }
.share-form .check { align-items:flex-start; }
.share-form .check input { margin-top:3px; flex:0 0 auto; }
