:root {
  --navy:#052d5b;
  --navy2:#031e43;
  --blue:#087bc7;
  --cyan:#22bff0;
  --ice:#edf8ff;
  --soft:#f4f9fd;
  --gold:#f3ba35;
  --gold2:#d99a16;
  --ink:#11263f;
  --muted:#64788e;
  --white:#fff;
  --radius:22px;
  --shadow:0 22px 55px rgba(3,44,89,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 38px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(12,64,112,.09)}
.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-event{width:64px;height:48px;object-fit:contain;border-radius:8px}.brand-copy{display:grid;line-height:1.15}.brand-copy strong{color:var(--navy);font-size:14px}.brand-copy small{font-size:11px;color:#6a7f94;margin-top:4px}
.main-nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700;color:#29445f}.main-nav>a:not(.btn):hover{color:var(--blue)}.nav-toggle{display:none;border:0;background:var(--navy);color:#fff;width:42px;height:42px;border-radius:12px;font-size:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 21px;font-weight:800;transition:.2s ease;border:1px solid transparent;gap:8px}.btn:hover{transform:translateY(-2px)}.btn-sm{padding:9px 15px;font-size:13px}.btn-lg{padding:15px 25px}.btn-primary{background:linear-gradient(135deg,var(--blue),#0aa7db);color:#fff;box-shadow:0 12px 26px rgba(7,124,199,.28)}.btn-gold{background:linear-gradient(135deg,#ffd86c,var(--gold2));color:#092c54;box-shadow:0 12px 26px rgba(226,161,26,.22)}.btn-ghost{border-color:rgba(255,255,255,.42);color:#fff;background:rgba(255,255,255,.08)}.btn-outline-light{border-color:rgba(255,255,255,.5);color:#fff}
.hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#031d42 0%,#054d8c 45%,#0f9bd6 100%);min-height:650px;display:grid;align-items:center;color:#fff}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,30,67,.95) 0%,rgba(3,45,87,.82) 42%,rgba(5,63,105,.38) 72%,rgba(4,44,82,.72) 100%),url('assets/kolam-sumber-dandang.jpg') center/cover no-repeat;filter:saturate(1.1)}.hero::after{content:"";position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(180deg,transparent,rgba(2,27,55,.9))}.hero-wave{position:absolute;border-radius:50%;border:40px solid rgba(78,207,255,.15);filter:blur(.2px)}.hero-wave-a{width:720px;height:720px;right:-290px;top:-220px}.hero-wave-b{width:580px;height:580px;left:-320px;bottom:-420px;border-color:rgba(255,206,79,.12)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .65fr;gap:55px;align-items:center;padding:94px 0 110px}.eyebrow,.kicker{letter-spacing:.18em;font-size:12px;font-weight:900;text-transform:uppercase}.eyebrow{color:#80dcff;margin-bottom:16px}.hero h1{font-size:clamp(48px,7vw,92px);line-height:.89;margin:0;letter-spacing:-.045em;text-shadow:0 5px 0 rgba(0,0,0,.12)}.hero h1 span{color:#ffcb45}.hero-lead{font-size:18px;max-width:690px;color:#d8efff;margin:25px 0 22px}.hero-badges{display:flex;gap:10px;flex-wrap:wrap}.hero-badges span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:9px 13px;border-radius:999px;font-size:13px;font-weight:700}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.registration-state{margin-top:20px;color:#bfeaff;font-size:13px;font-weight:700}.hero-card{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(236,249,255,.96));color:var(--ink);border-radius:28px;padding:27px;box-shadow:0 32px 80px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.65)}.hero-logos{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:20px;border-bottom:1px solid #dfeaf4}.hero-event-logo{width:180px;height:125px;object-fit:contain}.hero-aquatic-logo{width:86px;height:105px;object-fit:contain}.countdown-title{text-align:center;font-size:13px;font-weight:900;color:var(--navy);letter-spacing:.12em;text-transform:uppercase;margin:20px 0 10px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.countdown div{background:#fff;border:1px solid #dcebf6;border-radius:14px;padding:11px 6px;text-align:center}.countdown strong{display:block;font-size:24px;color:var(--navy);line-height:1}.countdown span{font-size:10px;color:#778aa0;font-weight:800}.mini-link{display:block;text-align:center;margin-top:17px;color:var(--blue);font-size:13px;font-weight:800}
.section{padding:88px 0}.section-white{background:#fff}.section-soft{background:linear-gradient(180deg,#f7fbff,#edf7fc)}.section-blue{background:radial-gradient(circle at 100% 0%,rgba(41,189,239,.2),transparent 38%),linear-gradient(135deg,#052c5d,#073e79 60%,#064f8a);color:#fff}.section-heading{max-width:760px;margin-bottom:38px}.section-heading .kicker{color:var(--blue);margin-bottom:7px}.section-heading h2{font-size:clamp(32px,4.5vw,54px);line-height:1.04;margin:0 0 12px;letter-spacing:-.03em;color:var(--navy)}.section-heading p{margin:0;color:var(--muted);font-size:17px}.section-heading.light h2,.section-heading.light p{color:#fff}.section-heading.light .kicker{color:#7cddff}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.info-card{position:relative;background:#fff;border:1px solid #e1edf6;border-radius:20px;padding:23px;box-shadow:0 12px 30px rgba(7,54,100,.06)}.info-icon{font-size:26px}.info-card h3{font-size:13px;color:#6d8196;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 8px}.info-card p{margin:0;color:var(--navy)}.info-card p strong{font-size:19px}.info-card span{display:block;color:#72869c;font-size:12px;margin-top:5px}.venue-feature{display:grid;grid-template-columns:1.15fr .85fr;background:var(--navy);color:#fff;border-radius:28px;overflow:hidden;margin-top:28px;box-shadow:var(--shadow)}.venue-photo{min-height:330px}.venue-photo img{width:100%;height:100%;object-fit:cover}.venue-copy{padding:45px;align-self:center}.venue-copy h3{font-size:34px;margin:10px 0}.venue-copy p{color:#d5ebff}.tag{display:inline-flex;letter-spacing:.14em;font-size:11px;font-weight:900;color:#5bd2ff}.tag-gold{color:#ffd660}.text-link{font-weight:800;color:#70d9ff}
.race-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.race-card{position:relative;min-height:155px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:25px;overflow:hidden}.race-card::after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:rgba(42,193,242,.12);right:-20px;bottom:-30px}.race-no{font-size:12px;font-weight:900;color:#7fe0ff}.race-card h3{font-size:19px;margin:18px 0 7px}.race-card p{margin:0;color:#cbe8fb}.relay-card{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin-top:18px;background:linear-gradient(135deg,rgba(255,210,94,.16),rgba(255,255,255,.08));border:1px solid rgba(255,213,90,.34);border-radius:22px;padding:26px}.relay-icon{font-size:42px}.relay-card h3{font-size:27px;margin:8px 0}.relay-card p{margin:0;color:#e8f4ff}
.age-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.age-card{background:#fff;border:1px solid #deebf5;border-radius:18px;padding:20px;box-shadow:0 8px 23px rgba(7,55,99,.05);display:flex;align-items:center;gap:17px}.age-card span{background:var(--navy);color:#fff;border-radius:12px;padding:8px 10px;font-size:11px;font-weight:900}.age-card strong{color:var(--navy);font-size:16px}.age-detail-wrap{margin-top:34px;background:#fff;border-radius:24px;padding:30px;border:1px solid #dfeaf3}.age-detail-wrap>h3{color:var(--navy);font-size:26px;margin-top:0}.age-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.age-detail-grid article{padding:17px;border-radius:14px;background:#f5faff;border:1px solid #e3eff6}.age-detail-grid h4{margin:0 0 8px;color:#07589a}.age-detail-grid p{font-size:13px;margin:0;color:#61788d}
.timeline{position:relative;display:grid;gap:0;max-width:920px;margin:0 auto}.timeline::before{content:"";position:absolute;left:67px;top:30px;bottom:30px;width:2px;background:#dce8f2}.timeline-item{position:relative;display:grid;grid-template-columns:135px 1fr;gap:25px;padding:20px 0}.timeline-date{position:relative;z-index:1;width:88px;height:44px;display:grid;place-items:center;border-radius:999px;background:#eaf5fc;color:#0768ad;font-size:12px;font-weight:900;box-shadow:0 0 0 7px #fff}.timeline-item h3{margin:2px 0 5px;color:var(--navy)}.timeline-item p{margin:0;color:#657b90}.timeline-item.featured .timeline-date{background:linear-gradient(135deg,#ffe28e,var(--gold));color:#11325b}.timeline-item.featured h3{color:#d89312}
.registration-section{background:linear-gradient(135deg,#03254f,#075c9b 58%,#0789bf);color:#fff;position:relative;overflow:hidden}.registration-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(50,212,255,.2),transparent 35%)}.registration-grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}.registration-grid h2{font-size:clamp(38px,5vw,60px);line-height:1;margin:10px 0 16px}.registration-grid>div:first-child>p{font-size:17px;color:#d7ebf9;max-width:680px}.registration-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.price-card{background:#fff;color:var(--navy);border-radius:28px;padding:32px;box-shadow:0 28px 60px rgba(0,0,0,.2);text-align:center}.price-card>span{font-size:12px;font-weight:900;letter-spacing:.14em;color:#668099}.price-card>strong{display:block;font-size:48px;color:#e49b0d;line-height:1;margin:17px 0 8px}.price-card>small{font-weight:800}.price-card hr{border:0;border-top:1px solid #dfebf3;margin:22px 0}.price-card p{margin:6px 0}.price-card .deadline{font-size:12px;color:#71869a}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.contact-card{background:#fff;border:1px solid #dceaf4;border-radius:20px;padding:20px;display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;transition:.2s;box-shadow:0 10px 28px rgba(9,58,101,.05)}.contact-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.wa{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#22c45b;color:#fff;font-weight:900}.contact-card div{display:grid}.contact-card strong{color:var(--navy)}.contact-card small{color:#6a7f94}.arrow{font-size:24px;color:#219acb}.download-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:25px}.download-row a{font-weight:800;color:#0a6eae}
.site-footer{position:relative;background:#021e43;color:#fff;padding:42px 0 32px;overflow:hidden}.footer-wave{position:absolute;left:0;right:0;top:-7px;height:14px;background:linear-gradient(90deg,#16bcec,#0b68b8,#f4bd38,#0b68b8,#16bcec)}.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:32px;align-items:center}.footer-brand{display:flex;align-items:center;gap:15px}.footer-brand img{width:72px;height:58px;object-fit:contain;border-radius:8px;background:#fff}.footer-brand div{display:grid}.footer-brand span,.footer-meta span{font-size:12px;color:#a9c7e1}.footer-meta{display:grid;text-align:right}.footer-aquatic{width:70px;height:86px;object-fit:contain;filter:brightness(0) invert(1);opacity:.92}
@media (max-width:980px){.main-nav{position:absolute;left:19px;right:19px;top:70px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:18px;display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.nav-toggle{display:grid;place-items:center}.hero-grid,.registration-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-grid{padding:70px 0 90px}.hero-card{max-width:650px}.info-grid,.race-grid{grid-template-columns:repeat(2,1fr)}.venue-feature{grid-template-columns:1fr}.age-grid,.age-detail-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr auto}.footer-meta{display:none}}
@media (max-width:640px){.container{width:min(100% - 28px,1180px)}.brand-copy{display:none}.site-header{position:sticky}.hero h1{font-size:51px}.hero-lead{font-size:16px}.hero-grid{gap:32px}.hero-card{padding:20px}.hero-event-logo{width:145px}.info-grid,.race-grid,.age-grid,.age-detail-grid,.contact-grid{grid-template-columns:1fr}.section{padding:68px 0}.venue-copy{padding:30px}.relay-card{grid-template-columns:1fr}.timeline::before{left:43px}.timeline-item{grid-template-columns:88px 1fr;gap:12px}.timeline-date{width:70px}.footer-grid{grid-template-columns:1fr}.footer-aquatic{display:none}.footer-brand{justify-content:center;text-align:center}.registration-actions{display:grid}.btn{width:100%}.hero-actions .btn{width:auto}.hero-badges{display:grid}.countdown strong{font-size:20px}}
