:root{
  --ink:#0d1720;
  --paper:#f5f2e9;
  --paper2:#ece8dc;
  --accent:#b7ff52;
  --accent2:#ff775f;
  --blue:#5aa8ff;
  --purple:#a488ff;
  --mint:#bdf4de;
  --muted:#63707a;
  --line:rgba(13,23,32,.14);
  --card:rgba(255,255,255,.68);
  --shadow:0 18px 50px rgba(13,23,32,.08);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:rgba(245,242,233,.82);border-bottom:1px solid var(--line)}
nav .inner{height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-weight:900;letter-spacing:-.04em;font-size:20px;text-decoration:none}
.navlinks{display:flex;gap:20px;align-items:center;font-size:14px}
.navlinks a{text-decoration:none;color:#33414b}
.badge{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;font-size:12px;background:rgba(255,255,255,.5)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--accent2)}
header{padding:86px 0 72px;overflow:hidden;position:relative}
.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:48px;align-items:end}
.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#51606a;margin-bottom:22px}
h1{font-size:clamp(58px,9vw,128px);line-height:.84;letter-spacing:-.07em;margin:0;font-weight:950;max-width:900px}
h1 .stroke{-webkit-text-stroke:1.4px var(--ink);color:transparent}
.hero-copy{font-size:20px;max-width:610px;margin:30px 0 0;color:#36434d}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:9px;text-decoration:none;padding:12px 16px;border-radius:999px;font-weight:800;border:1px solid var(--line);background:rgba(255,255,255,.7)}
.btn.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn:hover{transform:translateY(-1px)}
.rq{background:var(--ink);color:white;border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);transform:rotate(1.2deg)}
.rq small{text-transform:uppercase;letter-spacing:.14em;color:#b8c2c9;font-weight:800}
.rq p{font-size:28px;line-height:1.15;letter-spacing:-.035em;margin:14px 0 18px;font-weight:800}
.rq .pill{display:inline-block;background:var(--accent);color:var(--ink);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;background:var(--paper2)}
.ticker-track{display:inline-block;padding:14px 0;animation:marquee 25s linear infinite;font-weight:850;letter-spacing:.02em}
.ticker span{margin-right:36px}
@keyframes marquee{to{transform:translateX(-50%)}}
section{padding:92px 0}
.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:36px;align-items:start;margin-bottom:40px}
.kicker{text-transform:uppercase;font-size:12px;letter-spacing:.16em;font-weight:900;color:#62707a}
h2{font-size:clamp(38px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:0}
.lead{font-size:20px;color:#44515a;max-width:760px;margin:16px 0 0}
.framework{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dim{min-height:260px;border:1px solid var(--line);border-radius:24px;padding:24px;background:var(--card);display:flex;flex-direction:column;justify-content:space-between;transition:.2s transform,.2s background}
.dim:hover{transform:translateY(-5px);background:white}
.dim .num{font-size:12px;font-weight:900;color:#79848d}
.dim h3{font-size:28px;letter-spacing:-.04em;margin:10px 0}
.dim p{color:#536069;margin:0}
.dim:nth-child(1){border-top:7px solid var(--accent)}
.dim:nth-child(2){border-top:7px solid var(--blue)}
.dim:nth-child(3){border-top:7px solid var(--accent2)}
.dim:nth-child(4){border-top:7px solid var(--purple)}
.tension{display:grid;grid-template-columns:1fr 1fr;border-radius:32px;overflow:hidden;min-height:520px;box-shadow:var(--shadow)}
.half{padding:52px;display:flex;flex-direction:column;justify-content:space-between}
.half.performance{background:var(--ink);color:white}
.half.appearance{background:var(--accent);color:var(--ink)}
.half h3{font-size:clamp(42px,6vw,78px);letter-spacing:-.06em;margin:0;line-height:.95}
.half p{font-size:19px;max-width:470px}
.axis{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--accent2));margin-top:26px;position:relative}
.axis:after{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:white;border:5px solid var(--ink);left:58%;top:50%;transform:translate(-50%,-50%)}
.filterbar{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 24px}
button.filter, .chip{border:1px solid var(--line);background:transparent;padding:10px 14px;border-radius:999px;cursor:pointer;font:inherit;font-weight:750}
button.filter.active,.chip.active{background:var(--ink);color:white;border-color:var(--ink)}
.findings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.finding,.card{border-radius:24px;padding:28px;border:1px solid var(--line);background:white;min-height:280px;transition:.22s opacity,.22s transform}
.finding:hover,.card:hover{transform:translateY(-4px)}
.finding.hidden{display:none}
.finding .tag, .tag{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#68757e}
.finding h3,.card h3{font-size:30px;line-height:1;letter-spacing:-.04em;margin:16px 0}
.finding p,.card p{color:#4a5760}
.quote-wall{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}
blockquote{margin:0;border-radius:28px;padding:36px;background:var(--ink);color:white;font-size:clamp(29px,4vw,48px);line-height:1.02;letter-spacing:-.045em;min-height:330px;display:flex;flex-direction:column;justify-content:space-between}
blockquote footer{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#aab6be;margin-top:26px}
.quotes-side{display:grid;gap:16px}
.mini-quote{border:1px solid var(--line);border-radius:24px;padding:26px;background:var(--card);font-size:24px;letter-spacing:-.025em}
.mini-quote small{display:block;margin-top:14px;color:#6c7780;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:step}
.method{counter-increment:step;border-top:1px solid var(--line);padding:22px 0}
.method:before{content:"0" counter(step);font-weight:900;font-size:12px;color:#8a949b}
.method h3{font-size:23px;letter-spacing:-.03em;margin:12px 0 8px}
.method p{color:#55616a;margin:0}
.gap-box{padding:44px;border-radius:32px;background:#ffefe8;border:1px solid #f0cabf}
.gap-box h3{font-size:38px;letter-spacing:-.04em;margin:0 0 18px}
.gap-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gap-item{padding-top:18px;border-top:1px solid rgba(13,23,32,.18)}
.gap-item strong{display:block;font-size:19px;margin-bottom:6px}
.references details{border-top:1px solid var(--line);padding:18px 0}
.references summary{cursor:pointer;font-weight:850}
.references p{font-size:14px;color:#57636b;max-width:900px}
.content-note{font-size:13px;color:#5d6870;border-left:3px solid var(--accent2);padding-left:14px;margin-top:26px}
footer.site-footer{padding:44px 0 60px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#69757d;font-size:13px}
.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}
.reveal.visible{opacity:1;transform:none}

/* Explore page */
.page-intro{display:grid;grid-template-columns:1fr .85fr;gap:28px;align-items:start}
.intro-panel{padding:30px;border-radius:28px;border:1px solid var(--line);background:rgba(255,255,255,.62)}
.sport-switcher{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.sport-btn{padding:18px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.72);cursor:pointer;text-align:left;font:inherit;transition:.18s}
.sport-btn strong{display:block;font-size:20px;letter-spacing:-.03em}
.sport-btn span{display:block;color:#61707a;font-size:13px;margin-top:6px}
.sport-btn.active{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}
.sport-btn.active span{color:#c3ced5}
.sport-panel{margin-top:24px;display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.sport-summary,.sport-side{border:1px solid var(--line);border-radius:28px;padding:28px;background:white}
.inline-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.inline-list li{padding:8px 11px;border-radius:999px;background:var(--paper2);font-size:13px;font-weight:700}
.dim-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}
.dim-card{border-radius:18px;padding:16px;background:var(--paper2)}
.dim-card strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#67747d;margin-bottom:8px}
.quote-list{display:grid;gap:12px;margin-top:18px}
.quote-chip{padding:16px 18px;border-radius:18px;background:var(--card);border:1px solid var(--line);font-size:17px}
.quote-chip small{display:block;margin-top:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6b7680}
.compare-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.compare-card{padding:18px;border-radius:20px;border:1px solid var(--line);background:white}
.compare-card h4{margin:0 0 10px;font-size:18px;letter-spacing:-.03em}
.compare-card p{margin:0;color:#5a6670;font-size:14px}
.map-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:28px}
.map-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.map-col{border:1px solid var(--line);border-radius:24px;padding:18px;background:rgba(255,255,255,.64)}
.map-col h3{margin:0 0 14px;font-size:18px;letter-spacing:-.03em}
.node-list{display:flex;flex-direction:column;gap:10px}
.node{padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:white;cursor:pointer;font:inherit;text-align:left;transition:.15s}
.node:hover,.node.active{background:var(--ink);color:white;border-color:var(--ink)}
.map-detail{border:1px solid var(--line);border-radius:28px;padding:28px;background:white;min-height:420px}
.map-detail h3{font-size:32px;letter-spacing:-.04em;line-height:1;margin:0 0 14px}
.meta-row{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.meta-pill{padding:7px 10px;border-radius:999px;background:var(--paper2);font-size:12px;font-weight:800}
.evidence-list{margin:16px 0 0;padding-left:18px;color:#4d5963}
.back-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;margin-bottom:18px}
.small-note{font-size:14px;color:#5f6b74}

@media(max-width:900px){
  .hero-grid,.section-head,.quote-wall,.page-intro,.sport-panel,.map-layout{grid-template-columns:1fr}
  .framework,.method-grid,.sport-switcher{grid-template-columns:repeat(2,1fr)}
  .findings-grid,.compare-strip,.map-grid{grid-template-columns:1fr 1fr}
  .gap-list,.dim-list{grid-template-columns:1fr}
  .tension{grid-template-columns:1fr;min-height:0}
  .navlinks{display:none}
  .rq{transform:none}
}
@media(max-width:620px){
  .wrap{width:min(100% - 24px,1180px)}
  header{padding-top:52px}
  h1{font-size:54px}
  .framework,.method-grid,.findings-grid,.sport-switcher,.compare-strip,.map-grid{grid-template-columns:1fr}
  .half{padding:34px 28px}
  section{padding:68px 0}
  footer.site-footer{flex-direction:column}
}
