/* Homepage: tool tracks, format ladder, and the "now enrolling" strip.
   Builds on synth.css tokens and the .sw-card / .sw-checks / .sw-chips kit. */

/* ---------- Hero: now-enrolling strip ---------- */
.sw-now{display:inline-flex;align-items:center;gap:12px;margin-top:30px;padding:10px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(12,5,34,.55);backdrop-filter:blur(6px);font-size:14px;line-height:1.3;color:#f1eaff;transition:border-color .25s,box-shadow .25s}
.sw-now:hover{color:#fff;border-color:var(--sw-pink);box-shadow:0 0 22px rgba(255,46,166,.35)}
.sw-now-dot{width:8px;height:8px;border-radius:50%;background:#3dff9e;box-shadow:0 0 10px #3dff9e;flex-shrink:0}
html.motion-enabled .sw-now-dot{animation:swNowPulse 2s ease-in-out infinite}
@keyframes swNowPulse{50%{opacity:.35}}
.sw-now-label{font:700 10px/1 var(--font-tech);letter-spacing:.22em;text-transform:uppercase;color:var(--sw-cyan)}

/* ---------- 01 problem: three-beat row ---------- */
.sw-problem{padding-bottom:clamp(70px,7vw,110px)}
.sw-problem .sw-head{margin-bottom:44px}
.sw-problem-row{list-style:none;margin:0 auto;padding:0;max-width:980px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sw-problem-row li{display:flex;flex-direction:column;gap:8px;padding:22px 24px;border:1px solid var(--sw-line);border-radius:12px;background:rgba(29,15,71,.35)}
.sw-problem-row span{font:900 italic 28px/1 var(--font-chrome);background:var(--sw-sunset);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.1em}
.sw-problem-row strong{font:800 italic 18px/1.2 var(--font-chrome);text-transform:uppercase;color:#fff}
.sw-problem-row small{font-size:14.5px;line-height:1.55;color:var(--sw-muted)}

/* ---------- 02 tools ---------- */
.sw-tools{background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(123,44,255,.22),transparent),#0d0726}
.sw-tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sw-track{--accent:var(--sw-magenta);--accent-soft:rgba(255,46,166,.14);display:flex;flex-direction:column;gap:22px;padding:34px 32px 30px;overflow:hidden}
.sw-track::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--accent),transparent 85%);box-shadow:0 0 18px var(--accent)}
.sw-track-cyan{--accent:var(--sw-cyan);--accent-soft:rgba(45,226,255,.12)}
.sw-track-gold{--accent:var(--sw-gold);--accent-soft:rgba(255,211,107,.12)}
.sw-track-violet{--accent:var(--sw-violet);--accent-soft:rgba(185,103,255,.14)}
.sw-track:hover{border-color:var(--accent)}
.sw-track-top{display:flex;align-items:center;gap:18px}
.sw-track-glyph{display:grid;place-items:center;flex-shrink:0;width:64px;height:64px;border-radius:14px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);filter:drop-shadow(0 0 6px var(--accent));box-shadow:inset 0 0 18px var(--accent-soft),0 0 22px var(--accent-soft)}
.synth-page .sw-track .sw-track-kicker{display:block;margin:0 0 8px;font-size:9.5px;letter-spacing:.26em;color:var(--accent)}
.synth-page main .sw-track-name{margin:0;font:900 italic clamp(28px,3vw,40px)/1 var(--font-chrome);text-transform:uppercase;color:#fff;text-shadow:0 0 22px rgba(255,46,166,.25)}
.sw-card .sw-track-one{font-size:16.5px;line-height:1.6;color:var(--sw-text)}
.sw-track-block{display:flex;flex-direction:column;gap:12px}
.sw-track-label{font:700 9.5px/1 var(--font-tech);letter-spacing:.24em;text-transform:uppercase;color:var(--sw-dim)}
.sw-track-checks{margin:0;gap:10px}
.sw-track-checks li{font-size:15px;line-height:1.5;color:var(--sw-muted);padding-left:28px}
.sw-track-checks li::before{background:var(--accent);box-shadow:0 0 10px var(--accent),0 0 2px #fff;width:8px;height:8px}
.sw-track .sw-chips{margin-top:0!important}
.sw-track .sw-chips span{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
.sw-card .sw-track-proof{margin-top:auto;padding:16px 18px;border-left:2px solid var(--accent);border-radius:0 10px 10px 0;background:rgba(7,3,26,.45);font-size:14.5px;line-height:1.6;color:var(--sw-text);font-style:italic}
.sw-track-link{align-self:flex-start}
.sw-tools-note{margin-top:34px!important;text-align:center;font-size:16px;color:var(--sw-muted)}
.sw-tools-note a{color:var(--sw-cyan);text-decoration:underline;text-underline-offset:4px}

/* ---------- 03 format ladder ---------- */
.sw-formats{background:linear-gradient(180deg,var(--sw-night),#110830)}
.sw-ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:stretch}
.sw-rung{display:flex;flex-direction:column;gap:12px;padding:28px 22px 24px}
.sw-rung.is-featured{border-color:rgba(255,46,166,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 44px rgba(255,46,166,.22),0 26px 60px rgba(0,0,0,.45)}
.sw-rung-step{font:600 10px/1 var(--font-tech);letter-spacing:.3em;color:var(--sw-cyan)}
.sw-rung-price{font:900 italic clamp(22px,1.9vw,30px)/1 var(--font-chrome);white-space:nowrap;padding-right:.1em;background:var(--sw-sunset);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(255,46,166,.3))}
.synth-page main .sw-rung h3{font-size:18px;line-height:1.2;margin:2px 0 0}
.sw-card.sw-rung p{font-size:14.5px;line-height:1.6}
.sw-card .sw-rung-best{margin-top:auto!important;padding-top:14px;border-top:1px dashed rgba(185,103,255,.4);color:#fff;font-weight:500;font-size:14px}
.sw-rung-best span{display:block;margin-bottom:6px;font:600 9px/1.4 var(--font-tech);letter-spacing:.22em;text-transform:uppercase;color:var(--sw-pink)}
.sw-rung .journey-link{font-size:12px}

/* ---------- 04 proof tags ---------- */
.sw-quote .sw-quote-tags{margin:0!important}
.sw-quote-lead .sw-quote-tags{justify-content:center;margin-bottom:-6px!important}

/* ---------- 05 slim cohort ---------- */
.sw-cohort-slim{padding:clamp(80px,8vw,120px) 0}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .sw-ladder{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .sw-tracks{grid-template-columns:1fr}
  .sw-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .sw-now{flex-wrap:wrap;justify-content:center;gap:6px 10px;border-radius:14px;font-size:13px}
  .sw-problem-row{grid-template-columns:1fr}
  .sw-track{padding:28px 22px 24px;gap:18px}
  .sw-track-glyph{width:54px;height:54px}.sw-track-glyph svg{width:26px;height:26px}
  .sw-ladder{grid-template-columns:1fr}
}
