:root {
  --deep:#032f27;
  --green:#075943;
  --green-bright:#0d8e65;
  --gold:#ffd45a;
  --gold-pale:#fff0a0;
  --cream:#fff9e9;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color-scheme:dark;
}

* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:78px }
body { margin:0; color:white; background:var(--deep); font-size:16px; line-height:1.5 }
a { color:inherit; text-decoration:none }
img { display:block; max-width:100% }
h1,h2,p { margin:0 }
h1,h2 { line-height:.88; letter-spacing:-.065em; text-wrap:balance }
.shell { width:min(1440px,calc(100% - 72px)); margin-inline:auto }
.skip-link { position:fixed; left:16px; top:-70px; z-index:100; padding:10px 14px; color:var(--deep); background:var(--gold); border-radius:4px; font-weight:900 }
.skip-link:focus { top:12px }
a:focus-visible { outline:3px solid var(--gold); outline-offset:5px }

.site-header { position:sticky; top:0; z-index:40; background:#032f27ed; border-bottom:1px solid #e6c0543d; backdrop-filter:blur(16px) }
.header-inner { height:78px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:34px }
.brand { display:inline-flex; align-items:center; gap:12px; font-size:1rem; font-weight:950; letter-spacing:.02em; white-space:nowrap }
.brand b { color:var(--gold) }
.brand-mark { display:grid; place-items:center; width:44px; height:46px; color:var(--gold-pale); border:2px solid var(--gold); border-radius:10px; font-size:1.1rem; font-weight:950 }
nav { justify-self:center; display:flex; gap:42px; color:#dcece6; font-size:.76rem; font-weight:900; letter-spacing:.1em }
nav a:hover { color:var(--gold) }
.header-cta { min-width:150px; padding:13px 20px; color:var(--deep); background:linear-gradient(135deg,var(--gold-pale),#f7bd22); border:1px solid #fff1aa; text-align:center; font-size:.8rem; font-weight:950; letter-spacing:.04em; box-shadow:0 12px 34px #00000050 }

.cinematic { position:relative; min-height:calc(100svh - 78px); overflow:hidden; isolation:isolate }
.scene-image,.scene-shade { position:absolute; inset:0; width:100%; height:100% }
.scene-image { z-index:-2; object-fit:cover }
.scene-shade { z-index:-1 }
.hero .scene-image { object-position:center }
.hero-shade { background:linear-gradient(90deg,#021f1cf7 0,#032b24dc 24%,#032f278a 42%,#021a1421 73%),linear-gradient(180deg,#00000014 40%,#021f1c8e 100%) }
.scene-content { min-height:calc(100svh - 78px); display:flex; flex-direction:column; justify-content:center; padding-block:70px }
.hero-content { align-items:flex-start }
.kicker,.section-kicker { color:#ffe17c; font-size:.78rem; font-weight:950; letter-spacing:.18em }
.hero-content h1 { max-width:9ch; margin-top:24px; font-size:clamp(4.9rem,7.8vw,8.3rem); font-weight:950 }
.hero-content h1 em,.pix-content h2 em { color:var(--gold); font-style:normal }
.hero-punch { margin-top:26px; color:#f2f7f4; font-size:1.2rem; font-weight:750 }
.main-cta { display:inline-flex; align-items:center; justify-content:center; min-width:300px; min-height:66px; margin-top:32px; padding:17px 28px; color:var(--deep); background:linear-gradient(135deg,var(--gold-pale),#f5bd21); border:1px solid #fff2aa; font-size:.92rem; font-weight:950; letter-spacing:.05em; box-shadow:0 22px 55px #00000061,0 0 45px #ffc83421; transition:transform .18s ease,box-shadow .18s ease }
.main-cta:hover { transform:translateY(-3px); box-shadow:0 28px 65px #00000070,0 0 55px #ffc83432 }
[data-entry-cta]::after { content:none !important }
[data-entry-cta][aria-disabled="true"] { pointer-events:none; cursor:wait; opacity:.72 }
[data-entry-cta].is-loading::before { content:""; width:1em; height:1em; margin-right:.65em; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:cta-loading .7s linear infinite }
@keyframes cta-loading { to { transform:rotate(360deg) } }
.trust-text { display:flex; align-items:center; flex-wrap:wrap; margin-top:25px; color:#e7f0ec; font-size:.66rem; font-weight:850; letter-spacing:.08em }
.trust-text span { padding:0 14px; border-right:1px solid #d6c36e80 }
.trust-text span:first-child { padding-left:0; color:var(--gold) }
.trust-text span:last-child { border-right:0 }

.winning-paths { position:relative; overflow:hidden; padding:105px 0 100px; background:radial-gradient(circle at 50% 0,#117b5c 0,transparent 33%),#043a2e; border-top:1px solid #e5c45452; border-bottom:1px solid #e5c45452 }
.winning-paths:before { content:""; position:absolute; inset:0; opacity:.12; background:linear-gradient(90deg,transparent 49.9%,#e1c268 50%,transparent 50.1%) }
.paths-heading { position:relative; display:grid; grid-template-columns:.85fr 1.45fr .7fr; align-items:end; gap:42px; margin-bottom:54px }
.section-kicker { color:#ffe17c; font-size:.75rem; font-weight:950; letter-spacing:.16em }
.paths-heading h2 { color:white; font-size:clamp(4.2rem,6.2vw,6.8rem); font-weight:950 }
.paths-heading h2 em { color:var(--gold); font-style:normal }
.paths-heading>p:last-child { max-width:26ch; color:#ccdfd8; font-size:1rem; font-weight:700 }
.path-grid { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:22px }
.path-card { position:relative; min-height:710px; overflow:hidden; border:1px solid #dbbd6380; box-shadow:0 32px 75px #001d1766 }
.path-card>img,.path-shade { position:absolute; inset:0; width:100%; height:100% }
.path-card>img { object-fit:cover }
.mentor-path>img { object-position:center 36% }
.solo-path>img { object-position:center 29% }
.path-shade { background:linear-gradient(180deg,transparent 38%,#021b16a8 67%,#011a15f9 100%) }
.path-copy { position:absolute; z-index:2; left:0; right:0; bottom:0; padding:46px }
.path-copy>p { margin-bottom:15px; color:#ffe17c; font-size:.68rem; font-weight:950; letter-spacing:.16em }
.path-copy h3 { margin:0; color:white; font-size:clamp(2.8rem,4.2vw,4.8rem); line-height:.9; letter-spacing:-.06em; font-weight:950 }
.path-copy span { display:block; max-width:39ch; margin-top:19px; color:#dcebe5; font-size:.88rem; font-weight:700 }
.paths-action { position:relative; display:grid; grid-template-columns:1fr auto; align-items:center; gap:45px; padding-top:42px }
.paths-action>p { max-width:52ch; color:#d7e8e1; font-size:1rem; font-weight:750 }
.paths-action .main-cta { margin-top:0; min-width:330px }

.pix-scene { min-height:900px }
.pix-scene .scene-image { object-position:center }
.pix-shade { background:linear-gradient(90deg,#011d1721 0,#02221b42 44%,#021d19e8 72%,#011712fa 100%),linear-gradient(180deg,#0000001f 45%,#011e19b3 100%) }
.pix-content { min-height:900px; width:min(1440px,calc(100% - 72px)); align-items:flex-start; padding-left:min(54%,790px) }
.pix-content h2 { max-width:7ch; margin-top:23px; font-size:clamp(5rem,8vw,8.6rem); font-weight:950 }
.pix-content>p:not(.kicker) { max-width:30ch; margin-top:28px; color:#e3eee9; font-size:1.1rem; font-weight:700 }
.pix-claim { display:flex; align-items:center; margin-top:31px; color:#fff4bc; font-size:.72rem; font-weight:900; letter-spacing:.1em }
.pix-claim strong { padding-right:18px; color:var(--gold); font-size:1.1rem }
.pix-claim span { padding-left:18px; border-left:1px solid #dabe6d8a }
.pix-content small { max-width:55ch; margin-top:16px; color:#aebfb8; font-size:.62rem; line-height:1.45 }

.closing-cta { padding:92px 0; color:var(--deep); background:linear-gradient(120deg,#fff2ab 0,#f6c12f 48%,#e8a900 100%) }
.closing-inner { display:grid; grid-template-columns:1fr auto; align-items:end; gap:50px }
.closing-inner p { margin-bottom:13px; color:#6f5100; font-size:.75rem; font-weight:950; letter-spacing:.2em }
.closing-inner h2 { font-size:clamp(4rem,7vw,7.2rem); font-weight:950 }
.closing-inner>a { min-width:300px; padding:22px 28px; color:white; background:var(--deep); border:1px solid #0b5c49; text-align:center; font-size:.9rem; font-weight:950; letter-spacing:.06em; box-shadow:0 20px 45px #5840003b }

footer { padding:38px 0 108px; background:#011f19; border-top:1px solid #dfbb4c4a }
.footer-inner { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:48px }
.footer-inner p { max-width:52ch; color:#9fbdb2; font-size:.73rem }
.footer-inner p strong { color:#ecd887 }
.mobile-cta { display:none }

@media(max-width:900px) {
  .shell { width:calc(100% - 40px) }
  .hero-content h1 { font-size:clamp(4.2rem,10vw,6.2rem) }
  .paths-heading { grid-template-columns:1fr 1fr; gap:24px }
  .paths-heading .section-kicker { grid-column:1/-1 }
  .path-card { min-height:610px }
  .path-copy { padding:32px }
  .paths-action { grid-template-columns:1fr }
  .paths-action .main-cta { width:min(100%,440px) }
  .pix-content { width:calc(100% - 40px); padding-left:48% }
  .closing-inner { grid-template-columns:1fr }
  .closing-inner>a { width:min(100%,420px) }
}

@media(max-width:680px) {
  html { scroll-padding-top:64px }
  body { padding-bottom:78px }
  .shell { width:calc(100% - 28px) }
  .header-inner { height:64px; grid-template-columns:1fr auto; gap:10px }
  nav { display:none }
  .brand { font-size:.82rem }
  .brand-mark { width:34px; height:36px; border-radius:8px; font-size:.9rem }
  .header-cta { min-width:0; padding:10px 13px; font-size:.67rem }
  .cinematic,.scene-content { min-height:calc(100svh - 64px) }
  .hero .scene-image { object-position:60% center }
  .hero-shade { background:linear-gradient(180deg,#011c164f 0,#0120191c 32%,#02271fb8 64%,#011b17fb 100%) }
  .scene-content { justify-content:flex-end; padding-block:46px }
  .hero-content { padding-bottom:112px }
  .kicker { font-size:.62rem; letter-spacing:.13em }
  .hero-content h1 { max-width:10ch; margin-top:15px; font-size:clamp(3.8rem,18vw,5.2rem) }
  .hero-punch { margin-top:18px; font-size:.94rem }
  .main-cta { width:100%; min-width:0; min-height:56px; margin-top:22px; font-size:.82rem }
  .trust-text { gap:5px 0; margin-top:16px; font-size:.54rem; letter-spacing:.04em }
  .trust-text span { padding-inline:8px }
  .winning-paths { padding:65px 0 64px }
  .winning-paths:before { display:none }
  .paths-heading { display:block; margin-bottom:34px }
  .section-kicker { margin-bottom:18px; font-size:.62rem; letter-spacing:.12em }
  .paths-heading h2 { font-size:clamp(3.25rem,15vw,4.5rem) }
  .paths-heading>p:last-child { margin-top:18px; font-size:.86rem }
  .path-grid { grid-template-columns:1fr; gap:14px }
  .path-card { min-height:570px }
  .mentor-path>img { object-position:center 30% }
  .solo-path>img { object-position:center 26% }
  .path-copy { padding:28px 22px 27px }
  .path-copy>p { margin-bottom:11px; font-size:.57rem; letter-spacing:.12em }
  .path-copy h3 { font-size:clamp(2.65rem,12vw,3.45rem) }
  .path-copy span { margin-top:14px; font-size:.78rem }
  .paths-action { display:block; padding-top:29px }
  .paths-action>p { font-size:.82rem }
  .paths-action .main-cta { width:100%; min-width:0; margin-top:20px }
  .pix-scene,.pix-content { min-height:780px }
  .pix-scene .scene-image { object-position:36% center }
  .pix-shade { background:linear-gradient(180deg,#011b1530 0,#011d1721 36%,#03271fc4 63%,#011a15fb 100%) }
  .pix-content { width:calc(100% - 28px); padding-left:0; justify-content:flex-end; padding-bottom:112px }
  .pix-content h2 { margin-top:14px; font-size:clamp(4rem,19vw,5.6rem) }
  .pix-content>p:not(.kicker) { margin-top:19px; font-size:.92rem }
  .pix-claim { margin-top:22px; font-size:.58rem; letter-spacing:.06em }
  .pix-claim strong { font-size:.92rem; padding-right:12px }
  .pix-claim span { padding-left:12px }
  .pix-content small { margin-top:13px; font-size:.55rem }
  .closing-cta { padding:65px 0 }
  .closing-inner { gap:30px }
  .closing-inner p { font-size:.62rem }
  .closing-inner h2 { font-size:clamp(3.6rem,17vw,5rem) }
  .closing-inner>a { width:100%; min-width:0; padding:18px 20px; font-size:.8rem }
  footer { padding:34px 0 }
  .footer-inner { grid-template-columns:1fr; gap:22px }
  .mobile-cta { position:fixed; z-index:50; left:0; right:0; bottom:0; display:grid; gap:2px; padding:8px 14px calc(7px + env(safe-area-inset-bottom)); background:#022a23f2; box-shadow:0 -12px 32px #00171175 }
  .mobile-cta a { min-height:48px; padding:13px 16px; color:var(--deep); background:linear-gradient(135deg,var(--gold-pale),#f4ba1f); text-align:center; font-size:.82rem; font-weight:950; letter-spacing:.05em }
  .mobile-cta>span { color:#b9cfc6; text-align:center; font-size:.56rem }
}

@media(max-width:360px) {
  .brand { font-size:.74rem }
  .header-cta { padding-inline:10px }
  .trust-text span { padding-inline:6px }
}

@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  .main-cta { transition:none }
  [data-entry-cta].is-loading::before { animation-duration:1.4s }
}
