/* Massiv brand layer — loaded last on every page.
   Pulls the site onto the real brand: icon navy #04163B, icon orange #FA5901,
   Inter 900 headlines (the wordmark weight), and lifting-specific motifs
   (plate-coloured accents, logbook tables) instead of generic SaaS styling.
   Contrast: white on #C24400 = 5.1:1; navy on #FA5901 = 5.5:1; #FA5901 on navy = 5.5:1. */

:root{
  --navy:#04163B; --navy-2:#0B2452; --on-navy:#FFFFFF; --on-navy-muted:#AEB8CC; --on-navy-line:rgba(255,255,255,.14);
  --plate-red:#D7263D; --plate-blue:#1E5BD8; --plate-yellow:#F2B705; --plate-green:#2E9E4F;
  --paper:#F6F4EF; --card:#FFFFFF; --ink:#0E1B33; --muted:#5C6573; --line:#DDD8CE; --ink-soft:#ECE7DC;
  --accent:#FA5901; --accent-strong:#C24400; --accent-strong-hover:#A63A00; --accent-soft:#FF8A4C;
}
html[data-theme="dark"]{
  --paper:#060C1A; --card:#0C1528; --ink:#EEF1F6; --muted:#93A0B8; --line:#1D2942; --ink-soft:#0A1224;
  --accent:#FA5901; --accent-strong:#FF7A33; --accent-strong-hover:#FF9257; --accent-soft:#FF8A4C;
}
html{background:var(--paper);}
body{background:var(--paper);}
::selection{background:var(--accent); color:var(--navy);}

/* ---------- type: heavy and tight, like the wordmark ---------- */
h1{font-weight:900; letter-spacing:-0.045em;}
h2{font-weight:800; letter-spacing:-0.032em;}
h3{font-weight:800; letter-spacing:-0.02em;}
.wordmark,.brand{font-weight:900 !important; letter-spacing:.09em;}

/* ---------- labels: a barbell-sleeve tick instead of tracked monospace ---------- */
.kicker,.eyebrow,.card .tag,.post-head .kw{
  font-family:var(--sans,Inter,system-ui,sans-serif) !important; font-weight:800; font-size:.74rem;
  letter-spacing:.08em; text-transform:uppercase; color:var(--accent-strong);
  display:inline-flex; align-items:center; gap:10px;
}
.kicker::before,.eyebrow::before,.post-head .kw::before{
  content:""; width:22px; height:4px; border-radius:1px; background:var(--accent); flex:none;
}

/* ---------- no fade-in on every block ---------- */
.reveal{opacity:1 !important; transform:none !important; transition:none !important;}

