/* Logo gold belongs on navy; use navy for accent text on light surfaces. */
:root{--gold-deep:#263e60;--muted:#52606b;--soft:#f5f7fa}
body{overflow-wrap:break-word}
h1 em,.hero-copy h1 em{color:var(--gold-deep)}
.all-sfk-home .hero-copy h1{font-size:clamp(2.3rem,3.6vw,3.65rem);max-width:20ch;line-height:1.12}
.all-sfk-home .hero-copy h1 em{display:block;margin-top:.15em}
.hero-copy{padding-top:48px}
.hero-foot{display:flex;flex-wrap:wrap;gap:12px 24px}
.hero-foot a{font-size:.9rem;color:var(--ink);font-weight:700;min-height:44px;display:inline-flex;align-items:center;gap:9px;text-transform:none}
.hero-copy .outline-light:hover{background:#eef2f7;color:var(--ink)}
.all-sfk-home .hero-copy{background:var(--ink);color:white}
.all-sfk-home .hero-copy h1{color:white}
.all-sfk-home .hero-copy h1 em,.all-sfk-home .hero-copy .eyebrow.light{color:var(--gold)}
.all-sfk-home .hero-copy>p:not(.eyebrow){color:#e0e7ef}
.all-sfk-home .hero-copy .outline-light{color:white;border-color:#e0e7ef}
.all-sfk-home .hero-copy .outline-light:hover{background:white;color:var(--ink)}
.all-sfk-home .hero-foot{border-color:#718096}
.all-sfk-home .hero-foot a{color:var(--gold)}
.all-sfk-home .hero-copy :focus-visible{outline-color:var(--gold)!important;box-shadow:0 0 0 3px var(--ink)}
.football-hero h1 em{color:var(--gold)}
.event-shortcuts span{color:var(--ink)}
.home-events{background:#f5f7fa}
.home-events h2{margin-bottom:28px}
.home-events .event-feature{background:white}
.camp-prices{display:flex;flex-wrap:wrap;gap:5px 20px;margin-top:18px!important;color:var(--ink)!important;font-size:1.1rem!important}
.camp-prices strong,.camp-prices>span{font-weight:700}
.camp-prices small{display:block;flex-basis:100%;font-size:.8rem;font-weight:400;color:var(--muted)}
.event-copy .small{font-size:.8rem}
.event-action{max-width:240px}
.event-date strong{color:var(--gold)}
.camp-fallback{padding:28px;background:#f5f7fa;border:1px solid #cdd5de;border-radius:12px}
.booking-routes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.booking-routes>a{background:white;border:1px solid #cdd5de;border-left:4px solid var(--gold);padding:22px;text-decoration:none;color:var(--ink)}
.booking-routes strong,.booking-routes span{display:block}
.booking-routes span{font-size:.875rem;color:var(--muted)}
.booking-routes a:hover strong{text-decoration:underline}
.info-box{border-radius:12px;border:1px solid #cdd5de}
.booking-note{border-radius:0 12px 12px 0}
.trust-section{background:#fff9ea}
.trust-section .quote-panel{margin:0;background:white}
.trust-section .small{margin-top:15px}
.swim-feedback-link{border-left:4px solid var(--gold);padding:20px 24px;background:#f5f7fa;margin-bottom:40px}
.swim-feedback-link p{font-size:.95rem;margin-bottom:8px}
.safety-links{display:flex;gap:18px;flex-wrap:wrap;padding-block:28px;font-size:.9rem}
.enquiry-panel{min-width:0}
.form-fallback,.enquiry-form{padding:32px;background:#f5f7fa;border:1px solid #cdd5de;border-radius:12px}
.form-fallback h2{font-size:1.8rem;line-height:1.2}
.form-fallback .small{margin-top:22px}
.contact-options{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.enquiry-form .form-field{margin-bottom:22px}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{border-color:#718096;margin-bottom:0;min-width:0}
.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#52606b;opacity:1}
.enquiry-form .field-error{font-size:.875rem;color:#9c1c23;margin:7px 0 0}
.enquiry-form .field-error:empty{display:none}
.enquiry-form [aria-invalid=true]{border:2px solid #9c1c23}
.form-errors{border-left:4px solid #9c1c23;padding:16px;background:#fff3f3;margin-bottom:24px;color:#76151b}
.form-errors ul{padding-left:22px;margin-bottom:0}
.form-status{margin-top:18px;font-weight:700;overflow-wrap:anywhere}
.form-status:empty{display:none}
.form-status[data-state=success]{color:#125d37}
.form-status[data-state=error]{color:#9c1c23}
.enquiry-form button:disabled{cursor:wait;background:#e8cd89;color:#263e60}
.enquiry-form .policy-note{font-size:.875rem;line-height:1.65;margin-bottom:22px}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
:focus-visible{outline:3px solid #263e60!important;outline-offset:4px!important;box-shadow:0 0 0 3px white}
footer :focus-visible,.dark-section :focus-visible,.football-hero :focus-visible{outline-color:#dfb852!important;box-shadow:0 0 0 3px #263e60}
.menu-toggle{min-height:44px;min-width:74px}
.footer-bottom{color:#e0e7ef}
footer p{color:#d3dce6}
.hp-brand-panel a{color:var(--ink)}
.quick-contact{position:static;justify-content:flex-end;padding:15px 24px;background:var(--ink)}
footer{padding-bottom:20px}
.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.skip-link:focus-visible{z-index:1000}
@media(max-width:950px){.event-action{max-width:none}.home-hero,.hero-image{min-height:0}.all-sfk-home .hero-copy h1{font-size:clamp(2.2rem,4.5vw,3.1rem)}}
@media(max-width:700px){
 .all-sfk-home .hero-copy h1{font-size:clamp(2.05rem,7.3vw,3rem);max-width:24ch}
 .hero-copy .actions{display:flex;flex-direction:column;align-items:stretch}
 .hero-copy .actions .button{font-size:.95rem}
 .hero-foot{justify-content:flex-start;gap:6px 18px}
 .hero-foot a{font-size:.85rem}
 .booking-routes{grid-template-columns:1fr}
 .event-feature{grid-template-columns:1fr;padding:22px}
 .event-date{flex-direction:row;gap:12px;min-height:0;padding:10px 14px;justify-content:flex-start}
 .event-date strong{font-size:1.3rem;letter-spacing:0}
 .event-copy,.event-action{grid-column:1}
 .event-copy h3{font-size:1.7rem}
 .event-meta{font-size:.9rem}
 .event-action{flex-direction:column;align-items:stretch}
 .event-action .text-link{text-align:center;font-size:.85rem}
 .camp-prices{font-size:1.05rem!important}
 .form-fallback,.enquiry-form{padding:25px 20px}
 .quote-panel blockquote{font-size:1.3rem}
 .enquiry-form input,.enquiry-form textarea,.enquiry-form select{font-size:16px}
 .quick-contact{padding:18px 20px;gap:12px}
 .safety-links{padding-block:22px}
}
@media(max-width:370px){.hero-copy{padding-inline:15px}.detail-list>div{display:block}.detail-list dd{text-align:left}.trust-section .quote-panel{padding:26px}.hero-foot{gap:4px 12px}}
