/* Course sales page (course.html?c=<id>). Loaded after hub.css; every class here is crs-*.
   THEME RULE: colors, backgrounds and borders come only from hub.css tokens (--bg, --surface, --surface-2, --line, --line-2,
   --text, --mute, --ember, --ember-ink, --ice). Transparency is color-mix() of a token. No hex, no rgb literals, no text set
   on top of photos, so swapping the token values in hub.css re-themes this page (dark cinema or light sketch) untouched. */

.crs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.crs-noscript{padding-block:64px}
.crs-band{padding-block:clamp(48px,6vw,84px)}

/* ---------- hero (mobile pass 10/13): name, one line, price, buy, ONE proof video ---------- */
.crs-hero{position:relative;isolation:isolate}
.crs-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"text media" "buy media";
  gap:20px clamp(32px,5vw,64px);align-items:center;padding-block:48px 64px}
.crs-hero-solo .crs-hero-grid{grid-template-columns:minmax(0,720px);grid-template-areas:"text" "buy"}
.crs-hero-text{grid-area:text;display:grid;gap:14px;min-width:0;align-self:end}
.crs-hero-media{grid-area:media;min-width:0;display:flex;justify-content:center}
.crs-hero-tall .crs-hero-frame{width:min(340px,100%)}
.crs-hero-wide .crs-hero-frame{width:100%}
.crs-hero-buy{grid-area:buy;display:grid;gap:10px;justify-items:start;align-self:start;min-width:0}
.crs-h1{font-size:clamp(44px,6.4vw,84px);line-height:.98}
.crs-line{font-size:clamp(18px,1.6vw,21px);line-height:1.4;color:var(--text);max-width:34ch}
.crs-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0}
.crs-price b{font:500 30px/1 var(--mono);letter-spacing:-.01em;color:var(--ember)}
.crs-price span{font:500 12.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.crs-fine{font-size:16px;color:var(--mute)}
.crs-hero-btn{min-width:min(100%,320px)}
.crs-buy-note{font-size:16px;color:var(--mute);max-width:54ch}
.crs-creds{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}

/* "See all N" accordions (native <details>) */
.crs-fold{border:1.5px solid var(--line-2);border-radius:var(--sk-rough,14px);background:var(--surface)}
.crs-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 16px;
  font-weight:600;font-size:16px;color:var(--ember)}
.crs-fold>summary::-webkit-details-marker{display:none}
.crs-fold-tog{display:inline-block;transition:transform .15s;font-size:14px}
.crs-fold[open]>summary .crs-fold-tog{transform:rotate(90deg)}
.crs-fold-in{padding:4px 16px 18px;display:grid;gap:16px}
.crs-faq .crs-fold{margin-top:14px}
.crs-promise .crs-fold{background:var(--bg)}

/* ---------- the reel ---------- */
.crs-reel{display:grid;gap:28px;align-items:start}
.crs-reel-tall{grid-template-columns:minmax(0,1fr) minmax(0,320px)}
.crs-reel-wide{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.crs-reel-frames{display:grid;gap:14px;align-items:start;min-width:0}
.crs-reel-frames{grid-template-columns:repeat(var(--n,3),minmax(0,260px));margin-bottom:18px}
.crs-watch{display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.crs-watch-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.crs-watch-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start}
.crs-watch-k{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--ember) 55%,transparent);
  font:500 12px var(--mono);color:var(--ember)}
.crs-watch-item b{display:block;font-weight:600;font-size:15.5px;line-height:1.3}
.crs-watch-item b + span{display:block;color:var(--mute);font-size:14.5px;margin-top:2px}
.crs-watch-foot{padding-top:12px;border-top:1px dashed var(--line-2);font-size:13px;color:var(--mute)}

