/* ============================================================
   MM(Anders) — Landing Page
   Design system: light editorial + combat edge
   Palette pulled from logo vectors:
     Petrol #04465C · Combat Red #D52817 · Gray #808080
   ============================================================ */

:root{
  /* --- brand --- */
  --petrol:      #04465C;
  --petrol-700:  #063442;
  --petrol-900:  #04222c;
  --petrol-300:  #5d8493;
  --red:         #D52817;
  --red-700:     #b21d0f;
  --gray:        #7d7d7d;

  /* --- surfaces (warm editorial whites) --- */
  --paper:   #f6f2ea;
  --paper-2: #efe8da;
  --paper-3: #e7dccb;
  --ink:     #0e1518;
  --ink-soft:#2a3338;

  /* --- functional --- */
  --line:    rgba(14,21,24,.13);
  --line-2:  rgba(14,21,24,.07);
  --on-dark: #f2ede3;
  --on-dark-dim: rgba(242,237,227,.62);

  /* --- type (default pairing: Athletic) --- */
  --font-display: "Big Shoulders Display", sans-serif;
  --font-body:    "Public Sans", system-ui, sans-serif;
  --display-tracking: -0.005em;
  --display-weight: 800;
  --display-line: 0.96;

  /* --- rhythm --- */
  --maxw: 1280px;
  --gutter: clamp(20px, 5vw, 88px);
  --sec-pad: clamp(72px, 11vh, 168px);

  --accent: var(--red);          /* swappable emphasis */
  --reveal-on: 1;                 /* 0 disables motion via JS */
}

