
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;line-height:1.5;background:var(--paper);color:var(--ink)}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation}:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #111}.skip{position:absolute;top:.5rem;left:.5rem;z-index:20;padding:.7rem;background:white;color:black;transform:translateY(-200%)}.skip:focus{transform:none}.shell{max-width:1380px;margin-inline:auto;padding-inline:clamp(20px,5vw,80px)}.topbar{position:relative;z-index:4;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{font-weight:900;letter-spacing:-.07em;font-size:1.8rem;line-height:1}.nav-links{display:flex;align-items:center;gap:clamp(1rem,2vw,2.2rem);font-size:.9rem;font-weight:700}.nav-links a:not(.nav-cta):hover{text-decoration:underline;text-underline-offset:5px}.locale{display:flex;gap:.5rem;align-items:center;font-size:.78rem}.locale a[aria-current]{text-decoration:underline;text-underline-offset:5px}.menu-button{display:none;background:none;color:inherit;border:1px solid currentColor;border-radius:0;padding:.7rem 1rem;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:54px;padding:1rem 1.5rem;background:var(--accent);color:var(--button-text);font-weight:800;font-size:.9rem;border:0;cursor:pointer;transition:transform .25s ease,background .25s ease}.button:hover{transform:translateY(-3px)}.hero{position:relative;overflow:hidden}.hero-inner{position:relative;min-height:650px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero-copy{position:relative;z-index:2;padding:6rem 0;max-width:700px}.hero h1{font-size:clamp(3.7rem,7.5vw,8rem);line-height:.92;letter-spacing:-.055em;margin:1.3rem 0 1.5rem;max-width:12ch}.hero p{max-width:35rem;font-size:clamp(1rem,1.3vw,1.2rem)}.eyebrow{font-size:.79rem;letter-spacing:.11em;font-weight:700}.hero-media{position:absolute;inset:0;z-index:0;pointer-events:none}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-media:after{content:'';position:absolute;inset:0;background:var(--hero-shade)}.hero-actions{display:flex;align-items:center;gap:1.3rem;margin-top:2rem}.hero-actions .line-link{border-bottom:1px solid currentColor;padding-bottom:.3rem;font-size:.9rem;font-weight:700}.hero-note{margin-top:3rem;font-size:.75rem;opacity:.8}.section{padding-block:clamp(75px,9vw,140px)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:4rem}.section-head h2,.split-copy h2,.faq h2,.contact h2{font-size:clamp(2.7rem,5.3vw,5.5rem);line-height:1;letter-spacing:-.05em;margin:0}.section-head p,.split-copy p{max-width:33rem;font-size:1.08rem}.section-head .eyebrow{grid-column:1/-1}.intro{display:grid;grid-template-columns:1fr 2fr;gap:4rem}.intro h2{margin:0;font-size:clamp(2.3rem,4vw,4.2rem);line-height:1.1;letter-spacing:-.05em;max-width:20ch}.intro p{max-width:48rem;font-size:1.1rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.card{background:var(--paper);padding:clamp(26px,3vw,44px);min-height:240px;display:flex;flex-direction:column;transition:background .25s,color .25s}.card:hover{background:var(--ink);color:var(--paper)}.card .index{font-size:.8rem;opacity:.7}.card h3{font-size:clamp(1.3rem,2vw,2rem);line-height:1.12;letter-spacing:-.035em;margin:auto 0 1rem}.card p{font-size:.96rem;margin:0;max-width:28rem}.feature{background:var(--ink);color:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:center}.feature-image{min-height:480px;position:relative;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transform:scale(1.06);transition:transform .8s ease}.feature-image:hover img{transform:scale(1)}.split-copy .eyebrow{display:block;margin-bottom:2rem}.split-copy p{margin:2rem 0}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.process-item{border-top:2px solid var(--ink);padding-top:1.5rem}.process-item .number{font-size:3.5rem;font-weight:900;letter-spacing:-.07em}.process-item h3{font-size:1.3rem;margin:1rem 0}.process-item p{max-width:25rem}.faq-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:5rem}.faq details{border-top:1px solid var(--rule);padding:1.5rem 0}.faq details:last-child{border-bottom:1px solid var(--rule)}summary{cursor:pointer;list-style:none;font-size:1.1rem;font-weight:700;display:flex;justify-content:space-between;gap:1rem}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:1.6rem;font-weight:400;line-height:1}details[open] summary:after{content:'−'}details p{max-width:40rem;color:var(--muted)}.contact{background:var(--accent);color:var(--button-text)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.contact p{max-width:33rem;font-size:1.1rem}.demo-form{display:grid;gap:1rem}.demo-form label{font-size:.85rem;font-weight:700}.demo-form input,.demo-form textarea{display:block;width:100%;margin-top:.4rem;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;padding:.9rem}.demo-form input::placeholder,.demo-form textarea::placeholder{color:inherit;opacity:.7}.demo-form .button{background:var(--ink);color:var(--paper);justify-self:start}.form-note{font-size:.85rem!important}.footer{padding-block:2rem}.footer-inner{display:flex;justify-content:space-between;gap:2rem;align-items:center}.footer p{font-size:.8rem}.hero-copy>*{animation:rise .8s both}.hero-copy>*:nth-child(2){animation-delay:.1s}.hero-copy>*:nth-child(3){animation-delay:.2s}.hero-copy>*:nth-child(4){animation-delay:.3s}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:850px){.topbar{min-height:70px}.menu-button{display:block}.js .nav-links{display:none;position:absolute;top:100%;left:0;right:0;padding:1.5rem var(--gutter,5vw);background:var(--ink);color:var(--paper);align-items:flex-start;flex-direction:column}.js .nav-links.is-open{display:flex}.no-js .nav-links{display:flex;flex-wrap:wrap;font-size:.75rem;gap:.7rem}.no-js .topbar{flex-wrap:wrap;padding-block:1rem}.hero-inner{min-height:640px;grid-template-columns:1fr}.hero-copy{padding:6rem 0;max-width:70%}.section-head,.split,.intro,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.cards,.process{grid-template-columns:1fr}.card{min-height:180px}.feature-image{min-height:380px}.footer-inner{align-items:flex-start;flex-direction:column}.section-head{margin-bottom:2rem}.section-head .eyebrow{grid-column:auto}.contact-grid{gap:3rem}}@media(max-width:550px){.hero-inner{min-height:660px;align-items:end}.hero-copy{max-width:100%;padding:13rem 0 3rem}.hero h1{font-size:clamp(3.3rem,14vw,5rem)}.hero-media img{object-position:68% center}.hero-media:after{background:linear-gradient(0deg,var(--mobile-shade) 5%,transparent 100%)}.hero-actions{flex-wrap:wrap}.feature-image{min-height:310px}.section{padding-block:72px}.faq-grid{gap:3rem}.process{gap:2rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
 :root{--paper:#f4f5ef;--ink:#101b37;--accent:#d4f145;--button-text:#101b37;--rule:#afb9c5;--muted:#46516a;--focus:#2e61ec;--hero-shade:linear-gradient(90deg,rgba(9,28,84,.96) 0%,rgba(9,28,84,.76) 34%,rgba(9,28,84,0) 75%);--mobile-shade:#0b2052}.topbar{background:#f4f5ef}.hero{background:#173aa0;color:white}.hero h1{font-family:Arial Black,Arial,sans-serif;font-style:italic;text-transform:uppercase}.hero-media img{animation:hero-pan 12s ease-out both}@keyframes hero-pan{from{transform:scale(1.08)}to{transform:scale(1)}}.intro{background:#d4f145}.intro h2,.section-head h2,.contact h2{font-family:Arial Black,Arial,sans-serif;font-weight:900}.cards .card:first-child{background:#2d53b8;color:white}.contact{background:#d4f145}.brand{font-style:italic}.feature-image{clip-path:polygon(0 0,100% 0,90% 100%,0 100%)}.more{background:#dfe8ff}.schedule-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.schedule-filters button{padding:.75rem 1rem;border:1px solid #13254e;background:transparent;color:#13254e;cursor:pointer;font-weight:700}.schedule-filters button[aria-pressed=true]{background:#13254e;color:white}.schedule{list-style:none;margin:0;padding:0}.schedule li{display:flex;justify-content:space-between;border-top:1px solid #9baac5;padding:1.5rem 0;font-size:1.1rem}.schedule li:last-child{border-bottom:1px solid #9baac5}.schedule li[hidden]{display:none}.no-js .schedule-filters{display:none}
.no-js .menu-button{display:none}.card summary{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start}.card summary:after{margin-top:1rem}.card-title{font-size:clamp(1.3rem,2vw,2rem);line-height:1.12;letter-spacing:-.035em;font-weight:700;margin-top:auto}.card[open] summary{height:auto}.card[open] p{margin-top:1rem}.contact .line-link{display:inline-block;border-bottom:1px solid currentColor;margin-top:1rem;font-weight:700}.more{border-top:1px solid var(--rule)}.demo-form [hidden]{display:none}.hero-media{pointer-events:none}
.hero-media img{object-position:center 25%}.js:not(.motion-active) .hero-media img,.js:not(.motion-active) .hero-media:before,.js:not(.motion-active) .hero-copy>*{animation-play-state:paused}@media(max-width:550px){.hero-media img{object-position:68% 25%}}
.section-head>*{min-width:0}.card-title{min-width:0;overflow-wrap:anywhere}@media(max-width:550px){.section-head h2,.split-copy h2,.faq h2,.contact h2,.intro h2{font-size:clamp(2rem,9vw,3rem);overflow-wrap:anywhere}}
.card[open] p{animation:detail-in .28s ease both}@keyframes detail-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.card[open] p{animation:none}}

/* Footer: a strong close to the training journey. */
.footer{background:#101b37;color:#f4f5ef;padding-block:clamp(3.5rem,7vw,6rem) 2rem}
.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:clamp(2rem,5vw,5rem)}
.footer-about .brand{display:inline-block;font-size:clamp(3rem,6vw,5.5rem);letter-spacing:-.08em}
.footer-about .brand span{color:#d4f145}
.footer-about p{max-width:18rem;margin:1rem 0 0;color:#c9d1e1;font-size:1rem}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;font-size:1rem;font-weight:700}
.footer-nav a:hover,.footer .locale a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-action{display:flex;align-items:flex-start;flex-direction:column;gap:2rem}
.footer-cta{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;min-height:54px;padding:1rem 1.4rem;background:#d4f145;color:#101b37;font-weight:800}
.footer-cta:hover{background:#e3ff68}
.footer .locale{font-size:.8rem;font-weight:700}
@media(max-width:850px){.footer-inner{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}.footer-action{align-items:flex-end}.footer-nav{max-width:340px}}
@media(max-width:550px){.footer-inner{grid-template-columns:1fr;gap:2rem}.footer-about{grid-column:auto}.footer-action{align-items:flex-start;gap:1.5rem}.footer-nav{width:100%}}
