/* ============================================================
   Clymber shared stylesheet for the plan-detail pages (and the
   universal foundation reused by All About CAT).

   This is the single source of truth for: brand tokens, reset,
   typography, nav + mobile sheet, plan-detail header, sections,
   buttons, footer, and the shared motion polish. The plan-detail
   pages link this and drop their inline <style>. Rules for sections a
   given page doesn't use (e.g. .kh-grid on Foundation) are harmless.

   Token + chrome rules mirror the homepage so the four pages share one
   visual language.
   ============================================================ */
:root{
  --ink:#1E1C24; --ink-2:#4A4854; --muted:#7A7885;
  --paper:#FFFFFF; --paper-2:#F6F5FB;
  --line:rgba(30,28,36,.08); --line-2:rgba(30,28,36,.16);
  --indigo:#5036FF; --indigo-ink:#3A26C7; --deep:#2A2370;
  --mint:#9FEFB4; --lilac:#DFD8FF; --rose:#F7DCEB; --butter:#FBEFBF;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'General Sans',system-ui,sans-serif;font-weight:600;letter-spacing:-0.025em;color:var(--ink);margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:inherit;text-decoration:none}
.mono{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted)}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

/* Eyebrow / kicker pill (homepage pattern; used by All About CAT) */
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 14px;border:1px solid var(--line-2);border-radius:999px;font-size:12px;letter-spacing:0.02em;color:var(--ink-2)}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--indigo)}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1240px;margin:0 auto}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}
.brand img{width:40px;height:40px;display:block}
.brand-word{font-family:'Montserrat',sans-serif;font-weight:700;font-size:24px;line-height:1;color:#12111a;letter-spacing:-0.02em}
.nav-links{display:flex;gap:30px;font-size:14px;color:var(--ink-2)}
.nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:500}
@media (max-width:860px){.nav-links{display:none}}

/* Header */
.ph-head{padding:80px 0 56px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.ph-back{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.ph-back:hover{color:var(--indigo)}
.ph-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:end}
@media (max-width:880px){.ph-grid{grid-template-columns:1fr;gap:32px}}
.ph-tag{display:inline-flex;align-items:center;gap:8px;background:var(--mint);color:#0E5A2A;font-family:'General Sans',sans-serif;font-weight:700;font-size:12px;letter-spacing:0.04em;padding:6px 14px;border-radius:999px;margin-bottom:20px}
h1{font-size:clamp(40px,5vw,68px);line-height:1.05;letter-spacing:-0.035em;font-weight:600}
h1 em{font-style:italic;color:var(--indigo);font-family:'General Sans',sans-serif;font-weight:500}
.ph-sub{font-size:18px;color:var(--ink-2);max-width:48ch;margin-top:24px;line-height:1.5}
.ph-meta{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}
.ph-meta .pm-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.ph-meta .pm-row:last-of-type{border-bottom:none}
.ph-meta .pm-row b{font-family:'General Sans',sans-serif;color:var(--ink);font-weight:600}
.ph-meta .pm-cta{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:#fff;padding:14px 22px;border-radius:999px;font-size:14px;font-weight:500;box-shadow:0 14px 30px -18px rgba(30,28,36,.5);transition:background .15s ease, box-shadow .25s ease}
.btn-primary:hover{background:var(--indigo);box-shadow:0 18px 38px -16px rgba(80,54,255,.5)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;font-size:14px;color:var(--ink);border:1px solid var(--line-2);font-weight:500;background:#fff}

/* Section */
section.feat{padding:120px 0;border-bottom:1px solid var(--line)}
.feat:nth-of-type(even){background:var(--paper-2)}
.feat-head{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:end;margin-bottom:48px}
@media (max-width:780px){.feat-head{grid-template-columns:1fr;gap:16px}}
.sec-num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);letter-spacing:0.12em}
.feat-head h2{font-size:clamp(32px,3.6vw,48px);line-height:1.05;letter-spacing:-0.03em;max-width:18ch}
.feat-head h2 em{font-style:italic;color:var(--indigo);font-weight:500;font-family:'General Sans',sans-serif}
.feat-head .lead{font-size:16px;color:var(--ink-2);max-width:48ch;align-self:end;line-height:1.5}

/* Shot */
.shot{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 30px 60px -40px rgba(30,28,36,.25)}
.shot img{width:100%;height:auto;display:block}
.shot-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:880px){.shot-stack{grid-template-columns:1fr}}
.shot-stack .shot{aspect-ratio:2626/1354;overflow:hidden}
.shot-stack .shot img{width:100%;height:100%;object-fit:cover;object-position:top center}
.shot-cap{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-top:12px;text-align:center}

/* Feature explainer */
.feat-grid{display:grid;grid-template-columns:1fr;gap:32px}
.feat-explainer{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:36px}
.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:48px}
@media (max-width:880px){.feat-explainer{grid-template-columns:1fr;gap:24px}}
@media (max-width:880px){.feat-row{grid-template-columns:1fr;gap:24px}}
.feat-explainer h3{font-size:22px;letter-spacing:-0.02em;margin-bottom:14px}
.feat-explainer p{font-size:15.5px;color:var(--ink-2);line-height:1.6}
.feat-row h3{font-size:22px;letter-spacing:-0.02em;margin-bottom:14px}
.feat-row p{font-size:15.5px;color:var(--ink-2);line-height:1.6}
.feat-bullets{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:10px}
.feat-bullets li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink-2);line-height:1.5}
/* Icon-row bullets: rounded indigo-tinted check chip (CSS-only, no markup change). */
.feat-bullets li::before{content:"";width:20px;height:20px;border-radius:6px;flex-shrink:0;margin-top:1px;background:rgba(80,54,255,.10) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235036FF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-11'/%3E%3C/svg%3E") center / 12px 12px no-repeat}

/* Summary */
.summary{padding:120px 0}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:48px}
@media (max-width:880px){.summary-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.summary-grid{grid-template-columns:1fr}}
.summary-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px;min-height:160px;transition:transform .2s ease, box-shadow .2s ease}
/* Hover-lift (homepage .tile pattern) */
.summary-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px -28px rgba(30,28,36,.22)}
.summary-card-wide{grid-column:span 2}
@media (max-width:560px){.summary-card-wide{grid-column:1 / -1}}
.summary-card .ico{width:44px;height:44px;border-radius:12px;background:var(--lilac);display:flex;align-items:center;justify-content:center;color:var(--indigo);flex-shrink:0}
.summary-card .ico svg{width:22px;height:22px}
.summary-card h4{font-size:16px;letter-spacing:-0.01em}
.summary-card p{font-size:13.5px;color:var(--ink-2);line-height:1.5}