/* ---------- who it's for ---------- */
.crs-who{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:14px}
.crs-who-card{display:grid;gap:10px;align-content:start;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.crs-who-k{font:500 11px var(--mono);letter-spacing:.14em;color:var(--ember)}
.crs-who-t{font-size:26px;line-height:1.05}
.crs-who-card p{color:var(--mute);font-size:15px}
.crs-notfor{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:16px;padding:14px 18px;border:1px dashed var(--line-2);border-radius:14px;font-size:15.5px}
.crs-notfor .slate{color:var(--ember)}

/* ---------- what you get ---------- */
.crs-get{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.crs-get-item{display:grid;grid-template-columns:60px minmax(0,1fr);gap:16px;align-items:baseline;padding:18px 0;border-top:1px solid var(--line)}
.crs-get-n{font-family:var(--display);font-size:40px;line-height:1;color:var(--ember)}
.crs-get-t{font-size:17px}
.crs-bonus{margin-top:18px}

/* ---------- the promise ---------- */
.crs-promise{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);padding:clamp(22px,4vw,48px);
  border:1px solid var(--line-2);border-radius:20px;background:var(--surface)}
.crs-promise-head{display:grid;gap:14px;align-content:start}
.crs-promise-head h2{font-size:clamp(34px,4.6vw,54px);line-height:1}
.crs-quote{margin:8px 0 0;padding-left:16px;border-left:2px solid var(--ember);display:grid;gap:8px}
.crs-quote p{font-family:var(--display);font-style:italic;font-size:clamp(21px,2.2vw,26px);line-height:1.2}
.crs-quote cite{font:500 10.5px/1.4 var(--mono);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.crs-promise-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}
.crs-promise-col{display:grid;gap:12px;align-content:start;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.crs-promise-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.crs-promise-col li{position:relative;padding-left:26px;font-size:15px}
.crs-does .slate{color:var(--ice)}
.crs-cant .slate{color:var(--ember)}
.crs-does li::before{content:"";position:absolute;left:2px;top:.42em;width:12px;height:6px;border-left:2px solid var(--ice);border-bottom:2px solid var(--ice);transform:rotate(-45deg)}
.crs-cant li::before,.crs-cant li::after{content:"";position:absolute;left:2px;top:.72em;width:13px;height:2px;background:var(--ember);transform:rotate(45deg)}
.crs-cant li::after{transform:rotate(-45deg)}

/* ---------- outcomes ---------- */
.crs-stills{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:16px}
.crs-still{margin:0;display:grid;gap:12px;align-content:start;min-width:0}
.crs-still-pic{position:relative;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;background:var(--surface)}
.crs-still-tall .crs-still-pic{aspect-ratio:4/5}
.crs-still-wide .crs-still-pic{aspect-ratio:16/9}
.crs-still-pic img{width:100%;height:100%;object-fit:cover}
.crs-still-code{position:absolute;left:10px;top:10px;padding:6px 8px;border-radius:999px;border:1px solid var(--line-2);background:var(--bg);color:var(--text);
  font:500 10px/1 var(--mono);letter-spacing:.12em}
.crs-still figcaption{display:grid;gap:4px}
.crs-still figcaption b{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.05}
.crs-still figcaption span{color:var(--mute);font-size:15px}
.crs-stills-note{margin-top:16px;font:500 10.5px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.crs-more-list{display:grid;gap:12px;margin-top:28px;padding-top:20px;border-top:1px dashed var(--line-2)}
.crs-more-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 32px}
.crs-more-list li{position:relative;padding-left:22px;font-size:16px}
.crs-more-list li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:2px;background:var(--ember)}

/* ---------- chapter / prompt list ---------- */
.crs-list-head{align-items:flex-end}
.crs-list-total{display:grid;justify-items:end;gap:6px}
.crs-list-num{font-family:var(--display);font-size:clamp(64px,8vw,112px);line-height:.85;color:var(--ember)}
.crs-parts{display:grid;gap:14px}
.crs-part{border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}
.crs-part-sum{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto 28px;align-items:center;gap:14px;padding:16px 18px}
.crs-part-sum::-webkit-details-marker{display:none}
.crs-part-label{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ember);white-space:nowrap}
.crs-part-title{font-family:var(--display);font-size:clamp(22px,2.4vw,28px);line-height:1.05}
.crs-part-count{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.crs-part-tog,.crs-q-tog{position:relative;width:28px;height:28px;border:1px solid var(--line-2);border-radius:50%}
.crs-part-tog::before,.crs-part-tog::after,.crs-q-tog::before,.crs-q-tog::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--text);transform:translate(-50%,-50%)}
.crs-part-tog::after,.crs-q-tog::after{transform:translate(-50%,-50%) rotate(90deg)}
.crs-part[open] .crs-part-tog::after,.crs-q[open] .crs-q-tog::after{display:none}
.crs-items{list-style:none;margin:0;padding:0 12px 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.crs-li-wide{grid-column:1/-1}
.crs-item{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-areas:"n main" ". lock";gap:8px 12px;height:100%;padding:14px;
  border:1px solid var(--line);border-radius:12px;background:var(--bg);text-decoration:none;transition:border-color .15s}
.crs-item:hover{border-color:color-mix(in srgb,var(--ember) 55%,transparent)}
.crs-item-n{grid-area:n;font:500 12px/1.65 var(--mono);letter-spacing:.04em;color:var(--ember)}
.crs-item-main{grid-area:main;display:grid;gap:6px;min-width:0;align-content:start}
.crs-item-t{font-weight:600;font-size:16px;line-height:1.3}
.crs-item-d{color:var(--mute);font-size:14.5px}
.crs-lock{grid-area:lock;justify-self:start;display:inline-flex;align-items:center;gap:6px;font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.crs-item:hover .crs-lock{color:var(--ember)}
.crs-lock-ico{width:13px;height:13px;flex:none}
.crs-redact{display:grid;gap:5px;margin-top:2px}
.crs-redact i{display:block;height:7px;border-radius:2px;
  background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--text) 24%,transparent) 0 22px,transparent 22px 27px,color-mix(in srgb,var(--text) 24%,transparent) 27px 40px,transparent 40px 45px)}
