:root{--green:#073e2d;--green-2:#0e5d42;--mint:#b9ef7b;--yellow:#f7d14b;--cream:#f4f1e8;--ink:#10221b;--white:#fff;--radius:28px;--shadow:0 20px 70px rgba(2,35,25,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;top:-60px;left:16px;z-index:100;background:white;padding:12px 18px;border-radius:8px}.skip-link:focus{top:16px}
.site-header{height:92px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:rgba(6,50,36,.94);backdrop-filter:blur(15px);position:absolute;z-index:20;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.13)}.brand img{width:min(245px,42vw)}nav{display:flex;align-items:center;gap:28px}nav a{text-decoration:none;font-weight:700;font-size:.88rem;letter-spacing:.02em}nav a:not(.nav-cta):hover{color:var(--mint)}.nav-cta{border:1px solid rgba(255,255,255,.65);padding:11px 18px;border-radius:999px}.nav-cta:hover{background:white;color:var(--green)}.menu-button{display:none;border:1px solid #ffffff77;background:none;color:white;border-radius:999px;padding:8px 14px;font:inherit}
.hero{height:max(720px,100svh);min-height:660px;position:relative;color:white;display:flex;align-items:center;overflow:hidden}.hero-slides,.hero-shade,.hero-slide{position:absolute;inset:0}.hero-slide{background-position:center;background-size:cover;opacity:0;transform:scale(1.04);transition:opacity 1.2s ease,transform 6s linear}.hero-slide.active{opacity:1;transform:scale(1.1)}.hero-shade{background:linear-gradient(90deg,rgba(4,34,24,.95) 0%,rgba(4,34,24,.7) 42%,rgba(4,34,24,.12) 78%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 50%)}.hero-content{position:relative;z-index:2;width:min(710px,90vw);margin-left:clamp(22px,8vw,130px);padding-top:75px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;font-weight:800}.eyebrow{display:flex;align-items:center;gap:12px;color:#e7f4ed}.eyebrow span{width:48px;height:2px;background:var(--yellow)}h1,h2,h3{font-family:"League Spartan",sans-serif;line-height:.94;margin:0}h1{font-size:clamp(4rem,9vw,8.7rem);letter-spacing:-.055em;text-transform:uppercase}h1 em{color:var(--mint);font-style:normal}.hero-intro{font-size:clamp(1.05rem,1.7vw,1.32rem);max-width:610px;margin:27px 0 33px;color:#f2f7f4}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:14px;padding:15px 21px;border-radius:999px;font-weight:800;text-decoration:none;transition:.25s}.button.primary{background:var(--yellow);color:#1c2a21}.button.primary:hover,.button.bright:hover{transform:translateY(-3px);box-shadow:0 12px 35px #0003}.button.ghost{border:1px solid #ffffff88;color:white;background:#ffffff10}.button.ghost:hover{background:white;color:var(--green)}.hero-caption{position:absolute;z-index:3;right:clamp(22px,5vw,76px);bottom:38px;display:flex;align-items:center;gap:13px;font-size:.72rem;text-transform:uppercase;letter-spacing:.15em}.hero-counter{font-weight:800}.hero-progress{width:90px;height:2px;background:#ffffff44}.hero-progress i{display:block;width:0;height:100%;background:var(--yellow);animation:progress 5s linear infinite}@keyframes progress{to{width:100%}}
.ticker{background:var(--yellow);overflow:hidden;padding:14px 0}.ticker-track{display:flex;align-items:center;gap:30px;width:max-content;animation:ticker 35s linear infinite;font-family:"League Spartan";font-weight:800;text-transform:uppercase;font-size:1rem;letter-spacing:.08em}.ticker-track b{color:var(--green)}@keyframes ticker{to{transform:translateX(-50%)}}
.intro-section{max-width:1240px;margin:auto;padding:clamp(85px,11vw,150px) 28px;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,9vw,130px);align-items:start}.section-heading h2,.route-copy h2,.shorter h2,.strip-copy h2,.cta h2{font-size:clamp(3.1rem,6vw,6rem);letter-spacing:-.045em;text-transform:uppercase}.kicker{color:var(--green-2);margin:0 0 18px}.intro-copy{font-size:clamp(1.08rem,1.7vw,1.35rem)}.intro-copy p:first-child{margin-top:0}.intro-copy strong{color:var(--green-2)}
.stories{padding:0 clamp(18px,4vw,60px) clamp(90px,10vw,150px);display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:repeat(2,minmax(280px,34vw));gap:18px}.story{position:relative;overflow:hidden;border-radius:var(--radius);min-height:320px}.story-large{grid-row:1/3}.story img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.story:hover img{transform:scale(1.05)}.story:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,35,25,.9),transparent 60%)}.story-overlay{position:absolute;z-index:2;left:clamp(22px,4vw,48px);right:24px;bottom:clamp(22px,4vw,45px);color:white}.story-tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mint);margin-bottom:12px}.story h3{font-size:clamp(2rem,4vw,4.5rem);max-width:650px}.story:not(.story-large) h3{font-size:clamp(1.8rem,3vw,3rem)}.story p{max-width:520px;margin-bottom:0}
.worlds{background:var(--green);padding:clamp(85px,10vw,145px) max(22px,calc((100vw - 1240px)/2));color:white}.section-heading.light{max-width:740px}.section-heading.light .kicker{color:var(--mint)}.section-heading.light h2{font-size:clamp(3.4rem,7vw,7rem)}.section-heading.light>p:last-child{font-size:1.15rem;color:#c8d7d0;max-width:620px;margin-top:24px}.world-selector{display:flex;flex-wrap:wrap;gap:9px;margin:46px 0 25px}.world-selector button{font:inherit;font-weight:700;color:white;background:#ffffff0d;border:1px solid #ffffff38;border-radius:999px;padding:11px 17px;cursor:pointer}.world-selector button:hover,.world-selector button[aria-selected="true"]{background:var(--mint);color:var(--green);border-color:var(--mint)}.world-stage{background:#0d4c38;border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;min-height:510px;overflow:hidden}.world-stage>div{padding:clamp(30px,6vw,75px);display:flex;flex-direction:column;justify-content:center}.world-stage img{width:100%;height:100%;object-fit:cover;min-height:400px}.world-number{font-family:"League Spartan";font-size:1.2rem;color:var(--yellow);font-weight:800}.world-overline{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:800;color:var(--mint);margin:26px 0 13px}.world-stage h3{font-size:clamp(2.8rem,5vw,5rem)}.world-text{font-size:1.15rem;color:#dae5e0}.world-examples{font-size:.85rem;color:#9eb9ad;border-top:1px solid #ffffff24;padding-top:20px}
.route-section{max-width:1370px;margin:auto;padding:clamp(90px,12vw,170px) 28px;display:grid;grid-template-columns:1fr .88fr;gap:clamp(45px,8vw,110px);align-items:center}.route-image{position:relative}.route-image img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover}.image-note{position:absolute;right:-18px;bottom:38px;background:var(--yellow);padding:15px 20px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;transform:rotate(-3deg)}.route-copy h2{font-size:clamp(3rem,5.3vw,5.7rem)}.steps{list-style:none;padding:0;margin:40px 0 0}.steps li{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:18px 0;border-top:1px solid #173b2d28}.steps li>span{font-family:"League Spartan";font-weight:800;color:var(--green-2)}.steps strong{font-size:1.06rem}.steps p{margin:4px 0 0;color:#4d6058}
.studio{min-height:760px;position:relative;display:flex;align-items:flex-end;color:white;padding:clamp(60px,8vw,110px) clamp(24px,8vw,130px);overflow:hidden}.studio-bg,.studio-shade{position:absolute;inset:0;width:100%;height:100%}.studio-bg{object-fit:cover}.studio-shade{background:linear-gradient(90deg,rgba(3,34,24,.93),rgba(3,34,24,.34) 67%,transparent),linear-gradient(0deg,#021a12aa,transparent 60%)}.studio-content{position:relative;z-index:2;max-width:680px}.studio-content .kicker{color:var(--mint)}.studio-content h2{font-size:clamp(3.7rem,7vw,7.5rem);text-transform:uppercase}.studio-content>p:not(.kicker){font-size:1.2rem;max-width:610px}.role-list{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:30px 0 0}.role-list li{border:1px solid #ffffff55;background:#ffffff12;padding:8px 13px;border-radius:999px;font-weight:700;font-size:.85rem}
.shorter{max-width:1280px;margin:auto;padding:clamp(90px,12vw,170px) 28px;display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(45px,8vw,110px);align-items:center}.shorter-copy>p:not(.kicker){font-size:1.08rem}.shorter blockquote{margin:32px 0 0;padding:25px 0 25px 25px;border-left:5px solid var(--yellow);font-family:"League Spartan";font-size:1.5rem;font-weight:700;line-height:1.25}.shorter-image img{border-radius:var(--radius);box-shadow:var(--shadow)}
.spotlight-strip{background:#dfeecf;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.strip-image img{width:100%;height:100%;object-fit:cover;min-height:560px}.strip-copy{padding:clamp(55px,8vw,120px)}.strip-copy p:last-child{font-size:1.12rem;max-width:600px}.strip-copy strong{color:var(--green-2)}
.cta{background:var(--green);color:white;position:relative;overflow:hidden;padding:clamp(90px,12vw,160px) 28px 65px;text-align:center}.cta-content{position:relative;z-index:2;max-width:900px;margin:auto}.cta .kicker{color:var(--mint)}.cta h2{font-size:clamp(4rem,9vw,9rem)}.cta-content>p:not(.kicker){font-size:1.18rem;max-width:660px;margin:26px auto 32px;color:#d6e4dd}.button.bright{background:var(--yellow);color:var(--ink)}.cta-orb{position:absolute;border-radius:50%;filter:blur(3px);opacity:.16;background:var(--mint)}.cta-orb.one{width:370px;height:370px;left:-160px;top:40px}.cta-orb.two{width:540px;height:540px;right:-260px;bottom:-200px}.coach-route{position:relative;z-index:2;max-width:1050px;margin:75px auto 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff3b;padding-top:35px}.coach-route div{display:grid;gap:5px;position:relative}.coach-route div:not(:last-child):after{content:"→";position:absolute;right:-4px;top:18px;color:var(--mint)}.coach-route span{color:var(--yellow);font-family:"League Spartan";font-size:1.5rem;font-weight:800}.coach-route small{color:#abc1b7}
.school-address{margin:32px auto 0!important;color:#bcd0c7!important;font-size:.95rem!important;letter-spacing:.02em}.school-address strong{color:white;font-size:1.05rem}
footer{background:#04281d;color:white;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:35px clamp(22px,5vw,76px);font-size:.84rem}footer img{width:190px}footer p{margin:0;text-align:center;color:#d7e3de}footer p strong{color:white;font-size:.95rem}footer p span{display:inline-block;margin-top:5px;color:#91aa9f}footer a{color:var(--mint);text-decoration:none;font-weight:700}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:900px){.site-header{height:78px}.menu-button{display:block}nav{position:absolute;top:78px;left:0;right:0;background:var(--green);padding:18px 24px 26px;display:none;flex-direction:column;align-items:flex-start;border-top:1px solid #ffffff22}nav.open{display:flex}.hero{min-height:720px}.hero-content{margin-left:24px}.hero-shade{background:linear-gradient(90deg,rgba(4,34,24,.93),rgba(4,34,24,.55)),linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.hero-caption{display:none}.intro-section,.route-section,.shorter{grid-template-columns:1fr}.stories{grid-template-columns:1fr;grid-template-rows:none}.story-large{grid-row:auto}.story{min-height:480px}.world-stage,.spotlight-strip{grid-template-columns:1fr}.world-stage img{order:-1;min-height:340px}.route-image{max-width:680px}.route-image img{aspect-ratio:4/3}.shorter-image{order:-1}.coach-route{grid-template-columns:1fr 1fr;row-gap:32px}.coach-route div:nth-child(2):after{display:none}footer{flex-direction:column;text-align:center}}
@media (max-width:560px){.brand img{width:190px}.hero-content{padding-top:68px}.hero-intro{font-size:1rem}.hero-actions{flex-direction:column;align-items:flex-start}.intro-section,.route-section,.shorter{padding-left:20px;padding-right:20px}.stories{padding-left:12px;padding-right:12px}.story{min-height:410px;border-radius:20px}.worlds{padding-left:20px;padding-right:20px}.world-stage{border-radius:20px}.world-stage img{min-height:260px}.world-selector{overflow:auto;flex-wrap:nowrap;padding-bottom:8px}.world-selector button{white-space:nowrap}.studio{padding-left:22px;padding-right:22px}.coach-route{grid-template-columns:1fr}.coach-route div:after{display:none!important}footer img{width:170px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track,.hero-progress i{animation:none}.hero-slide,.story img,.reveal{transition:none}.reveal{opacity:1;transform:none}}
