/* Progressive enhancement: content stays visible if JavaScript is unavailable. */
@font-face{font-family:"Bebas Neue Local";src:url("assets/bebas-neue.woff2") format("woff2");font-display:swap;font-weight:400}
@font-face{font-family:"Montserrat Local";src:url("assets/montserrat-regular.woff2") format("woff2");font-display:swap;font-weight:400}
@font-face{font-family:"Montserrat Local";src:url("assets/montserrat-bold.woff2") format("woff2");font-display:swap;font-weight:700}
:root{--ink:#071e2b;--ink2:#0b2b3a;--paper:#eef4f5;--lime:#f4cf00;--aqua:#16a6c9;--display:"Bebas Neue Local","Arial Narrow",sans-serif;--sans:"Montserrat Local",Arial,sans-serif}
.site-header{grid-template-columns:1fr auto auto auto}
.interior-header{grid-template-columns:1fr auto auto}
.hero-content{width:min(620px,75%)}
.hero h1{font-weight:400;letter-spacing:.005em;line-height:.84;font-size:clamp(4.6rem,8.4vw,8rem)}
.hero h1 em{color:#fff}
.hero-tags{margin:0 0 1.5rem;font-size:.68rem;font-weight:700;letter-spacing:.16em;color:#fff}
.proof{padding:0;background:var(--ink);color:#fff;border:0;display:grid;grid-template-columns:minmax(300px,.82fr) 2fr;overflow:hidden}
.proof-title{padding:clamp(3rem,6vw,6rem) var(--pad);background:var(--aqua);color:var(--ink);position:relative}
.proof-title:after{content:"";position:absolute;right:-40px;top:0;width:80px;height:100%;background:var(--aqua);clip-path:polygon(0 0,50% 0,100% 100%,50% 100%)}
.proof .eyebrow{color:var(--ink)}
.proof h2{font-size:clamp(2.8rem,4.5vw,5.2rem);font-weight:400;line-height:.9}
.proof h2 em{font-style:normal;color:#fff}
.proof-grid{border:0;padding:clamp(2.5rem,5vw,5rem) var(--pad);padding-left:clamp(4rem,7vw,8rem);gap:0}
.proof-grid div{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:.25rem;padding:1rem 1.4rem;border-right:1px solid #ffffff24;border-bottom:0}
.proof-grid div+div{padding-left:1.4rem}
.proof-grid div:before{content:"";width:2rem;height:3px;background:var(--lime);margin-bottom:auto}
.proof-grid div:last-child{border:0}
.proof-grid small{font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--aqua);font-weight:700}
.proof-grid strong{font-weight:400;font-size:clamp(3.3rem,5vw,6rem);color:#fff}
.proof-grid span{color:#cad8dc;max-width:14rem}.proof-grid span em{display:block;margin-top:.45rem;font-style:normal;color:var(--aqua)}
.section-heading h2,.story h2,.method h2,.clubs h2,.final-cta h2,.card h3{font-weight:400;letter-spacing:.005em}
.service-grid{gap:1rem;background:transparent;align-items:stretch}
.card{position:relative;overflow:hidden;border:1px solid #b9c9cd;transition:transform .3s ease,box-shadow .3s ease}
.card:before{content:"01";position:absolute;right:-.15rem;top:4.6rem;font-family:var(--display);font-size:9rem;line-height:1;color:rgba(7,30,43,.035);white-space:nowrap;pointer-events:none}
.card:nth-child(2):before{content:"02"}.card:nth-child(3):before{content:"03";color:rgba(255,255,255,.035)}
.card:hover{transform:translateY(-10px);box-shadow:0 24px 60px rgba(7,30,43,.13)}
.card-plan{border-top:7px solid var(--lime)}
.card-tech{border-top:7px solid var(--aqua)}
.card.featured{border:0;border-top:7px solid var(--aqua);box-shadow:14px 14px 0 var(--lime)}
.card-top{align-items:flex-start;flex-direction:column;gap:.8rem;opacity:1}
.card-price{display:inline-flex;align-items:center;min-height:2.25rem;padding:.4rem .7rem;background:var(--ink);color:#fff;font-size:.88rem;line-height:1;letter-spacing:.04em;white-space:nowrap}
.card-tech .card-price{background:var(--aqua);color:var(--ink)}
.card.featured .card-top{padding-right:3.5rem}
.card.featured .card-price{background:var(--lime);color:var(--ink)}
.card-kicker{margin:1.25rem 0 0!important;color:var(--aqua);font-size:.65rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.card h3{margin-top:1.3rem}
.card-outcome{margin:1.2rem 0;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.featured .card-outcome{border-color:#ffffff29}
.card-outcome small{font-size:.56rem;text-transform:uppercase;letter-spacing:.13em;color:#6b858c;font-weight:700}
.card-outcome strong{font-size:.82rem;line-height:1.45}
.recommended{position:absolute;right:-2.8rem;top:1.5rem;width:10rem;transform:rotate(45deg);padding:.25rem;background:var(--lime);color:var(--ink);text-align:center;font-size:.54rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.story{position:relative}
.story:before{content:"RACING EXPERIENCE";position:absolute;right:var(--pad);top:3rem;font:400 clamp(4rem,10vw,10rem)/1 var(--display);color:rgba(7,30,43,.035);white-space:nowrap;pointer-events:none}
.image-note{position:absolute;right:1rem;bottom:-1.25rem;width:10.5rem;padding:1rem;background:var(--lime);color:var(--ink);display:flex;flex-direction:column;box-shadow:8px 8px 0 var(--aqua)}
.image-note b{font:400 1.9rem/1 var(--display);white-space:nowrap}
.image-note small{font-size:.55rem;font-weight:700;text-transform:uppercase;line-height:1.35}
.career-line{margin:2rem 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #a9babc;border-bottom:1px solid #a9babc}
.career-line div{padding:1rem .7rem;border-right:1px solid #a9babc;display:flex;flex-direction:column}
.career-line div:first-child{padding-left:0}.career-line div:last-child{border:0}
.career-line b{font:400 1.8rem/1 var(--display);color:var(--aqua)}
.career-line span{font-size:.57rem;line-height:1.35;font-weight:700;text-transform:uppercase}
.story blockquote{margin:1.7rem 0;padding-left:1.2rem;border-left:4px solid var(--lime);font:italic 1.15rem/1.5 Georgia,serif;color:var(--ink)}
.final-cta{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(7,30,43,.96),rgba(7,30,43,.60)),url("assets/results.jpg") center 42%/cover;color:#fff;text-align:left;min-height:70vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.final-cta:after{content:"COMPETITIVE EXPERIENCE · MODERN COACHING";position:absolute;right:var(--pad);bottom:2rem;font-size:.65rem;font-weight:700;letter-spacing:.14em;color:#fff}
.final-cta .eyebrow{color:var(--lime)}
.final-cta h2 em{color:var(--aqua)}
.final-cta>p:not(.eyebrow){margin:2rem 0;max-width:560px}
.footer-brand strong{font-weight:400;letter-spacing:.03em}
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(28px)}
.js .reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}
@media(max-width:520px){.hero-content{width:100%}.hero h1{font-size:clamp(4rem,20vw,5.5rem)}.final-cta:after{left:var(--pad);right:auto}}
.not-found{min-height:75vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.language-switcher{justify-self:end;display:flex;align-items:center;gap:.35rem;margin-right:1rem;font-size:.66rem;font-weight:700;letter-spacing:.1em;color:#ffffff8f}
.language-switcher button{appearance:none;border:0;background:transparent;color:inherit;padding:.25rem;cursor:pointer;font:inherit}
.language-switcher button:hover,.language-switcher button.active{color:var(--lime)}
.language-switcher button.active{text-decoration:underline;text-underline-offset:.3rem}
@media(max-width:1000px){.proof{grid-template-columns:1fr}.proof-title:after{display:none}.proof-grid{padding-left:var(--pad)}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-grid div:nth-child(2){border-right:0}.service-grid{gap:1.5rem}.card.featured{box-shadow:8px 8px 0 var(--lime)}}
@media(max-width:600px){.proof-grid{grid-template-columns:1fr}.proof-grid div,.proof-grid div+div{padding:1.3rem 0;border-right:0;border-bottom:1px solid #ffffff24}.proof-grid div:before{margin-bottom:.8rem}.proof-grid div:last-child{border-bottom:0}.career-line{grid-template-columns:1fr}.career-line div,.career-line div:first-child{padding:.8rem 0;border-right:0;border-bottom:1px solid #a9babc}.career-line div:last-child{border-bottom:0}.image-note{right:.75rem;bottom:-1rem}.card:hover{transform:none}}
@media(max-width:850px){.site-header{grid-template-columns:1fr auto auto}.site-header:not(.interior-header) .menu{grid-column:3;grid-row:1}.site-header:not(.interior-header) .language-switcher{grid-column:2;grid-row:1}.language-switcher{margin-right:0}.interior-header .language-switcher{grid-column:3;grid-row:1}}

.athlete-gallery{background:var(--ink);color:#fff;overflow:hidden}
.gallery-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:2rem;align-items:end;margin-bottom:3rem}
.gallery-heading .eyebrow{margin:0}
.gallery-heading h2{font-size:clamp(3.3rem,6.7vw,7rem)}
.gallery-heading h2 em{font-style:normal;color:var(--aqua)}
.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1rem,3vw,2.5rem);align-items:end}
.gallery-grid figure{position:relative;margin:0;overflow:hidden;background:#020d12}
.gallery-grid img{width:100%;height:clamp(32rem,67vw,54rem);object-fit:cover}
.gallery-race img{object-position:center 58%}
.gallery-coach img{object-position:center 20%}
.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:1rem;align-items:end;padding:1.4rem;background:linear-gradient(transparent,#020d12e8);text-transform:uppercase}
.gallery-grid figcaption b{font:400 1.65rem/1 var(--display);color:var(--lime)}
.gallery-grid figcaption span{max-width:13rem;text-align:right;font-size:.6rem;font-weight:700;letter-spacing:.12em;color:#d5e0e3}
.hero>img{transform:translateX(4%) scale(1.08)}
@media(max-width:850px){.hero>img{transform:none;object-position:38% 46%}.gallery-heading,.gallery-grid{grid-template-columns:1fr}.gallery-heading{align-items:start}.gallery-grid img{height:min(125vw,42rem)}.gallery-race img{object-position:center 55%}.gallery-coach img{object-position:center 18%}}

/* Coaching process, athlete profile and accessible native FAQ. */
.how-it-works{background:#dfeaec;padding-bottom:clamp(4rem,7vw,6rem)}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;list-style:none;margin:0;padding:0}
.process-grid li{border-top:2px solid var(--ink);padding-top:1.2rem;min-width:0}
.step-number{display:block;font:400 3rem/1 var(--display);color:#14778c;margin-bottom:1rem}
.process-grid h3{font-size:clamp(1.8rem,2.5vw,2.6rem);font-weight:400;line-height:1.08;letter-spacing:.005em}
.process-grid p{font-size:.86rem;max-width:26rem;color:#354e55}
.athlete-case{background:var(--ink);color:#fff}
.athlete-case .section-heading h2 em{color:var(--aqua)}
.athlete-case .section-heading>p:last-child{color:#cad8dc}
.case-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.case-carousel{min-width:0;align-self:center}
.case-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--aqua) var(--ink2);background:#04131c;overscroll-behavior-x:contain;border:1px solid #ffffff1f}
.case-slides figure{flex:0 0 100%;min-width:0;aspect-ratio:3/2;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
.case-slides img{width:100%;height:100%;object-fit:contain}
.case-gallery-caption{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #ffffff29;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#cad8dc}
.case-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1rem}
.case-gallery-controls[hidden]{display:none}
.case-gallery-controls button{min-width:44px;min-height:44px;border:1px solid #ffffff40;background:transparent;color:#fff;cursor:pointer;font-size:.7rem;font-weight:700;transition:background .2s,color .2s}
.case-gallery-controls .gallery-arrow{font-size:1.2rem}
.gallery-pages{display:flex;gap:.3rem}
.gallery-pages button{border-color:transparent;color:#cad8dc}
.gallery-pages button[aria-pressed="true"]{background:var(--lime);color:var(--ink)}
.case-gallery-controls button:hover:not(:disabled){background:var(--aqua);color:var(--ink)}
.case-gallery-controls button:disabled{opacity:.3;cursor:default}
.case-gallery-controls button:focus-visible,.case-slides:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.case-results{min-width:0}
.case-results ul{list-style:none;padding:0;margin:0 0 2rem}
.case-results li{display:flex;flex-direction:column;gap:.35rem;padding:1rem 0;border-bottom:1px solid #ffffff29}
.case-results strong{font:400 clamp(1.6rem,2.2vw,2.3rem)/1.1 var(--display);text-transform:uppercase}
.case-results li span{font-size:.8rem;color:#cad8dc}
.case-results .text-link{display:inline-block;color:var(--lime)}
.faq-list{max-width:960px;margin:0 auto;border-top:1px solid var(--line)}
.faq-list details{padding:1.3rem 0;border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;list-style:none;cursor:pointer;padding-right:2.2rem;font-size:clamp(.9rem,1.2vw,1.05rem);font-weight:700;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:.2rem;top:0;font-size:1.5rem;line-height:1}
.faq-list details[open] summary:after{content:"−"}
.faq-list summary:focus-visible{outline:2px solid #14778c;outline-offset:5px}
.faq-list p{max-width:800px;margin:1rem 0 .25rem;color:#354e55;font-size:.9rem;line-height:1.8}
.faq-list details>a{display:inline-block;margin-top:.5rem;text-decoration:underline;text-underline-offset:.2rem;overflow-wrap:anywhere;font-size:.9rem}
@media(max-width:850px){.process-grid,.case-layout{grid-template-columns:1fr}.process-grid{gap:1.25rem}.process-grid li{display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:1rem}.step-number{grid-row:1/3}.process-grid p{max-width:none;margin-bottom:0}}
@media(max-width:520px){.case-results strong{font-size:1.8rem}.case-gallery-controls{flex-wrap:wrap;gap:.25rem}.gallery-pages{gap:0}.gallery-pages button{min-width:36px}}

/* Keep the complete crew visible instead of cropping the landscape photo. */
.story-image img{
  aspect-ratio:3/2;
  height:auto;
  object-fit:contain;
}