.crs-redact i:nth-child(1){width:94%}
.crs-redact i:nth-child(2){width:80%}
.crs-redact i:nth-child(3){width:52%}
.crs-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.crs-tag{padding:5px 9px;border:1px solid var(--line-2);border-radius:999px;font:500 10.5px/1.2 var(--mono);letter-spacing:.04em;color:var(--text)}
.crs-item-flag{justify-self:start;margin-top:2px}
.crs-list-note{margin-top:16px;font-size:14px;color:var(--mute)}
.crs-list-cta{display:flex;margin-top:24px}

/* ---------- options (ways to buy) ---------- */
.crs-opts{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:16px;align-items:stretch}
.crs-opt{display:flex;flex-direction:column;gap:12px;min-width:0;padding:22px;border:1px solid var(--line-2);border-radius:18px;background:var(--surface)}
.crs-opt-pick{border-color:color-mix(in srgb,var(--ember) 60%,transparent)}
.crs-opt-soon{background:transparent;border-style:dashed}
.crs-opt-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.crs-opt-name{font-size:clamp(28px,2.8vw,36px);line-height:1}
.crs-opt-price{font-family:var(--mono);font-size:22px;letter-spacing:.02em;color:var(--ember)}
.crs-opt-price-soon{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.crs-opt-note{font-size:14px;color:var(--mute)}
.crs-opt-inc{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:9px;align-content:start}
.crs-opt-inc li{position:relative;padding-left:22px;font-size:15px}
.crs-opt-inc li::before{content:"";position:absolute;left:1px;top:.42em;width:11px;height:5px;border-left:2px solid var(--ice);border-bottom:2px solid var(--ice);transform:rotate(-45deg)}
.crs-opt-soon .crs-opt-inc li::before{border-color:var(--mute)}
.crs-opt-btn,.crs-opt-wait{margin-top:auto}
.crs-opt-wait{padding-top:12px;border-top:1px dashed var(--line-2);font:500 10.5px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}

/* ---------- free sample ---------- */
.crs-free{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.crs-free-one{grid-template-columns:minmax(0,820px)}
.crs-free-one .drop{grid-template-columns:260px minmax(0,1fr)}
.crs-lesson{display:grid;gap:16px;margin-bottom:16px;padding:clamp(18px,3vw,28px);border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.crs-lesson-head{display:grid;gap:8px;max-width:640px}
.crs-lesson-t{font-size:clamp(28px,3.2vw,38px);line-height:1.02}
.crs-lesson-d{color:var(--mute);font-size:15px}
.crs-tells{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.crs-tells li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:12px 0;border-top:1px solid var(--line)}
.crs-tell-n{font:500 11.5px/1.7 var(--mono);color:var(--ember)}
.crs-tell-txt b{display:block;font-weight:600;font-size:15.5px;line-height:1.35}
.crs-tell-txt span{display:block;margin-top:2px;color:var(--mute);font-size:14.5px}
.crs-slot{width:100%;max-width:520px}
.crs-slot:empty{display:none}

/* ---------- tools and stack ---------- */
.crs-warn{max-width:880px;margin-bottom:22px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--ember) 45%,transparent);border-left-width:4px;border-radius:12px;
  background:color-mix(in srgb,var(--ember) 7%,transparent);font-size:16px}
.crs-warn b{color:var(--ember)}
.crs-stack{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.crs-stack-row{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr) minmax(0,230px);align-items:center;gap:8px 28px;padding:16px 0;border-bottom:1px solid var(--line)}
.crs-stack-tool{font-family:var(--display);font-size:24px;line-height:1.1}
.crs-stack-d{color:var(--mute);font-size:15px}
.crs-stack-cost{justify-self:end}
.crs-disclose{display:grid;gap:6px;max-width:780px;margin-top:18px;font-size:14px;color:var(--mute)}

/* ---------- FAQ ---------- */
.crs-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:start}
.crs-faq{display:grid;border-top:1px solid var(--line)}
.crs-q{border-bottom:1px solid var(--line)}
.crs-q summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:16px;padding:18px 0;font-weight:600;font-size:17px}
.crs-q summary::-webkit-details-marker{display:none}
.crs-q p{padding:0 44px 20px 0;color:var(--mute);font-size:15.5px}