/* ---------- buttons: squared, solid, a little weight at the bottom edge ---------- */
.btn{border-radius:8px !important; font-weight:800;}
.btn-primary{background:var(--accent-strong); color:#fff; box-shadow:inset 0 -3px 0 rgba(0,0,0,.2);}
.btn-primary:hover{background:var(--accent-strong-hover); color:#fff;}
html[data-theme="dark"] .btn-primary,
html[data-theme="dark"] .btn-primary:hover{background:var(--accent); color:var(--navy);}

/* ---------- homepage hero: the icon's navy field ---------- */
section.hero[aria-labelledby="hero-h"]{
  background:var(--navy); box-shadow:0 0 0 100vmax var(--navy); clip-path:inset(0 -100vmax);
  padding-bottom:64px; color:var(--on-navy);
}
section.hero[aria-labelledby="hero-h"] h1{color:var(--on-navy);}
section.hero[aria-labelledby="hero-h"] .lead,
section.hero[aria-labelledby="hero-h"] .trust,
section.hero[aria-labelledby="hero-h"] .trust *{color:var(--on-navy-muted);}
section.hero[aria-labelledby="hero-h"] .trust strong,
section.hero[aria-labelledby="hero-h"] .trust b{color:var(--on-navy);}
section.hero[aria-labelledby="hero-h"] .eyebrow{color:var(--accent);}
section.hero[aria-labelledby="hero-h"] .proof{color:var(--on-navy-muted); border-color:var(--on-navy-line) !important;}
section.hero[aria-labelledby="hero-h"] .proof b{color:var(--on-navy);}
section.hero[aria-labelledby="hero-h"] a:not(.store-badge):not(.btn){color:var(--accent);}

/* ---------- cards: squarer, firmer ---------- */
.pillar,.prog-card,.card,.tool-card,.calc-input,.calc-result,.program-card,.post-body figure.diagram,.faq details{
  border-radius:8px !important; border-width:1.5px;
}
.pillar{border-top:5px solid var(--plate-red) !important;}
.pillar:nth-of-type(4n+2){border-top-color:var(--plate-blue) !important;}
.pillar:nth-of-type(4n+3){border-top-color:var(--plate-yellow) !important;}
.pillar:nth-of-type(4n+4){border-top-color:var(--plate-green) !important;}
/* numbers become weight plates */
.pillar .pn,.mnum{
  width:46px; height:46px; border-radius:50%; border:8px solid var(--plate-red);
  display:grid !important; place-items:center; box-sizing:border-box;
  font:800 .74rem/1 var(--sans,Inter,system-ui,sans-serif) !important; letter-spacing:0 !important; color:var(--ink) !important;
  background:var(--card);
}
.pillar:nth-of-type(4n+2) .pn{border-color:var(--plate-blue);}
.pillar:nth-of-type(4n+3) .pn{border-color:var(--plate-yellow);}
.pillar:nth-of-type(4n+4) .pn{border-color:var(--plate-green);}
.method-grid > :nth-child(4n+2) .mnum{border-color:var(--plate-blue);}
.method-grid > :nth-child(4n+3) .mnum{border-color:var(--plate-yellow);}
.method-grid > :nth-child(4n+4) .mnum{border-color:var(--plate-green);}
/* program difficulty as plate weight: lighter plate = beginner, heavier = advanced */
.prog-card{border-top:5px solid var(--plate-blue) !important;}
.prog-card:has(.lvl-beginner){border-top-color:var(--plate-green) !important;}
.prog-card:has(.lvl-advanced){border-top-color:var(--plate-red) !important;}
.program-card{border-top:5px solid var(--plate-blue) !important;}
.program-card[data-experience^="beginner"]{border-top-color:var(--plate-green) !important;}
.program-card[data-experience="advanced"]{border-top-color:var(--plate-red) !important;}
.card{border-top:4px solid var(--ink) !important;}
a.card:hover{border-top-color:var(--accent) !important;}

/* ---------- tables: training-logbook ruling ---------- */
.post-body table,.ref-table,.calc-wave{border-left:3px solid var(--accent); font-variant-numeric:tabular-nums;}
.post-body th,.ref-table th,.calc-wave th{
  font-family:var(--sans,Inter,system-ui,sans-serif) !important; font-weight:800; letter-spacing:.05em;
  color:var(--ink) !important; border-bottom:2px solid var(--ink) !important;
}
.post-body td,.ref-table td{border-bottom-color:var(--line);}
.post-body td:first-child,.ref-table td:first-child{font-weight:700; color:var(--ink);}

/* ---------- article answer box: a coach's note in the margin ---------- */
.post-body .answer{border-left:4px solid var(--accent); background:var(--card); border-radius:0 8px 8px 0;}

/* ---------- calls to action sit on navy ---------- */
.massiv-cta,.cta-band{background:var(--navy) !important; color:var(--on-navy); border:0 !important;}
.massiv-cta{border-left:6px solid var(--accent) !important; border-radius:8px; padding:22px 24px;}
.cta-band{border-top:5px solid var(--accent) !important;}
.massiv-cta p,.cta-band p{color:var(--on-navy-muted) !important;}
.massiv-cta strong,.cta-band h2{color:var(--on-navy) !important;}
.cta-band .kicker{color:var(--accent) !important;}
.massiv-cta p a,.cta-band p a{color:var(--accent) !important;}
.massiv-cta .btn-primary,.cta-band .btn-primary{background:var(--accent) !important; color:var(--navy) !important;}

/* ---------- footer: navy base ---------- */
footer.site{background:var(--navy); color:var(--on-navy-muted); border-top:5px solid var(--accent) !important;}
footer.site h3,footer.site .wordmark{color:var(--on-navy) !important;}
footer.site a{color:#C9D2E3 !important;}
footer.site a:hover{color:#fff !important;}
footer.site p,footer.site .desc,footer.site span,footer.site .foot-bottom{color:var(--on-navy-muted) !important;}
footer.site .foot-bottom,footer.site .foot-top{border-color:var(--on-navy-line) !important;}
footer.site input{background:var(--navy-2); color:#fff; border-color:var(--on-navy-line);}
footer.site .social-links a{border-color:var(--on-navy-line) !important;}

/* ---------- remaining labels: heavy sans, not tracked monospace ---------- */
.stat .sl,.price-name,.tier,.price-card.pro::before,.fcol h3,.pill-soon,.post-foot h3,
.calc-input label,.calc-headline-label,.program-card .ownership,.level-pill,.calc-pill,.program-meta span{
  font-family:var(--sans,Inter,system-ui,sans-serif) !important; font-weight:800 !important; letter-spacing:.06em !important;
}
.card .meta,.post-meta,.watch-meta{font-family:var(--sans,Inter,system-ui,sans-serif) !important; letter-spacing:0 !important;}
footer.site .fcol h3{color:var(--on-navy) !important;}
footer.site .social-links a,footer.site .social a{background:transparent !important; color:#C9D2E3 !important;}
footer.site .social-links a:hover{color:#fff !important; border-color:var(--accent) !important;}

/* ---------- legal/support summary box: only the first bold phrase is a label ---------- */
.tldr p:first-child > strong:first-child{font-family:var(--sans,Inter,system-ui,sans-serif) !important; font-weight:800 !important; letter-spacing:.06em !important;}
.tldr p:not(:first-child) > strong:first-child{display:inline !important; font:inherit !important; font-weight:700 !important; letter-spacing:normal !important; text-transform:none !important; color:inherit !important; margin:0 !important;}

/* ---------- press kit buttons: same contrast rule as .btn-primary ---------- */
.button-primary{background:var(--accent-strong) !important; color:#fff !important;}
html[data-theme="dark"] .button-primary{background:var(--accent) !important; color:var(--navy) !important;}

/* ---------- wide article tables scroll inside themselves on phones ---------- */
@media (max-width:640px){
  .post-body table,.ref-table{display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%;}
}
.post-body p,.post-body li{overflow-wrap:break-word;}
