:root{--navy:#071a33;--deep:#03101f;--surface:#0a2444;--pink:#ff2f87;--sky:#78d8ff;--ice:#d8f4ff;--white:#f8fbff;--muted:#9fb9d1;--line:rgba(120,216,255,.2);--pad:clamp(24px,5vw,82px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--deep)}body{margin:0;background:var(--navy);color:var(--white);font-family:Inter,Arial,sans-serif;overflow-x:hidden}a,button{color:inherit}button,input,textarea,select{font:inherit}.section{padding:clamp(90px,10vw,160px) var(--pad)}h1,h2{font-family:"Barlow Condensed",Arial,sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:-.045em;line-height:.82;margin:0}h2{font-size:clamp(70px,10vw,150px)}h2 em{color:var(--sky)}.header{position:fixed;z-index:50;top:0;left:0;right:0;height:84px;padding:0 var(--pad);display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(3,16,31,.87);backdrop-filter:blur(18px)}.logo{display:flex;min-width:155px;flex-direction:column;text-decoration:none;line-height:.7;transform:skew(-7deg)}.logo b{color:var(--sky);font:italic 800 42px/1 "Barlow Condensed";letter-spacing:-2px}.logo span{padding-left:3px;font:600 9px Inter;letter-spacing:5.2px}.header nav{display:flex;gap:clamp(18px,2.8vw,45px);margin:auto}.header nav a{text-decoration:none;text-transform:uppercase;font:600 12px "Barlow Condensed";letter-spacing:1.8px;position:relative}.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--sky);transition:right .25s}.header nav a:hover:after{right:0}.nav-cta,.button{display:inline-flex;align-items:center;gap:28px;padding:16px 20px;border:0;background:var(--pink);color:white;text-decoration:none;text-transform:uppercase;font:700 13px "Barlow Condensed";letter-spacing:1.5px;cursor:pointer}.nav-cta svg,.button svg,.coach-copy a svg,.service-line svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.7}.menu{display:none;background:transparent;border:0}.hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:var(--deep)}.photo-placeholder{position:relative;min-height:420px;overflow:hidden;background:linear-gradient(135deg,#0b3157 0%,#0b2542 48%,#0d3e64 100%)}.photo-placeholder:before{content:"";position:absolute;inset:-40%;background:repeating-linear-gradient(115deg,transparent 0 40px,rgba(120,216,255,.04) 41px 42px);animation:placeholderDrift 20s linear infinite}.placeholder-mark{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(216,244,255,.65);text-transform:uppercase}.placeholder-mark span{width:64px;height:64px;border:1px solid var(--sky);display:grid;place-items:center;font-size:30px;margin-bottom:15px}.placeholder-mark b{font:700 16px "Barlow Condensed";letter-spacing:3px}.placeholder-mark small{margin-top:6px;font-size:9px;letter-spacing:1.5px}@keyframes placeholderDrift{to{transform:translateX(300px)}}.hero-photo{position:absolute;inset:0;height:100%;background:radial-gradient(circle at 72% 42%,#176493 0%,#0a3153 32%,#03101f 72%)}.hero-photo .placeholder-mark{left:50%;align-items:flex-start}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,31,.98),rgba(3,16,31,.75) 43%,rgba(3,16,31,.08) 76%)}.hero-copy{position:absolute;z-index:3;left:var(--pad);top:50%;transform:translateY(-44%)}.hero h1{font-size:clamp(82px,11.3vw,180px);font-style:italic}.hero h1 span{color:var(--sky)}.hero-copy p{margin:28px 0;border-left:3px solid var(--pink);padding-left:18px;text-transform:uppercase;font:600 12px/1.65 Inter;letter-spacing:2px;color:var(--ice)}.hero-side{position:absolute;z-index:3;right:var(--pad);top:50%;transform:rotate(90deg) translateX(50%);transform-origin:right;display:flex;gap:34px;color:var(--ice);text-transform:uppercase;font:600 10px Inter;letter-spacing:2px}.hero-side span:before{content:"";display:inline-block;width:6px;height:6px;background:var(--pink);margin-right:10px}.scroll-cue{position:absolute;z-index:3;right:var(--pad);bottom:40px;width:54px;height:54px;border:1px solid var(--sky);display:grid;place-items:center;text-decoration:none;color:var(--sky);animation:bob 1.6s infinite}@keyframes bob{50%{transform:translateY(8px)}}.section-head{display:grid;grid-template-columns:170px 1fr;margin-bottom:80px}.section-head>span,.journey-copy>span,.racing-copy>span,.contact-title>span{color:var(--pink);text-transform:uppercase;font:700 11px Inter;letter-spacing:2px}.intro{background:var(--navy)}.coach-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,7vw,110px);align-items:center}.coach-grid>.photo-placeholder{height:680px}.coach-copy h3{font:800 clamp(44px,5vw,72px) "Barlow Condensed";text-transform:uppercase;margin:0 0 24px}.coach-copy p{color:var(--muted);line-height:1.75}.coach-copy .lead{font-size:20px;color:var(--ice)}.coach-copy a{display:inline-flex;align-items:center;gap:30px;margin-top:20px;color:var(--sky);text-decoration:none;text-transform:uppercase;font:700 13px "Barlow Condensed";letter-spacing:1.4px}.services{padding-block:0;background:var(--navy)}.service-line{display:grid;grid-template-columns:90px 1.2fr 1fr auto;align-items:center;padding:32px 0;border-top:1px solid var(--line)}.service-line:last-child{border-bottom:1px solid var(--line)}.service-line>span{color:var(--sky);font:700 12px Inter}.service-line h3{margin:0;font:800 clamp(30px,4vw,58px) "Barlow Condensed";text-transform:uppercase}.service-line p{color:var(--muted)}.service-line a{width:52px;height:52px;border:1px solid var(--sky);display:grid;place-items:center}.packages{background:var(--deep)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items:end}.package{min-height:600px;padding:36px;border:1px solid var(--line);background:#061a32;display:flex;flex-direction:column;transition:transform .35s,background .35s}.package:hover{transform:translateY(-10px)}.package.featured{min-height:660px;background:var(--sky);color:var(--navy)}.package>small{letter-spacing:2px}.package>b{font:800 clamp(68px,7vw,105px)/1 "Barlow Condensed";color:var(--pink);margin:30px 0 0}.package h3{font:800 34px "Barlow Condensed";text-transform:uppercase;margin:4px 0 12px}.package p{line-height:1.6;color:var(--muted)}.package.featured p{color:var(--navy)}.package ul{list-style:none;padding:0;margin:20px 0 30px}.package li{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.package li:before{content:"↗";color:var(--pink);margin-right:10px}.package a{margin-top:auto;text-decoration:none;text-transform:uppercase;font:700 12px "Barlow Condensed";letter-spacing:1.5px;display:flex;justify-content:space-between}.package a svg{width:20px;fill:none;stroke:currentColor}.journey{display:grid;grid-template-columns:1fr 1.15fr;background:var(--pink)}.journey>.photo-placeholder{height:100%;min-height:900px;background:linear-gradient(135deg,#092746,#13577e)}.journey-copy{color:var(--navy);align-self:center}.journey-copy>span{color:white}.journey-copy h2{font-size:clamp(65px,8vw,125px);margin:35px 0}.journey-copy h2 em{color:white}.journey-copy>p{max-width:720px;line-height:1.7}.achievements{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid rgba(7,26,51,.3)}.achievements span{padding:28px 15px 0 0;text-transform:uppercase;font:700 11px/1.4 Inter}.achievements b{display:block;font:800 55px "Barlow Condensed"}.community{background:#071d38}.community-lede{font-size:20px;line-height:1.7;max-width:800px;margin:-30px 0 70px 170px;color:var(--ice)}.community-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.community-grid article{position:relative;min-height:600px;padding:34px;background:#092442;overflow:hidden}.community-grid .photo-placeholder{position:absolute;inset:0;opacity:.42}.community-grid article:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06182f 0%,transparent 80%)}.community-grid article>*:not(.photo-placeholder){position:relative;z-index:2}.community-grid small{color:var(--pink)}.community-grid h3{margin-top:370px;font:800 46px "Barlow Condensed";text-transform:uppercase}.community-grid p{max-width:650px;color:var(--ice);line-height:1.6}.button.light{margin-top:50px;background:var(--sky);color:var(--navy)}.racing{display:grid;grid-template-columns:1.15fr .85fr;background:var(--navy)}.racing>.photo-placeholder{height:100%;min-height:900px}.racing-copy h2{font-size:clamp(70px,8vw,125px);margin:40px 0}.racing-copy>p{font-size:19px;line-height:1.7;max-width:700px;color:var(--ice)}.racing-points{margin-top:50px}.racing-points span{display:grid;grid-template-columns:220px 1fr;padding:22px 0;border-top:1px solid var(--line);color:var(--muted)}.racing-points b{color:white;text-transform:uppercase;font:700 13px Inter}.racing-actions{display:flex;align-items:center;gap:28px;margin-top:45px}.racing-actions>a:last-child{color:var(--sky)}.voices{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--deep)}blockquote{margin:0}blockquote small,.faq>span{text-transform:uppercase;color:var(--pink);font:700 11px Inter;letter-spacing:2px}blockquote p{font:700 clamp(45px,6vw,86px)/1.02 "Barlow Condensed";text-transform:uppercase;margin:35px 0}.faq button{display:block;width:100%;background:transparent;border:0;border-top:1px solid var(--line);text-align:left;padding:22px 0}.faq button:last-child{border-bottom:1px solid var(--line)}.faq b{display:flex;justify-content:space-between;font:700 20px "Barlow Condensed";text-transform:uppercase}.faq i{font-style:normal;color:var(--sky);transition:transform .25s}.faq p{max-height:0;overflow:hidden;opacity:0;color:var(--muted);line-height:1.6;margin:0;transition:.3s}.faq button.open p{max-height:130px;opacity:1;margin-top:14px}.faq button.open i{transform:rotate(45deg)}.contact{padding:120px var(--pad) 0;background:var(--sky);color:var(--navy)}.contact-title{display:grid;grid-template-columns:170px 1fr}.contact-title>span{color:var(--pink)}.contact h2{font-size:clamp(80px,11vw,170px)}.contact h2 em{color:white}.contact-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;padding:70px 0}.contact-form label{font:700 10px Inter;text-transform:uppercase;letter-spacing:1.3px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;display:block;border:0;border-bottom:2px solid var(--navy);background:transparent;color:var(--navy);padding:15px 0;outline:none}.contact-form textarea{height:82px;resize:none}.contact-form .message{grid-column:1/-1}.contact-form .consent{grid-column:1/3;display:flex;align-items:flex-start;gap:12px;line-height:1.5;text-transform:none}.contact-form .consent input{width:auto;margin-top:2px}.button.dark{background:var(--navy)}.contact-form>p{grid-column:1/-1}.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}footer{margin-inline:calc(var(--pad)*-1);padding:42px var(--pad);background:var(--deep);color:white;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}footer p{text-align:center;line-height:1.7}footer p a{color:var(--sky)}footer small{text-align:right;color:var(--muted);line-height:1.5}.reveal{opacity:0;transform:translateY(35px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.header{height:70px}.header nav{position:absolute;top:70px;left:0;right:0;background:var(--deep);display:none;flex-direction:column;padding:30px}.header nav.open{display:flex}.nav-cta{display:none}.menu{display:flex;margin-left:auto;width:40px;height:40px;flex-direction:column;justify-content:center;gap:8px}.menu i{height:2px;background:white;width:100%}.hero-wash{background:linear-gradient(0deg,rgba(3,16,31,.96),rgba(3,16,31,.15) 75%)}.hero-copy{top:auto;bottom:55px;transform:none}.hero h1{font-size:19vw}.hero-side{display:none}.section-head{display:block}.section-head>span{display:block;margin-bottom:28px}.coach-grid,.journey,.racing,.voices{grid-template-columns:1fr}.coach-grid>.photo-placeholder{height:580px}.service-line{grid-template-columns:55px 1fr auto}.service-line p{display:none}.package-grid{grid-template-columns:1fr}.package,.package.featured{min-height:auto}.journey>.photo-placeholder,.racing>.photo-placeholder{min-height:620px}.community-lede{margin-left:0}.community-grid{grid-template-columns:1fr}.racing>.photo-placeholder{order:-1}.contact-title{display:block}.contact-title>span{display:block;margin-bottom:28px}.contact-form{grid-template-columns:1fr 1fr}.contact-form .consent{grid-column:1/-1}footer{grid-template-columns:1fr;gap:22px;text-align:center}footer small,footer p{text-align:center}}
@media(max-width:600px){:root{--pad:20px}.section{padding-block:85px}.logo{min-width:110px}.logo b{font-size:34px}.hero{min-height:720px}.hero-photo .placeholder-mark{left:0;align-items:center;top:-30%}.hero h1{font-size:23vw}.hero-copy p{font-size:10px}.coach-grid>.photo-placeholder{height:500px}.achievements{grid-template-columns:1fr}.achievements span{border-bottom:1px solid rgba(7,26,51,.25)}.community-grid article{min-height:540px;padding:25px}.community-grid h3{margin-top:325px;font-size:38px}.racing-points span{grid-template-columns:1fr;gap:8px}.racing-actions{align-items:flex-start;flex-direction:column}.contact-form{display:block}.contact-form label{display:block;margin-bottom:25px}.contact-form .consent{display:flex}.contact-form .button{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Supplied ATC photography */
.photo-frame{position:relative;min-height:420px;overflow:hidden;background:#092442}
.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.photo-frame:hover img{transform:scale(1.035)}
.hero-photo{position:absolute;inset:0;height:100%;min-height:0}
.hero-photo img{filter:saturate(1.06) contrast(1.03)}
.coach-grid>.photo-frame{height:680px}
.package{overflow:hidden}
.package-photo{display:block;width:calc(100% + 72px);height:220px;margin:-36px -36px 28px;object-fit:cover;filter:saturate(.96);transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.package:hover .package-photo{transform:scale(1.035)}
.journey>.photo-frame,.racing>.photo-frame{height:100%;min-height:900px}
.community-grid .photo-frame{position:absolute;inset:0;min-height:0;opacity:.62;z-index:0}
.community-grid article:after{z-index:1;background:linear-gradient(0deg,#06182f 5%,rgba(6,24,47,.62) 48%,rgba(6,24,47,.08) 100%)}
.community-grid article>*:not(.photo-frame){position:relative;z-index:2}
.community-grid article:hover .photo-frame img{transform:scale(1.045)}
.community{padding-top:clamp(80px,8vw,120px);padding-bottom:clamp(80px,8vw,120px)}
.community .section-head{margin-bottom:48px}
.community-lede{margin:0 0 48px 170px}
.community-grid article{min-height:520px}
.community-grid h3{margin-top:300px}

@media(max-width:900px){
  .coach-grid>.photo-frame{height:580px}
  .journey>.photo-frame,.racing>.photo-frame{min-height:620px}
  .racing>.photo-frame{order:-1}
  .package-photo{height:280px}
  .community-lede{margin-left:0}
}
@media(max-width:600px){
  .hero-photo img{object-position:61% 45%!important}
  .coach-grid>.photo-frame{height:500px}
  .package-photo{height:230px}
  .journey>.photo-frame,.racing>.photo-frame{min-height:500px}
  .community{padding-top:72px;padding-bottom:72px}
  .community .section-head{margin-bottom:34px}
  .community-lede{margin-bottom:34px}
  .community-grid article{min-height:460px}
  .community-grid h3{margin-top:255px}
}

/* Compact community cards: photography and copy occupy their own space. */
.community{padding-top:clamp(72px,7vw,108px);padding-bottom:clamp(72px,7vw,108px)}
.community .section-head{margin-bottom:32px}
.community-lede{margin:0 0 38px 170px;max-width:720px}
.community-grid{gap:12px}
.community-grid article{display:flex;min-height:0;padding:0;flex-direction:column;background:#092442}
.community-grid article:after{display:none}
.community-grid .photo-frame{position:relative;inset:auto;width:100%;height:clamp(240px,24vw,340px);min-height:0;flex:none;opacity:1}
.community-grid article>*:not(.photo-frame){position:relative;z-index:auto}
.community-card-copy{padding:26px 30px 30px}
.community-grid small{display:block;margin-bottom:10px}
.community-grid h3{margin:0 0 12px;font-size:clamp(34px,3.5vw,48px)}
.community-grid p{margin:0}
.community .button.light{margin-top:36px}

@media(max-width:900px){
  .community-lede{margin-left:0}
}
@media(max-width:600px){
  .community{padding-top:64px;padding-bottom:64px}
  .community .section-head{margin-bottom:24px}
  .community-lede{margin-bottom:28px}
  .community-grid{gap:10px}
  .community-grid .photo-frame{height:250px}
  .community-card-copy{padding:22px 24px 26px}
  .community-grid h3{margin:0 0 10px;font-size:36px}
  .community .button.light{margin-top:28px}
}