/* ---------- type pairings (set on <html data-type=…>) ---------- */
html[data-type="editorial"]{
  --font-display: "Bricolage Grotesque", sans-serif;
  --font-body: "Newsreader", Georgia, serif;
  --display-tracking: -0.02em;
  --display-weight: 700;
  --display-line: 0.98;
}
html[data-type="klassisch"]{
  --font-display: "Archivo", sans-serif;
  --font-body: "Spectral", Georgia, serif;
  --display-tracking: -0.03em;
  --display-weight: 800;
  --display-line: 1.0;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:clamp(16px,1.12vw,19px);
  line-height:1.62;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
::selection{ background:var(--petrol); color:var(--paper); }

/* ---------- layout helpers ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.section{ padding-block:var(--sec-pad); position:relative; }
.section--tight{ padding-block:clamp(48px,7vh,96px); }
.dark{ background:var(--ink); color:var(--on-dark); }
.dark ::selection{ background:var(--red); color:#fff; }
.petrol-bg{ background:var(--petrol-900); color:var(--on-dark); }

/* ---------- type styles ---------- */
.display{
  font-family:var(--font-display);
  font-weight:var(--display-weight);
  line-height:var(--display-line);
  letter-spacing:var(--display-tracking);
  text-wrap:pretty;
  margin:0;
}
.h-xxl{ font-size:clamp(2.6rem, 5.1vw, 4.7rem); }
.h-xl{  font-size:clamp(2.4rem, 5.6vw, 4.6rem); }
.h-l{   font-size:clamp(1.9rem, 3.6vw, 3.1rem); }
.h-m{   font-size:clamp(1.45rem,2.4vw,2.05rem); }

.kicker{
  font-family:var(--font-body);
  font-weight:700;
  font-size:.74rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0;
  display:inline-flex;
  align-items:center;
  gap:.7em;
}
.kicker::before{
  content:"";
  width:26px; height:2px; background:currentColor; display:inline-block;
}
.kicker--center::before{ display:none; }
.lede{ font-size:clamp(1.12rem,1.8vw,1.45rem); line-height:1.5; color:var(--ink-soft); text-wrap:pretty; }
.dark .lede{ color:var(--on-dark-dim); }
.muted{ color:var(--gray); }
.measure{ max-width:62ch; }
.measure-s{ max-width:46ch; }

/* the wordmark, type-built (fallback if logo not uploaded) */
.wordmark{
  font-family:var(--font-display);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1;
  display:inline-flex;
  align-items:baseline;
  white-space:nowrap;
}
.wordmark .mm{ color:var(--petrol); }
.wordmark .paren{ color:var(--red); }
.dark .wordmark .mm{ color:#cfe0e6; }

/* ---------- buttons ---------- */
.btn{
  --bg:var(--petrol); --fg:#fff;
  font-family:var(--font-body);
  font-weight:700;
  font-size:1.02rem;
  letter-spacing:.01em;
  display:inline-flex; align-items:center; gap:.6em;
  padding:1.02em 1.5em;
  background:var(--bg); color:var(--fg);
  border:none; border-radius:2px;
  cursor:pointer; text-decoration:none;
  transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s, background .2s;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.btn .arrow{ transition:transform .25s cubic-bezier(.2,.8,.2,1); }
.btn:hover{ transform:translateY(-2px); box-shadow:0 14px 30px -12px color-mix(in srgb, var(--bg) 70%, transparent); }
.btn:hover .arrow{ transform:translate(3px,-3px); }
.btn--red{ --bg:var(--red); }
.btn--red:hover{ box-shadow:0 16px 34px -12px color-mix(in srgb,var(--red) 80%,transparent); }
.btn--ghost{ --bg:transparent; --fg:var(--ink); border:1.5px solid var(--line); box-shadow:none; }
.btn--ghost:hover{ background:var(--ink); --fg:var(--paper); border-color:var(--ink); }
.dark .btn--ghost{ --fg:var(--on-dark); border-color:rgba(242,237,227,.28); }
.dark .btn--ghost:hover{ background:var(--paper); --fg:var(--ink); border-color:var(--paper); }
.btn--lg{ padding:1.18em 1.8em; font-size:1.1rem; }
@media (max-width:480px){ .btn--lg{ padding:1em 1.4em; font-size:1rem; } }

/* ---------- header ---------- */
.site-head{
  position:fixed; inset:0 0 auto 0; z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  padding:6px var(--gutter);
  transition:background .35s, box-shadow .35s, padding .35s, color .35s;
  color:var(--ink);
}
.site-head.scrolled{
  background:color-mix(in srgb, var(--paper) 86%, transparent);
  backdrop-filter:blur(14px) saturate(1.2);
  box-shadow:0 1px 0 var(--line);
  padding-block:6px;
}
.site-head .brand{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.site-head .brand-logo{ height:80px; width:auto; display:block; transition:height .35s; }
.site-head.scrolled .brand-logo{ height:68px; }
@media (max-width:680px){ .site-head .brand-logo{ height:72px; width:auto; } }
.head-cta{ display:flex; align-items:center; gap:18px; }
.head-link{ font-weight:600; font-size:.95rem; text-decoration:none; color:inherit; opacity:.8; }
.head-link:hover{ opacity:1; color:var(--petrol); }
.head-social{ display:inline-flex; align-items:center; justify-content:center; color:var(--ink); opacity:.65; text-decoration:none; transition:opacity .2s, color .2s; }
.head-social:hover{ opacity:1; color:var(--petrol); }
.site-head.scrolled .head-social{ color:var(--ink); }
@media (max-width:540px){ .head-social{ display:none; } }
@media (max-width:680px){ .head-link.hide-sm{ display:none; } }

/* ---------- hero ---------- */
.hero{ position:relative; padding-top:clamp(118px,15vh,168px); padding-bottom:var(--sec-pad); overflow:clip; }
.hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,80px); align-items:center; }
@media (max-width:860px){ .hero__grid{ grid-template-columns:1fr; gap:clamp(36px,5vh,56px); } }
/* On mobile: copy first (order 1), media second (order 2) */
@media (max-width:860px){ .hero__copy{ order:1; } .hero__media{ order:2; } }
.hero__media{ position:relative; }
.hero__portrait{ width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.hero__portrait-placeholder{ width:100%; height:100%; background:var(--petrol); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:1.4rem; color:rgba(255,255,255,.4); letter-spacing:.05em; }
.hero__imgwrap{ position:relative; }
.hero__imgwrap .image-slot, .hero__imgwrap image-slot{ width:100%; height:100%; }
.hero__badge{
  position:absolute; left:-18px; bottom:34px; z-index:3;
  background:var(--red); color:#fff; padding:14px 20px;
  font-family:var(--font-display); font-weight:800; line-height:1; letter-spacing:-.01em;
  font-size:clamp(1rem,1.4vw,1.3rem);
  box-shadow:0 20px 40px -18px rgba(0,0,0,.5);
}
@media (max-width:480px){ .hero__badge{ left:0; bottom:0; font-size:.9rem; padding:10px 14px; } }
.hero__badge small{ display:block; font-family:var(--font-body); font-weight:600; font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; opacity:.85; margin-top:6px; }
.hero h1{ margin:.32em 0 0; }
.hero h1 .em{ color:var(--petrol); position:relative; }
.hero h1 .em-red{ color:var(--red); }
.hero__sub{ margin-top:1.3rem; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:2rem; align-items:center; }
@media (max-width:480px){ .hero__cta{ flex-direction:column; align-items:stretch; } .hero__cta .btn{ text-align:center; justify-content:center; } }
.hero__trust{ margin-top:1.6rem; display:flex; flex-wrap:wrap; gap:8px 20px; font-size:.92rem; color:var(--gray); }
.hero__trust span{ display:inline-flex; align-items:center; gap:.5em; }
.hero__trust span::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--petrol); }

/* social links in hero */
.hero__social{ margin-top:1.6rem; display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; }
.hero__social-label{ font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--gray); margin-right:4px; }
.hero__social-link{ display:inline-flex; align-items:center; gap:7px; text-decoration:none; color:var(--ink-soft); font-weight:600; font-size:.95rem; padding:8px 14px; border:1.5px solid var(--line); border-radius:2px; transition:border-color .25s, color .25s, background .25s; }
.hero__social-link:hover{ border-color:var(--petrol); color:var(--petrol); background:rgba(4,70,92,.06); }