/* ---------- final CTA ---------- */
.crs-final{border:1px solid var(--line-2);border-radius:22px;overflow:hidden;
  background:radial-gradient(70% 90% at 50% 0%,color-mix(in srgb,var(--ember) 12%,transparent),transparent 70%),var(--surface)}
.crs-final-clap{height:14px;background:repeating-linear-gradient(-45deg,var(--text) 0 14px,var(--surface-2) 14px 28px)}
.crs-final-in{display:grid;justify-items:center;gap:16px;padding:clamp(36px,6vw,72px) clamp(18px,4vw,48px);text-align:center}
.crs-final h2{font-size:clamp(38px,5.6vw,68px);line-height:1}
.crs-final h2 em{display:block}
.crs-final-p{max-width:52ch;color:var(--mute);font-size:17px}
.crs-final .price-meta{justify-content:center}
.crs-final-buy{display:flex;justify-content:center;width:100%}

/* ---------- cross-sell ---------- */
.crs-xs{display:grid;gap:16px}
.crs-x{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface)}
.crs-x-pic{position:relative;display:block;min-height:240px;background:var(--surface-2)}
.crs-x-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.crs-x-body{display:grid;gap:10px;align-content:center;padding:22px;min-width:0}
.crs-x-t{font-size:clamp(30px,3.4vw,42px);line-height:1}
.crs-x-t a{text-decoration:none}
.crs-x-t a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.crs-x-d{max-width:52ch;color:var(--mute)}
.crs-x-n{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ember)}
.crs-x-buy{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:4px}

