:root{
  --ink:#101010;--paper:#f5f2eb;--white:#ffffff;--pink:#f07f9a;--pink2:#ff4e80;
  --lime:#cbea71;--blue:#52c7e8;--orange:#ff9347;--line:rgba(16,16,16,.15);
  --muted:#6d6a64;--radius:28px;--wrap:1220px
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none} button{font:inherit}.wrap{width:min(var(--wrap),calc(100% - 40px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(245,242,235,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,16,16,.08)}
.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:baseline;gap:5px;font-family:"Space Grotesk",sans-serif;font-weight:700;letter-spacing:-.04em}
.brand-mark{font-size:24px}.brand-name{font-size:23px}.brand-name span{color:#e7222f;font-size:1.28em}.brand small{font:800 10px/1 "Manrope";letter-spacing:.14em}
.main-nav{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.main-nav a{position:relative}.main-nav a:not(.ejc-link):after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--ink);transition:.2s}.main-nav a:hover:after{width:100%}
.ejc-link{padding:10px 14px;border:1px solid var(--ink);border-radius:999px}
.lang-switch{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:800}
.lang-btn{border:0;background:transparent;padding:5px 4px;cursor:pointer;opacity:.45;font-weight:800}.lang-btn.active{opacity:1;text-decoration:underline;text-underline-offset:4px}
.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}
.hero{position:relative;overflow:hidden;padding:84px 0 88px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center}
.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.hero h1,.section-heading h2,.registration-grid h2,.rules-title h2,.cross-promo h2{font-family:"Space Grotesk",sans-serif;letter-spacing:-.065em;line-height:.92;margin:18px 0}
.hero h1{font-size:clamp(64px,7vw,110px);max-width:760px}.hero h1 .lang-hr>span,.hero h1 .lang-en>span{position:relative;display:inline-block}
.hero h1 .lang-hr>span:after,.hero h1 .lang-en>span:after{content:"";position:absolute;height:17px;left:2%;right:-2%;bottom:2%;background:var(--lime);z-index:-1;transform:rotate(-1.5deg);border-radius:999px}
.hero-lead{font-size:19px;max-width:610px;color:#4d4a45}.hero-actions{display:flex;gap:12px;margin:34px 0 42px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:12px;transition:.2s}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{transform:translateY(-2px);background:#262626}.btn-white{background:#fff;color:#111}.btn-ghost{border:1px solid var(--ink)}.btn-ghost:hover{background:#fff}
.hero-meta{display:flex;gap:42px}.hero-meta div{display:flex;flex-direction:column}.hero-meta strong{font-family:"Space Grotesk";font-size:25px;line-height:1}.hero-meta span{font-size:10px;letter-spacing:.12em;font-weight:800;margin-top:7px}
.hero-race-stack{display:grid;gap:16px}.race-card{border-radius:var(--radius);padding:27px 29px 25px;min-height:260px;box-shadow:0 16px 50px rgba(16,16,16,.08);transform:rotate(1deg);transition:.25s}
.race-card:nth-child(2){transform:rotate(-1.2deg)}.race-card:hover{transform:rotate(0) translateY(-4px)}.race-card--pink{background:var(--pink)}.race-card--lime{background:var(--lime)}
.race-card-top{display:flex;justify-content:space-between;align-items:center}.race-number{font-weight:800}.pill{border:1px solid var(--ink);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;letter-spacing:.09em}
.race-kicker{margin:28px 0 4px;font-size:11px;font-weight:800;letter-spacing:.1em}.race-card h2{font-family:"Space Grotesk";font-size:50px;letter-spacing:-.06em;margin:0 0 12px;line-height:1}
.distance-row{display:flex;align-items:center;gap:14px}.distance-row div{display:flex;flex-direction:column}.distance-row b{font-size:19px}.distance-row span{font-size:9px;font-weight:800;letter-spacing:.12em}.distance-row i{font-style:normal;opacity:.4}
.race-card>a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(16,16,16,.24);margin-top:22px;padding-top:16px;font-size:12px;font-weight:800;text-transform:uppercase}
.hero-shapes span{position:absolute;border-radius:50%;filter:blur(.2px);z-index:-1}.shape-a{width:220px;height:220px;background:var(--blue);left:-90px;top:80px;opacity:.35}.shape-b{width:300px;height:300px;background:var(--pink);right:-130px;bottom:-100px;opacity:.25}.shape-c{width:120px;height:120px;background:var(--orange);left:45%;bottom:30px;opacity:.2}
.quick-info{background:var(--ink);color:#fff}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}.info-tile{padding:27px 24px;border-right:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;gap:5px}.info-tile:first-child{border-left:1px solid rgba(255,255,255,.16)}.info-tile span{font-size:9px;letter-spacing:.14em;opacity:.55;font-weight:800}.info-tile strong{font-size:13px}
.section{padding:110px 0}.section-heading{display:grid;grid-template-columns:150px 1fr 360px;gap:35px;align-items:end;margin-bottom:50px}.section-heading h2{font-size:clamp(52px,6vw,82px);margin:0}.section-heading>p{margin:0;color:var(--muted);font-size:15px}.section-no{font-family:"Space Grotesk";font-size:14px;font-weight:700;display:block;margin-bottom:28px}.section-heading .kicker{margin:0}
.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.schedule-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.schedule-head{display:flex;justify-content:space-between;align-items:end;padding:24px 27px}.schedule-head.pink{background:var(--pink)}.schedule-head.lime{background:var(--lime)}.schedule-head div{display:flex;flex-direction:column}.schedule-head span{font-size:10px;font-weight:800;letter-spacing:.12em}.schedule-head strong{font-family:"Space Grotesk";font-size:28px}.schedule-head>b{font-size:13px}.timeline{padding:13px 27px 20px}.timeline>div{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid #ece9e2}.timeline>div:last-child{border-bottom:0}.timeline time{font-family:"Space Grotesk";font-weight:700}.timeline p{margin:0}.timeline .start{font-weight:800}.schedule-note{display:block;padding:0 27px 24px;color:var(--muted)}
.section-dark{background:var(--ink);color:#fff}.section-heading--light>p{color:rgba(255,255,255,.6)}.race-detail-grid{display:grid;grid-template-columns:1fr 330px;gap:24px}.race-detail-main{border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:34px}.race-detail-grid--light .race-detail-main{border-color:var(--line);background:#fff}.big-distance{display:grid;grid-template-columns:repeat(3,1fr)}.big-distance>div{padding:20px;border-right:1px solid currentColor}.big-distance>div:last-child{border-right:0}.big-distance span,.big-distance small{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;opacity:.62}.big-distance strong{display:block;font-family:"Space Grotesk";font-size:clamp(32px,4vw,54px);letter-spacing:-.06em;margin:6px 0}.detail-copy{font-size:17px;max-width:800px;margin:34px 20px 4px;color:rgba(255,255,255,.7)}.race-aside{background:var(--pink);color:#111;border-radius:var(--radius);padding:30px;display:flex;flex-direction:column}.race-aside--lime{background:var(--lime)}.race-aside span{font-size:10px;font-weight:800;letter-spacing:.12em}.race-aside>strong{font-family:"Space Grotesk";font-size:40px;letter-spacing:-.05em}.race-aside hr{width:100%;border:0;border-top:1px solid rgba(16,16,16,.25);margin:25px 0}.race-aside .btn{margin-top:auto}.eligibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px}.eligibility-grid span{font-size:10px;font-weight:800;letter-spacing:.11em}.eligibility-grid p{margin-bottom:0;color:var(--muted)}
.courses-section{background:#e7e3db}.course-tabs{display:flex;gap:8px;margin-bottom:22px}.course-tab{border:1px solid var(--ink);background:transparent;border-radius:999px;padding:11px 18px;font-weight:800;text-transform:uppercase;font-size:11px;cursor:pointer}.course-tab.active{background:var(--ink);color:#fff}.course-panel{display:none}.course-panel.active{display:block}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course-card{background:#fff;border-radius:22px;padding:16px}.course-placeholder{aspect-ratio:16/10;background:linear-gradient(135deg,rgba(82,199,232,.35),rgba(203,234,113,.35)),repeating-linear-gradient(45deg,transparent 0 14px,rgba(16,16,16,.035) 14px 15px);border-radius:15px;display:grid;place-items:center;border:1px solid rgba(16,16,16,.1)}.course-placeholder span{font:800 10px/1 "Manrope";letter-spacing:.16em}.course-card h3{font:700 24px/1.1 "Space Grotesk";letter-spacing:-.04em;margin:18px 5px 8px}.course-card p{color:var(--muted);font-size:13px;margin:0 5px 6px}
.registration-section{background:#fff}.registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.registration-grid h2{font-size:clamp(58px,6vw,82px)}.registration-lead{font-size:17px;max-width:600px;color:var(--muted)}.deadline{margin-top:34px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.deadline span{font-size:10px;font-weight:800;letter-spacing:.12em}.deadline strong{font:700 27px/1.1 "Space Grotesk";margin:5px 0}.deadline small{color:var(--muted);max-width:580px}.registration-actions{display:grid;gap:16px}.register-card{border-radius:var(--radius);padding:30px;min-height:220px;display:flex;flex-direction:column;transition:.2s}.register-card:hover{transform:translateY(-4px)}.pink-card{background:var(--pink)}.lime-card{background:var(--lime)}.register-card span{font-size:11px;font-weight:800;letter-spacing:.1em}.register-card strong{font:700 64px/1 "Space Grotesk";letter-spacing:-.06em;margin-top:15px}.register-card b{margin-top:auto;border-top:1px solid rgba(16,16,16,.3);padding-top:18px;font-size:12px}
.rules-section{background:var(--paper)}.rules-grid{display:grid;grid-template-columns:1.2fr repeat(2,1fr);gap:14px}.rules-title{grid-row:span 2;padding-right:30px}.rules-title h2{font-size:64px}.rule-chip{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.rule-chip>span{font:700 12px/1 "Space Grotesk";opacity:.4}.rule-chip strong{display:block;font:700 20px/1.1 "Space Grotesk";margin:25px 0 8px}.rule-chip p{margin:0;color:var(--muted);font-size:13px}
.cross-promo{background:var(--blue);padding:85px 0}.cross-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.cross-promo h2{font-size:clamp(50px,6vw,80px)}.cross-button{background:var(--ink);color:#fff;border-radius:var(--radius);padding:31px;min-height:230px;display:flex;flex-direction:column}.cross-button span{font-size:10px;letter-spacing:.12em;font-weight:800;opacity:.6}.cross-button strong{font:700 35px/1.1 "Space Grotesk";margin-top:10px}.cross-button b{margin-top:auto;border-top:1px solid rgba(255,255,255,.22);padding-top:17px;font-size:12px}
.footer{background:var(--ink);color:#fff;padding:48px 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:30px}.brand--footer{color:#fff}.footer p{color:rgba(255,255,255,.5);font-size:12px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:6px}.footer-grid>div:not(:first-child) span{font-size:9px;letter-spacing:.13em;font-weight:800;opacity:.45}.footer-grid>div:not(:first-child) strong,.footer-grid>div:not(:first-child) a{font-size:13px}
[hidden]{display:none!important}
@media (max-width: 1050px){.main-nav{gap:14px}.lang-switch{margin-left:auto}}
@media (max-width: 980px){.hero-grid,.registration-grid,.cross-grid{grid-template-columns:1fr}.section-heading{grid-template-columns:90px 1fr}.section-heading>p{grid-column:2}.race-detail-grid{grid-template-columns:1fr}.race-aside{min-height:260px}.quick-grid{grid-template-columns:1fr 1fr}.course-grid{grid-template-columns:1fr}.rules-grid{grid-template-columns:1fr 1fr}.rules-title{grid-row:auto;grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.header-inner{gap:12px}}
@media (max-width: 820px){.main-nav{position:fixed;inset:68px 0 auto 0;background:var(--paper);padding:24px 20px 28px;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;gap:18px}.main-nav.open{display:flex}.nav-toggle{display:block;order:3}.lang-switch{order:2;margin-left:auto}.header-inner{height:68px}}
@media (max-width: 760px){.wrap{width:min(100% - 28px,var(--wrap))}.hero{padding:48px 0 60px}.hero-grid{gap:42px}.hero h1{font-size:58px}.hero-lead{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.hero-meta{gap:26px}.race-card{padding:23px 21px}.race-card h2{font-size:42px}.distance-row{gap:8px;justify-content:space-between}.distance-row b{font-size:15px}.quick-grid{grid-template-columns:1fr}.info-tile,.info-tile:first-child{border-left:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.section{padding:78px 0}.section-heading{grid-template-columns:1fr;gap:10px}.section-heading>p{grid-column:auto}.section-heading .section-no{margin-bottom:10px}.section-heading h2{font-size:52px}.schedule-grid{grid-template-columns:1fr}.timeline>div{grid-template-columns:100px 1fr}.big-distance{grid-template-columns:1fr}.big-distance>div{border-right:0;border-bottom:1px solid currentColor}.big-distance>div:last-child{border-bottom:0}.eligibility-grid{grid-template-columns:1fr}.registration-grid{gap:36px}.rules-grid{grid-template-columns:1fr}.rules-title{grid-column:auto}.rules-title h2{font-size:50px}.footer-grid{grid-template-columns:1fr}}
