:root{--navy:#0a2240;--navy-deep:#061629;--red:#b22234;--red-bright:#cf2a3f;--gold:#d4a531;--gold-light:#f0c75e;--cream:#f7f1e3;--cream-soft:#fbf7ec;--ink:#1a1a1a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--cream-soft);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.topbar{background:var(--navy-deep);font-size:14px;font-weight:600;letter-spacing:.02em;padding:9px 16px;border-bottom:2px solid var(--gold)}.hero,.topbar{color:var(--cream);text-align:center}.hero{background:radial-gradient(ellipse at top,rgba(212,165,49,.16),transparent 60%),linear-gradient(180deg,var(--navy) 0,var(--navy-deep) 100%);padding:48px 20px 56px;position:relative;overflow:hidden}.eyebrow{display:inline-block;background:var(--red);color:#fff;font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase;padding:6px 16px;border-radius:999px;border:1.5px solid var(--gold-light)}.hero h1{font-size:clamp(38px,8vw,78px);line-height:.95;font-weight:900;margin:18px 0 6px;letter-spacing:-.01em;text-shadow:0 3px 18px rgba(0,0,0,.45)}.hero h1 .gold{color:var(--gold-light)}.hero .sub{font-size:clamp(17px,2.6vw,22px);color:#e8dfc8;max-width:640px;margin:0 auto 28px}.hero-graphic{display:block;width:100%;max-width:420px;height:auto;margin:28px auto 0;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.5);border:3px solid var(--gold)}.facts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:30px auto 0;max-width:760px}.fact{background:rgba(255,255,255,.08);border:1px solid rgba(240,199,94,.35);border-radius:12px;padding:14px 20px;min-width:150px;flex:1 1 150px}.fact .k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);font-weight:700}.fact .v{font-size:19px;margin-top:2px}.btn,.fact .v{font-weight:800;color:#fff}.btn{display:inline-block;background:var(--red-bright);font-size:18px;letter-spacing:.02em;text-decoration:none;padding:16px 38px;border-radius:999px;border:2px solid var(--gold-light);box-shadow:0 10px 28px rgba(178,34,52,.4);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(178,34,52,.5)}.btn-wrap{margin-top:30px}section{padding:56px 0}.section-title{text-align:center;font-size:clamp(28px,5vw,42px);font-weight:900;color:var(--navy);margin-bottom:8px}.section-title .star{color:var(--red)}.section-lead{text-align:center;max-width:680px;margin:0 auto 36px;font-size:18px;color:#44403a}.teams{background:var(--navy);color:var(--cream)}.teams .section-title{color:#fff}.team-grid{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:18px;gap:18px;align-items:stretch;max-width:820px;margin:0 auto}.team-card{border-radius:16px;padding:32px 26px;text-align:center;border:2px solid var(--gold)}.team-card.riders{background:linear-gradient(160deg,#7a1722,var(--red))}.team-card.defenders{background:linear-gradient(160deg,#14365f,#1f558c)}.team-card .emoji{font-size:46px}.team-card h3{font-size:26px;font-weight:900;margin:8px 0 6px;color:#fff}.team-card p{color:#f0e8d4;font-size:15px}.vs{display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;color:var(--gold-light)}.includes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:16px;gap:16px;max-width:860px;margin:0 auto}.include{background:#fff;border:1px solid #ece3cd;border-radius:14px;padding:22px 18px;text-align:center;box-shadow:0 4px 14px rgba(10,34,64,.05)}.include .emoji{font-size:34px}.include .label{font-weight:800;color:var(--navy);margin-top:6px;font-size:16px}.verse{background:linear-gradient(180deg,var(--navy-deep),var(--navy));color:var(--cream);text-align:center}.verse blockquote{font-size:clamp(22px,4vw,34px);font-weight:800;font-style:italic;max-width:760px;margin:0 auto 12px;color:var(--gold-light);line-height:1.3}.verse cite{font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:#cdbf9d}.register{background:var(--cream)}.form-card{background:#fff;max-width:620px;margin:0 auto;border-radius:18px;padding:36px 32px;box-shadow:0 16px 44px rgba(10,34,64,.12);border-top:6px solid var(--red)}.form-row{margin-bottom:16px}.form-row.two{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}label{display:block;font-weight:700;font-size:14px;color:var(--navy);margin-bottom:6px}label .opt{color:#9a8f78;font-weight:500}input,select,textarea{width:100%;font-size:16px;font-family:inherit;padding:12px 14px;border:1.5px solid #d8cfb8;border-radius:10px;background:#fdfbf5;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,165,49,.18)}.team-pick{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.team-opt{position:relative;cursor:pointer}.team-opt input{position:absolute;opacity:0;inset:0;cursor:pointer}.team-opt span{display:block;text-align:center;padding:14px 10px;border:2px solid #d8cfb8;border-radius:10px;font-weight:800;color:var(--navy);transition:all .12s ease}.team-opt input:checked+span{border-color:var(--gold);background:rgba(212,165,49,.12);box-shadow:0 0 0 3px rgba(212,165,49,.15)}.btn-submit{width:100%;margin-top:8px;border:none;font-size:19px}.btn-submit:disabled{opacity:.6;cursor:wait}.form-note{text-align:center;font-size:13px;color:#8a8170;margin-top:14px}.form-error{background:#fce8e8;border:1px solid #e7a3a3;color:#9a2020;padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:14px;font-weight:600}.thanks{text-align:center;padding:20px 10px}.thanks .big{font-size:56px}.thanks h3{font-size:28px;color:var(--navy);font-weight:900;margin:8px 0}.thanks p{color:#44403a;max-width:440px;margin:0 auto 8px;font-size:17px}footer{background:var(--navy-deep);color:#cdbf9d;text-align:center;padding:40px 20px}footer .name{color:#fff;font-weight:800;font-size:20px}footer a{color:var(--gold-light);text-decoration:none;font-weight:600}footer .small{font-size:13px;margin-top:14px;color:#8a8170}@media (max-width:600px){.team-grid{grid-template-columns:1fr}.vs{padding:4px 0}.form-row.two{grid-template-columns:1fr}}