/* Spartan Training — endorsed sub-brand page components.
   External stylesheet (site CSP forbids inline styles). House palette + faces only. */

/* ── lockup (hero) — modest, matches standard header lockup ── */
.st-lockup{ display:flex; align-items:center; gap:26px; margin-bottom:26px; }
.st-mark{ height:160px; width:auto; display:block; }
.st-wm{ display:flex; align-items:baseline; line-height:1; }
.st-wm .sp{ font-family:var(--font-display); font-weight:600; text-transform:uppercase; font-size:92px; letter-spacing:0.04em; color:var(--advisory-paper); }
.st-wm .dv{ align-self:center; width:2px; height:66px; margin:0 30px; background:var(--advisory-gold); }
.st-wm .tr{ font-family:var(--font-sans); font-weight:600; text-transform:uppercase; font-size:50px; letter-spacing:0.16em; color:var(--advisory-paper); }
.st-endorse{ display:flex; align-items:center; gap:16px; margin-top:42px; }
.st-endorse .by{ font-size:18px; letter-spacing:0.05em; color:var(--advisory-gold); }
.st-endorse img{ height:72px; width:auto; display:block; }
.hero .st-tag{ margin-top:40px; font-family:var(--font-display); font-style:normal; font-size:24px; color:var(--advisory-gold); }

/* hero lockup scales down on small screens */
@media (max-width:680px){
  .st-lockup{ gap:13px; margin-bottom:20px; }
  .st-mark{ height:62px; }
  .st-wm .sp{ font-size:35px; }
  .st-wm .dv{ height:26px; margin:0 13px; width:1px; }
  .st-wm .tr{ font-size:19px; letter-spacing:0.22em; }
  .st-endorse{ gap:11px; margin-top:34px; }
  .st-endorse img{ height:34px; }
  .st-endorse .by{ font-size:13px; }
}

/* ── section-scale headings (sub-hero) ── */
.st-coalition-h2{ font-size:25px; line-height:1.18; color:var(--advisory-paper); font-weight:400; max-width:600px; }
.st-plan-h2{ font-size:25px; line-height:1.18; color:var(--advisory-navy); font-weight:400; max-width:600px; }

/* ── method ── */
.st-method{ display:grid; gap:28px; margin-top:8px; }
.st-mrow{ display:flex; gap:18px; align-items:flex-start; }
.st-mnum{ flex:0 0 auto; width:34px; height:34px; border-radius:50%; background:rgba(201,168,76,0.14); border:1px solid rgba(201,168,76,0.4); color:var(--advisory-gold); font-family:var(--font-display); font-weight:600; font-size:16px; display:flex; align-items:center; justify-content:center; }
.st-mrow .mh{ font-family:var(--font-display); font-size:20px; color:var(--advisory-paper); line-height:1.2; }
.st-mrow .mb{ font-size:14.5px; line-height:1.6; color:rgba(245,239,227,0.78); margin-top:7px; }

/* ── 5-rung capability ladder — ascending graphic (gold treads on navy) ── */
.st-rungs{ margin-top:44px; display:flex; align-items:flex-end; gap:12px; }
.st-rung{ flex:1; min-width:0; border:1px solid rgba(201,168,76,0.28); border-bottom:3px solid var(--advisory-gold); border-radius:3px 3px 0 0; background:rgba(201,168,76,0.05); padding:0 6px 13px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:5px; }
.st-rung .rn{ font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--advisory-gold); }
.st-rung .rt{ font-family:var(--font-display); font-size:17px; color:var(--advisory-paper); white-space:nowrap; }
.st-rung:nth-child(1){ height:104px; }
.st-rung:nth-child(2){ height:128px; }
.st-rung:nth-child(3){ height:152px; }
.st-rung:nth-child(4){ height:176px; }
.st-rung:nth-child(5){ height:204px; }
.st-rung.summit{ background:var(--advisory-gold); border-color:var(--advisory-gold); }
.st-rung.summit .rn{ color:rgba(15,27,45,0.55); }
.st-rung.summit .rt{ color:var(--advisory-navy); }

/* ── payback cards ── */
.st-pay{ display:grid; gap:24px; margin-top:40px; }
.st-card{ border:1px solid rgba(15,27,45,0.15); border-top:3px solid var(--advisory-gold); border-radius:2px; padding:28px; }
.st-card .ph{ font-family:var(--font-display); font-size:23px; line-height:1.16; color:var(--advisory-navy); }
.st-card .pb{ margin-top:14px; font-size:15px; line-height:1.62; color:rgba(15,27,45,0.72); }
.st-card .pb em{ color:var(--advisory-navy); font-style:normal; font-weight:600; }

/* ── coalition seats ── */
.st-seats{ display:grid; gap:22px 32px; margin-top:40px; }
.st-seat{ border-left:2px solid var(--advisory-gold); padding-left:16px; }
.st-seat .sh{ font-family:var(--font-display); font-size:18px; color:var(--advisory-paper); }
.st-seat .sb{ font-size:14px; line-height:1.55; color:rgba(245,239,227,0.76); margin-top:6px; }
.st-notfor{ margin-top:30px; font-size:13.5px; font-style:italic; color:rgba(245,239,227,0.58); }

/* ── 30-day pilot — three numbered cards (stepper) on paper ── */
.st-plan{ display:grid; gap:18px; margin-top:40px; }
.st-step{ border:1px solid rgba(15,27,45,0.14); border-top:3px solid var(--advisory-gold); border-radius:3px; padding:24px; }
.st-step .sn{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:var(--advisory-navy); color:var(--advisory-gold); font-family:var(--font-display); font-weight:600; font-size:17px; }
.st-step .stt{ font-family:var(--font-display); font-size:21px; color:var(--advisory-navy); margin-top:14px; }
.st-step .sbb{ font-size:14px; line-height:1.6; color:rgba(15,27,45,0.7); margin-top:8px; }

@media (min-width:768px){
  .st-coalition-h2, .st-plan-h2{ font-size:29px; }
  .st-method{ grid-template-columns:repeat(3,1fr); gap:32px; }
  .st-pay{ grid-template-columns:1fr 1fr; }
  .st-seats{ grid-template-columns:1fr 1fr; }
  .st-plan{ grid-template-columns:repeat(3,1fr); }
}

/* ladder fits 5 columns on small screens */
@media (max-width:560px){
  .st-rungs{ gap:6px; }
  .st-rung{ padding:0 3px 10px; }
  .st-rung .rt{ font-size:12.5px; }
  .st-rung .rn{ font-size:8px; letter-spacing:0.08em; }
  .st-rung:nth-child(1){ height:80px; }
  .st-rung:nth-child(2){ height:98px; }
  .st-rung:nth-child(3){ height:116px; }
  .st-rung:nth-child(4){ height:134px; }
  .st-rung:nth-child(5){ height:156px; }
}