/* social icons in hero copy — only on mobile */
.hero__social-mob{ display:none; margin-top:1.4rem; gap:12px; flex-wrap:wrap; }
@media (max-width:540px){ .hero__social-mob{ display:flex; } }

/* name card below portrait */
.hero__namecard{ margin-top:14px; padding:14px 18px; background:var(--petrol); color:#fff; border-radius:2px; }
.hero__namecard strong{ display:block; font-family:var(--font-display); font-weight:800; font-size:clamp(1.1rem,1.6vw,1.4rem); letter-spacing:-.01em; line-height:1.1; }
.hero__namecard span{ display:block; margin-top:5px; font-size:.84rem; opacity:.82; line-height:1.4; }
.hero__namecard-tag{ display:inline-block; margin-top:10px; padding:5px 12px; background:var(--red); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; border-radius:2px; opacity:1 !important; }

/* hero variant: full-bleed */
.hero__bleed{ display:none; }
html[data-hero="fullbleed"] .hero__bleed{ display:block; }
html[data-hero="fullbleed"] .hero__grid{ grid-template-columns:1fr; }
html[data-hero="fullbleed"] .hero{ min-height:92vh; display:flex; align-items:flex-end; color:var(--on-dark); }
html[data-hero="fullbleed"] .hero__bleed{ position:absolute; inset:0; z-index:0; }
html[data-hero="fullbleed"] .hero__bleed image-slot{ width:100%; height:100%; }
html[data-hero="fullbleed"] .hero__bleed::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(4,34,44,.32) 0%, rgba(4,34,44,.55) 45%, rgba(4,21,28,.92) 100%); }
html[data-hero="fullbleed"] .hero__media{ display:none; }
html[data-hero="fullbleed"] .hero__copy{ position:relative; z-index:2; max-width:920px; }
html[data-hero="fullbleed"] .hero h1 .em{ color:#7fb2c2; }
html[data-hero="fullbleed"] .hero__sub{ color:var(--on-dark-dim); }
html[data-hero="fullbleed"] .hero__trust{ color:var(--on-dark-dim); }
html[data-hero="fullbleed"] .kicker{ color:#ff7a68; }

/* hero variant: editorial (type-forward, small inset image) */
html[data-hero="editorial"] .hero__grid{ grid-template-columns:1fr; gap:clamp(28px,4vw,56px); }
html[data-hero="editorial"] .hero h1{ font-size:clamp(2.9rem,6.4vw,5.6rem); }
html[data-hero="editorial"] .hero__media{ max-width:420px; }
html[data-hero="editorial"] .hero__imgwrap{ aspect-ratio:16/10; }
html[data-hero="editorial"] .hero__inner{ display:grid; grid-template-columns:1fr; }
html[data-hero="editorial"] .hero__editrow{ display:grid; grid-template-columns:1fr auto; gap:clamp(28px,4vw,64px); align-items:end; margin-top:1.5rem; }
@media (max-width:860px){ html[data-hero="editorial"] .hero__editrow{ grid-template-columns:1fr; } }

/* ---------- generic reveal ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.08s; }
.reveal[data-d="2"]{ transition-delay:.16s; }
.reveal[data-d="3"]{ transition-delay:.24s; }
.reveal[data-d="4"]{ transition-delay:.32s; }
html[data-motion="off"] .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }

/* ---------- results / numbers ---------- */
.results{ }
.results__head{ display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:24px; margin-bottom:clamp(40px,6vh,72px); }
.stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid rgba(242,237,227,.16); }
.stat{ padding:clamp(28px,4vw,46px) clamp(20px,2.5vw,38px) clamp(28px,4vw,40px); position:relative; min-width:0; }
.stat + .stat{ border-left:1px solid rgba(242,237,227,.16); }
.stat__num{ font-family:var(--font-display); font-weight:800; line-height:.9; letter-spacing:-.02em; font-size:clamp(2.6rem,4.6vw,4.5rem); color:#fff; white-space:nowrap; }
.stat__num .suffix{ color:var(--red); }
.stat__label{ margin-top:.7rem; font-size:1.02rem; color:var(--on-dark-dim); max-width:24ch; }
@media (max-width:760px){ .stats{ grid-template-columns:1fr; } .stat + .stat{ border-left:none; border-top:1px solid rgba(242,237,227,.16); } }

/* numbers variant: cards */
html[data-numbers="cards"] .stats{ border-top:none; gap:clamp(14px,1.5vw,22px); }
html[data-numbers="cards"] .stat{ background:var(--petrol-900); border:1px solid rgba(242,237,227,.12); border-radius:4px; }
html[data-numbers="cards"] .stat + .stat{ border-left:1px solid rgba(242,237,227,.12); }
@media (max-width:760px){ html[data-numbers="cards"] .stats{ grid-template-columns:1fr; } }

/* numbers variant: inline ticker */
html[data-numbers="inline"] .stats{ grid-template-columns:1fr; border-top:1px solid rgba(242,237,227,.16); }
html[data-numbers="inline"] .stat{ display:grid; grid-template-columns:auto 1fr; align-items:center; gap:clamp(20px,4vw,56px); border-left:none !important; border-bottom:1px solid rgba(242,237,227,.16); }
html[data-numbers="inline"] .stat__num{ font-size:clamp(2.8rem,6vw,4.6rem); }
html[data-numbers="inline"] .stat__label{ margin-top:0; max-width:none; }

.partners{ margin-top:clamp(40px,6vh,68px); border-top:1px solid rgba(242,237,227,.16); padding-top:clamp(26px,4vh,40px); }
.partners__label{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--on-dark-dim); margin:0 0 18px; }
.partners__row{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 22px; }
.partners__row li{ flex:0 0 auto; white-space:nowrap; list-style:none; font-family:var(--font-display); font-weight:600; font-size:clamp(1.05rem,1.6vw,1.45rem); color:rgba(242,237,227,.82); }
.partners__row li:not(:last-child)::after{ content:"·"; margin-left:22px; color:var(--red); }

/* ---------- audience cards ---------- */
.cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(14px,1.6vw,20px); }
@media (max-width:760px){ .cards{ grid-template-columns:1fr; } }
.card{
  background:var(--paper); border:1px solid var(--line);
  padding:clamp(26px,3vw,40px); border-radius:4px;
  display:flex; flex-direction:column; gap:14px;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), border-color .3s, box-shadow .4s;
}
.card:hover{ transform:translateY(-4px); border-color:var(--petrol); box-shadow:0 26px 50px -34px rgba(4,70,92,.6); }
.card__idx{ font-family:var(--font-display); font-weight:800; font-size:1.1rem; color:var(--red); }
.card h3{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.3rem,2vw,1.7rem); line-height:1.05; margin:0; letter-spacing:-.01em; }
.card p{ margin:0; color:var(--ink-soft); font-size:1rem; }

