@layer reset, tokens, base, layout, components, sections, utilities;

@layer reset {
  *,*::before,*::after{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body,h1,h2,h3,h4,p,ul,ol,figure,dl,dd,blockquote{margin:0}
  ul[class],ol[class]{list-style:none;padding:0}
  img,svg{display:block;max-width:100%}
  a{color:inherit}
  button,input,textarea,select{font:inherit;color:inherit}
}

@layer tokens {
  @font-face{font-family:"Darker fallback";src:local("Arial Narrow"),local("Arial");size-adjust:118%;ascent-override:96%;descent-override:24%;line-gap-override:0%}
  @font-face{font-family:"Figtree fallback";src:local("Segoe UI"),local("Arial");size-adjust:99%}
  :root{
    --ink:#20172e; --ink-soft:#443a54; --muted:#5c5470; --line:#e7e2f0;
    --bg:#f8f6fc; --card:#ffffff; --mist:#f1ecfa;
    --brand:#6a3aa8; --brand-deep:#4a2680; --brand-tint:#efe7fb;
    --amber:#ef8a3c; --amber-deep:#d9762a; --amber-tint:#fdefe1;
    --star:#e8a20a;
    --good:#2f9e6f; --warn:#e0932a; --bad:#d6503f;
    --good-tint:#e5f4ec; --bad-tint:#fbe9e6;
    --radius:16px; --radius-lg:24px;
    --shadow:0 1px 2px rgba(25,29,43,.06),0 8px 26px rgba(25,29,43,.07);
    --shadow-sm:0 1px 2px rgba(25,29,43,.06),0 3px 10px rgba(25,29,43,.05);
    --font-head:"Darker Grotesque","Darker fallback",system-ui,sans-serif;
    --font-body:"Figtree","Figtree fallback",system-ui,sans-serif;
    --wrap:1140px;
  }
}

@layer base {
  body{font-family:var(--font-body);color:var(--ink);background:var(--bg);
    line-height:1.62;font-size:1.02rem;-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4{font-family:var(--font-head);line-height:1.02;font-weight:800;
    letter-spacing:-.01em;color:var(--ink)}
  h1{font-size:clamp(2.5rem,6vw,4.1rem)}
  h2{font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:.5em}
  h3{font-size:clamp(1.4rem,2.6vw,1.8rem)}
  h4{font-size:1.24rem;font-weight:700}
  p{margin-bottom:1rem}
  a{text-decoration:none}
  main a:not([class]){color:var(--brand-deep);text-decoration:underline;text-underline-offset:2px}
  main a:not([class]):hover{color:var(--amber-deep)}
  strong{font-weight:700}
  :focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:6px}
}

@layer layout {
  .cf-wrap{width:min(100% - 2.4rem,var(--wrap));margin-inline:auto}
  .cf-narrow{width:min(100% - 2.4rem,780px);margin-inline:auto}
  .cf-stack > * + *{margin-top:1rem}
  .cf-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
  .cf-grid{display:grid;gap:1.2rem}
  section{padding-block:clamp(2.4rem,5vw,4rem)}
  .cf-skip{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;
    padding:.7rem 1.1rem;border-radius:0 0 10px 0;z-index:200}
  .cf-skip:focus{left:0}
}

@layer components {
  .cf-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    background:var(--amber);color:#231402;font-family:var(--font-head);font-weight:800;
    font-size:1.12rem;letter-spacing:.01em;padding:.85rem 1.5rem;border-radius:999px;
    border:2px solid transparent;box-shadow:0 6px 16px rgba(217,118,42,.28);
    transition:transform .12s ease,box-shadow .12s ease;min-height:48px;cursor:pointer}
  .cf-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(217,118,42,.34)}
  .cf-btn--ghost{background:var(--brand-tint);color:var(--brand-deep);
    box-shadow:none;border-color:#c9d2f4}
  .cf-btn--ghost:hover{background:#dfe6fb;box-shadow:none}
  .cf-btn--sm{font-size:1rem;padding:.62rem 1.1rem;min-height:44px}
  .cf-btn--block{width:100%}
  .cf-disc{font-size:.82rem;color:var(--muted);margin:.5rem 0 0;line-height:1.45}
  .cf-stars{display:inline-flex;gap:2px;vertical-align:middle}
  .cf-stars svg{width:1.05em;height:1.05em;fill:var(--star)}
  .cf-stars svg.is-empty{fill:#d7dae6}
  .cf-stars svg.is-half{fill:url(#halfstar)}
  .cf-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:1.4rem;box-shadow:var(--shadow-sm)}
  .cf-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;
    padding:.28rem .7rem;border-radius:999px;background:var(--brand-tint);color:var(--brand-deep);
    letter-spacing:.02em;text-transform:uppercase}
  .cf-chip--good{background:var(--good-tint);color:#1c7a52}
  .cf-chip--verified{background:#eaf3ff;color:#245bb0}
  .cf-eyebrow{font-family:var(--font-head);font-weight:800;text-transform:uppercase;
    letter-spacing:.14em;font-size:.9rem;color:var(--brand)}
  .cf-lede{font-size:1.16rem;color:var(--ink-soft)}
  table.cf-table{width:100%;border-collapse:collapse;background:var(--card);
    border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:.98rem}
  .cf-table caption{text-align:left;font-weight:700;padding:.2rem 0 .6rem;color:var(--muted)}
  .cf-table th,.cf-table td{padding:.72rem .9rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
  .cf-table thead th{background:var(--mist);font-family:var(--font-head);font-size:1.05rem}
  .cf-table tbody tr:last-child td{border-bottom:0}
  .cf-table--wrap{overflow-x:auto}
}

@layer components {
  /* header */
  .cf-head{position:sticky;top:0;z-index:100;background:rgba(246,247,251,.92);
    backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .cf-head-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:66px}
  .cf-logo{display:flex;align-items:baseline;gap:.45rem;font-family:var(--font-head);
    font-weight:800;font-size:1.5rem;letter-spacing:-.01em;color:var(--ink)}
  .cf-logo{flex-wrap:nowrap}
  .cf-logo-name{white-space:nowrap}
  .cf-logo b{color:var(--brand);font-weight:800}
  .cf-logo small{font-family:var(--font-body);font-weight:600;font-size:.62rem;
    letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-self:center;line-height:1.1}
  .cf-nav{display:flex;align-items:center;gap:.3rem}
  .cf-nav a{padding:.55rem .7rem;border-radius:9px;font-weight:600;font-size:.96rem;color:var(--ink-soft)}
  .cf-nav a:hover{background:var(--mist);color:var(--ink)}
  .cf-nav a[aria-current="page"]{color:var(--brand-deep);background:var(--brand-tint)}
  .cf-nav-cta{margin-left:.3rem}
  .cf-burger{display:none;background:var(--card);border:1px solid var(--line);border-radius:10px;
    width:46px;height:46px;align-items:center;justify-content:center}
  .cf-burger svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round}
  /* disclosure banner */
  .cf-ribbon{background:var(--brand-deep);color:#eef1fa;font-size:.9rem}
  .cf-ribbon .cf-wrap{display:flex;gap:.6rem;align-items:center;padding-block:.55rem;flex-wrap:wrap}
  .cf-ribbon svg{width:18px;height:18px;fill:#ffd9a8;flex:none}
  .cf-ribbon a{color:#ffd9a8;text-decoration:underline;font-weight:600}
  /* breadcrumb */
  .cf-crumb{font-size:.86rem;color:var(--muted);padding-block:.8rem}
  .cf-crumb ol{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
  .cf-crumb a{color:var(--brand-deep)}
  .cf-crumb li+li::before{content:"›";margin-right:.4rem;color:#b9c0d4}
  /* footer */
  .cf-foot{background:#1b1430;color:#c9c2da;margin-top:2rem;padding-block:2.8rem 1.6rem;font-size:.92rem}
  .cf-foot h3{color:#fff;font-size:1.15rem;margin-bottom:.7rem}
  .cf-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2rem}
  .cf-foot a{color:#aab2c9}
  .cf-foot a:hover{color:#fff;text-decoration:underline}
  .cf-foot ul{display:grid;gap:.45rem}
  .cf-foot-legal{border-top:1px solid #322549;margin-top:2rem;padding-top:1.3rem;
    font-size:.82rem;color:#948bab;display:grid;gap:.8rem}
}

@layer sections {
  /* hero */
  .cf-hero{padding-top:clamp(1.4rem,3vw,2.4rem)}
  .cf-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2.2rem;align-items:center}
  .cf-hero h1{margin:.4rem 0 .7rem}
  .cf-byline{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;font-size:.9rem;
    color:var(--muted);margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--line)}
  .cf-byline b{color:var(--ink-soft);font-weight:700}
  .cf-hero-img{position:relative}
  .cf-hero-img img{width:100%;height:auto;filter:drop-shadow(0 18px 34px rgba(106,58,168,.22))}
  /* verdict */
  .cf-verdict{background:linear-gradient(160deg,#2c1a4e,#6a3aa8);color:#fff;border-radius:var(--radius-lg);
    padding:clamp(1.5rem,3vw,2.2rem);box-shadow:0 16px 40px rgba(74,38,128,.28)}
  .cf-verdict h2{color:#fff}
  .cf-verdict-top{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
  .cf-gauge{--v:86;width:132px;height:132px;border-radius:50%;flex:none;display:grid;place-items:center;
    background:conic-gradient(var(--amber) calc(var(--v)*1%),rgba(255,255,255,.16) 0);position:relative}
  .cf-gauge::after{content:"";position:absolute;inset:11px;border-radius:50%;background:#2c1a4e}
  .cf-gauge b{position:relative;font-family:var(--font-head);font-size:2.5rem;line-height:1;color:#fff}
  .cf-gauge b small{font-size:1rem;color:#cdbce9;font-weight:600}
  .cf-gauge-cap{position:relative;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#cdbce9;margin-top:2px}
  .cf-verdict .cf-lede{color:#e6ddf5}
  .cf-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1.4rem}
  .cf-fact{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
    border-radius:12px;padding:.7rem .8rem}
  .cf-fact dt{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#c3b2e0}
  .cf-fact dd{font-family:var(--font-head);font-weight:700;font-size:1.12rem;margin-top:.15rem;color:#fff}
  .cf-verdict .cf-btn{margin-top:1.4rem}
  .cf-verdict .cf-disc{color:#cbbde6}
  /* tldr / callouts */
  .cf-callout{border-left:5px solid var(--brand);background:var(--card);border-radius:12px;
    padding:1.2rem 1.3rem;box-shadow:var(--shadow-sm)}
  .cf-callout--takeaways{border-left-color:var(--amber)}
  .cf-callout h2{margin-bottom:.4rem}
  .cf-callout ul{display:grid;gap:.5rem}
  .cf-callout li{padding-left:1.5rem;position:relative}
  .cf-callout li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;
    border-radius:50%;background:var(--brand)}
  .cf-callout--takeaways li::before{background:var(--amber)}
  /* toc */
  .cf-toc{background:var(--mist);border-radius:14px;padding:1rem 1.2rem}
  .cf-toc h2{font-size:1.15rem;margin-bottom:.5rem}
  .cf-toc ul{columns:2;column-gap:1.4rem}
  .cf-toc a{color:var(--brand-deep);font-weight:600;font-size:.95rem;display:inline-block;padding:.18rem 0}
  /* proscons */
  .cf-pc{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
  .cf-pc-card{border-radius:var(--radius);padding:1.3rem 1.4rem;border:1px solid var(--line);background:var(--card)}
  .cf-pc-card.is-pro{background:var(--good-tint);border-color:#bfe4d1}
  .cf-pc-card.is-con{background:var(--bad-tint);border-color:#f2cfc8}
  .cf-pc-card h3{font-size:1.3rem;margin-bottom:.6rem}
  .cf-pc-card ul{display:grid;gap:.55rem}
  .cf-pc-card li{padding-left:1.7rem;position:relative}
  .cf-pc-card li::before{position:absolute;left:0;top:.05em;font-weight:800;font-family:var(--font-head);font-size:1.1rem}
  .cf-pc-card.is-pro li::before{content:"+";color:var(--good)}
  .cf-pc-card.is-con li::before{content:"–";color:var(--bad)}
  /* rating bars */
  .cf-bars{display:grid;gap:.8rem}
  .cf-bar{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;align-items:center}
  .cf-bar .cf-bar-label{font-weight:600}
  .cf-bar .cf-bar-num{font-family:var(--font-head);font-weight:700;color:var(--brand-deep)}
  .cf-bar .cf-bar-track{grid-column:1/-1;height:9px;border-radius:99px;background:var(--mist);overflow:hidden}
  .cf-bar .cf-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),#9b6fd6)}
  /* snapshot stat grid */
  .cf-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
  .cf-stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.1rem;text-align:center;box-shadow:var(--shadow-sm)}
  .cf-stat b{display:block;font-family:var(--font-head);font-weight:800;font-size:2.1rem;color:var(--brand-deep);line-height:1}
  .cf-stat span{display:block;font-size:.82rem;color:var(--muted);margin-top:.35rem}
  /* star distribution */
  .cf-dist{display:grid;gap:.5rem}
  .cf-dist-row{display:grid;grid-template-columns:52px 1fr 46px;gap:.7rem;align-items:center;font-size:.92rem}
  .cf-dist-track{height:11px;border-radius:99px;background:var(--mist);overflow:hidden}
  .cf-dist-fill{height:100%;background:var(--star);border-radius:99px}
  /* theme freq bars */
  .cf-theme{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;align-items:center;margin-bottom:.7rem}
  .cf-theme .cf-theme-track{grid-column:1/-1;height:8px;border-radius:99px;background:var(--mist);overflow:hidden}
  .cf-theme .cf-theme-fill{height:100%;border-radius:99px;background:var(--good)}
  .cf-theme.is-neg .cf-theme-fill{background:var(--amber)}
  /* testimonials */
  .cf-tgrid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
  .cf-review{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.6rem}
  .cf-review-head{display:flex;gap:.7rem;align-items:center}
  .cf-avatar{width:42px;height:42px;border-radius:50%;background:var(--brand-tint);color:var(--brand-deep);
    display:grid;place-items:center;font-family:var(--font-head);font-weight:800;flex:none}
  .cf-review-name{font-weight:700;font-size:.96rem}
  .cf-review-meta{font-size:.78rem;color:var(--muted)}
  .cf-review h4{font-size:1.08rem}
  .cf-review p{font-size:.94rem;color:var(--ink-soft);margin:0}
  .cf-review--crit{background:#fffaf4;border-color:#f2ddc2}
  /* price band (CRO) */
  .cf-band{background:linear-gradient(120deg,var(--amber-tint),#fff6ec);border:1px solid #f4d6b4;
    border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2rem);text-align:center}
  .cf-band h2{color:var(--amber-deep)}
  .cf-band p{max-width:60ch;margin-inline:auto;color:var(--ink-soft)}
  /* pricing */
  .cf-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
  .cf-price{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;display:flex;flex-direction:column;text-align:center;box-shadow:var(--shadow-sm);position:relative}
  .cf-price.is-best{border:2px solid var(--brand);box-shadow:0 12px 32px rgba(106,58,168,.18)}
  .cf-price-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--brand);color:#fff;
    font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.28rem .8rem;border-radius:99px;white-space:nowrap}
  .cf-price h3{font-size:1.35rem}
  .cf-price .cf-per{font-family:var(--font-head);font-weight:800;font-size:2.6rem;color:var(--brand-deep);line-height:1}
  .cf-price .cf-per small{font-size:1rem;color:var(--muted);font-weight:600}
  .cf-price .cf-total{color:var(--muted);font-size:.92rem}
  .cf-price ul{display:grid;gap:.4rem;margin:.9rem 0;font-size:.9rem;text-align:left}
  .cf-price li{padding-left:1.4rem;position:relative}
  .cf-price li::before{content:"✓";position:absolute;left:0;color:var(--good);font-weight:800}
  .cf-price .cf-btn{margin-top:auto}
  /* reassurance row */
  .cf-reassure{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;justify-content:center;margin-top:1rem;font-size:.86rem;color:var(--muted)}
  .cf-reassure span{display:inline-flex;gap:.35rem;align-items:center}
  .cf-reassure svg{width:15px;height:15px;fill:var(--good)}
  /* mid cta / guarantee cta */
  .cf-midcta{background:var(--brand-tint);border:1px solid #cdd6f6;border-radius:var(--radius);padding:1.3rem 1.4rem;text-align:center}
  .cf-midcta h3{color:var(--brand-deep);margin-bottom:.4rem}
  /* form */
  .cf-form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2rem);box-shadow:var(--shadow-sm)}
  .cf-field{display:grid;gap:.35rem;margin-bottom:1rem}
  .cf-field label{font-weight:600;font-size:.94rem}
  .cf-field input,.cf-field textarea{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;width:100%}
  .cf-field input:focus,.cf-field textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-tint)}
  .cf-field textarea{min-height:120px;resize:vertical}
  .cf-hint{font-size:.78rem;color:var(--muted)}
  .cf-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .cf-rate{display:inline-flex;flex-direction:row-reverse;gap:.2rem}
  .cf-rate input{position:absolute;opacity:0;width:1px;height:1px}
  .cf-rate label{cursor:pointer;padding:.1rem}
  .cf-rate label svg{width:34px;height:34px;fill:#d7dae6;transition:fill .1s}
  .cf-rate input:checked ~ label svg,.cf-rate label:hover svg,.cf-rate label:hover ~ label svg{fill:var(--star)}
  .cf-rate input:focus-visible + label svg{outline:3px solid var(--brand);border-radius:4px}
  .cf-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem}
  .cf-check input{width:20px;height:20px;margin-top:.15rem;flex:none}
  .cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .cf-formmsg{background:var(--good-tint);border:1px solid #bfe4d1;color:#1c7a52;border-radius:12px;
    padding:1rem 1.2rem;font-weight:600;margin-bottom:1rem}
  .cf-formmsg[hidden]{display:none}
  /* faq */
  .cf-faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:.7rem;overflow:hidden}
  .cf-faq summary{cursor:pointer;padding:1rem 1.2rem;font-family:var(--font-head);font-weight:700;font-size:1.18rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
  .cf-faq summary::-webkit-details-marker{display:none}
  .cf-faq summary::after{content:"+";font-size:1.5rem;color:var(--brand);flex:none}
  .cf-faq details[open] summary::after{content:"–"}
  .cf-faq details[open] summary{border-bottom:1px solid var(--line)}
  .cf-faq .cf-faq-body{padding:1rem 1.2rem;color:var(--ink-soft)}
  .cf-faq .cf-faq-body p:last-child{margin-bottom:0}
  /* references */
  .cf-refs{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.6rem}
  .cf-refs ol{padding-left:1.3rem;display:grid;gap:.6rem;font-size:.9rem;color:var(--ink-soft)}
  .cf-refs a{color:var(--brand-deep);word-break:break-word}
  .cf-refs .cf-hint{margin-bottom:1rem}
  /* deep dive */
  .cf-ingredient{border-top:1px solid var(--line);padding-top:1.3rem;margin-top:1.3rem}
  .cf-ingredient:first-child{border-top:0;margin-top:0;padding-top:0}
  .cf-ingredient h3{color:var(--brand-deep)}
  .cf-ingredient .cf-dose{font-size:.82rem;font-weight:700;color:var(--amber-deep);text-transform:uppercase;letter-spacing:.04em}
  /* who list */
  .cf-who{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
  .cf-who-card{border-radius:var(--radius);padding:1.3rem;border:1px solid var(--line);background:var(--card)}
  .cf-who-card h3{font-size:1.25rem;margin-bottom:.6rem}
  .cf-who-card ul{display:grid;gap:.5rem}
  .cf-who-card li{padding-left:1.6rem;position:relative}
  .cf-who-card.is-yes li::before{content:"✓";position:absolute;left:0;color:var(--good);font-weight:800}
  .cf-who-card.is-no li::before{content:"✕";position:absolute;left:0;color:var(--bad);font-weight:800}
  /* sticky mobile cta */
  .cf-sticky{position:fixed;left:0;right:0;bottom:0;z-index:120;background:#2c1a4e;color:#fff;
    display:none;align-items:center;gap:.7rem;padding:.55rem .8rem;box-shadow:0 -6px 20px rgba(0,0,0,.2);
    transform:translateY(110%);transition:transform .28s ease}
  .cf-sticky.is-shown{transform:translateY(0)}
  .cf-sticky p{margin:0;font-size:.8rem;line-height:1.25;flex:1}
  .cf-sticky p b{font-family:var(--font-head);font-size:.95rem}
  .cf-sticky .cf-btn{padding:.55rem 1rem;font-size:.95rem;min-height:42px}
  .cf-sticky-x{background:transparent;border:0;color:#aab2c9;font-size:1.4rem;line-height:1;padding:.2rem .4rem;flex:none}
  /* misc */
  .cf-note{background:var(--mist);border-radius:12px;padding:1rem 1.2rem;font-size:.92rem;color:var(--ink-soft)}
  .cf-updated{font-size:.85rem;color:var(--muted)}
}

@layer utilities {
  .cf-center{text-align:center}
  .cf-mt{margin-top:1.4rem}
  .cf-mt2{margin-top:2.2rem}
  .cf-mb{margin-bottom:1.4rem}
  .cf-lead-space > * + *{margin-top:1.1rem}
  .cf-hide{display:none}
  .cf-split{display:grid;gap:1.4rem;grid-template-columns:1.2fr .8fr;align-items:start}
  .cf-g2{display:grid;gap:1.4rem;grid-template-columns:1fr 1fr}
  .cf-g3{display:grid;gap:1.1rem;grid-template-columns:repeat(3,1fr)}
}

@media (max-width:900px){
  .cf-hero-grid,.cf-pc,.cf-who{grid-template-columns:1fr}
  .cf-stats{grid-template-columns:repeat(2,1fr)}
  .cf-tgrid-3,.cf-price-grid{grid-template-columns:1fr}
  .cf-foot-grid{grid-template-columns:1fr 1fr}
  .cf-facts{grid-template-columns:repeat(2,1fr)}
  .cf-g3{grid-template-columns:1fr}
  .cf-split{grid-template-columns:1fr}
}
@media (max-width:760px){
  .cf-nav{position:fixed;inset:66px 0 auto 0;background:var(--card);flex-direction:column;align-items:stretch;
    gap:.2rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line);box-shadow:var(--shadow);
    transform:translateY(-140%);transition:transform .25s ease}
  .cf-nav.is-open{transform:translateY(0)}
  .cf-nav a{padding:.8rem .6rem}
  .cf-nav-cta{margin:.4rem 0 0}
  .cf-burger{display:inline-flex}
  .cf-toc ul{columns:1}
  .cf-two,.cf-g2{grid-template-columns:1fr}
  .cf-logo{font-size:1.32rem}
  .cf-logo small{display:none}
  .cf-facts{grid-template-columns:1fr 1fr;gap:.5rem}
  .cf-sticky{display:flex}
  section{padding-block:clamp(2rem,7vw,3rem)}
  body{padding-bottom:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
