@font-face{font-family:Hussar;src:url("assets/hussar.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/dm-sans.woff2") format("woff2");font-weight:100 1000;font-display:swap}
:root {
  --navy:#030121;
  --paper:#fffffa;
  --orange:#f75c03;
  --iron:#404747;
  --line:rgba(3,1,33,.17);
  --dark-line:rgba(255,255,250,.23);
  --heading:Hussar,"Arial Black",sans-serif;
  color:var(--navy);
  background:var(--paper);
  font-family:"DM Sans",Arial,sans-serif;
  scroll-behavior:smooth;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;line-height:1.55}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.26em}
button{font:inherit}
p,h1,h2,h3,figure,blockquote,dl,dd{margin:0}
h1,h2,h3,.price{font-family:var(--heading);font-weight:700;line-height:1.01;letter-spacing:-.045em}
h2{font-size:clamp(2.35rem,5.1vw,4.6rem)}
h3{font-size:clamp(1.45rem,2.5vw,2.15rem)}
:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.wrap{width:min(100% - 2 * clamp(24px,5.1vw,96px),1280px);margin-inline:auto}
.section{padding-block:clamp(65px,8vw,122px)}
section[id]{scroll-margin-top:94px}
.dark,.header,.hero{background:var(--navy);color:var(--paper)}
.skip{position:fixed;z-index:10;top:8px;left:8px;transform:translateY(-160%);padding:12px;background:var(--paper);color:var(--navy)}
.skip:focus{transform:none}
.header{position:sticky;top:0;z-index:5;border-bottom:1px solid var(--dark-line)}
.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.logo{display:inline-flex;flex:none;align-items:center;padding-block:18px}
.logo img{width:192px}
nav{display:flex;align-items:center;gap:clamp(15px,2.45vw,40px);font-size:.94rem;font-weight:650}
nav a{text-decoration:none}
nav a:hover:not(.button){text-decoration:underline}
.menu{display:none}
.button{
  min-height:53px;padding:.72rem 1.2rem;display:inline-flex;align-items:center;
  justify-content:space-between;gap:1rem;border:1px solid transparent;text-decoration:none;
  font-size:.95rem;font-weight:800;line-height:1.25;transition:background .18s,color .18s,border-color .18s;
}
.button span{font-size:1.18em}
.button.primary{background:var(--orange);color:var(--navy)}
.button.primary:hover{background:var(--paper)}
.button.outline{border-color:var(--dark-line);color:var(--paper)}
.button.outline:hover{background:var(--paper);color:var(--navy)}
.nav-cta{min-height:46px}
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero-media{position:absolute;inset:0 0 0 42%;z-index:-1}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 37%}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy),rgba(3,1,33,.22) 36%,rgba(3,1,33,.04) 70%),linear-gradient(0deg,rgba(3,1,33,.28),transparent 50%)}
.hero-inner{min-height:clamp(530px,49vw,716px);display:flex;align-items:center;padding-block:64px 74px}
.hero-copy{max-width:710px}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:.75rem;font-weight:800;line-height:1.4;letter-spacing:.135em;text-transform:uppercase}
.eyebrow span{display:inline-block;width:21px;height:3px;background:var(--orange);flex:none}
.eyebrow.accent{color:var(--orange)}
.hero h1{font-size:clamp(3.8rem,7.1vw,6.7rem);margin-top:25px;line-height:.99}
.intro{font-size:clamp(1.08rem,1.6vw,1.28rem);max-width:410px;margin-top:25px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}
.location-strip{background:var(--iron);color:var(--paper)}
.location-inner{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:65px;font-size:.87rem}
.location-inner p{display:flex;align-items:center;gap:16px}
.location-inner p span{border-left:1px solid var(--dark-line);padding-left:16px}
.location-inner a{font-weight:700;text-decoration:none}
.location-inner a:hover{text-decoration:underline}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:32px}
.section-head h2,.community h2,.faq h2,.start h2{margin-top:13px}
.section-head>p{max-width:270px}
.text-link{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;border-bottom:1px solid currentColor;padding-block:4px;line-height:1.25}
.text-link:hover{border-color:var(--orange)}
.training-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(20px,3vw,44px)}
.training-feature{position:relative;display:flex;align-items:end;min-height:370px;isolation:isolate;overflow:hidden;background:var(--navy);color:var(--paper)}
.training-feature img,.training-feature::after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.training-feature img{object-fit:cover;object-position:center}
.training-feature::after{content:"";background:linear-gradient(0deg,var(--navy),rgba(3,1,33,.09) 78%)}
.training-feature>div{padding:clamp(22px,3vw,42px)}
.training-feature p{max-width:410px;margin-top:9px}
.training-list{border-top:1px solid var(--line)}
.training-list article{padding:17px 0 18px;border-bottom:1px solid var(--line)}
.training-list p{margin-top:6px}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.plan{padding:clamp(19px,3vw,40px);border:1px solid var(--dark-line);display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.plan.featured{border-color:var(--orange);box-shadow:inset 0 3px var(--orange)}
.plan .price{font-size:clamp(2.55rem,5vw,4.3rem);white-space:nowrap}
.price small{font:600 .88rem "DM Sans",Arial,sans-serif;letter-spacing:0}
.plan .button{margin-top:auto;width:100%;max-width:260px}
.other-options{margin-top:23px;border-block:1px solid var(--dark-line)}
summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:800;list-style:none;min-height:60px;padding-block:10px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-weight:500;font-size:1.35em}
details[open]>summary::after{content:"−"}
.other-options dl{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:8px 0 24px}
.other-options dt{font-weight:800;margin-bottom:5px}
.other-options strong{color:var(--orange);margin-left:5px}
.other-options .text-link{margin-bottom:22px}
.community{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:clamp(30px,5vw,76px)}
.community-images{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start;padding-bottom:26px}
.community-images img{width:100%;aspect-ratio:4/5;object-fit:cover}
.community-images img+img{transform:translateY(26px)}
.community-copy>p:not(.eyebrow){max-width:415px;margin-block:19px}
.reviews{grid-column:1/-1;border-top:1px solid var(--line);padding-top:29px}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,5vw,70px);margin:22px 0}
.quotes figure{border-left:3px solid var(--orange);padding-left:clamp(15px,2.2vw,28px)}
blockquote{font-size:clamp(1.35rem,2.5vw,2.15rem);line-height:1.18;font-weight:800;letter-spacing:-.035em;max-width:550px}
figcaption{margin-top:13px;font-weight:700}
.faq{border-top:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:30px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details p{padding:0 28px 18px 0}
.start{position:relative;isolation:isolate;overflow:hidden}
.start h2{font-size:clamp(2.6rem,6vw,5.35rem)}
.start p:not(.eyebrow){max-width:440px;margin-top:19px}
.brand-device{position:absolute;z-index:-1;width:clamp(360px,38vw,630px);max-width:none;right:-11vw;bottom:-16vw}
.footer{border-top:1px solid var(--dark-line)}
.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;align-items:start;gap:25px;padding-block:37px}
.footer-grid .logo{padding:6px 0 0}
.footer-label{font-weight:800;margin-bottom:7px}
address{font-style:normal;margin-bottom:6px}
.footer-bottom{padding-block:17px;display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--dark-line);font-size:.82rem}
@media(max-width:900px){
  nav{gap:13px}
  .nav .logo img{width:165px}
  .plan .button{font-size:.84rem;gap:8px;padding-inline:10px}
}
@media(max-width:760px){
  section[id]{scroll-margin-top:72px}
  .nav{min-height:70px;flex-wrap:wrap}
  .logo{padding-block:15px}
  nav{width:100%;flex-wrap:wrap;padding-bottom:14px}
  .has-menu .menu{display:inline-flex;align-items:center;gap:10px;background:none;color:inherit;border:1px solid var(--dark-line);padding:8px 12px;font-weight:700;cursor:pointer}
  .has-menu nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:12px 24px 22px;border-bottom:1px solid var(--dark-line)}
  .has-menu nav.is-open{display:flex;flex-direction:column;align-items:stretch}
  nav>a:not(.button){padding:7px 0}
  .hero-inner{min-height:0;padding-block:51px 39px}
  .hero-copy{width:100%}
  .hero{display:flex;flex-direction:column}
  .hero-media{position:relative;inset:auto;order:2;height:clamp(240px,63vw,390px)}
  .hero-media img{object-position:50% 36%}
  .hero-media::after{background:linear-gradient(180deg,rgba(3,1,33,.25),transparent 36%)}
  .hero h1{font-size:clamp(3.05rem,10.6vw,5.35rem);margin-top:18px}
  .intro{margin-top:17px}
  .actions{margin-top:23px}
  .location-inner{padding-block:14px;align-items:start;flex-direction:column;gap:6px}
  .location-inner p{flex-wrap:wrap;column-gap:12px;row-gap:2px}
  .location-inner p span{padding-left:12px}
  .section-head{align-items:start;flex-direction:column;gap:15px;margin-bottom:24px}
  .training-grid,.community,.faq-grid{grid-template-columns:1fr}
  .training-feature{min-height:310px}
  .plans{grid-template-columns:1fr}
  .plan{padding:23px;gap:12px}
  .plan .button{font-size:.9rem;max-width:none}
  .other-options dl{grid-template-columns:1fr;gap:16px}
  .community-copy{grid-row:1}
  .quotes{grid-template-columns:1fr}
  .start{padding-bottom:150px}
  .brand-device{right:-137px;bottom:-210px}
  .footer-grid{grid-template-columns:1fr;gap:20px}
}
@media(max-width:365px){
  .wrap{width:calc(100% - 36px)}
  .hero .actions .button{padding-inline:10px;gap:7px;font-size:.84rem}
  .location-inner p span{border:0;padding:0}
}
@media(prefers-reduced-motion:reduce){
  :root{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
}