/* ---------- pain list ---------- */
.pains{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 clamp(40px,5vw,80px); }
@media (max-width:760px){ .pains{ grid-template-columns:1fr; } }
.pain{ display:grid; grid-template-columns:auto 1fr; gap:18px; padding:24px 0; border-bottom:1px solid var(--line); align-items:start; }
.pain__mark{ width:30px; height:30px; flex:none; border:1.5px solid var(--accent); color:var(--accent); border-radius:50%; display:grid; place-items:center; font-family:var(--font-display); font-weight:800; font-size:1rem; margin-top:2px; }
.pain p{ margin:0; font-size:1.06rem; line-height:1.5; }

/* ---------- story / what it delivers ---------- */
.story{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,84px); align-items:start; }
@media (max-width:900px){ .story{ grid-template-columns:1fr; } }
.story__media{ position:sticky; top:96px; }
.story__imgwrap{ aspect-ratio:3/4; overflow:hidden; border-radius:3px; }
.story__imgwrap image-slot{ width:100%; height:100%; }
.story p{ font-size:1.08rem; }
.story p + p{ margin-top:1.1rem; }
.pull{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.5rem,2.6vw,2.2rem); line-height:1.12; letter-spacing:-.01em; color:var(--petrol); margin:1.6rem 0; text-wrap:balance; }
.story .bridge{ color:var(--red); }

