/* The public homepage: midnight surfaces, chrome detailing, and restrained blue light. */
.home-page { --home-blue:#83b6ff; --home-dim:#9dabc1; --home-surface:#111b2b; }
.home-page main { overflow:clip; }
.home-page main .container { width:calc(100% - 96px); max-width:1280px; padding-inline:0; }
.home-page .home-hero { isolation:isolate; padding:72px 0 32px; border:0; background:radial-gradient(ellipse at 82% 28%,#17336166,transparent 44%),radial-gradient(ellipse at 6% 30%,#1d2e4a35,transparent 50%),#090f19; }
.home-page .home-hero::before { background-size:76px 76px; opacity:.11; mask-image:radial-gradient(ellipse at 70% 15%,#000,transparent 70%); }
.home-page .home-hero::after { content:''; position:absolute; z-index:-1; width:640px; height:240px; top:180px; right:-260px; border-radius:50%; background:#2b7dff0d; filter:blur(60px); transform:rotate(-35deg); pointer-events:none; }
.home-page .hero-inner { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:32px 64px; }
.home-page .hero-text { min-width:0; padding-block:28px 20px; }
.home-kicker { display:flex; align-items:center; gap:9px; color:#b9cbe5; font-size:11px; line-height:1.5; font-weight:600; letter-spacing:.13em; text-transform:uppercase; margin-bottom:28px; }
.home-kicker .icon { display:block; width:16px; height:16px; color:var(--home-blue); }
.home-page .home-hero h1 { margin:0 0 24px; color:#f0f4fc; font-size:clamp(48px,5.5vw,80px); font-weight:700; line-height:1.04; letter-spacing:-3.8px; }
.home-page .home-hero h1 > span { color:#a8c8ff; background:linear-gradient(115deg,#e4eeff 5%,#a8c8ff 52%,#659cfa); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.home-page .home-hero .lead { max-width:490px; margin:0 0 30px; color:var(--home-dim); font-size:17px; line-height:1.85; }
.home-page .hero-actions { gap:10px; margin:0; }
/* Buttons use the shared Bootstrap component styles, matching the portal. */
.home-page .btn > span[aria-hidden] { font-size:18px; line-height:16px; }
.home-hero-caption { margin-top:20px; color:#7f90aa; font-size:11px; letter-spacing:.02em; }
.home-visual { position:relative; align-self:stretch; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; min-height:510px; }
.home-visual-label { display:flex; justify-content:space-between; position:absolute; top:6px; left:30px; right:30px; color:#6e86a8; font-size:9px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.home-insignia-glow { position:absolute; inset:70px 30px 20px; border-radius:50%; background:radial-gradient(ellipse,#4b8dff22,transparent 65%); filter:blur(22px); }
.home-insignia { position:relative; width:min(100%,500px); height:auto; overflow:visible; transform:rotate(-6deg); filter:drop-shadow(0 0 34px #3865a318); animation:home-insignia-float 8s ease-in-out infinite; }
.home-visual-caption { position:relative; display:flex; align-items:center; justify-content:center; gap:15px; margin-top:-6px; color:#8ca1bf; font-size:9px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.home-visual-caption i { width:3px; height:3px; border-radius:50%; background:#5476a6; }
@keyframes home-insignia-float { 50% { transform:translateY(-8px) rotate(-4deg); } }
.home-stats-wrap { grid-column:1/-1; position:relative; padding-top:10px; }
.home-page .home-stat-placeholder { display:block; width:56px; height:28px; border-radius:6px; background:#a9caff12; }
.home-page .home-stats strong.is-unavailable { font-size:13px; font-weight:500; color:var(--muted); letter-spacing:0; }
.home-page .home-stats-note { justify-content:flex-end; margin-top:12px; color:#6c7f9d; font-size:10px; }
.home-page .section { padding:108px 0; }
.home-page .home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:38px; }
.home-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 18px; color:var(--home-blue); font-size:10px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.home-eyebrow::before { content:''; display:block; width:22px; height:1px; background:currentColor; opacity:.6; }
.home-page .section h2 { margin:0; color:#e7edf8; font-size:clamp(30px,3.3vw,46px); font-weight:600; line-height:1.2; letter-spacing:-1.6px; }
.home-page .section h2 span { color:#7c91b1; }
.home-section-heading > p { flex:0 1 340px; max-width:340px; margin:0 0 4px; color:var(--home-dim); font-size:14px; line-height:1.85; }
.home-about { background:radial-gradient(ellipse at 100% 75%,#14223930,transparent 60%),#0c131f; }
.home-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-principle { display:flex; flex-direction:column; position:relative; overflow:hidden; min-width:0; padding:28px; border-radius:16px; background:linear-gradient(145deg,#24354d70,#141e2e70 56%); }
.home-principle::after { content:''; pointer-events:none; position:absolute; width:200px; height:200px; border-radius:50%; background:#649fff08; filter:blur(36px); right:-70px; top:-80px; }
.home-principle-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:38px; }
.home-principle-top > [data-home-icon] { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; color:#b2d0ff; background:linear-gradient(160deg,#588cd42e,#1e345126); }
.home-principle-top .icon { width:19px; height:19px; }
.home-principle-top > span:last-child { color:#637c9e; font-size:11px; letter-spacing:.08em; }
.home-principle h3 { margin-bottom:14px; color:#dce8fa; font-size:20px; font-weight:600; line-height:1.35; letter-spacing:-.5px; }
.home-principle p { max-width:310px; color:#8fa2be; font-size:13px; line-height:1.9; }
.home-principle-word { display:block; margin-top:auto; padding-top:30px; color:#607897; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.home-units { background:radial-gradient(ellipse at 0% 50%,#122d5035,transparent 60%),#0a111d; }
.home-page .unit-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; }
.home-command { background:#0a111d; padding-top:0 !important; }
.home-command-panel { display:grid; grid-template-columns:1.2fr 1fr; gap:70px; padding:48px; border-radius:22px; position:relative; overflow:hidden; background:radial-gradient(ellipse at 5% 0%,#bba0630d,transparent 55%),linear-gradient(120deg,#1d2634,#141c2a); }
.home-command-copy > img { margin-bottom:20px; }
.home-command-copy .home-eyebrow { color:#c7b38b; }
.home-command-copy > p:not(.home-eyebrow) { margin-top:22px; max-width:390px; color:var(--home-dim); font-size:13px; line-height:1.85; }
.home-command-note { display:inline-block; margin-top:20px; color:#7b8aa0; font-size:12px; font-weight:600; }
a.home-command-note:hover { color:var(--text); }
.home-command-roles { align-self:center; }
.home-command-roles > div { display:grid; grid-template-columns:28px minmax(0,1fr); gap:5px 14px; padding:22px 0; }
.home-command-roles > div + div { border-top:1px solid #d8e5ff0d; }
.home-command-roles span { grid-row:span 2; padding-top:3px; color:#6e809b; font-size:11px; }
.home-command-roles h3 { color:#cbd7e9; font-size:16px; font-weight:500; letter-spacing:-.3px; line-height:1.5; }
.home-command-roles p { grid-column:2; color:#788da9; font-size:12px; }
.home-join { position:relative; background:radial-gradient(ellipse at 50% 10%,#2256a32b,transparent 65%),#0c1422; }
.home-join-heading { text-align:center; }
.home-join-heading .home-eyebrow { justify-content:center; }
.home-join-heading .home-eyebrow::before { display:none; }
.home-page .home-join-heading h2 { font-size:clamp(36px,4.5vw,60px); line-height:1.12; letter-spacing:-2px; }
.home-page .home-join-heading h2 span { color:#a1c5ff; }
.home-join-heading > p:last-child { margin-top:22px; color:#91a5c3; font-size:14px; line-height:1.8; }
.home-page .home-steps { gap:0; margin-top:52px; }
.home-page .home-steps > li { position:relative; padding:24px 26px; border:0; border-radius:0; background:transparent; }
.home-page .home-steps > li + li::before { content:''; position:absolute; left:0; top:28px; bottom:28px; width:1px; background:linear-gradient(transparent,#8eaadb29,transparent); }
.home-page .home-steps .step-num { font-size:13px; font-weight:500; color:#6b9be4; letter-spacing:.08em; opacity:1; }
.home-page .home-steps h3 { margin:20px 0 12px; font-size:17px; font-weight:600; letter-spacing:-.3px; }
.home-page .home-steps p { font-size:13px; line-height:1.8; color:#91a4bf; }
.home-page .footer { border-top:1px solid #4a668324; background:#080e18; }
@media(hover:hover) { .home-principle:hover { box-shadow:0 10px 40px #00000012; } }
@media(min-width:761px) and (prefers-reduced-motion:no-preference) {
  .home-motion [data-home-reveal] { opacity:0; transform:translateY(16px); transition:opacity .6s ease,transform .6s ease; }
  .home-motion [data-home-reveal].is-visible { opacity:1; transform:none; }
}
@media(max-width:1100px) {
  .home-page main .container { width:calc(100% - 64px); }
  .home-page .hero-inner { column-gap:20px; }
  .home-page .home-hero h1 { font-size:62px; letter-spacing:-2.8px; }
  .home-visual { min-height:440px; }
  .home-principle { padding:24px; }
  .home-command-panel { gap:38px; padding:36px; }
}
@media(max-width:820px) {
  .home-page .home-hero { padding-top:48px; }
  .home-page .hero-inner { grid-template-columns:1.1fr 1fr; gap:24px; }
  .home-page .home-hero h1 { font-size:48px; letter-spacing:-2.4px; }
  .home-page .home-hero .lead { font-size:14px; line-height:1.85; }
  .home-kicker { font-size:9px; letter-spacing:.08em; }
  .home-visual { min-height:390px; }
  .home-visual-label { left:12px; right:12px; font-size:8px; }
  .home-visual-caption { font-size:8px; gap:8px; letter-spacing:.02em; }
  .home-page .section { padding:76px 0; }
  .home-page .home-section-heading { align-items:flex-start; flex-direction:column; gap:22px; }
  .home-section-heading > p { flex:auto; max-width:540px; }
  .home-principles { gap:12px; }
  .home-principle { padding:22px 18px; }
  .home-principle h3 { font-size:17px; }
  .home-page .unit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-command-panel { grid-template-columns:1fr 1fr; gap:32px; padding:30px; }
  .home-page .home-command-panel h2 { font-size:31px; }
}
@media(max-width:600px) {
  .home-page main .container { width:calc(100% - 40px); }
  .home-page .home-hero { padding:46px 0 24px; }
  .home-page .hero-inner { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
  .home-page .hero-text { order:0; padding:0; }
  .home-kicker { font-size:9px; letter-spacing:.09em; margin-bottom:24px; }
  .home-page .home-hero h1 { font-size:clamp(40px,11.5vw,62px); letter-spacing:-2.4px; margin-bottom:22px; }
  .home-page .home-hero .lead { max-width:450px; font-size:15px; margin-bottom:26px; }
  .home-hero-caption { font-size:10px; margin-top:18px; }
  .home-visual { order:1; min-height:0; padding-top:4px; margin:0; }
  .home-insignia { width:min(85%,300px); }
  .home-visual-label { top:26px; left:0; right:0; font-size:7px; letter-spacing:.08em; }
  .home-visual-caption { margin-top:-3px; font-size:8px; gap:12px; }
  .home-stats-wrap { order:2; padding-top:24px; }
  .home-page .home-stats-note { justify-content:flex-start; font-size:9px; gap:3px 6px; }
  .home-page .section { padding:66px 0; }
  .home-page .section h2 { font-size:32px; line-height:1.22; letter-spacing:-1.2px; }
  .home-eyebrow { font-size:9px; margin-bottom:15px; }
  .home-page .home-section-heading { gap:20px; margin-bottom:30px; }
  .home-section-heading > p { font-size:13px; }
  .home-principles { grid-template-columns:minmax(0,1fr); gap:14px; }
  .home-principle { padding:26px; }
  .home-principle-top { margin-bottom:26px; }
  .home-principle h3 { font-size:20px; }
  .home-principle p { max-width:none; }
  .home-principle-word { padding-top:24px; }
  .home-page .unit-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .home-command-panel { grid-template-columns:minmax(0,1fr); padding:28px 24px; gap:20px; border-radius:16px; }
  .home-command-copy > img { width:34px; height:34px; margin-bottom:16px; }
  .home-page .home-command-panel h2 { font-size:30px; }
  .home-command-roles > div { padding:18px 0; }
  .home-page .home-join-heading h2 { font-size:38px; letter-spacing:-1.7px; }
  .home-join-heading > p:last-child { font-size:13px; }
  .home-page .home-steps { grid-template-columns:minmax(0,1fr); margin-top:32px; gap:0; }
  .home-page .home-steps > li { display:grid; grid-template-columns:32px minmax(0,1fr); gap:8px 14px; padding:22px 0; }
  .home-page .home-steps > li + li { border-top:1px solid #8eaadb14; }
  .home-page .home-steps > li + li::before { display:none; }
  .home-page .home-steps .step-num { grid-row:span 2; padding-top:3px; }
  .home-page .home-steps h3 { margin:0; font-size:17px; }
  .home-page .home-steps p { grid-column:2; }
}
@media(prefers-reduced-motion:reduce) {
  .home-insignia { animation:none; }
}
@media(forced-colors:active) {
  .home-page .home-hero h1 > span { color:CanvasText; background:none; -webkit-text-fill-color:currentColor; }
}

/* Which units are recruiting, above the unit cards (site.js unitsStatus). */
.home-units-status { margin:-14px 0 22px; color:var(--home-dim); font-size:14px; }
.home-units-status strong { color:var(--text); font-weight:600; }
/* Who holds each Foundation role (home.js). */
.home-command-holder { color:#e6d3a8; font-weight:600; }
