@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@600;700;800;900&display=swap");

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f1ea;color:#0a1730;font-family:"Inter",Arial,Helvetica,sans-serif;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1240px,calc(100% - 48px));margin:auto}:root{--ink:#07172f;--ink2:#0d284c;--orange:#ff5b13;--green:#89c540;--cream:#f3f1ea;--white:#fff;--muted:#6c7582;--line:rgba(7,23,47,.14);--radius:18px;--shadow:0 28px 65px rgba(4,18,40,.16)}

/* utility strip */
.topbar{height:34px;background:var(--orange);color:#fff;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center}.topbar .container{display:flex;justify-content:space-between;gap:20px}.topbar span:last-child{opacity:.85}

/* navigation */
.header{position:sticky;top:0;z-index:100;background:rgba(243,241,234,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(7,23,47,.08)}.nav{min-height:82px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand img{width:62px;height:62px;object-fit:contain;mix-blend-mode:multiply}.brand b{font-size:12px;line-height:1.1;letter-spacing:.08em}.menu{display:flex;align-items:center;gap:20px}.menu a{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;position:relative;padding:30px 0}.menu a:after{content:"";position:absolute;height:4px;left:0;right:100%;bottom:0;background:var(--orange);transition:.25s}.menu a:hover:after,.menu a.active:after{right:0}.menu a.active{color:var(--orange)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;padding:15px 21px;border:0;cursor:pointer;transition:.24s;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.nav-cta,.btn-primary{background:var(--orange);color:#fff}.nav-cta:hover,.btn-primary:hover{background:var(--ink);transform:translateY(-2px)}.btn-secondary{background:var(--green);color:var(--ink)}.btn-outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.btn-outline:hover{background:var(--ink);color:#fff}.mobile-toggle{display:none;background:var(--ink);color:#fff;border:0;width:44px;height:44px;font-size:23px}

/* hero */
.hero{min-height:760px;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--ink);color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,23,47,.98) 0%,rgba(7,23,47,.84) 42%,rgba(7,23,47,.10) 78%),repeating-linear-gradient(115deg,transparent 0 120px,rgba(255,255,255,.025) 120px 122px);z-index:1}.hero:after{content:"SPORT FOR LIFE";position:absolute;left:-15px;bottom:-68px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);font-family:"Montserrat",Arial,sans-serif;font-size:clamp(110px,15vw,220px);white-space:nowrap;letter-spacing:-.04em;z-index:1}.hero-grid{width:100%;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;min-height:760px;position:relative}.hero-grid>div:first-child{position:relative;z-index:3;padding:72px 0}.hero-art{position:absolute;right:0;top:0;width:55vw;height:100%;z-index:0}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(7,23,47,.45))}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.95) contrast(1.04)}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--green);font-size:11px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;margin-bottom:19px}.eyebrow:before{content:"";width:34px;height:4px;background:currentColor;transform:skewX(-28deg)}.hero h1,.page-hero h1{font-family:"Montserrat",Arial,sans-serif;font-size:clamp(62px,7vw,104px);line-height:.87;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 25px;max-width:860px;font-weight:900}.hero h1 span,.page-hero h1 span{color:var(--orange);display:inline}.hero p{max-width:650px;font-size:17px;color:#d8dfeb;line-height:1.75}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:31px 0}.hero .btn-outline{color:#fff;box-shadow:inset 0 0 0 2px #fff}.hero .btn-outline:hover{background:#fff;color:var(--ink)}.mini-stats{display:flex;gap:0;margin-top:48px;border-top:1px solid rgba(255,255,255,.2);max-width:700px}.mini-stats div{padding:22px 34px 0 0;margin-right:34px}.mini-stats div+div{border-left:1px solid rgba(255,255,255,.18);padding-left:34px}.mini-stats strong{display:block;color:#fff;font-family:"Montserrat",Arial,sans-serif;font-size:34px;letter-spacing:.02em}.mini-stats span{display:block;color:#aebbd0;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

/* page hero */
.page-hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:84px 0}.page-hero:before{content:"";position:absolute;width:420px;height:420px;border:80px solid rgba(137,197,64,.08);border-radius:50%;left:-180px;bottom:-270px}.page-hero .wrap{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center;position:relative;z-index:2}.page-hero h1{font-size:clamp(52px,6vw,88px)}.page-hero p{font-size:17px;color:#c7d1df;max-width:660px}.page-hero img{width:100%;height:420px;object-fit:cover;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);box-shadow:var(--shadow);filter:saturate(.95) contrast(1.04)}

/* shared sections */
.section{padding:100px 0;position:relative}.section.alt{background:#e9e7df}.section.dark{background:var(--ink);color:#fff}.section-head{max-width:800px;margin:0 auto 52px;text-align:center}.section-head.left{margin-left:0;text-align:left}.section-head .eyebrow{justify-content:center}.section-head.left .eyebrow{justify-content:flex-start}.section-head h2,.content h2,.contact-card h2{font-family:"Montserrat",Arial,sans-serif;font-size:clamp(42px,5vw,68px);line-height:.93;letter-spacing:-.01em;text-transform:uppercase;margin:0 0 18px}.section-head p,.content p{color:var(--muted);font-size:16px}.dark .section-head p,.dark .content p{color:#b8c5d8}

/* program cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.card{position:relative;background:#fff;border:1px solid rgba(7,23,47,.09);padding:30px;min-height:270px;overflow:hidden;transition:.28s}.card:before{content:"";position:absolute;width:110px;height:8px;left:-30px;top:0;background:var(--orange);transform:skewX(-38deg)}.card:nth-child(2n):before{background:var(--green)}.card:hover{transform:translateY(-8px);box-shadow:var(--shadow);background:var(--ink);color:#fff}.card .icon{width:58px;height:58px;display:grid;place-items:center;font-size:28px;background:#eef2e7;border-radius:50%}.card h3{font-family:"Montserrat",Arial,sans-serif;text-transform:uppercase;font-size:19px;line-height:1.15;margin:28px 0 10px}.card p{font-size:14px;color:#6d7785;margin:0 0 20px}.card:hover p{color:#c7d0dc}.card a{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--orange)}

/* split/photo */
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:74px;align-items:center}.visual{position:relative}.visual:before{content:"";position:absolute;inset:20px -20px -20px 20px;background:var(--orange);z-index:0;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.visual img{position:relative;z-index:1;width:100%;height:500px;object-fit:cover;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.checklist{display:grid;gap:12px;margin:27px 0 32px}.checklist div{display:flex;gap:12px;align-items:flex-start;font-weight:700}.checklist span{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;background:var(--green);color:var(--ink);font-weight:900;clip-path:polygon(18% 0,100% 0,82% 100%,0 100%)}

/* metrics */
.dark:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(118deg,transparent 0 150px,rgba(255,255,255,.025) 150px 152px);pointer-events:none}.metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.12)}.metric{padding:38px 26px;background:var(--ink)}.metric strong{display:block;color:var(--green);font-family:"Montserrat",Arial,sans-serif;font-size:54px;line-height:1}.metric span{display:block;margin-top:9px;color:#b7c2d1;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

/* program list */
.program-list{display:grid;gap:0;border-top:1px solid var(--line)}.program-row{display:grid;grid-template-columns:100px 1fr auto;gap:30px;align-items:center;padding:32px 18px;border-bottom:1px solid var(--line);transition:.25s}.program-row:hover{background:#fff;padding-left:30px}.program-row .num{font-family:"Montserrat",Arial,sans-serif;font-size:56px;color:rgba(7,23,47,.16);font-style:italic}.program-row h3{font-family:"Montserrat",Arial,sans-serif;text-transform:uppercase;margin:7px 0 5px;font-size:20px}.program-row p{margin:0;color:var(--muted)}.pill{display:inline-block;background:var(--green);color:var(--ink);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;padding:5px 9px;transform:skewX(-8deg)}

/* gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:15px}.gallery-card{grid-column:span 6;position:relative;overflow:hidden;background:var(--ink);color:#fff;min-height:390px}.gallery-card:nth-child(3n){grid-column:span 7}.gallery-card:nth-child(3n+1):not(:first-child){grid-column:span 5}.gallery-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.5s;filter:saturate(.9)}.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,23,47,.92))}.gallery-card:hover img{transform:scale(1.045)}.gallery-card .caption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px}.gallery-card h3{font-family:"Montserrat",Arial,sans-serif;text-transform:uppercase;font-size:22px;margin:0 0 6px}.gallery-card p{margin:0;color:#d7deea;font-size:13px}

/* team / logos */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.team-card{background:#fff;border-top:6px solid var(--orange);padding:26px;text-align:center}.avatar{width:92px;height:92px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;font-size:34px;background:var(--ink);color:#fff}.logo-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.logo-chip{min-height:130px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;text-align:center;font-family:"Montserrat",Arial,sans-serif;font-size:13px;letter-spacing:.08em;transition:.25s}.logo-chip:hover{background:var(--ink);color:#fff;transform:translateY(-5px)}

/* contact */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:0;background:#fff;box-shadow:var(--shadow)}.contact-card{background:var(--ink);color:#fff;padding:50px;position:relative;overflow:hidden}.contact-card:after{content:"";position:absolute;width:240px;height:240px;border:48px solid rgba(255,91,19,.12);border-radius:50%;right:-130px;bottom:-130px}.contact-card p{color:#c3cddd}.contact-card .notice{color:#ffd9ca}.form{padding:48px;display:grid;gap:15px}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form label{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.form input,.form textarea,.form select{width:100%;padding:15px 0;border:0;border-bottom:2px solid #d7dbe1;background:transparent;border-radius:0;font:inherit;outline:none}.form input:focus,.form textarea:focus,.form select:focus{border-bottom-color:var(--orange)}.form small{color:#7a8290}.notice{padding:14px 16px;border-left:4px solid var(--orange);background:rgba(255,255,255,.08);font-size:12px}

/* cta/footer */
.cta-band{position:relative;overflow:hidden;background:var(--orange);color:#fff;padding:45px 48px;display:flex;justify-content:space-between;align-items:center;gap:30px;clip-path:polygon(2% 0,100% 0,98% 100%,0 100%)}.cta-band:after{content:"GO";position:absolute;right:180px;top:-36px;color:rgba(255,255,255,.13);font-family:"Montserrat",Arial,sans-serif;font-size:150px;line-height:1}.cta-band> *{position:relative;z-index:1}.cta-band h3{font-family:"Montserrat",Arial,sans-serif;font-size:clamp(32px,4vw,52px);line-height:.95;text-transform:uppercase;margin:0}.footer{background:#031126;color:#fff;padding:68px 0 22px;border-top:8px solid var(--green)}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:42px}.footer img{width:108px;background:#fff;padding:6px}.footer h4{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:0 0 18px}.footer a,.footer p{display:block;color:#aab7ca;font-size:13px;margin:8px 0}.footer a:hover{color:#fff}.footer-bottom{margin-top:44px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;color:#72839d;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}

/* credits */
.credits-list{display:grid;gap:14px}.credit-item{background:#fff;border-left:6px solid var(--green);padding:24px}.credit-item h3{font-family:"Montserrat",Arial,sans-serif;text-transform:uppercase;margin:0 0 8px}.credit-item p{margin:5px 0;color:var(--muted)}.credit-item a{text-decoration:underline}

/* motion */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.show{opacity:1;transform:none}

@media(max-width:1080px){.menu{gap:13px}.menu a{font-size:10px}.nav-cta{display:none}.hero-art{width:58vw}.cards{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.container{width:min(100% - 32px,1240px)}.topbar{display:none}.nav{min-height:72px}.brand b{display:none}.brand img{width:54px;height:54px}.mobile-toggle{display:grid;place-items:center}.menu{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:20px 24px 30px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.menu.open{display:flex}.menu a{padding:7px 0;font-size:12px}.menu a:after{display:none}.hero{min-height:auto}.hero-grid{display:block;min-height:700px}.hero-art{position:absolute;width:100%;height:100%;opacity:.42}.hero:before{background:linear-gradient(90deg,rgba(7,23,47,.96),rgba(7,23,47,.72))}.hero-grid>div:first-child{max-width:760px;padding:92px 0}.page-hero .wrap,.split,.contact-grid{grid-template-columns:1fr}.page-hero img{height:350px}.split{gap:45px}.visual img{height:400px}.metrics{grid-template-columns:repeat(2,1fr)}.logo-wall{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.program-row{grid-template-columns:70px 1fr}.program-row .btn{grid-column:2}.gallery-card,.gallery-card:nth-child(3n),.gallery-card:nth-child(3n+1):not(:first-child){grid-column:span 6}.section{padding:78px 0}}
@media(max-width:620px){.container{width:min(100% - 24px,1240px)}.hero-grid{min-height:650px}.hero h1,.page-hero h1{font-size:52px}.hero p,.page-hero p{font-size:15px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr)}.mini-stats div{padding:16px 10px 0 0;margin:0}.mini-stats div+div{padding-left:10px}.mini-stats strong{font-size:26px}.cards,.metrics,.team-grid,.logo-wall,.footer-grid,.form .row{grid-template-columns:1fr}.card{min-height:auto}.page-hero{padding:62px 0}.page-hero img{height:280px}.section{padding:62px 0}.section-head h2,.content h2,.contact-card h2{font-size:40px}.gallery-card,.gallery-card:nth-child(3n),.gallery-card:nth-child(3n+1):not(:first-child){grid-column:span 12;min-height:330px}.program-row{grid-template-columns:1fr;padding:24px 5px}.program-row .num{font-size:42px}.program-row .btn{grid-column:1;justify-self:start}.contact-card,.form{padding:30px 24px}.cta-band{padding:36px 28px;align-items:flex-start;flex-direction:column}.footer-bottom{flex-direction:column;gap:7px}.visual:before{inset:12px -8px -12px 8px}.visual img{height:320px}.hero:after{font-size:92px;bottom:-24px}}


/* Premium typography refresh */
body{font-weight:400;letter-spacing:-.005em}
.menu a,.topbar,.nav-cta,.btn,.eyebrow,.mini-stats span,.metric span,.pill,.footer h4,.footer-bottom{font-family:"Montserrat",Arial,sans-serif}
.hero h1,.page-hero h1{font-weight:900;letter-spacing:-.045em;line-height:.91}
.section-head h2,.content h2,.contact-card h2,.cta-band h3{font-weight:800;letter-spacing:-.035em;line-height:1}
.card h3,.program-row h3,.gallery-card h3,.credit-item h3,.logo-chip{font-weight:800;letter-spacing:-.015em}
.hero:after,.mini-stats strong,.metric strong,.program-row .num{font-family:"Montserrat",Arial,sans-serif;font-weight:900}
.hero:after{letter-spacing:-.055em}
.hero p,.page-hero p,.section-head p,.content p,.card p,.program-row p,.gallery-card p,.footer p,.footer a,.form input,.form textarea,.form select{font-family:"Inter",Arial,Helvetica,sans-serif}
.form input,.form textarea,.form select{font-size:14px}


/* Typography and overflow fixes */
h1,h2,h3,h4,.brand b,.menu a,.btn,.nav-cta,.metric strong,.mini-stats strong,.program-row .num{
  overflow-wrap:normal;
  word-break:normal;
}
.hero h1,.page-hero h1{
  line-height:1.02;
  letter-spacing:-.035em;
  padding-bottom:.08em;
  max-width:100%;
}
.section-head h2,.content h2,.contact-card h2,.cta-band h3{
  line-height:1.08;
  letter-spacing:-.025em;
  padding-bottom:.05em;
}
.card h3,.program-row h3,.gallery-card h3,.credit-item h3{
  line-height:1.3;
  letter-spacing:-.01em;
}
.eyebrow,.menu a,.btn,.nav-cta,.metric span,.mini-stats span,.footer h4,.footer-bottom{
  letter-spacing:.055em;
}
.hero-grid>div:first-child,.page-hero .wrap>div,.split>div,.contact-grid>*{min-width:0}

/* Keep the crowded desktop navigation from colliding */
@media(max-width:1180px){
  .mobile-toggle{display:grid;place-items:center}
  .nav-cta{display:none}
  .menu{display:none;position:absolute;top:82px;left:0;right:0;background:var(--cream);padding:20px 24px 30px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(4,18,40,.12)}
  .menu.open{display:flex}
  .menu a{padding:8px 0;font-size:12px}
  .menu a:after{display:none}
}
@media(max-width:900px){.menu{top:72px}}
@media(max-width:620px){
  .hero h1,.page-hero h1{font-size:clamp(42px,13vw,54px);line-height:1.04;letter-spacing:-.03em}
  .section-head h2,.content h2,.contact-card h2{font-size:clamp(34px,10vw,42px);line-height:1.1}
  .cta-band h3{line-height:1.08}
}

/* Refined header typography */
.brand b{font-weight:500}
.menu a{font-weight:400;letter-spacing:.055em}
.nav-cta{font-weight:500}

/* Refined page heading typography */
.hero h1,.page-hero h1{
  font-weight:500;
  font-size:clamp(50px,5.7vw,82px);
  line-height:1.08;
  letter-spacing:-.025em;
}
.section-head h2,.content h2,.contact-card h2,.cta-band h3{
  font-weight:500;
  font-size:clamp(36px,4.2vw,56px);
  line-height:1.12;
  letter-spacing:-.018em;
}
.card h3,.program-row h3,.gallery-card h3,.credit-item h3{
  font-weight:500;
}
@media(max-width:620px){
  .hero h1,.page-hero h1{font-size:clamp(38px,11vw,48px);line-height:1.1;letter-spacing:-.02em}
  .section-head h2,.content h2,.contact-card h2{font-size:clamp(30px,8.5vw,38px);line-height:1.14}
  .cta-band h3{font-size:clamp(28px,8vw,36px);line-height:1.12}
}

/* Refined top announcement bar typography */
.topbar{
  font-size:12px;
  font-weight:400;
  letter-spacing:.045em;
  text-transform:none;
}