/* ---------- sticky buy bar (phones; hub.css shows .stickybar.on under 860px) ---------- */
.crs-sticky{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 8px 8px 14px;border:1px solid var(--line-2);border-radius:16px;background:var(--surface)}
.crs-sticky-meta{display:grid;min-width:0}
.crs-sticky-meta b{font-weight:600;font-size:14px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crs-sticky-meta small{font:500 10.5px/1.4 var(--mono);letter-spacing:.04em;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stickybar .crs-sticky .btn{min-height:46px;padding:10px 14px;gap:10px;font-size:14.5px}
.crs-sticky .btn-amt{padding-left:10px;font-size:13px}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .crs-who{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crs-promise-cols{grid-template-columns:1fr}
  .crs-reel-tall{grid-template-columns:minmax(0,1fr) minmax(0,280px)}
}
@media (max-width:860px){
  /* phone first screen: name + line beside a small portrait video, then price + button full width; wide video goes under the button */
  /* the hero fills the first screen: nothing else shows above the fold */
  .crs-hero{min-height:calc(100svh - 60px)}
  .crs-hero-grid,.crs-hero-wide .crs-hero-grid{grid-template-columns:1fr;grid-template-areas:"text" "buy" "media";gap:16px;padding-block:18px 32px;align-items:start}
  .crs-hero-solo .crs-hero-grid{grid-template-columns:1fr;grid-template-areas:"text" "buy";align-content:start;padding-block:22px 28px}
  .crs-hero-text{gap:10px;align-self:start}
  .crs-h1{font-size:clamp(38px,11vw,52px);line-height:1}
  .crs-line{font-size:17px}
  .crs-hero-tall .crs-hero-frame{width:min(300px,78%)}
  .crs-hero-frame .frame-cap{display:none}
  .crs-hero-buy{justify-items:stretch;gap:8px}
  .crs-hero-btn{width:100%}
  .crs-reel-frames{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:64%;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);padding-bottom:4px;scrollbar-width:none}
  .crs-reel-frames::-webkit-scrollbar{display:none}
  .crs-reel-frames .frame{scroll-snap-align:start}
  .crs-reel-tall,.crs-reel-wide{grid-template-columns:1fr}
  .crs-reel-tall .crs-reel-frames{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:64%;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);padding-bottom:4px;scrollbar-width:none}
  .crs-reel-tall .crs-reel-frames::-webkit-scrollbar{display:none}
  .crs-reel-tall .crs-reel-frames .frame{scroll-snap-align:start}
  .crs-reel-tall .crs-reel-frames .frame:nth-child(2){margin-top:0}

  .crs-get{grid-template-columns:1fr}
  .crs-get-item{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:15px 0}
  .crs-get-n{font-size:30px}
  .crs-get-t{font-size:16px}

  .crs-promise{grid-template-columns:1fr}

  .crs-stills{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);padding-bottom:4px;scrollbar-width:none}
  .crs-stills::-webkit-scrollbar{display:none}
  .crs-still{scroll-snap-align:start}
  .crs-more-list ul{grid-template-columns:1fr}

  .crs-list-head{align-items:flex-start}
  .crs-list-total{justify-items:start;grid-auto-flow:column;align-items:baseline;gap:10px}
  .crs-list-num{font-size:56px}
  .crs-part-sum{grid-template-columns:minmax(0,1fr) 28px;grid-template-areas:"label tog" "title tog" "count tog";gap:4px 14px;padding:14px 14px 14px 16px}
  .crs-part-label{grid-area:label}
  .crs-part-title{grid-area:title}
  .crs-part-count{grid-area:count}
  .crs-part-tog{grid-area:tog}
  .crs-items{grid-template-columns:1fr;padding:0 8px 8px}
  .crs-item{grid-template-columns:38px minmax(0,1fr);padding:13px 12px}
  .crs-list-cta .btn{flex:1 1 100%}

  .crs-free{grid-template-columns:1fr}
  .crs-tells{grid-template-columns:1fr}
  .crs-opts{grid-template-columns:1fr}
  .crs-free-one .drop{grid-template-columns:150px minmax(0,1fr)}

  .crs-stack-row{grid-template-columns:1fr;gap:6px}
  .crs-stack-cost{justify-self:start}

  .crs-faq-grid{grid-template-columns:1fr;gap:0}
  .crs-q p{padding-right:0}

  .crs-final-buy .btn{flex:1 1 100%}

  .crs-x{grid-template-columns:1fr}
  .crs-x-pic{min-height:0;aspect-ratio:16/9}
  .crs-x-buy .btn{flex:1 1 100%}
}
@media (max-width:600px){
  .crs-who{grid-template-columns:1fr}
  .crs-who-t{font-size:24px}
}
@media (max-width:480px){
  .crs-free-one .drop{grid-template-columns:112px minmax(0,1fr)}
  .crs-lesson-t{font-size:26px}
}
@media (max-width:370px){
  .crs-sticky{grid-template-columns:1fr}
  .crs-sticky-meta{display:none}
}
@media (prefers-reduced-motion:reduce){.crs-item{transition:none}}