.checklist{ margin:2rem 0 0; padding:0; list-style:none; display:grid; gap:2px; }
.checklist li{ display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; padding:16px 0; border-top:1px solid var(--line); font-size:1.04rem; line-height:1.45; }
.checklist li .tick{ width:24px; height:24px; flex:none; background:var(--petrol); color:#fff; border-radius:50%; display:grid; place-items:center; font-size:.8rem; margin-top:2px; }
.story__closing{ margin-top:2rem; font-family:var(--font-display); font-weight:700; font-size:clamp(1.3rem,2vw,1.7rem); color:var(--ink); letter-spacing:-.01em; }

/* ---------- program / modules ---------- */
.modules{ display:grid; grid-template-columns:1fr; gap:0; margin-top:clamp(28px,4vh,48px); }
.module{
  display:grid; grid-template-columns:auto 1fr auto; gap:clamp(20px,4vw,60px); align-items:center;
  padding:clamp(24px,3.4vw,40px) 0; border-top:1px solid rgba(242,237,227,.18);
  transition:padding-left .4s cubic-bezier(.2,.7,.2,1);
}
.module:last-child{ border-bottom:1px solid rgba(242,237,227,.18); }
.module:hover{ padding-left:clamp(6px,1.2vw,20px); }
.module__no{ font-family:var(--font-display); font-weight:800; font-size:clamp(1.1rem,1.5vw,1.4rem); color:var(--red); width:3.4ch; }
.module__body{ flex:1; min-width:0; }
.module__name{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.6rem,3.4vw,2.8rem); line-height:1.02; letter-spacing:-.015em; color:#fff; margin:0; }
.module__desc{ margin:.4em 0 0; font-size:.9rem; color:var(--on-dark-dim); line-height:1.4; }
.module__tag{ font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; color:var(--on-dark-dim); white-space:nowrap; }
@media (max-width:680px){ .module{ grid-template-columns:auto 1fr; } .module__tag{ display:none; } }
.program__after{ margin-top:clamp(40px,6vh,72px); display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,4vw,64px); align-items:end; }
@media (max-width:860px){ .program__after{ grid-template-columns:1fr; } }
.formats{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.formats li{ display:grid; grid-template-columns:auto 1fr; gap:14px; padding:14px 0; border-top:1px solid rgba(242,237,227,.16); color:var(--on-dark-dim); font-size:1rem; }
.formats li b{ color:var(--on-dark); font-weight:700; }
.formats li .d{ width:7px; height:7px; border-radius:50%; background:var(--red); margin-top:.6em; }

/* ---------- testimonials ---------- */
.quotes{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,2.2vw,28px); }
@media (max-width:860px){ .quotes{ grid-template-columns:1fr; } }
.quote{ background:var(--paper); border:1px solid var(--line); padding:clamp(30px,3.4vw,48px); border-radius:4px; display:flex; flex-direction:column; }
.quote__mark{ font-family:var(--font-display); font-weight:800; font-size:3.4rem; line-height:.6; color:var(--red); height:.5em; }
.quote p{ font-size:clamp(1.06rem,1.5vw,1.24rem); line-height:1.55; margin:1rem 0 1.6rem; flex:1; text-wrap:pretty; }
.quote__by{ display:flex; align-items:center; gap:14px; }
.quote__av{ width:80px; height:80px; border-radius:50%; flex:none; object-fit:cover; display:block !important; }
.quote__by b{ display:block; font-weight:700; font-size:.98rem; }
.quote__by span{ font-size:.86rem; color:var(--gray); }

