:root {
  color-scheme: dark;
  --bg: #020204;
  --surface: #070910;
  --text: #f5f5f7;
  --muted: #989ca8;
  --blue-rgb: 23,107,255;
  --line: rgba(255,255,255,.09);
  --line-soft: rgba(255,255,255,.055);
  --container: min(1180px, calc(100vw - 3rem));
  --ease: cubic-bezier(.2,.75,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { margin: 0; overflow-x: hidden; background: var(--bg); color: var(--text); font: 1rem/1.6 Inter, "Helvetica Neue", "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a, label { -webkit-tap-highlight-color: transparent; }
h1, h2, p { margin-top: 0; }
.skip-link { position: fixed; z-index: 1000; top: 1rem; left: 1rem; padding: .75rem 1rem; background: white; color: black; transform: translateY(-200%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; z-index: 100; inset: 0 0 auto; border-bottom: 1px solid transparent; transition: background .3s, border-color .3s; }
.site-header.is-scrolled { background: rgba(2,2,4,.78); border-color: var(--line-soft); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.nav-shell { width: var(--container); height: 5.25rem; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: .65rem; font-size: .92rem; font-weight: 650; letter-spacing: -.02em; }
.brand-mark { width: 2rem; height: 1.3rem; object-fit: contain; filter: drop-shadow(0 0 18px rgba(var(--blue-rgb),.28)); }
.site-nav { display: flex; align-items: center; gap: 1.8rem; }
.site-nav > a:not(.button) { color: #b6b8c1; font-size: .82rem; transition: color .2s; }
.site-nav > a:hover { color: white; }
.button { min-height: 3.15rem; display: inline-flex; align-items: center; justify-content: center; gap: .8rem; padding: .78rem 1.15rem; border: 1px solid #438bff; border-radius: .75rem; background: linear-gradient(180deg,#2176ff,#0755e7); color: white; font-size: .86rem; font-weight: 650; box-shadow: 0 0 0 1px rgba(255,255,255,.1) inset,0 10px 38px rgba(var(--blue-rgb),.3); transition: transform .25s var(--ease),box-shadow .25s var(--ease); cursor: pointer; }
.button:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(255,255,255,.14) inset,0 14px 44px rgba(var(--blue-rgb),.36); }
.button-small { min-height: 2.45rem; padding: .58rem .9rem; border-radius: .5rem; font-size: .76rem; }

.button:focus-visible, .site-nav a:focus-visible, input:focus-visible, textarea:focus-visible, .choice:has(input:focus-visible) { outline: 2px solid #70a2ff; outline-offset: 4px; }

.apply-page { position: relative; min-height: 100svh; overflow: hidden; isolation: isolate; background: #010207; }
.hero-atmosphere { position: fixed; z-index: -1; inset: 0; overflow: hidden; background: linear-gradient(180deg,#02040a 0%,#010207 68%,#020204 100%); }
.hero-atmosphere::before { content: ""; position: absolute; z-index: 2; inset: 0; opacity: .25; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; pointer-events: none; }
.hero-aura { position: absolute; inset: -24% -18% -18%; background: radial-gradient(ellipse 30% 34% at 8% 77%,rgba(17,92,244,.88),rgba(7,48,167,.48) 46%,transparent 76%), radial-gradient(ellipse 38% 29% at 31% 43%,rgba(19,96,246,.8),rgba(7,45,158,.4) 48%,transparent 79%), radial-gradient(ellipse 46% 25% at 60% 24%,rgba(15,80,221,.72),rgba(5,37,143,.34) 50%,transparent 80%), radial-gradient(ellipse 36% 34% at 94% 15%,rgba(45,132,255,.96),rgba(13,73,211,.5) 45%,transparent 77%); filter: blur(52px) saturate(1.32); opacity: .98; transform: rotate(-5deg) translate3d(-2%,2%,0) scale(.95,.9); animation: blue-wave 11.5s cubic-bezier(.45,.05,.55,.95) infinite; }
.hero-vignette { position: absolute; z-index: 1; inset: -1px; background: radial-gradient(ellipse 60% 48% at 50% 18%,rgba(1,2,7,.2),rgba(1,2,7,.42) 52%,rgba(1,2,7,.82) 92%), linear-gradient(180deg,rgba(1,2,7,.02),rgba(2,2,4,.82) 96%); box-shadow: inset 0 0 8rem 1rem rgba(1,2,7,.58); }
@keyframes blue-wave { 0%,100% { opacity: .82; transform: rotate(-6deg) translate3d(-2.5%,2.5%,0) scale(.94,.88); } 43% { opacity: 1; transform: rotate(-2.5deg) translate3d(2.2%,-2.2%,0) scale(1.1,1.06); } 71% { opacity: .9; transform: rotate(-4.2deg) translate3d(.4%,-.4%,0) scale(1.02,.98); } }

.apply-shell { width: min(900px, calc(100vw - 3rem)); margin: 0 auto; padding: 11.5rem 0 6rem; }

.apply-intro { max-width: 760px; margin: 0 auto 5rem; text-align: center; }
.eyebrow { position: relative; width: max-content; max-width: 100%; margin: 0 0 1.7rem; padding: .58rem .82rem; display: flex; align-items: center; gap: .68rem; overflow: hidden; border: 1px solid rgba(255,255,255,.085); border-radius: .86rem; color: #d9dbe2; background: linear-gradient(180deg,rgba(14,16,21,.96),rgba(8,9,13,.96)); box-shadow: 0 10px 30px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.025); font-size: .82rem; font-weight: 500; letter-spacing: -.012em; line-height: 1; opacity: 0; transform: translateY(8px); animation: soft-in .7s .08s var(--ease) forwards; }
.eyebrow::after { content: ""; position: absolute; width: 4rem; height: 1.2rem; top: -.72rem; right: -.55rem; border-radius: 50%; background: #2677ff; filter: blur(8px); opacity: .58; transform: translateX(20%); animation: eyebrow-glow 3.2s ease-in-out infinite; pointer-events: none; }
.eyebrow span { position: relative; z-index: 1; width: .42rem; height: .42rem; flex: 0 0 auto; border-radius: 50%; background: #f7f8fb; box-shadow: 0 0 0 3px rgba(255,255,255,.025),0 0 12px rgba(92,144,255,.5); animation: eyebrow-pulse 2.4s ease-in-out infinite; }
.apply-eyebrow { margin-inline: auto; }
@keyframes eyebrow-pulse { 0%,100% { opacity: .72; transform: scale(.84); } 50% { opacity: 1; transform: scale(1); } }
@keyframes eyebrow-glow { 0%,100% { opacity: .34; transform: translateX(30%) scale(.82); } 50% { opacity: .72; transform: translateX(-8%) scale(1.08); } }
.apply-intro h1 { margin: 0; color: #8e939d; font-size: clamp(4rem,7vw,6.6rem); font-weight: 420; line-height: .91; letter-spacing: -.068em; text-wrap: balance; opacity: 0; filter: blur(10px); transform: translateY(18px); animation: title-in .95s .18s var(--ease) forwards; }
.apply-intro h1 strong { color: #f5f6f8; font-weight: 520; }
.hero-lede { max-width: 590px; margin: 2rem auto 0; color: #a4a9b4; font-size: 1.05rem; line-height: 1.75; text-wrap: balance; opacity: 0; transform: translateY(10px); animation: soft-in .7s .55s var(--ease) forwards; }
@keyframes soft-in { to { opacity: 1; transform: translateY(0); } }
@keyframes title-in { to { opacity: 1; filter: blur(0); transform: translateY(0); } }

.application-form { position: relative; isolation: isolate; padding: clamp(1.5rem,4vw,3rem); border: 1px solid rgba(138,169,224,.22); border-radius: 1.25rem; background: linear-gradient(145deg,rgba(9,13,23,.94),rgba(3,4,9,.96) 58%,rgba(5,9,18,.94)); box-shadow: 0 2.5rem 8rem rgba(0,0,0,.62), 0 0 0 1px rgba(31,92,212,.08), inset 0 1px rgba(255,255,255,.07), inset 0 -4rem 8rem rgba(0,0,0,.16); backdrop-filter: blur(28px); -webkit-backdrop-filter: blur(28px); opacity: 0; transform: translateY(20px); animation: soft-in .8s .75s var(--ease) forwards; }

.application-form::before { content: ""; position: absolute; inset: -1px 12% auto; height: 1px; background: linear-gradient(90deg,transparent,rgba(87,146,255,.85),transparent); box-shadow: 0 0 2rem rgba(var(--blue-rgb),.55); }
.application-form::after { content: ""; position: absolute; z-index: -1; width: 72%; height: 18rem; left: 14%; top: -7rem; border-radius: 50%; background: rgba(26,103,255,.2); filter: blur(80px); pointer-events: none; }
.honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; opacity: 0 !important; pointer-events: none !important; }
.form-heading { padding-bottom: 2rem; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; border-bottom: 1px solid var(--line); }
.form-kicker { margin: 0 0 .5rem; color: #778197; font-size: .64rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.form-heading h2 { margin: 0; font-size: clamp(1.8rem,4vw,2.5rem); font-weight: 500; letter-spacing: -.048em; line-height: 1.05; }
.form-heading > p { margin: 0 0 .2rem; display: flex; align-items: center; gap: .5rem; color: #777d8b; font-size: .73rem; white-space: nowrap; }
.form-heading > p span { width: .4rem; height: .4rem; border-radius: 50%; background: #75a5ff; box-shadow: 0 0 12px rgba(74,134,255,.9); }
.form-grid { margin-top: 2rem; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 1.25rem; }
.field-wide { grid-column: 1 / -1; }
.field { position: relative; transition: transform .25s var(--ease); }
.field:focus-within { transform: translateY(-2px); }
.field label, legend { color: #e7e9ef; font-size: .82rem; font-weight: 600; letter-spacing: -.01em; }
.field label { display: block; margin-bottom: .6rem; }
input[type="text"], input[type="email"], textarea { width: 100%; border: 1px solid rgba(150,168,204,.15); border-radius: .65rem; background: linear-gradient(180deg,rgba(0,1,4,.74),rgba(4,7,14,.78)); color: #f3f4f7; box-shadow: inset 0 1px rgba(255,255,255,.025), 0 8px 28px rgba(0,0,0,.12); transition: border-color .25s, background .25s, box-shadow .25s, transform .25s var(--ease); }
input[type="text"], input[type="email"] { height: 3.35rem; padding: 0 1rem; }
textarea { min-height: 7.5rem; padding: .85rem 1rem; line-height: 1.55; resize: vertical; }
input::placeholder, textarea::placeholder { color: #555b68; }
input:hover, textarea:hover { border-color: rgba(112,154,234,.38); background: linear-gradient(180deg,rgba(2,5,12,.9),rgba(5,10,21,.88)); box-shadow: inset 0 1px rgba(255,255,255,.035), 0 12px 34px rgba(0,0,0,.2), 0 0 24px rgba(var(--blue-rgb),.045); }
input:focus, textarea:focus { border-color: rgba(82,139,255,.88); background: rgba(3,6,14,.92); box-shadow: 0 0 0 3px rgba(var(--blue-rgb),.12), 0 14px 38px rgba(0,0,0,.28), 0 0 32px rgba(var(--blue-rgb),.08); outline: 0; }
.choice-group { position: relative; min-width: 0; margin: 0; padding: 0; border: 0; }
legend { width: 100%; margin-bottom: .75rem; display: flex; justify-content: space-between; gap: 1rem; }
legend small { color: #5f6572; font-size: .67rem; font-weight: 500; }
.choice-grid { display: grid; gap: .65rem; }
.choice-grid-four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.choice-grid-five { grid-template-columns: repeat(5,minmax(0,1fr)); }
.choice { position: relative; min-height: 3.25rem; display: flex; align-items: center; justify-content: center; overflow: hidden; border: 1px solid rgba(150,168,204,.13); border-radius: .65rem; background: linear-gradient(180deg,rgba(8,11,19,.72),rgba(2,3,8,.72)); color: #959aa6; box-shadow: inset 0 1px rgba(255,255,255,.025),0 8px 25px rgba(0,0,0,.1); text-align: center; cursor: pointer; transition: color .25s,border-color .25s,background .25s,transform .25s var(--ease),box-shadow .25s; }
.choice::after { content: ""; position: absolute; width: 70%; height: 100%; left: -90%; top: 0; background: linear-gradient(90deg,transparent,rgba(97,150,255,.1),transparent); transform: skewX(-18deg); transition: left .55s var(--ease); pointer-events: none; }
.choice:hover { color: #f2f4f8; border-color: rgba(101,151,247,.42); transform: translateY(-2px); box-shadow: inset 0 1px rgba(255,255,255,.045),0 14px 30px rgba(0,0,0,.2),0 0 24px rgba(var(--blue-rgb),.06); }
.choice:hover::after { left: 120%; }
.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice span { padding: .7rem .65rem; font-size: .76rem; line-height: 1.25; }
.choice:has(input:checked) { color: white; border-color: rgba(88,148,255,.88); background: linear-gradient(180deg,rgba(31,93,211,.34),rgba(10,39,101,.3)); box-shadow: inset 0 0 0 1px rgba(120,168,255,.14),inset 0 1px rgba(255,255,255,.08),0 10px 32px rgba(0,38,115,.3),0 0 26px rgba(var(--blue-rgb),.12); }
.field-error { min-height: 0; margin: .38rem 0 0; color: #ff8d99; font-size: .69rem; line-height: 1.35; }
.field-error:empty { display: none; }
.is-invalid { border-color: rgba(255,105,120,.68) !important; }
.choice-group.is-invalid .choice { border-color: rgba(255,105,120,.38); }
.form-submit { margin-top: 2.5rem; padding-top: 2rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-top: 1px solid var(--line); }
.form-submit > p { max-width: 300px; margin: 0; color: #656b78; font-size: .72rem; line-height: 1.6; }
.submit-button { min-width: 270px; position: relative; overflow: hidden; box-shadow: 0 0 0 1px rgba(255,255,255,.13) inset,0 14px 44px rgba(var(--blue-rgb),.38),0 0 45px rgba(var(--blue-rgb),.12); }
.submit-button::before { content: ""; position: absolute; width: 42%; height: 180%; left: -58%; top: -40%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent); transform: rotate(18deg); transition: left .65s var(--ease); }
.submit-button:hover::before { left: 118%; }
.submit-button:disabled { opacity: .65; cursor: wait; transform: none; }
.form-status { margin: 1rem 0 0; color: #aab8d2; font-size: .75rem; text-align: right; }
.form-status:empty { display: none; }

@media (max-width: 980px) {
  :root { --container: min(100% - 2.5rem,760px); }
  .site-nav > a:not(.button) { display: none; }
  .apply-shell { width: min(760px, calc(100vw - 2.5rem)); }
  .choice-grid-four, .choice-grid-five { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .choice-grid-five .choice:last-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  :root { --container: calc(100% - 2rem); }
  .nav-shell { height: 4.75rem; }
  .site-nav { gap: 0; }
  .site-nav .button { min-height: 2.65rem; padding-inline: .8rem; }
  .apply-shell { width: calc(100% - 2rem); padding: 8.5rem 0 3rem; }
  .apply-intro { margin-bottom: 3.25rem; text-align: left; }
  .apply-eyebrow { margin: 0 0 1.4rem; font-size: .76rem; }
  .apply-intro h1 { font-size: clamp(3.25rem,15vw,4.4rem); }
  .hero-lede { margin: 1.6rem 0 0; font-size: .98rem; }
  .application-form { padding: 1.35rem; border-radius: 1rem; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
  .form-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .form-grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .field-wide { grid-column: auto; }
  .choice-grid-four, .choice-grid-five { grid-template-columns: 1fr 1fr; }
  .choice-grid-five .choice:last-child { grid-column: 1 / -1; }
  .form-submit { align-items: stretch; flex-direction: column; gap: 1.25rem; }
  .form-submit > p { max-width: none; }
  .submit-button { width: 100%; min-width: 0; }
  .form-status { text-align: left; }
}

@media (max-width: 370px) {
  .brand span { display: none; }
  .choice-grid-four, .choice-grid-five { grid-template-columns: 1fr; }
  .choice-grid-five .choice:last-child { grid-column: auto; }
}

@media (hover: none), (pointer: coarse) {
  .button:hover, .choice:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .eyebrow, .apply-intro h1, .hero-lede, .application-form { opacity: 1; filter: none; transform: none; }
}
