:root {
  --bg: #090b14;
  --bg-soft: #101421;
  --paper: #f6f4f8;
  --ink: #11131a;
  --muted: #a8adbb;
  --pink: #ff2aa8;
  --teal: #25d2ca;
  --blue: #4a8cff;
  --lime: #7cf05a;
  --white: #fff;
  --radius: 28px;
  --shadow: 0 24px 70px rgba(0,0,0,.22);
  --shell: min(1180px, calc(100vw - 40px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--ink); background:var(--paper); line-height:1.55; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width:var(--shell); margin-inline:auto; }
.skip-link { position:fixed; left:12px; top:-50px; z-index:1000; background:#fff; color:#000; padding:10px 14px; border-radius:8px; }
.skip-link:focus { top:12px; }
.site-header { position:fixed; inset:0 0 auto; z-index:100; transition:.3s ease; }
.site-header.scrolled { background:rgba(9,11,20,.86); backdrop-filter:blur(16px); border-bottom:1px solid rgba(255,255,255,.08); }
.nav { height:84px; display:flex; align-items:center; justify-content:space-between; color:#fff; }
.brand { display:flex; align-items:center; gap:11px; font-size:.88rem; letter-spacing:.16em; font-weight:900; }
.brand img { width:50px; height:50px; object-fit:contain; filter:drop-shadow(0 8px 15px rgba(0,0,0,.25)); }
.nav-links { display:flex; align-items:center; gap:25px; font-size:.9rem; font-weight:700; }
.nav-links a { opacity:.78; transition:.2s; }
.nav-links a:hover { opacity:1; color:#fff; }
.lang-btn { border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; border-radius:999px; padding:8px 13px; font-weight:800; cursor:pointer; }
.menu-btn { display:none; border:0; background:transparent; color:white; font-size:1.65rem; cursor:pointer; }
.hero { min-height:100svh; position:relative; display:flex; flex-direction:column; justify-content:flex-end; color:white; background:var(--bg); overflow:hidden; }
.hero-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(6,7,13,.93) 0%, rgba(6,7,13,.67) 42%, rgba(6,7,13,.25) 74%), linear-gradient(0deg, rgba(6,7,13,.9) 0%, transparent 48%); }
.hero-content { position:relative; z-index:2; padding:170px 0 170px; }
.eyebrow, .kicker { font-size:.78rem; letter-spacing:.2em; font-weight:900; text-transform:uppercase; }
.eyebrow { color:#b9fff9; margin:0 0 18px; }
.hero h1 { margin:0; font-size:clamp(4rem, 8.5vw, 8.2rem); line-height:.88; letter-spacing:-.06em; max-width:900px; text-transform:uppercase; }
.hero h1 span { color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.82); }
.hero-lead { max-width:650px; font-size:clamp(1.05rem, 1.7vw, 1.35rem); color:rgba(255,255,255,.8); margin:26px 0 32px; }
.hero-actions { display:flex; gap:13px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px; border-radius:999px; font-weight:900; transition:.2s ease; }
.btn-primary { color:#080a11; background:linear-gradient(90deg,var(--teal),#8ff078); box-shadow:0 10px 30px rgba(37,210,202,.24); }
.btn-primary:hover { transform:translateY(-2px); }
.btn-ghost { color:#fff; border:1px solid rgba(255,255,255,.27); background:rgba(255,255,255,.06); backdrop-filter:blur(8px); }
.hero-stats { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:28px; border-top:1px solid rgba(255,255,255,.16); }
.hero-stats div { padding:24px 24px 12px 0; }
.hero-stats strong { display:block; font-size:2rem; letter-spacing:-.04em; }
.hero-stats span { display:block; color:rgba(255,255,255,.62); font-size:.88rem; }
.section { padding:110px 0; }
.split { display:grid; grid-template-columns:1fr 1.07fr; gap:82px; align-items:center; }
.kicker { color:#6b7280; margin:0 0 16px; }
.section-copy h2, .section-heading h2, .momentum-copy h2, .final-inner h2 { font-size:clamp(2.45rem,5vw,4.7rem); letter-spacing:-.055em; line-height:.96; margin:0 0 28px; max-width:900px; }
.section-copy p { font-size:1.07rem; color:#5b6070; max-width:670px; }
.photo-card { margin:0; border-radius:var(--radius); overflow:hidden; background:white; box-shadow:var(--shadow); }
.photo-card img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.photo-card figcaption { padding:12px 16px 15px; font-size:.78rem; color:#777d8b; }
.dark-band { background:var(--bg); color:white; overflow:hidden; }
.dark-band .kicker { color:#71ded7; }
.section-heading { margin-bottom:44px; }
.timeline { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.year-card { min-height:210px; padding:25px 22px; border:1px solid rgba(255,255,255,.11); border-radius:22px; background:rgba(255,255,255,.035); }
.year-card span { color:var(--teal); font-weight:900; }
.year-card h3 { font-size:1.2rem; line-height:1.15; margin:35px 0 10px; }
.year-card p { color:#aeb4c3; margin:0; font-size:.9rem; }
.year-card.highlight { background:linear-gradient(145deg,rgba(255,42,168,.18),rgba(37,210,202,.14)); border-color:rgba(255,255,255,.22); }
.wide-photo { margin-top:28px; border-radius:var(--radius); overflow:hidden; }
.wide-photo img { width:100%; max-height:630px; object-fit:cover; }
.bid-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:78px; align-items:center; }
.bid-photo { margin:0; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.bid-photo img { width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center top; }
.summit-card { margin-top:34px; border-radius:24px; padding:26px; background:#0b0e18; color:white; position:relative; overflow:hidden; }
.summit-card:after { content:""; width:180px; height:180px; position:absolute; right:-70px; bottom:-70px; border-radius:50%; background:radial-gradient(circle,var(--pink),transparent 65%); opacity:.3; }
.summit-mark { display:block; width:min(100%,360px); height:auto; margin:0 0 18px; border-radius:8px; position:relative; z-index:1; }
.summit-card .mini { display:block; color:#7ce9e3; letter-spacing:.17em; font-size:.72rem; font-weight:900; position:relative; z-index:1; }
.summit-card strong { display:block; font-size:2rem; line-height:1.05; margin-top:7px; position:relative; z-index:1; }
.summit-card p { color:#bbc1d0; margin:8px 0 20px; position:relative; z-index:1; }
.chips { display:flex; gap:8px; flex-wrap:wrap; position:relative; z-index:1; }
.chips span { border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.06); border-radius:999px; padding:6px 10px; font-size:.78rem; }
.momentum { background:linear-gradient(130deg,#f3eafa,#e8fbf8); padding:0; }
.momentum-grid { min-height:620px; display:grid; grid-template-columns:1fr .72fr; gap:50px; align-items:center; overflow:hidden; }
.momentum-copy { padding:95px 0; }
.momentum-copy p { max-width:650px; color:#5c6170; font-size:1.08rem; }
.jump-photo { align-self:end; max-height:620px; width:100%; object-fit:contain; object-position:bottom center; mix-blend-mode:multiply; }
.coaches-layout { display:grid; grid-template-columns:1.3fr .7fr; gap:32px; align-items:stretch; }
.coach-cards { display:grid; gap:18px; }
.coach-card { border-radius:24px; background:white; padding:28px; box-shadow:0 12px 35px rgba(18,22,35,.07); }
.coach-role { display:inline-block; font-size:.74rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; color:#127f7a; margin-bottom:18px; }
.coach-card h3 { font-size:1.75rem; margin:0 0 12px; letter-spacing:-.03em; }
.coach-card p { color:#666c79; margin:0; }
.partner-section { background:#0a0d17; color:white; }
.partner-section .kicker { color:#78e7df; }
.partner-section .section-copy p { color:#b5bac7; }
.partner-grid { display:grid; grid-template-columns:1fr .9fr; gap:80px; align-items:start; }
.partner-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.partner-options article { min-height:165px; border-radius:22px; border:1px solid rgba(255,255,255,.12); padding:25px; background:rgba(255,255,255,.04); }
.partner-options strong { display:block; font-size:2rem; color:#fff; letter-spacing:-.04em; }
.partner-options span { display:block; margin-top:14px; color:#aeb4c3; }
.benefits { margin-top:60px; border-top:1px solid rgba(255,255,255,.1); padding-top:34px; }
.benefits h3 { margin:0 0 18px; font-size:1.05rem; }
.benefit-list { display:flex; gap:9px; flex-wrap:wrap; }
.benefit-list span { padding:9px 13px; border-radius:999px; background:rgba(255,255,255,.07); color:#d5d9e2; font-size:.82rem; }
.fine-print { margin:18px 0 0; color:#747b8d; font-size:.78rem; }
.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:180px; gap:13px; }
.gallery-grid figure { margin:0; overflow:hidden; border-radius:20px; background:#ddd; }
.gallery-grid img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gallery-grid figure:hover img { transform:scale(1.025); }
.g1 { grid-column:span 7; grid-row:span 2; }
.g2 { grid-column:span 5; grid-row:span 2; }
.g3 { grid-column:span 5; grid-row:span 2; }
.g4 { grid-column:span 7; grid-row:span 2; }
.g5 { grid-column:3 / span 8; grid-row:span 2; }
.final-cta { background:linear-gradient(120deg,#ff2aa8 0%,#7d43ff 42%,#1bcfc5 100%); color:white; }
.final-inner { display:flex; align-items:center; gap:50px; }
.final-inner > img { width:160px; height:160px; object-fit:contain; filter:drop-shadow(0 16px 30px rgba(0,0,0,.2)); }
.final-inner .kicker { color:rgba(255,255,255,.75); }
.final-inner h2 { margin-bottom:20px; }
.final-links { display:flex; gap:20px; flex-wrap:wrap; font-weight:800; }
.final-links a { border-bottom:1px solid rgba(255,255,255,.45); }
.footer { background:#05070d; color:#858c9c; padding:25px 0; font-size:.8rem; }
.footer-inner { display:flex; justify-content:space-between; gap:20px; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  .gallery-grid img, .btn { transition:none; }
}
@media (max-width: 920px) {
  :root { --shell:min(100% - 28px, 760px); }
  .menu-btn { display:block; }
  .nav-links { position:absolute; top:72px; right:14px; width:min(320px,calc(100vw - 28px)); padding:18px; border-radius:20px; background:rgba(9,11,20,.97); backdrop-filter:blur(18px); display:none; flex-direction:column; align-items:stretch; gap:4px; box-shadow:var(--shadow); }
  .nav-links.open { display:flex; }
  .nav-links a, .lang-btn { padding:11px 12px; }
  .lang-btn { text-align:left; border:0; background:transparent; }
  .hero-content { padding-top:150px; padding-bottom:150px; }
  .hero h1 { font-size:clamp(3.4rem,14vw,6.2rem); }
  .hero-stats { grid-template-columns:1fr 1fr; }
  .split, .bid-grid, .partner-grid, .coaches-layout { grid-template-columns:1fr; gap:36px; }
  .timeline { grid-template-columns:1fr 1fr; }
  .momentum-grid { grid-template-columns:1fr; min-height:unset; }
  .momentum-copy { padding-bottom:20px; }
  .jump-photo { max-height:480px; }
  .gallery-grid { grid-auto-rows:150px; }
  .g1,.g2,.g3,.g4,.g5 { grid-column:span 12; grid-row:span 2; }
  .final-inner { align-items:flex-start; }
}
@media (max-width: 600px) {
  .nav { height:72px; }
  .brand img { width:42px; height:42px; }
  .brand span { display:none; }
  .hero-media { object-position:58% center; }
  .hero-content { padding-bottom:130px; }
  .hero h1 { font-size:clamp(3rem,17vw,5.2rem); }
  .hero-stats { margin-bottom:10px; }
  .hero-stats div { padding:15px 10px 12px 0; }
  .section { padding:76px 0; }
  .section-copy h2, .section-heading h2, .momentum-copy h2, .final-inner h2 { font-size:clamp(2.2rem,11vw,3.4rem); }
  .timeline { grid-template-columns:1fr; }
  .year-card { min-height:170px; }
  .year-card h3 { margin-top:22px; }
  .partner-options { grid-template-columns:1fr; }
  .final-inner { flex-direction:column; gap:25px; }
  .final-inner > img { width:110px; height:110px; }
  .footer-inner { flex-direction:column; }
}

/* v2 additions */
.story-note { margin-top:24px; padding-left:18px; border-left:3px solid var(--teal); color:#303642 !important; font-weight:650; }
.training-head { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:end; margin-bottom:38px; }
.training-head h2 { font-size:clamp(2.45rem,5vw,4.7rem); letter-spacing:-.055em; line-height:.96; margin:0; max-width:820px; }
.training-head > p { margin:0; color:#5b6070; font-size:1.06rem; max-width:600px; }
.training-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:190px; gap:13px; }
.training-grid figure { margin:0; border-radius:22px; overflow:hidden; background:#d8d8dd; }
.training-grid img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.training-grid figure:hover img { transform:scale(1.02); }
.training-a { grid-column:span 7; grid-row:span 2; }
.training-b { grid-column:span 5; grid-row:span 2; }
.training-c { grid-column:span 5; grid-row:span 2; }
.training-d { grid-column:span 7; grid-row:span 2; }
.club-team { background:linear-gradient(180deg,#f4f1f7 0%,#eef8f7 100%); }
.team-intro { display:grid; grid-template-columns:1fr .8fr; gap:70px; align-items:end; }
.team-intro > p { margin:0 0 7px; color:#5b6070; font-size:1.07rem; max-width:560px; }
.coach-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.coach-profile { background:white; border-radius:26px; overflow:hidden; box-shadow:0 15px 45px rgba(18,22,35,.08); }
.coach-photo { height:360px; overflow:hidden; background:#dfe2e8; }
.coach-photo img { width:100%; height:100%; object-fit:cover; }
.coach-profile:first-child .coach-photo { background:linear-gradient(180deg,#ececf0 0%,#dedfe5 100%); }
.coach-profile:first-child .coach-photo img { object-fit:contain; object-position:center bottom; }
.coach-profile:nth-child(2) .coach-photo img { object-position:center 34%; }
.coach-profile:nth-child(3) .coach-photo img { object-position:center 22%; }
.coach-profile-copy { padding:28px 28px 31px; }
.coach-profile-copy h3 { font-size:1.8rem; line-height:1.05; margin:0 0 14px; letter-spacing:-.035em; }
.coach-profile-copy p { margin:0; color:#666c79; }
.travel-note { margin-top:22px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; border:1px solid rgba(17,19,26,.09); border-radius:18px; background:rgba(255,255,255,.58); }
.travel-note strong { font-size:.8rem; letter-spacing:.13em; text-transform:uppercase; color:#127f7a; }
.travel-note span { color:#4f5562; }
.gallery-heading { display:grid; grid-template-columns:1fr .72fr; gap:60px; align-items:end; }
.gallery-heading > p { margin:0 0 9px; color:#5b6070; font-size:1.03rem; max-width:520px; }
.gallery-grid.expanded { grid-auto-rows:170px; }
.gallery-grid.expanded .g1 { grid-column:span 7; grid-row:span 2; }
.gallery-grid.expanded .g2 { grid-column:span 5; grid-row:span 2; }
.gallery-grid.expanded .g3 { grid-column:span 5; grid-row:span 2; }
.gallery-grid.expanded .g4 { grid-column:span 7; grid-row:span 2; }
.gallery-grid.expanded .g5 { grid-column:span 7; grid-row:span 2; }
.gallery-grid.expanded .g6 { grid-column:span 5; grid-row:span 2; }

@media (max-width: 920px) {
  .training-head, .team-intro, .gallery-heading { grid-template-columns:1fr; gap:20px; }
  .training-grid { grid-auto-rows:160px; }
  .training-a,.training-b,.training-c,.training-d { grid-column:span 12; grid-row:span 2; }
  .coach-grid { grid-template-columns:1fr; }
  .coach-profile { display:grid; grid-template-columns:220px 1fr; }
  .coach-photo { height:100%; min-height:310px; }
  .gallery-grid.expanded .g1,.gallery-grid.expanded .g2,.gallery-grid.expanded .g3,.gallery-grid.expanded .g4,.gallery-grid.expanded .g5,.gallery-grid.expanded .g6 { grid-column:span 12; grid-row:span 2; }
}
@media (max-width: 600px) {
  .training-grid { grid-auto-rows:140px; }
  .coach-profile { display:block; }
  .coach-photo { height:360px; min-height:0; }
  .travel-note { align-items:flex-start; flex-direction:column; gap:5px; }
  .gallery-grid.expanded { grid-auto-rows:145px; }
}