/* live count under the hero buy button (course.js liveCount) */
.crs-live{margin:8px 0 0;font:500 12.5px/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--sk-red-text,#B4322A)}

/* true-fact trust lines under a price card (courses-detail options[].trust). No badges, no seals. */
.crs-opt-trust{list-style:none;margin:2px 0 0;padding:10px 0 0;border-top:1px dashed var(--line-2);display:grid;gap:4px;font-size:13.5px;color:var(--mute)}
.crs-opt-trust li::before{content:'· ';color:var(--sk-ink,#2B37B3)}

/* ---------- mobile pass 10/13: compact option cards, short lines, readable sizes ---------- */
.crs-opt{gap:12px;padding:18px}
.crs-opt-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px}
.crs-opt-name{font-size:clamp(24px,2.4vw,30px);line-height:1.05}
.crs-opt-price{font-size:20px}
.crs-opt-note,.crs-opt-inc li,.crs-opt-trust{font-size:16px}
p.crs-opt-trust{margin:0;color:var(--mute)}
.crs-opt-btn{margin-top:4px}
.crs-opt-wait{margin-top:4px;font:16px/1.4 var(--body);letter-spacing:0;text-transform:none}
.crs-notfor,.crs-who-card p,.crs-promise-col li,.crs-stack-d,.crs-q p,.crs-tell-txt span,.crs-item-d,.crs-list-note,.crs-disclose,.crs-watch-foot,
.crs-watch-item b + span,.crs-x-d,.crs-lesson-d,.comm-fine,.course-bonus{font-size:16px}
.crs-stills-note{font:16px/1.5 var(--body);letter-spacing:0;text-transform:none;color:var(--mute)}
.crs-still figcaption b{font-size:21px}
.crs-more-ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.crs-more-ul li{position:relative;padding-left:22px;font-size:16px}
.crs-more-ul li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:2px;background:var(--ember)}
.crs-who{grid-template-columns:1fr}
.crs-x{display:grid;gap:10px;padding:18px;grid-template-columns:1fr}
.crs-x-t{font-size:clamp(26px,3vw,36px)}
.crs-quote p{font-size:clamp(20px,2.2vw,24px)}
.crs-final-p{font-size:17px}
.crs-lesson{gap:12px}
.crs-drop .drop-what{display:none}
@media (max-width:860px){
  .crs-band{padding-block:40px}
  .crs-x-buy .btn,.crs-list-cta .btn,.crs-opt-btn{flex:1 1 100%;width:100%}
  .crs-x-buy .textlink{margin-inline:auto}
  .crs-promise{padding:18px;gap:14px}
}