.cta-final{background:var(--ink);color:#fff;border-radius:24px;padding:56px;display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:center;margin-top:48px}
@media (max-width:880px){.cta-final{grid-template-columns:1fr;padding:36px}}
.cta-final h3{color:#fff;font-size:32px;letter-spacing:-0.025em;line-height:1.1;max-width:18ch}
.cta-final h3 em{font-style:italic;color:var(--mint);font-weight:500;font-family:'General Sans',sans-serif}
.cta-final p{color:rgba(253,252,248,.7);margin-top:14px;font-size:15px;max-width:42ch}
.cta-final-btns{display:flex;flex-direction:column;gap:10px}
.cta-final-btns .btn-primary{background:var(--mint);color:#0E5A2A}
.cta-final-btns .btn-primary:hover{background:#fff;color:var(--ink)}
.cta-final-btns .btn-secondary{color:#fff;border-color:rgba(253,252,248,.25);background:transparent}
.cta-final-btns .btn-secondary:hover{background:rgba(253,252,248,.08)}

/* Syllabus accordion */
.syllabus{margin-top:48px;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 1px 0 rgba(15,15,40,.02)}
.syllabus summary{list-style:none;cursor:pointer;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-family:'General Sans',sans-serif;font-weight:600;font-size:17px;color:#fff;background:var(--ink);user-select:none;transition:background .2s, transform .2s;position:relative;overflow:hidden}
.syllabus summary::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 90% 50%, rgba(126,116,255,.55), transparent 70%);opacity:.7;pointer-events:none;transition:opacity .2s}
.syllabus summary:hover{background:#0a0a26}
.syllabus summary:hover::after{opacity:1}
.syllabus[open] summary{background:var(--indigo)}
.syllabus summary::-webkit-details-marker{display:none}
.syl-label{letter-spacing:-0.01em;display:inline-flex;align-items:center;gap:12px;position:relative;z-index:1}
.syl-spark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff}
.syl-sub-label{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(253,252,248,.6);font-weight:400;margin-top:2px}
/* Expand/collapse pill — makes it obvious the bar is an interactive dropdown. */
.syl-chev{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:999px;background:var(--mint);color:#0E5A2A;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;transition:background .2s,box-shadow .25s ease,transform .15s ease;position:relative;z-index:1;flex-shrink:0}
.syl-chev::before{content:"Expand"}
.syl-chev svg{transition:transform .25s ease}
.syllabus summary:hover .syl-chev{transform:translateY(-1px)}
.syllabus[open] .syl-chev{background:#fff}
.syllabus[open] .syl-chev::before{content:"Collapse"}
.syllabus[open] .syl-chev svg{transform:rotate(180deg)}
/* Gentle attention pulse while collapsed so the affordance reads as tappable. */
@keyframes sylPulse{0%,100%{box-shadow:0 0 0 0 rgba(159,239,180,0)}50%{box-shadow:0 0 0 7px rgba(159,239,180,.20)}}
.syllabus:not([open]) .syl-chev{animation:sylPulse 2.4s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.syllabus:not([open]) .syl-chev{animation:none}}
.syl-body{padding:8px 24px 28px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:18px;background:var(--paper-2)}
.syl-block{padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-top:18px}
.syl-block:first-child{margin-top:18px}
.syl-tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--indigo);margin-bottom:8px}
.syl-block h4{font-size:20px;letter-spacing:-0.02em;margin-bottom:14px;font-weight:700}
.syl-block p{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin-bottom:8px;max-width:78ch}
.syl-meta{font-size:14px;color:var(--ink-2)}
.syl-meta b, .syl-sub b{color:var(--ink);font-weight:600}
.syl-sub{font-size:14.5px;color:var(--ink-2);margin-top:14px;margin-bottom:6px}
.syl-bullets{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:6px}
.syl-bullets li{font-size:14px;color:var(--ink-2);line-height:1.5;padding-left:14px;position:relative}
.syl-bullets li::before{content:"";position:absolute;left:0;top:9px;width:4px;height:4px;border-radius:50%;background:var(--ink-2)}
.syl-list{list-style:disc;padding-left:22px;margin:0 0 4px;display:flex;flex-direction:column;gap:6px}
.syl-list li{font-size:14px;color:var(--ink-2);line-height:1.5}
.syl-tag-sub{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin:14px 0 10px}
.syl-table{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.syl-row{display:grid;grid-template-columns:2fr 1.4fr 1fr 1fr;gap:16px;padding:14px 18px;font-size:14px;color:var(--ink);border-bottom:1px solid var(--line);align-items:center}
.syl-row:last-child{border-bottom:none}
.syl-head{background:var(--paper-2);font-family:'Inter',sans-serif;font-size:13px;color:var(--ink);font-weight:600;padding:12px 18px}
.syl-row span:first-child{font-weight:500}
@media (max-width:680px){
  .syl-block{padding:20px}
  .syl-row{grid-template-columns:1.6fr 1fr 0.8fr 0.8fr;gap:8px;padding:11px 14px;font-size:12.5px}
  .syl-head{padding:10px 14px;font-size:11px}
}

/* Mocks callout */
.mocks-cta{margin-top:48px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:28px 32px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;position:relative;overflow:hidden;box-shadow:0 1px 0 rgba(15,15,40,.02)}
.mocks-cta::after{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--indigo);border-radius:18px 0 0 18px}
.mocks-cta>*{position:relative;z-index:1}
.mocks-cta-num{font-family:'General Sans',sans-serif;font-weight:600;font-size:64px;line-height:1;letter-spacing:-0.04em;color:var(--indigo);display:flex;flex-direction:column;align-items:flex-start}
.mocks-cta-num span{font-size:13px;font-family:'JetBrains Mono',monospace;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.mocks-cta-body h4{font-family:'General Sans',sans-serif;font-size:22px;letter-spacing:-0.02em;font-weight:600;margin-bottom:6px;color:var(--ink)}
.mocks-cta-body p{font-size:14.5px;color:var(--ink-2);line-height:1.55;max-width:54ch;margin:0}
.mocks-cta-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--mint);color:#0E5A2A;border-radius:999px;font-size:13px;font-weight:600;font-family:'JetBrains Mono',monospace;letter-spacing:0.05em;text-transform:uppercase;white-space:nowrap}
@media (max-width:780px){
  .mocks-cta{grid-template-columns:1fr;gap:18px;padding:24px}
  .mocks-cta-num{font-size:48px}
}

/* Knowledge Hub grid */
.kh-grid{margin-top:48px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.kh-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 28px;display:flex;flex-direction:column;gap:10px;transition:transform .2s, box-shadow .2s}
.kh-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px -18px rgba(15,15,40,.18)}
.kh-ico{width:42px;height:42px;border-radius:12px;background:var(--paper-2);color:var(--ink);display:flex;align-items:center;justify-content:center}
.kh-ico svg{width:22px;height:22px}
.kh-card h4{font-family:'General Sans',sans-serif;font-size:18px;font-weight:600;letter-spacing:-0.015em;margin:6px 0 0}
.kh-card p{font-size:14px;color:var(--ink-2);line-height:1.55;margin:0}
@media (max-width:780px){.kh-grid{grid-template-columns:1fr}}

/* FAQ accordion (homepage pattern; used by All About CAT) */
.faq-item{background:rgba(255,255,255,.78);border:1px solid rgba(30,28,36,.08);border-radius:18px;overflow:hidden;transition:border-color .18s,box-shadow .18s,background .18s}
.faq-item[open]{border-color:rgba(80,54,255,.28);background:#fff;box-shadow:0 20px 46px -34px rgba(80,54,255,.34)}
.faq-item summary{padding:22px 24px;cursor:pointer;font-family:'General Sans','Inter',system-ui,sans-serif;font-weight:600;font-size:17px;line-height:1.35;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;letter-spacing:-0.012em}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--indigo);background:rgba(80,54,255,.08);font-weight:400;font-size:22px;line-height:1;flex-shrink:0;transition:transform .2s,background .2s,color .2s}
.faq-item[open] summary::after{content:'−';background:var(--indigo);color:#fff}

/* Footer (plan-detail single-line variant) */
footer{background:var(--ink);color:rgba(253,252,248,.6);padding:48px 0;text-align:center;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;border-top:1px solid rgba(253,252,248,.1)}

/* Mobile nav */
.nav-toggle{display:none;position:relative;width:44px;height:44px;align-items:center;justify-content:center;background:rgba(253,252,248,.92);border:1px solid rgba(31,29,42,.12);border-radius:14px;cursor:pointer;padding:0;margin-left:auto;overflow:hidden;box-shadow:0 14px 28px -20px rgba(31,29,42,.32);backdrop-filter:blur(14px)}
.nav-toggle:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}
.nav-toggle .nav-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;font-weight:600;color:var(--ink);transition:opacity .2s ease, transform .25s ease, color .2s ease}
.nav-toggle .nav-icon-close{opacity:0;transform:scale(.82) rotate(-10deg)}
.nav-toggle[aria-expanded="true"]{background:rgba(80,54,255,.08);border-color:rgba(80,54,255,.26);box-shadow:0 18px 32px -18px rgba(80,54,255,.28)}
.nav-toggle[aria-expanded="true"] .nav-icon-open{opacity:0;transform:scale(.8)}
.nav-toggle[aria-expanded="true"] .nav-icon-close{opacity:1;transform:scale(1) rotate(0);color:var(--indigo)}
.nav-mobile{display:none}

@media (max-width:720px){
  .wrap{padding:0 20px}
  .nav-inner{padding:14px 20px;gap:10px}
  .brand img{width:32px;height:32px}
  .brand-word{font-size:20px}
  .nav-links{display:none}
  .nav > .nav-inner > .nav-cta{display:none}
  .nav-toggle{display:inline-flex}
  .nav-mobile{display:block;position:fixed;inset:60px 0 auto 0;background:rgba(253,252,248,.96);border-bottom:1px solid rgba(31,29,42,.08);transform:translateY(-110%);visibility:hidden;transition:transform .3s cubic-bezier(.22,1,.36,1),visibility 0s linear .3s;z-index:49;box-shadow:0 28px 44px -24px rgba(30,28,36,.22);backdrop-filter:blur(18px);max-height:calc(100vh - 60px);overflow:auto}
  .nav-mobile.is-open{transform:translateY(0);visibility:visible;transition:transform .3s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s}
  .nav-mobile-inner{padding:14px 20px 26px;display:flex;flex-direction:column;gap:4px}
  .nav-mobile a{padding:14px 4px;font-size:17px;color:var(--ink);border-bottom:1px solid var(--line);min-height:44px;display:flex;align-items:center}
  .nav-mobile a:last-of-type{border-bottom:none}
  .nav-mobile .nav-cta{margin-top:14px;justify-content:center;padding:15px 22px;font-size:16px;width:100%;min-height:52px;color:var(--paper);background:linear-gradient(135deg,var(--ink) 0%,#36324a 100%);border:none;border-radius:18px;box-shadow:0 20px 34px -22px rgba(31,29,42,.58);transition:background .15s,transform .15s}
  .nav-mobile .nav-cta:hover,
  .nav-mobile .nav-cta:active{background:linear-gradient(135deg,var(--indigo) 0%,var(--indigo-ink) 100%);transform:translateY(1px)}
  .nav-mobile .nav-cta:focus-visible{outline:2px solid var(--indigo);outline-offset:3px;background:linear-gradient(135deg,var(--indigo) 0%,var(--indigo-ink) 100%)}
  .nav-mobile .nav-cta span{color:inherit}
  body.nav-open{overflow:hidden}

  .ph-head{padding:32px 0 36px}
  .ph-back{margin-bottom:18px;font-size:10.5px}
  h1{font-size:clamp(33px,8.8vw,42px);line-height:1.03;letter-spacing:-0.03em}
  .ph-sub{font-size:15.25px;line-height:1.55;max-width:34ch;margin-top:16px}
  .ph-meta{padding:22px}
  .ph-meta .pm-row{gap:12px;font-size:13.5px;align-items:flex-start}

  section.feat{padding:64px 0}
  .summary{padding:64px 0}
  .feat-head{grid-template-columns:1fr;gap:12px;margin-bottom:24px}
  .feat-head h2{max-width:none;font-size:clamp(28px,7.4vw,38px);line-height:1.08}
  .feat-head .lead{font-size:15px;line-height:1.5;max-width:none}
  .shot-stack{grid-template-columns:1fr;gap:14px}
  .feat-explainer,.feat-row{grid-template-columns:1fr !important;gap:18px;margin-top:24px}
  .summary-grid{grid-template-columns:1fr;gap:12px;margin-top:28px}
  .summary-card{min-height:0;padding:20px}
  .cta-final{grid-template-columns:1fr;padding:30px 24px;gap:22px}
  .cta-final h3{font-size:28px;max-width:none}
  .syl-body{padding:8px 16px 20px}
  .mocks-cta{grid-template-columns:1fr;gap:18px;padding:24px}
  .mocks-cta-num{font-size:48px}
  .kh-grid{grid-template-columns:1fr}

  .btn-primary,.btn-secondary,.nav-cta{min-height:44px}
  footer{padding:36px 0;font-size:10px}
  a,button{touch-action:manipulation}
}

@media (max-width:380px){
  .wrap{padding:0 16px}
  .nav-inner{padding:12px 16px}
  .ph-head{padding:26px 0 30px}
  h1{font-size:clamp(29px,8.8vw,37px)}
  .ph-sub{font-size:14.35px}
  .ph-meta,.summary-card{padding:18px}
  section.feat,.summary{padding:56px 0}
  .cta-final{padding:28px 20px}
}

/* ============================================================
   Shared motion polish (CSS-only — applies with zero markup change)
   ============================================================ */

/* Lenis smooth-scroll baseline. Lenis adds `.lenis`/`.lenis-smooth` to
   <html> at runtime (desktop only); these rules are inert otherwise. */
html.lenis, html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}

/* Hero entrance — CSS-driven so it paints on first load with no flash and
   no dependency on the deferred motion libs. The H1 is intentionally NOT
   animated (so it can't delay LCP); supporting elements rise in around it. */
.ph-head .ph-tag{animation:heroEntrance .6s cubic-bezier(.22,1,.36,1) both;animation-delay:.04s}
.ph-head .ph-sub{animation:heroEntrance .6s cubic-bezier(.22,1,.36,1) both;animation-delay:.16s}
.ph-head .ph-meta{animation:heroEntrance .6s cubic-bezier(.22,1,.36,1) both;animation-delay:.26s}
@keyframes heroEntrance{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion: reduce){
  .ph-head .ph-tag,.ph-head .ph-sub,.ph-head .ph-meta{animation:none}
}