/* ---------- FAQ ---------- */
.faq{ border-top:1px solid var(--line); margin-top:clamp(28px,4vh,48px); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{ cursor:pointer; list-style:none; padding:clamp(20px,2.4vw,30px) 0; display:flex; align-items:center; justify-content:space-between; gap:24px; font-family:var(--font-display); font-weight:700; font-size:clamp(1.18rem,2vw,1.6rem); letter-spacing:-.01em; color:var(--ink); transition:color .25s; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ color:var(--petrol); }
.faq summary .pm{ flex:none; width:30px; height:30px; position:relative; border:1.5px solid var(--line); border-radius:50%; transition:border-color .25s, background .25s; }
.faq summary .pm::before, .faq summary .pm::after{ content:""; position:absolute; background:var(--ink); left:50%; top:50%; transition:transform .3s, background .25s; }
.faq summary .pm::before{ width:11px; height:1.5px; transform:translate(-50%,-50%); }
.faq summary .pm::after{ width:1.5px; height:11px; transform:translate(-50%,-50%); }
.faq details[open] summary .pm{ background:var(--petrol); border-color:var(--petrol); }
.faq details[open] summary .pm::before, .faq details[open] summary .pm::after{ background:#fff; }
.faq details[open] summary .pm::after{ transform:translate(-50%,-50%) scaleY(0); }
.faq__a{ overflow:hidden; }
.faq details[open] .faq__a{ animation:faqopen .45s cubic-bezier(.2,.7,.2,1); }
@keyframes faqopen{ from{ opacity:0; transform:translateY(-8px); } to{ opacity:1; transform:none; } }
.faq__a p{ margin:0 0 clamp(22px,2.6vw,32px); max-width:74ch; color:var(--ink-soft); font-size:1.04rem; }

/* ---------- promise / scarcity split ---------- */
.split2{ display:grid; grid-template-columns:1fr 1fr; }
@media (max-width:760px){ .split2{ grid-template-columns:1fr; } }
.split2 > div{ padding:clamp(40px,6vw,84px) var(--gutter); }
.split2 .promise{ background:var(--paper-2); }
.split2 .scarcity{ background:var(--ink); color:var(--on-dark); }
.split2 .scarcity .kicker{ color:#ff7a68; }
.split2 .scarcity .lede{ color:var(--on-dark-dim); }

/* ---------- final CTA split + contact form ---------- */
.final__split{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(36px,6vw,88px); align-items:start; }
@media (max-width:860px){ .final__split{ grid-template-columns:1fr; } }
.final__left .kicker{ margin-bottom:0; }
.final__lines{ margin-top:1.4rem; }
.final__lines p{ font-size:clamp(1.06rem,1.6vw,1.3rem); line-height:1.4; margin:.2em 0; color:var(--on-dark-dim); }
.final__trust-list{ margin:1.6rem 0 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px 20px; }
.final__trust-list li{ font-size:.9rem; color:var(--on-dark-dim); display:inline-flex; align-items:center; gap:.5em; }
.final__trust-list li::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--red); flex:none; }

.contact-form{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(10px); border-radius:6px; padding:clamp(24px,3vw,40px); }
.contact-form__title{ font-family:var(--font-display); font-weight:800; font-size:clamp(1.3rem,2vw,1.7rem); color:#fff; margin:0 0 1.4rem; letter-spacing:-.01em; }
.contact-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:540px){ .contact-form__row{ grid-template-columns:1fr; } }
.contact-form__field{ display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.contact-form__field label{ font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(242,237,227,.7); }
.contact-form__field input,
.contact-form__field select,
.contact-form__field textarea{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:3px; padding:11px 14px; color:#fff; font-family:var(--font-body); font-size:1rem; transition:border-color .2s, background .2s; outline:none; width:100%; }
.contact-form__field input::placeholder,
.contact-form__field textarea::placeholder{ color:rgba(242,237,227,.35); }
.contact-form__field select option{ background:var(--petrol-900); color:#fff; }
.contact-form__field input:focus,
.contact-form__field select:focus,
.contact-form__field textarea:focus{ border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.12); }
.contact-form__field textarea{ resize:vertical; min-height:80px; }
.contact-form__submit{ width:100%; margin-top:.4rem; justify-content:center; gap:10px; font-size:1rem; }
.contact-form__note{ margin:.8rem 0 0; font-size:.75rem; color:rgba(242,237,227,.4); text-align:center; }
.contact-form__success{ display:flex; align-items:center; gap:14px; margin-top:1rem; padding:16px 20px; background:rgba(74,222,128,.1); border:1px solid rgba(74,222,128,.3); border-radius:4px; color:#4ade80; }
.contact-form__success p{ margin:0; font-size:.95rem; line-height:1.4; color:var(--on-dark); }
.contact-form__success strong{ color:#4ade80; }
.final .wrap{ max-width:1000px; }
.final h2{ margin:0 auto; }
.final__lines{ margin:1.6rem auto 0; max-width:34ch; }
.final__lines p{ font-size:clamp(1.15rem,1.8vw,1.5rem); line-height:1.4; margin:.2em 0; }
.final__lines .hi{ color:var(--petrol); font-weight:700; }
.final .btn{ margin-top:2.4rem; }
.final__trust{ margin-top:1.4rem; font-size:.92rem; color:var(--gray); }

/* ---------- PS ---------- */
.ps{ border-top:1px solid var(--line); }
.ps__inner{ display:grid; grid-template-columns:auto 1fr; gap:clamp(20px,3vw,48px); align-items:start; }
.ps__tag{ font-family:var(--font-display); font-weight:800; font-size:1.4rem; color:var(--red); }
.ps p{ margin:0; font-size:clamp(1.1rem,1.7vw,1.42rem); line-height:1.45; max-width:60ch; text-wrap:pretty; }

/* ---------- codex / footer ---------- */
.codex{ background:var(--petrol-900); color:var(--on-dark); }
.codex .wrap{ position:relative; z-index:2; }
.codex__title{ font-family:var(--font-display); font-weight:800; font-size:clamp(1.4rem,2.4vw,2rem); letter-spacing:-.01em; margin:0 0 clamp(28px,4vh,44px); }
.codex__title .x{ color:var(--red); }
.codex__grid{ display:flex; flex-wrap:wrap; gap:0; border-top:1px solid rgba(242,237,227,.14); }
.codex__grid li{ list-style:none; flex:1 1 auto; min-width:200px; padding:18px 0; border-bottom:1px solid rgba(242,237,227,.14); display:flex; align-items:center; gap:12px; font-family:var(--font-display); font-weight:600; font-size:clamp(1rem,1.4vw,1.18rem); color:rgba(242,237,227,.9); }
.codex__grid li::before{ content:""; width:6px; height:6px; background:var(--red); flex:none; transform:rotate(45deg); }
.codex__grid li:not(:last-child){ margin-right:clamp(24px,3vw,48px); }
.codex__foot{ margin-top:clamp(40px,6vh,72px); display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px; align-items:center; border-top:1px solid rgba(242,237,227,.14); padding-top:28px; }
.codex__foot .mantra{ font-family:var(--font-display); font-weight:700; font-size:clamp(1.05rem,1.6vw,1.35rem); display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.codex__foot .footer-logo{ height:58px; width:auto; display:block; }
.codex__foot .sep-dash{ color:var(--on-dark-dim); }
.codex__foot .mantra .sep{ color:var(--red); margin:0 .4em; }
.codex__foot small{ color:var(--on-dark-dim); font-size:.85rem; }

/* section intro block */
.sec-intro{ max-width:840px; margin-bottom:clamp(36px,5vh,64px); }
.sec-intro .kicker{ margin-bottom:18px; }
.sec-intro h2{ margin:0; }
.sec-intro p{ margin:1.4rem 0 0; }

/* floating whatsapp (mobile) */
.section-bg-slot{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.section-bg-slot image-slot{ width:100%; height:100%; }
.section-bg-overlay{ position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(135deg,rgba(4,21,28,.88) 0%,rgba(4,21,28,.78) 100%); }
.section .wrap, .results .wrap, .final .wrap{ position:relative; z-index:2; }

/* ---------- athletes instagram cta ---------- */
.athletes-ig-btn{ display:inline-flex; align-items:center; gap:12px; margin-top:1.4rem; padding:14px 22px; background:linear-gradient(135deg,#d52817 0%,#c41f0e 100%); color:#fff; text-decoration:none; border-radius:3px; font-weight:700; font-size:1rem; transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s; box-shadow:0 4px 20px -8px rgba(213,40,23,.6); }
.athletes-ig-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 30px -10px rgba(213,40,23,.7); }
.athletes-ig-btn strong{ font-weight:800; }
.athletes-ig-arrow{ font-size:1.1rem; transition:transform .25s; }
.athletes-ig-btn:hover .athletes-ig-arrow{ transform:translate(2px,-2px); }

/* ---------- athletes grid ---------- */
.athletes-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.8vw,24px); }
@media (max-width:900px){ .athletes-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .athletes-grid{ grid-template-columns:repeat(2,1fr); gap:10px; } }
.athlete-card{ display:flex; flex-direction:column; gap:0; border-radius:4px; overflow:hidden; border:1px solid var(--line); background:var(--paper); transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s; }
.athlete-card:hover{ transform:translateY(-4px); box-shadow:0 24px 48px -28px rgba(4,70,92,.5); }
.athlete-card__photo{ aspect-ratio:3/4; overflow:hidden; position:relative; }
.athlete-card__photo image-slot{ width:100%; height:100%; }
.athlete-card__info{ padding:clamp(14px,1.4vw,20px); background:var(--petrol); color:#fff; }
.athlete-card__name{ display:block; font-family:var(--font-display); font-weight:800; font-size:clamp(1rem,1.4vw,1.2rem); letter-spacing:-.01em; line-height:1.1; }
.athlete-card__role{ display:block; margin-top:5px; font-size:.8rem; opacity:.75; letter-spacing:.04em; }
.athlete-card__ig{ display:inline-flex; align-items:center; gap:5px; margin-top:8px; font-size:.78rem; color:rgba(255,255,255,.7); text-decoration:none; transition:color .2s; }
.athlete-card__ig:hover{ color:#fff; }

.wa-float{ position:fixed; right:18px; bottom:18px; z-index:55; display:none; }
@media (max-width:680px){ .wa-float{ display:block; } }

/* progress bar */
.scrollbar{ position:fixed; top:0; left:0; height:3px; background:var(--red); z-index:70; width:0; transition:width .1s linear; }

/* utility */
.center{ text-align:center; }
.mt-s{ margin-top:1rem; } .mt-m{ margin-top:2rem; }
.dark .card, .dark .quote{ background:var(--petrol-900); border-color:rgba(242,237,227,.14); color:var(--on-dark); }
