:root{--navy:#052b48;--blue:#087fbc;--aqua:#19c6d1;--foam:#effbfc;--ink:#143044;--muted:#647887;--accent:#ffb020}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f7fafc}.navbar,footer{background:var(--navy)}.navbar{box-shadow:0 6px 24px #001c3020}.navbar-brand{letter-spacing:-.3px}.brand-mark{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,var(--aqua),var(--blue));margin-right:.45rem}.btn-accent{background:var(--accent);border-color:var(--accent);color:#18212a;font-weight:750}.btn-accent:hover{background:#ffc04c;border-color:#ffc04c}.btn-primary{background:var(--blue);border-color:var(--blue)}.hero{min-height:620px;display:flex;align-items:center;color:white;background:radial-gradient(circle at 85% 20%,#31dce055 0 12%,transparent 32%),linear-gradient(125deg,#031f34 0%,#07527b 62%,#0696aa 100%);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-65px;height:130px;border-radius:50% 50% 0 0;background:#f7fafc}.hero-content{position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;color:#8cf7f1}.display-title{font-size:clamp(2.7rem,7vw,5.7rem);line-height:.98;letter-spacing:-.055em;font-weight:850}.hero-card,.surface-card{background:white;border:1px solid #dce8ee;border-radius:22px;box-shadow:0 20px 55px #052b4814}.hero-card{background:#ffffff12;border-color:#ffffff38;backdrop-filter:blur(8px);color:white}.detail-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#ffffff18;font-size:1.25rem}.section-space{padding:5rem 0}.section-title{font-weight:800;letter-spacing:-.035em}.info-chip{display:inline-flex;padding:.5rem .85rem;border-radius:999px;background:#dcf6f6;color:#08707a;font-weight:700}.feature-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--foam);color:var(--blue);font-size:1.5rem}.form-control,.form-select{min-height:52px;border-radius:12px;border-color:#cbdbe3}.form-control:focus,.form-select:focus{border-color:var(--aqua);box-shadow:0 0 0 .25rem #19c6d125}.form-label{font-weight:700}.registration-shell{max-width:980px}.progress-steps{display:flex;overflow-x:auto;gap:.5rem;padding-bottom:.5rem}.progress-step{min-width:104px;padding:.7rem .85rem;border-radius:12px;background:#e8eff3;color:#5e7180;font-size:.82rem;font-weight:700}.progress-step.active{background:var(--blue);color:white}.form-step{display:none}.form-step.active{display:block}.event-card{display:block;border:2px solid #d8e5eb;border-radius:16px;padding:1rem;cursor:pointer;height:100%;transition:.2s}.event-card:has(input:checked){border-color:var(--blue);background:#eef9ff}.event-card input{width:20px;height:20px}.sticky-actions{position:sticky;bottom:0;background:#ffffffed;backdrop-filter:blur(8px);border-top:1px solid #dce8ee;padding:1rem;z-index:10}.review-row{padding:.8rem 0;border-bottom:1px solid #e6edf1}.status-badge{display:inline-flex;padding:.55rem .9rem;border-radius:999px;font-weight:800}.status-paid{background:#d9f7e7;color:#08723e}.status-pending{background:#fff1cf;color:#8d5a00}@media(max-width:767px){.hero{min-height:auto;padding:5rem 0 7rem}.section-space{padding:3.5rem 0}.surface-card{border-radius:16px}.sticky-actions{margin-left:-1rem;margin-right:-1rem}.display-title{font-size:3rem}}
/* Competition photography */
.site-logo{display:block;width:auto;height:72px;object-fit:contain}.footer-logo{width:auto;height:92px;object-fit:contain}.navbar{padding:.35rem 0}.navbar-brand{padding:0}
.hero{background-image:linear-gradient(90deg,rgba(2,23,39,.96) 0%,rgba(3,40,64,.86) 38%,rgba(3,43,67,.42) 68%,rgba(2,21,36,.2) 100%),url('../images/swimming-hero.png');background-position:center;background-size:cover}
@media(max-width:767px){.site-logo{height:58px}.footer-logo{height:76px}.hero{background-image:linear-gradient(180deg,rgba(2,23,39,.82),rgba(2,28,46,.96)),url('../images/swimming-hero.png');background-position:62% center}}
