:root{
  --navy:#1b184f;
  --green:#0b7554;
  --green2:#6ca15f;
  --mint:#62b1b4;
  --red:#ef332c;
  --blue:#1f70ad;
  --yellow:#ffe653;
  --cream:#f8e5b0;
  --light:#fff9e8;
  --text:#18162f;
  --radius:28px;
  --border:5px solid var(--navy);
  --container:min(1120px, calc(100vw - 36px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Mulish",Arial,sans-serif;background:var(--light);color:var(--text);overflow-x:hidden}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}

.topbar{
  position:fixed;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  z-index:60;
  width:var(--container);
  height:60px;
  background:#fff;
  border:var(--border);
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:6px 14px;
  box-shadow:8px 8px 0 var(--navy);
}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{height:55px;width:auto;display:block}
.site-nav{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
.site-nav a{
  font-weight:1000;
  font-size:16px;
  padding:8px 14px;
  border-radius:14px;
  border:4px solid transparent;
  transition:.18s ease;
  white-space:nowrap;
}
.site-nav a:hover,
.site-nav a:focus-visible{
  background:var(--yellow);
  border-color:var(--navy);
  box-shadow:4px 4px 0 var(--navy);
  transform:translate(-1px,-1px);
  outline:none;
}
.burger{
  display:none;
  width:44px;
  height:44px;
  background:var(--yellow);
  border:4px solid var(--navy);
  border-radius:14px;
  box-shadow:4px 4px 0 var(--navy);
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0;
  cursor:pointer;
  flex-direction:column;
}
.burger span{display:block;width:20px;height:3px;background:var(--navy);border-radius:999px;transition:.2s ease}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.section{padding:96px max(18px,calc((100vw - 1120px)/2)) 176px;position:relative;z-index:2}
.cream-zone{background:var(--cream)}
.green-zone{background:var(--green)}
.yellow-zone{background:var(--yellow)}
.section-divider{position:relative;overflow:hidden}
.section-divider::after{
  content:"";
  position:absolute;
  left:-6%;
  width:112%;
  height:86px;
  bottom:-1px;
  background:var(--next-bg,#fff);
  border-top:5px solid var(--navy);
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  z-index:1;
}
.next-cream{--next-bg:var(--cream)}
.next-runner{--next-bg:#2f74b3}
.next-green{--next-bg:var(--green)}
.next-yellow{--next-bg:var(--yellow)}

.pop-card{background:#fff;border:var(--border);border-radius:var(--radius);box-shadow:10px 10px 0 var(--navy)}
.pill{display:inline-block;background:var(--yellow);border:var(--border);box-shadow:6px 6px 0 var(--navy);border-radius:999px;padding:12px 18px;font-weight:1000;text-transform:uppercase}
.btn{border:var(--border);border-radius:18px;padding:16px 22px;font-weight:1000;box-shadow:6px 6px 0 var(--navy);transition:.2s transform,.2s box-shadow}
.btn:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--navy)}
.primary{background:var(--red);color:#fff}.secondary{background:#fff}

.hero{
  min-height:100svh;
  height:100svh;
  padding:94px max(18px,calc((100vw - 1120px)/2)) 132px;
  background:var(--mint);
  position:relative;
}
.hero-scene>*{position:absolute}
.hero-cloud{background:#aecd72;border-radius:55% 45% 60% 40%;opacity:.92}
.cloud-a{width:180px;height:68px;left:20px;top:160px}
.cloud-b{width:140px;height:55px;left:105px;top:220px;background:#6da0d0}
.hero-hill{border-radius:60% 40% 0 0}
.hill-a{left:-70px;bottom:120px;width:290px;height:110px;background:#a5c779}
.hill-b{left:40px;bottom:58px;width:210px;height:90px;background:#4580bf}
.hero-stadium{
  right:-36px;top:156px;width:min(520px,38vw);height:min(500px,50vh);
  border:10px solid var(--navy);border-radius:58% 0 0 22%;
  background:linear-gradient(to bottom,#1f70ad 0 16%,var(--navy) 16% 28%,#6ba05e 28% 32%,#a82233 32% 37%,#ef332c 37% 41%,#6ba05e 41% 100%);
  box-shadow:inset 0 26px 0 #1b5fb4;
}
.hero-stadium::before{content:"";position:absolute;inset:60px 18% 12% 20%;background:repeating-linear-gradient(to right,#f6ea7b 0 18px,transparent 18px 62px)}
.hero-stadium::after{content:"";position:absolute;left:12%;right:0;top:0;height:42px;background:repeating-linear-gradient(120deg,#7a1532 0 26px,#d53234 26px 54px,#efc454 54px 82px);border-radius:999px 999px 0 0}
.hero-side-wall{right:-80px;bottom:40px;width:320px;height:260px;border:10px solid var(--navy);background:linear-gradient(to bottom,#ef332c 0 22%,#1f70ad 22% 36%,var(--navy) 36% 62%,#77a867 62% 100%)}
.hero-side-wall::before{content:"";position:absolute;inset:18px;background:repeating-linear-gradient(to right,#f5df7d 0 22px,transparent 22px 86px);opacity:.75}

.hero-content{
  position:relative;z-index:3;max-width:1120px;margin:0 auto;height:calc(100svh - 200px);
  display:grid;grid-template-columns:1.02fr .98fr;gap:32px;align-items:center
}
.hero-copy h1{margin:16px 0 18px;font-size:clamp(46px,6.2vw,88px);line-height:.9;text-transform:uppercase;color:#fff;letter-spacing:-2px;text-shadow:none}
.hero-copy p{margin:0;max-width:560px;font-size:19px;line-height:1.35;font-weight:800;color:#fff}
.hero-info-inline{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.mini-card{background:#fff;border:var(--border);border-radius:18px;box-shadow:6px 6px 0 var(--navy);padding:14px 16px;min-width:210px}
.mini-card span{display:block;color:#68658f;font-weight:1000;text-transform:uppercase;font-size:12px;letter-spacing:.4px;margin-bottom:4px}.mini-card b{font-size:20px;color:var(--navy)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}
.hero-visuals{display:flex;flex-direction:column;gap:14px;min-width:0}
.poster-window{padding:14px;transform:rotate(1deg);background:#fffdf3}
.poster-window__label{display:inline-flex;background:var(--yellow);border:4px solid var(--navy);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:1000;text-transform:uppercase;margin-bottom:12px}
.poster-window__inner{border:var(--border);border-radius:24px;background:#fff;padding:10px}
.poster-window__image{width:100%;height:min(44vh,420px);object-fit:cover;object-position:center;border-radius:16px}
.hero-side-decor{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px;background:#fffdf3}
.decor-card{border:4px solid var(--navy);border-radius:20px;padding:14px 10px;text-align:center;box-shadow:4px 4px 0 var(--navy);display:flex;flex-direction:column;align-items:center;gap:10px}
.decor-card b{font-size:14px;text-transform:uppercase;color:var(--navy)}
.decor-card--red{background:#ffd8d1}.decor-card--yellow{background:#fff0b2}.decor-card--green{background:#d9f0d2}
.decor-icon{display:block;width:34px;height:34px;position:relative}
.decor-icon--ball{border:4px solid var(--navy);border-radius:50%;background:#fff}
.decor-icon--ball::before{content:"";position:absolute;inset:8px;background:var(--navy);clip-path:polygon(50% 0,100% 38%,81% 100%,19% 100%,0 38%)}
.decor-icon--star{background:var(--yellow);clip-path:polygon(50% 0,61% 34%,98% 35%,68% 57%,79% 92%,50% 71%,21% 92%,32% 57%,2% 35%,39% 34%);border:4px solid var(--navy)}
.decor-icon--cup::before{content:"";position:absolute;left:9px;top:5px;width:16px;height:18px;background:var(--yellow);border:4px solid var(--navy);border-radius:0 0 8px 8px}.decor-icon--cup::after{content:"";position:absolute;left:12px;bottom:1px;width:10px;height:7px;background:var(--yellow);border:4px solid var(--navy);border-radius:0 0 7px 7px}

.section-title{display:flex;align-items:flex-end;gap:18px;margin-bottom:34px;position:relative;z-index:3}
.section-title span{font-size:22px;font-weight:1000;background:var(--yellow);border:var(--border);border-radius:14px;padding:10px 16px;box-shadow:5px 5px 0 var(--navy)}
.section-title h2{font-size:clamp(42px,5vw,74px);line-height:.9;margin:0;text-transform:uppercase;color:var(--navy)}
.section-title.light h2{color:#fff}
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;position:relative;z-index:3}.big-card,.quote-card{border:var(--border);border-radius:var(--radius);box-shadow:10px 10px 0 var(--navy);padding:30px}.big-card{background:#fff}.quote-card{background:#f4dfa0}.big-card p,.quote-card p{font-size:22px;line-height:1.42;font-weight:800;margin:0}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.stats-row div{background:var(--green);color:#fff;border:4px solid var(--navy);border-radius:20px;padding:16px;text-align:center}.stats-row b{display:block;font-size:38px}.stats-row span{text-transform:uppercase;font-weight:1000;font-size:14px}.quote-mark{display:block;font-size:86px;line-height:.6;color:var(--red);font-weight:1000;margin-bottom:8px}

.runner-section{background:#2f74b3;padding:0 18px 120px;min-height:330px}
.runner-stage{position:relative;height:250px;max-width:1120px;margin:0 auto;z-index:3;background:linear-gradient(to bottom,transparent 0 36%,#8fb86c 36% 64%,#0b7b5a 64% 100%);border-bottom:5px solid var(--navy)}
.runner-stage::before{content:"";position:absolute;left:0;right:0;bottom:82px;border-top:7px dashed rgba(255,248,220,.95)}
.runner-player{--x:0px;position:absolute;left:40px;bottom:44px;width:100px;height:120px;transform:translateX(var(--x));transition:transform .08s linear}
.runner-player.reverse{transform:translateX(var(--x)) scaleX(-1)}
.runner-player span{position:absolute;display:block}
.runner-head{left:44px;top:4px;width:26px;height:26px;border-radius:50%;background:#ffd8b4;border:4px solid var(--navy)}
.runner-body{left:36px;top:28px;width:42px;height:42px;background:#ff5947;border:4px solid var(--navy);border-radius:18px 18px 12px 12px}
.runner-short{left:38px;top:64px;width:38px;height:18px;background:#2e77d0;border:4px solid var(--navy);border-top:none;border-radius:0 0 10px 10px}
.runner-arm{top:38px;width:32px;height:0;border-top:5px solid #ffe6cf;transform-origin:left center}
.arm-left{left:16px;transform:rotate(35deg)}
.arm-right{left:54px;transform:rotate(-28deg)}
.runner-leg{top:78px;width:35px;height:0;border-top:5px solid #fff;transform-origin:left center}
.leg-left{left:28px;transform:rotate(60deg)}
.leg-right{left:54px;transform:rotate(-62deg)}
.runner-ball{left:70px;bottom:4px;width:18px;height:18px;border:4px solid #fff;border-radius:50%;background:var(--navy);box-shadow:0 0 0 3px rgba(255,255,255,.15)}
.runner-player.running .arm-left{animation:armLeft .24s infinite alternate}
.runner-player.running .arm-right{animation:armRight .24s infinite alternate}
.runner-player.running .leg-left{animation:legLeft .24s infinite alternate}
.runner-player.running .leg-right{animation:legRight .24s infinite alternate}
@keyframes armLeft{from{transform:rotate(42deg)}to{transform:rotate(-24deg)}}
@keyframes armRight{from{transform:rotate(-32deg)}to{transform:rotate(26deg)}}
@keyframes legLeft{from{transform:rotate(62deg)}to{transform:rotate(-48deg)}}
@keyframes legRight{from{transform:rotate(-64deg)}to{transform:rotate(44deg)}}

.age-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0 34px;position:relative;z-index:3}.age-card{background:var(--yellow);border:var(--border);border-radius:24px;padding:28px;text-align:center;box-shadow:8px 8px 0 var(--navy)}.age-card b{display:block;font-size:32px;color:var(--red)}.age-card span{font-weight:1000;font-size:22px;text-transform:uppercase}.table-wrap{position:relative;z-index:3;overflow:auto;padding:16px;background:#fff}table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:20px}th,td{padding:18px;border-bottom:3px solid #e6e0c9;text-align:center;font-weight:900}th{background:var(--navy);color:#fff;text-transform:uppercase}td:nth-child(2),th:nth-child(2){text-align:left}tbody tr:nth-child(even){background:#f7f1d7}

.results-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px;position:relative;z-index:3}.result-card{background:#fff;border:var(--border);border-radius:24px;box-shadow:7px 7px 0 var(--navy);padding:24px}.result-card h3{margin:0 0 14px;font-size:22px;color:var(--blue)}.result-card b{display:block;font-size:27px;color:var(--red);line-height:1.1}.result-card span{display:block;margin-top:12px;font-weight:900;color:#666}

.gallery-slider{position:relative;z-index:3;padding:26px 74px;background:#fffdf0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gallery-photo{background:#fff;border:var(--border);border-radius:24px;box-shadow:8px 8px 0 var(--navy);overflow:hidden;cursor:pointer;transition:.2s transform,.2s box-shadow;padding:0}
.gallery-photo:hover{transform:translate(3px,3px);box-shadow:4px 4px 0 var(--navy)}
.gallery-photo img{width:100%;height:320px;object-fit:cover;object-position:center;border:none}
.gallery-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:54px;height:54px;border-radius:50%;border:5px solid var(--navy);
  background:var(--yellow);color:var(--navy);font-size:32px;font-weight:1000;line-height:1;
  box-shadow:5px 5px 0 var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.gallery-arrow.left{left:14px}.gallery-arrow.right{right:14px}.gallery-arrow.hidden{display:none}
.gallery-arrow:hover{transform:translateY(calc(-50% + 2px));box-shadow:3px 3px 0 var(--navy)}

.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:3}.partner-card{min-height:150px;background:#fff;border:var(--border);border-radius:26px;box-shadow:8px 8px 0 var(--navy);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-size:26px;font-weight:1000}.partner-card img{max-width:180px;max-height:90px;margin:auto}

.footer{background:var(--navy);color:#fff;padding:44px 0}.footer-inner{max-width:1120px;margin:0 auto;padding:0 18px;display:grid;grid-template-columns:1.1fr .9fr .8fr;gap:22px}.cardy{background:rgba(255,255,255,.08);border:4px solid rgba(255,255,255,.15);border-radius:24px;padding:22px}.footer-brand img{width:190px;background:#fff;border-radius:16px;padding:10px;margin-bottom:14px}.footer-brand p,.footer-card span,.footer-card a,.footer-card b{font-size:18px;line-height:1.45;font-weight:800;display:block;margin:0 0 7px}.footer-card h3{margin:0 0 14px;font-size:25px;color:var(--yellow)}.footer-card span:empty{display:none}.footer-card a{color:#fff2aa}

.lightbox{position:fixed;inset:0;background:rgba(10,10,22,.82);display:none;align-items:center;justify-content:center;z-index:100;padding:24px}.lightbox.open{display:flex}.lightbox img{max-width:min(1100px,92vw);max-height:88vh;border:6px solid #fff;border-radius:22px;box-shadow:0 20px 80px rgba(0,0,0,.4)}.lightbox-close{position:absolute;right:28px;top:20px;width:52px;height:52px;border:none;border-radius:50%;font-size:38px;background:#fff;color:var(--navy);cursor:pointer}

@media(max-width:980px){
  .topbar{width:calc(100% - 20px)}
  .hero{height:auto;min-height:100svh;padding-top:94px;padding-bottom:136px}
  .hero-content{height:auto;grid-template-columns:1fr;gap:24px}
  .hero-copy h1{font-size:58px}
  .hero-stadium{opacity:.42;width:42vw;height:34vh}
  .hero-side-wall{display:none}
  .about-grid,.results-list,.partners-grid,.footer-inner,.stats-row,.age-cards{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .topbar{padding:6px 10px;height:60px}
  .brand img{height:44px}
  .burger{display:flex}
  .site-nav{
    position:absolute;top:66px;left:0;right:0;background:#fff;padding:14px;
    border:var(--border);border-radius:24px;box-shadow:8px 8px 0 var(--navy);
    display:none;flex-direction:column;align-items:stretch;gap:8px
  }
  .site-nav.open{display:flex}
  .site-nav a{padding:12px 16px}
  .section{padding:78px 16px 156px}
  .hero{padding:84px 16px 126px}
  .hero-copy h1{font-size:42px}
  .hero-copy p{font-size:18px}
  .mini-card{width:100%;min-width:unset}
  .poster-window__image{height:300px}
  .hero-side-decor{grid-template-columns:1fr}
  .gallery-slider{padding:72px 16px}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-photo img{height:260px}
  .gallery-arrow{top:auto;bottom:16px;transform:none}
  .gallery-arrow.left{left:calc(50% - 70px)}
  .gallery-arrow.right{right:calc(50% - 70px)}
  .gallery-arrow:hover{transform:translateY(2px)}
  .footer-inner{grid-template-columns:1fr}
  .runner-stage{height:210px}
  .runner-player{left:10px;bottom:32px;transform:translateX(var(--x)) scale(.85)}
  .runner-player.reverse{transform:translateX(var(--x)) scale(.85) scaleX(-1)}
}

/* ===== patch v5 ===== */
.brand img{height:35px}
.hero-side-wall{display:none}
.hero-stadium{right:-24px;top:164px;width:min(420px,30vw);height:min(460px,46vh);opacity:.95}
.poster-window{padding:14px;background:#fffdf3}
.poster-window__inner{margin-top:0}
.hero-side-decor.spots-card{
  background:transparent;border:none;box-shadow:none;padding:0;min-height:120px;position:relative;overflow:visible;
}
.spot{position:absolute;display:block;border:5px solid var(--navy);border-radius:45% 55% 60% 40%/55% 40% 60% 45%}
.spot-a{left:12px;top:8px;width:110px;height:68px;background:#f7a7a0;transform:rotate(-8deg)}
.spot-b{left:110px;top:38px;width:148px;height:86px;background:#f6e896;transform:rotate(7deg)}
.spot-c{left:230px;top:2px;width:120px;height:70px;background:#a8d7a1;transform:rotate(-6deg)}
.spot-d{right:10px;top:56px;width:96px;height:56px;background:#98b5ec;transform:rotate(10deg)}
.spot-line{position:absolute;left:24px;right:24px;bottom:14px;height:0;border-top:5px solid var(--navy);transform:rotate(-4deg)}

.about-grid{align-items:start}
.format-card{background:#f4dfa0;border:var(--border);border-radius:var(--radius);box-shadow:10px 10px 0 var(--navy);padding:28px}
.format-card h3{margin:0 0 16px;font-size:34px;text-transform:uppercase;color:var(--navy)}
.big-card p,.format-card p{font-size:20px;line-height:1.45;font-weight:800;margin:0;white-space:pre-line}

.runner-section{position:relative;min-height:420px;background:var(--blue);border-top:8px solid var(--navy);border-bottom:8px solid var(--navy);overflow:hidden;padding:0 18px 0}
.runner-track{position:absolute;left:0;right:0;bottom:0;height:240px;background:var(--green)}
.runner-track:before{content:"";position:absolute;left:-10%;right:-10%;top:-120px;height:210px;background:#91c56f;border:8px solid var(--navy);border-radius:50% 50% 0 0}
.track-lines{position:absolute;left:0;right:0;bottom:55px;border-top:9px dashed var(--light)}
.runner{--x:0px;position:absolute;left:40px;bottom:70px;width:140px;height:170px;transform:translateX(var(--x));transition:transform .08s linear}
.runner-head{position:absolute;top:0;left:55px;width:44px;height:44px;background:#ffe1b1;border:5px solid var(--navy);border-radius:50%}
.runner-body{position:absolute;top:45px;left:40px;width:72px;height:72px;background:var(--red);border:5px solid var(--navy);border-radius:24px 24px 18px 18px;transform:rotate(-8deg)}
.runner-arm,.runner-leg{position:absolute;background:#ffe1b1;border:5px solid var(--navy);border-radius:999px;transform-origin:top center}
.runner-arm{width:23px;height:70px;top:52px}
.arm-one{left:33px;animation:armRun .5s infinite alternate}
.arm-two{left:100px;animation:armRun .5s infinite alternate-reverse}
.runner-leg{width:26px;height:82px;top:105px;background:#1f70ad}
.leg-one{left:45px;animation:legRun .45s infinite alternate}
.leg-two{left:86px;animation:legRun .45s infinite alternate-reverse}
.ball{position:absolute;left:135px;bottom:0;width:42px;height:42px;background:#fff;border:5px solid var(--navy);border-radius:50%;box-shadow:inset 12px 0 0 #fff;animation:ballSpin .6s linear infinite}
.ball:before{content:"";position:absolute;inset:9px;background:var(--navy);clip-path:polygon(50% 0,100% 40%,82% 100%,18% 100%,0 40%)}
@keyframes legRun{from{transform:rotate(35deg)}to{transform:rotate(-45deg)}}
@keyframes armRun{from{transform:rotate(-55deg)}to{transform:rotate(45deg)}}
@keyframes ballSpin{to{transform:rotate(360deg)}}

@media(max-width:980px){
  .hero-stadium{opacity:.35;width:38vw;height:36vh}
  .spots-card{min-height:90px}
  .spot-a{width:90px;height:58px}.spot-b{left:82px;width:118px;height:72px}.spot-c{left:190px;width:92px;height:58px}
}
@media(max-width:760px){
  .brand img{height:30px}
  .spot{transform:none !important}
  .hero-stadium{display:none}
  .hero-side-decor.spots-card{min-height:84px}
  .spot-a{left:6px;top:8px;width:82px;height:48px}
  .spot-b{left:68px;top:30px;width:100px;height:58px}
  .spot-c{left:146px;top:8px;width:80px;height:50px}
  .spot-d{right:0;top:36px;width:64px;height:42px}
  .spot-line{left:8px;right:8px;bottom:6px}
  .runner-section{min-height:330px}
  .runner-track{height:200px}
  .runner-track:before{top:-92px;height:160px}
  .runner{left:18px;bottom:52px;transform:translateX(var(--x)) scale(.74);transform-origin:left bottom}
}


/* ===== patch v6 ===== */
.hero-stadium{display:none !important;}
.hero-visuals{position:relative;padding-bottom:110px;}
.poster-window{position:relative;z-index:2;}
.poster-window__inner{padding:12px;}
.poster-window__image{
  height:min(58vh,560px) !important;
  object-fit:contain !important;
  object-position:center top !important;
  background:#fffdf3;
}
.hero-side-decor.spots-card{
  position:absolute;
  right:-18px;
  bottom:6px;
  width:360px;
  height:132px;
  min-height:0;
  margin:0;
  z-index:1;
  pointer-events:none;
}
.spot-a{left:18px;top:10px;}
.spot-b{left:118px;top:44px;}
.spot-c{left:240px;top:6px;}
.spot-d{right:6px;top:58px;}
.spot-line{left:36px;right:10px;bottom:18px;}

.runner-section{
  min-height:360px !important;
  background:#92c36d !important;
  border-top:none !important;
  border-bottom:none !important;
  padding:0 18px 0 !important;
}
.runner-track{
  height:210px !important;
  background:var(--green) !important;
  border-top:none !important;
}
.runner-track:before{display:none !important;}
.track-lines{bottom:58px;}
.runner{
  --dir:1;
  transform:translateX(var(--x)) scaleX(var(--dir));
  transform-origin:left bottom;
}
.runner.reverse{--dir:-1;}
.runner .arm-one,
.runner .arm-two,
.runner .leg-one,
.runner .leg-two,
.runner .ball{animation:none !important;}
.runner.running .arm-one{animation:armRun .5s infinite alternate !important;}
.runner.running .arm-two{animation:armRun .5s infinite alternate-reverse !important;}
.runner.running .leg-one{animation:legRun .45s infinite alternate !important;}
.runner.running .leg-two{animation:legRun .45s infinite alternate-reverse !important;}
.runner.running .ball{animation:ballSpin .6s linear infinite !important;}

@media(max-width:980px){
  .hero-visuals{padding-bottom:102px;}
  .hero-side-decor.spots-card{right:0;width:300px;height:114px;}
}
@media(max-width:760px){
  .hero-visuals{padding-bottom:86px;}
  .poster-window__image{height:340px !important;}
  .hero-side-decor.spots-card{
    right:0;
    left:auto;
    width:220px;
    height:88px;
    bottom:0;
  }
  .runner{transform:translateX(var(--x)) scale(.74) scaleX(var(--dir));transform-origin:left bottom;}
  .runner-section{min-height:300px !important;}
  .runner-track{height:180px !important;}
}


/* ===== patch v7 ===== */
.runner-section.section-divider::after{display:none !important;}
.runner-section{
  padding-bottom:34px !important;
}
.runner-track{
  overflow:visible;
}
.runner-track::before{
  display:block !important;
  content:"";
  position:absolute;
  left:-4%;
  right:-4%;
  top:-42px;
  height:86px;
  background:#96c56f;
  border-top:5px solid var(--navy);
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
}
.track-lines{z-index:2;}
.runner{--dir:1;z-index:3;transform:translateX(var(--x)) scaleX(var(--dir)) !important;transform-origin:center bottom !important;transition:transform .18s ease-out;}
.runner.reverse{--dir:-1;}
@media(max-width:760px){
  .runner-track::before{top:-34px;height:68px;}
  .runner{transform:translateX(var(--x)) scale(.74) scaleX(var(--dir)) !important;transform-origin:center bottom !important;}
}


/* ===== patch v9 ===== */
.poster-window{
  width:min(470px,100%);
  margin-left:auto;
  padding:10px !important;
  background:#fffdf3;
}
.poster-window__inner{
  padding:0 !important;
  background:transparent !important;
}
.poster-window__image{
  display:block;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:1638 / 2048;
  object-fit:cover !important;
  object-position:center top !important;
  border-radius:18px;
  background:transparent !important;
}

.runner-section{
  min-height:360px !important;
  background:#2f74b3 !important;
  padding:0 18px 0 !important;
  overflow:hidden;
}
.runner-track{
  left:0;
  right:0;
  bottom:0;
  height:220px !important;
  background:var(--green) !important;
  overflow:visible;
  z-index:2;
}
.runner-track::before{
  content:"";
  position:absolute;
  left:-8%;
  right:-8%;
  top:-92px;
  height:138px;
  background:#96c56f;
  border-top:5px solid var(--navy);
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  z-index:1;
}
.track-lines{
  z-index:2;
  bottom:70px;
}
.runner{z-index:3;}

@media(max-width:980px){
  .poster-window{width:min(430px,100%);}
}
@media(max-width:760px){
  .poster-window{width:min(320px,100%);padding:8px !important;}
  .poster-window__image{width:100% !important;height:auto !important;}
  .runner-section{min-height:300px !important;}
  .runner-track{height:190px !important;}
  .runner-track::before{top:-72px;height:110px;left:-10%;right:-10%;}
  .track-lines{bottom:56px;}
}


/* ===== patch v11: appear animations ===== */
.reveal{
  opacity:0;
  transform:translateY(34px) scale(.98);
  filter:blur(2px);
  transition:
    opacity .72s cubic-bezier(.2,.8,.2,1),
    transform .72s cubic-bezier(.2,.8,.2,1),
    filter .72s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:transform,opacity,filter;
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
}
.reveal-pop{transform:translateY(26px) scale(.9) rotate(-1.5deg);}
.reveal-pop.is-visible{transform:translateY(0) scale(1) rotate(0);}
.reveal-left{transform:translateX(-44px) scale(.98);}
.reveal-left.is-visible{transform:translateX(0) scale(1);}
.reveal-right{transform:translateX(44px) scale(.98);}
.reveal-right.is-visible{transform:translateX(0) scale(1);}
.reveal-drop{transform:translate(-50%,-24px) scale(.96);}
.reveal-drop.is-visible{transform:translate(-50%,0) scale(1);}

.topbar.reveal-drop{
  transition-duration:.62s;
}
.hero .pill.reveal-pop,
.section-title span.reveal-pop,
.btn.reveal-pop,
.mini-card.reveal-pop,
.age-card.reveal-pop,
.result-card.reveal-pop,
.gallery-photo.reveal-pop,
.partner-card.reveal-pop,
.cardy.reveal-pop{
  transition-timing-function:cubic-bezier(.18,1.15,.3,1);
}
.hero-copy h1.reveal-left{
  transition-duration:.82s;
}
.poster-window.reveal-right{
  transition-duration:.88s;
}

.hero-cloud,
.hero-hill,
.spot{
  animation:softFloat 5.8s ease-in-out infinite;
}
.cloud-b,.hill-b,.spot-b{animation-delay:.8s;}
.spot-c{animation-delay:1.25s;}
.spot-d{animation-delay:1.7s;}
.poster-window.is-visible{
  animation:posterTinyFloat 4.8s ease-in-out 1.1s infinite;
}
.decor-icon,
.section-title span.is-visible{
  animation:tinyBounce 2.4s ease-in-out infinite;
}
.result-card.is-visible:hover,
.age-card.is-visible:hover,
.partner-card.is-visible:hover,
.gallery-photo.is-visible:hover{
  transform:translate(3px,3px) scale(1.015);
}

@keyframes softFloat{
  0%,100%{transform:translateY(0) rotate(var(--float-rotate,0deg));}
  50%{transform:translateY(-8px) rotate(var(--float-rotate,0deg));}
}
@keyframes posterTinyFloat{
  0%,100%{transform:translateY(0) rotate(1deg);}
  50%{transform:translateY(-7px) rotate(.35deg);}
}
@keyframes tinyBounce{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-4px);}
}

@media (prefers-reduced-motion: reduce){
  .reveal,
  .reveal.is-visible,
  .hero-cloud,
  .hero-hill,
  .spot,
  .poster-window.is-visible,
  .decor-icon,
  .section-title span.is-visible{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
    animation:none !important;
  }
}


/* ===== patch v12: mobile spacing/menu/gallery/runner speed ===== */
@media(max-width:760px){
  .topbar{
    width:calc(100% - 32px) !important;
  }

  .hero-content{
    padding-top:30px !important;
  }

  .gallery-slider{
    padding:16px 16px 88px !important;
  }

  .gallery-arrow{
    top:auto !important;
    bottom:20px !important;
    transform:none !important;
  }

  .gallery-arrow:hover{
    transform:translateY(2px) !important;
  }

  .runner.running .arm-one{animation-duration:.36s !important;}
  .runner.running .arm-two{animation-duration:.36s !important;}
  .runner.running .leg-one{animation-duration:.34s !important;}
  .runner.running .leg-two{animation-duration:.34s !important;}
  .runner.running .ball{animation-duration:.46s !important;}
}

/* ===== patch v18: age tabs and partner modal ===== */
.age-card{
  cursor:pointer;
  appearance:none;
  width:100%;
  font:inherit;
  color:inherit;
  transition:.18s ease;
}
.age-card.active,
.age-card[aria-pressed="true"]{
  background:#fff;
  transform:translate(4px,4px);
  box-shadow:3px 3px 0 var(--navy);
  outline:0;
}
.age-card.active b,
.age-card[aria-pressed="true"] b{
  color:var(--navy);
}
.age-card.active::after,
.age-card[aria-pressed="true"]::after{
  content:"открыта";
  display:inline-block;
  margin-top:10px;
  padding:5px 12px;
  border:3px solid var(--navy);
  border-radius:999px;
  background:var(--red);
  color:#fff;
  font-size:13px;
  font-weight:1000;
  text-transform:uppercase;
}
.age-card:focus-visible{
  outline:4px solid #fff;
  outline-offset:4px;
}
.empty-table-message{
  text-align:center !important;
  padding:34px 18px;
  color:var(--navy);
  background:#f7f1d7;
}
.partner-card{
  appearance:none;
  width:100%;
  cursor:pointer;
  color:inherit;
  transition:.18s ease;
}
.partner-card:focus-visible{
  outline:4px solid var(--yellow);
  outline-offset:4px;
}
.partner-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(8,8,22,.74);
  z-index:120;
}
.partner-modal.open{display:flex;}
.partner-modal-card{
  position:relative;
  width:min(620px,calc(100vw - 32px));
  max-height:90vh;
  overflow:auto;
  background:#fff8df;
  border:6px solid var(--navy);
  border-radius:30px;
  box-shadow:12px 12px 0 var(--navy),0 24px 80px rgba(0,0,0,.28);
  padding:34px;
  text-align:center;
}
.partner-modal-close{
  position:absolute;
  right:18px;
  top:16px;
  width:48px;
  height:48px;
  border:5px solid var(--navy);
  border-radius:50%;
  background:var(--yellow);
  color:var(--navy);
  font-size:32px;
  line-height:1;
  font-weight:1000;
  cursor:pointer;
}
.partner-modal-logo{
  width:min(330px,100%);
  min-height:126px;
  margin:0 auto 22px;
  background:#fff;
  border:5px solid var(--navy);
  border-radius:24px;
  box-shadow:7px 7px 0 var(--navy);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  font-size:24px;
  font-weight:1000;
}
.partner-modal-logo img{
  max-width:220px;
  max-height:100px;
  object-fit:contain;
}
.partner-modal-card h3{
  margin:0 0 14px;
  color:var(--navy);
  font-size:36px;
  line-height:1.05;
  text-transform:uppercase;
}
.partner-modal-card p{
  margin:0;
  color:var(--text);
  white-space:pre-line;
  font-size:18px;
  line-height:1.45;
  font-weight:800;
}
.partner-modal-link{
  display:inline-block;
  margin-top:24px;
  background:var(--yellow);
  border:5px solid var(--navy);
  border-radius:16px;
  padding:13px 18px;
  box-shadow:5px 5px 0 var(--navy);
  font-weight:1000;
  color:var(--navy);
}
@media(max-width:760px){
  .partner-modal{padding:16px;}
  .partner-modal-card{padding:28px 18px 22px;border-radius:24px;}
  .partner-modal-card h3{font-size:27px;}
  .partner-modal-card p{font-size:16px;}
  .partner-modal-logo{min-height:108px;padding:18px;}
  .partner-modal-close{right:12px;top:10px;width:42px;height:42px;font-size:28px;}
}

/* ===== patch v19: participants by age groups ===== */
.age-card small{
  display:inline-block;
  margin-top:8px;
  padding:5px 12px;
  border:3px solid var(--navy);
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  font-size:13px;
  font-weight:1000;
  text-transform:uppercase;
}
.teams-groups-wrap{
  position:relative;
  z-index:3;
  padding:24px;
  background:#fff;
}
.teams-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.team-pool-card{
  background:#fff8df;
  border:var(--border);
  border-radius:24px;
  box-shadow:7px 7px 0 var(--navy);
  padding:22px;
}
.team-pool-card h3{
  margin:0 0 16px;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:8px 18px;
  border:4px solid var(--navy);
  border-radius:999px;
  background:var(--yellow);
  color:var(--navy);
  font-size:22px;
  line-height:1;
  text-transform:uppercase;
}
.team-pool-card ol{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.team-pool-card li{
  position:relative;
  display:flex;
  align-items:center;
  min-height:48px;
  padding:12px 14px 12px 46px;
  border:3px solid var(--navy);
  border-radius:16px;
  background:#fff;
  color:var(--navy);
  font-size:18px;
  font-weight:1000;
}
.team-pool-card li::before{
  content:"";
  position:absolute;
  left:15px;
  width:16px;
  height:16px;
  border:3px solid var(--navy);
  border-radius:50%;
  background:var(--red);
  box-shadow:3px 0 0 #fff inset;
}
.empty-groups-message{
  grid-column:1/-1;
  border:var(--border);
  border-radius:24px;
  background:#fff8df;
  padding:30px 18px;
  text-align:center;
  color:var(--navy);
  font-size:20px;
  font-weight:1000;
}
@media(max-width:760px){
  .teams-groups-wrap{padding:14px;}
  .teams-groups{grid-template-columns:1fr;gap:16px;}
  .team-pool-card{padding:16px;border-radius:20px;box-shadow:5px 5px 0 var(--navy);}
  .team-pool-card h3{font-size:18px;min-height:40px;margin-bottom:12px;}
  .team-pool-card li{font-size:16px;min-height:44px;padding-left:42px;}
}

/* ===== patch v20: final content corrections ===== */
.general-partner{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 26px;
  margin:-10px 0 30px;
  background:#fff;
}
.general-partner span{
  color:var(--blue);
  font-size:18px;
  font-weight:1000;
  text-transform:uppercase;
}
.general-partner b{
  color:var(--navy);
  font-size:clamp(28px,4vw,48px);
  line-height:1;
  text-transform:uppercase;
}
.results-soon-card{
  grid-column:1/-1;
  text-align:center;
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.results-soon-card h3{
  margin:0 0 10px;
  color:var(--red);
  font-size:clamp(40px,6vw,76px);
  line-height:1;
  text-transform:uppercase;
}
.results-soon-card p{
  margin:0;
  color:var(--navy);
  font-size:20px;
  font-weight:1000;
}
@media(max-width:760px){
  .general-partner{
    align-items:flex-start;
    flex-direction:column;
    padding:18px;
    margin:-6px 0 24px;
  }
  .general-partner span{font-size:14px;}
  .general-partner b{font-size:34px;}
  .results-soon-card{min-height:150px;}
  .results-soon-card p{font-size:16px;}
}


/* ===== patch v20: Excel-style team table by groups ===== */
.teams-groups-wrap{
  padding:16px;
  overflow:hidden;
}
.teams-groups{
  display:block;
}
.teams-table-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:22px;
  background:#fff;
}
.teams-table{
  width:100%;
  min-width:780px;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:18px;
}
.teams-table th,
.teams-table td{
  padding:15px 13px;
  border-right:2px solid #e6e0c9;
  border-bottom:2px solid #e6e0c9;
  text-align:center;
  font-weight:1000;
  color:var(--navy);
  background:#fff;
}
.teams-table th{
  background:var(--yellow);
  color:var(--navy);
  text-transform:lowercase;
  font-size:16px;
}
.teams-table th:nth-child(2),
.teams-table td:nth-child(2){
  text-align:left;
  min-width:250px;
}
.teams-table th:first-child,
.teams-table td:first-child{width:86px;}
.teams-table th:nth-child(n+3),
.teams-table td:nth-child(n+3){width:72px;}
.teams-table th:nth-child(7),
.teams-table td:nth-child(7){width:112px;}
.teams-table tr:last-child td{border-bottom:none;}
.teams-table th:last-child,
.teams-table td:last-child{border-right:none;}
.teams-table-group-row td{
  background:#fff8df;
  color:var(--red);
  text-transform:uppercase;
  font-size:18px;
}
.teams-table-group-row td:nth-child(2){
  color:var(--navy);
}
@media(max-width:760px){
  .teams-groups-wrap{padding:10px;border-radius:22px;}
  .teams-table{min-width:680px;}
  .teams-table th,.teams-table td{padding:12px 10px;font-size:14px;}
  .teams-table th:nth-child(2),.teams-table td:nth-child(2){min-width:190px;}
  .teams-table-group-row td{font-size:15px;}
}

/* ===== patch v23: Alfa logo and team logos in standings ===== */
.general-partner{
  justify-content:center;
  flex-direction:column;
  align-items:center;
  gap:12px;
  text-align:center;
}
.general-partner-logo{
  display:block;
  width:min(520px, 92%);
  max-height:150px;
  object-fit:contain;
  border-radius:18px;
  background:#fff;
}
.teams-table{
  min-width:900px;
}
.teams-table th:nth-child(2),
.teams-table td:nth-child(2){
  width:92px;
  min-width:92px;
  text-align:center;
}
.teams-table th:nth-child(3),
.teams-table td:nth-child(3){
  text-align:left;
  min-width:250px;
}
.teams-table th:first-child,
.teams-table td:first-child{width:76px;}
.teams-table th:nth-child(n+4),
.teams-table td:nth-child(n+4){width:72px;}
.teams-table th:nth-child(8),
.teams-table td:nth-child(8){width:112px;}
.teams-table-logo-cell img{
  width:44px;
  height:44px;
  object-fit:contain;
  display:block;
  margin:0 auto;
  border-radius:10px;
  background:#fff;
}
.teams-table-group-row td:nth-child(3){
  color:var(--navy);
}
@media(max-width:760px){
  .general-partner-logo{width:100%;max-height:120px;border-radius:14px;}
  .teams-table{min-width:780px;}
  .teams-table th:nth-child(3),.teams-table td:nth-child(3){min-width:190px;}
  .teams-table-logo-cell img{width:38px;height:38px;}
}
