:root{--gold:#b5a064;--cream:#f5f0e1;--black:#0a0a0a;--green:#5a8f29}*{box-sizing:border-box;margin:0;padding:0}body{font-family:'DM Sans',sans-serif;background:#fffdf7;color:var(--black);line-height:1.6;overflow-wrap:anywhere}h1,h2,h3{font-family:'Oswald',sans-serif;font-weight:700;line-height:.95}.hero{min-height:56vh;padding:10rem 4rem 5rem;display:grid;align-items:end;color:var(--cream);background:linear-gradient(90deg,rgba(10,10,10,.98),rgba(10,10,10,.38)),url('../images/team.jpg') center 52%/cover}.hero-inner,.section-inner{max-width:1200px;width:100%;margin:auto}.eyebrow{color:var(--gold);font-size:.75rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.hero h1{font-size:clamp(5rem,12vw,9rem);margin:.8rem 0 1rem}.hero p{max-width:680px;color:rgba(245,240,225,.82);font-size:1.15rem}.section{padding:6rem 4rem}.section:nth-child(even){background:var(--cream)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.section-heading h2{font-size:clamp(3.5rem,7vw,6rem)}.section-heading p{max-width:520px;color:rgba(10,10,10,.62)}.filters{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:2rem}.filter{border:1px solid rgba(10,10,10,.2);background:white;color:var(--black);padding:.8rem 1rem;cursor:pointer;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.74rem}.filter[aria-pressed=true]{background:var(--black);color:var(--cream)}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.info-card{background:white;border:1px solid rgba(10,10,10,.1);border-top:5px solid var(--gold);padding:1.7rem;box-shadow:0 16px 45px rgba(40,35,20,.08)}.info-card.football{border-top-color:var(--green)}.meta{color:#756327;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.info-card h2,.info-card h3{font-size:2.2rem;margin:.6rem 0}.info-card p{color:rgba(10,10,10,.62)}.details{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.2rem 0}.details span{font-size:.8rem;color:rgba(10,10,10,.58)}.details strong{display:block;color:var(--black)}.button{display:inline-block;background:var(--gold);color:var(--black);padding:.9rem 1.2rem;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.76rem}.faq-list{max-width:900px;margin:auto}.faq-list details{background:white;border:1px solid rgba(10,10,10,.1);margin-bottom:.8rem;padding:1.3rem}.faq-list summary{cursor:pointer;font-weight:800}.faq-list p{margin-top:.8rem;color:rgba(10,10,10,.62)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem}.contact-list{display:grid;gap:1rem}.contact-item{background:white;padding:1.4rem;border-left:5px solid var(--gold)}.contact-item strong{display:block}.form{background:white;padding:2rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;box-shadow:0 16px 45px rgba(40,35,20,.08)}.form label{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.form input,.form textarea,.form select{width:100%;min-width:0;margin-top:.35rem;padding:.9rem;border:1px solid rgba(10,10,10,.25);font:inherit}.full{grid-column:1/-1}.consent{display:flex!important;gap:.7rem;align-items:start;text-transform:none!important;letter-spacing:0!important;font-weight:500!important}.consent input{width:auto;margin-top:.25rem}.text-sections{display:grid;gap:1.2rem}.text-section{background:white;padding:2rem;border:1px solid rgba(10,10,10,.1)}.text-section h2{font-size:2rem;margin-bottom:.7rem}.text-section p{color:rgba(10,10,10,.65)}footer{background:var(--black);color:rgba(245,240,225,.65);padding:3rem;text-align:center}footer a{color:var(--gold)}@media(max-width:1024px){.hero{padding-left:2rem;padding-right:2rem}.section{padding:5rem 2rem}.contact-grid{grid-template-columns:1fr;gap:2rem}.section-heading{align-items:stretch;flex-direction:column;gap:1rem}}@media(max-width:700px){.hero{min-height:48vh;padding:7rem 1.1rem 3rem}.hero h1{font-size:clamp(3.7rem,18vw,5.8rem)}.hero p{font-size:1rem}.section{padding:3.5rem 1.1rem}.section-heading{margin-bottom:1.75rem}.section-heading h2{font-size:clamp(3rem,15vw,4.5rem)}.card-grid,.form{grid-template-columns:1fr}.full{grid-column:auto}.details{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.filter{padding:.75rem .35rem}.info-card,.text-section,.form{padding:1.25rem}.contact-item,.faq-list details{padding:1.1rem}.button{width:100%;text-align:center}}

/* The contact heading sits in a narrow column, so it needs a more compact
   rhythm than the shared full-width section-heading treatment. */
body.contact-page .contact-grid{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
body.contact-page .contact-grid .section-heading{display:block;margin-bottom:1.75rem}
body.contact-page .contact-grid .section-heading h2{max-width:8ch;margin-top:.5rem;font-size:clamp(3.25rem,5vw,4.75rem);line-height:.96}
body.contact-page .contact-list{gap:.75rem}
body.contact-page .contact-item{padding:1.15rem 1.25rem}
body.contact-page .form{gap:1.15rem;padding:clamp(1.5rem,3vw,2.25rem)}
@media(max-width:900px){body.contact-page .contact-grid{grid-template-columns:1fr}body.contact-page .contact-list{grid-template-columns:repeat(2,minmax(0,1fr))}body.contact-page .contact-grid .section-heading h2{max-width:none}}
@media(max-width:600px){body.contact-page .contact-list{grid-template-columns:1fr}body.contact-page .contact-grid .section-heading{margin-bottom:1.35rem}body.contact-page .contact-grid .section-heading h2{font-size:clamp(3rem,14vw,4rem)}}
