/* EFSF — editorial science fiction. Content remains supplied by the CMS. */
.efsf-home{--color-primary:#245eea;--color-primary-hover:#194bd1;--color-background:#f6f7f9;--color-foreground:#172031;--color-foreground-secondary:#697386;background:#f6f7f9;font-family:var(--font-body)}
.efsf-home main>section{scroll-margin-top:90px}
.efsf-home .max-w-5xl{max-width:1248px}
.efsf-home a:focus-visible,.efsf-home button:focus-visible{outline:3px solid #76a9ff;outline-offset:6px}
.efsf-home header{background:rgba(248,250,253,.94);border-bottom:1px solid #e3e7ee;backdrop-filter:blur(20px)}
.efsf-home header>nav:first-child{height:76px}
.efsf-home #home-hero{min-height:760px;min-height:100svh;max-height:1200px;justify-content:flex-start;background:#070e1c;padding:150px 0 140px;color:#fff;isolation:isolate}
#home-hero>div:first-child{background-position:center 46%;opacity:.87}
#home-hero>div:first-child>div{background:linear-gradient(90deg,rgba(3,10,24,.91) 0%,rgba(3,10,24,.58) 52%,rgba(3,10,24,.12) 100%),linear-gradient(0deg,#070e1c 0%,transparent 32%)}
#home-hero>div:nth-child(2){width:100%;max-width:1248px;text-align:left;padding:0 36px}
#home-hero .hero-eyebrow{font-size:12px;letter-spacing:.24em;color:#c1cfe4;display:flex;align-items:center;gap:14px;margin-bottom:26px}
#home-hero .hero-eyebrow:before{content:'';width:30px;height:1px;background:#83adff}
#home-hero h1{font-size:clamp(100px,15vw,200px);font-weight:600;line-height:.95;letter-spacing:-.075em;margin-left:-.06em;color:#f7faff;text-shadow:0 4px 70px #08132644}
#home-hero h1+p{font-size:clamp(22px,3vw,35px);line-height:1.5;letter-spacing:.08em;margin-top:32px;color:#edf3ff}
#home-hero h1+p+p{font-size:16px;line-height:1.9;max-width:580px;margin-top:16px;color:#aebed5}
#home-hero div.mt-10{justify-content:flex-start;gap:14px;margin-top:38px;flex-wrap:wrap}
#home-hero div.mt-10 a{padding:15px 28px;border-radius:6px;min-height:50px;transition:background .2s,transform .2s}
#home-hero div.mt-10 a:hover{transform:translateY(-3px)}
#home-hero div.mt-10 a:first-child{background:#edf3ff;color:#14213a}
#home-hero div.mt-10 a:last-child{background:#ffffff08;border-color:#ffffff40}
#home-hero>a{left:auto;right:36px;bottom:34px;transform:none;animation:none;flex-direction:row;gap:15px;color:#aebed5}
#home-hero>a span{color:#aebed5;letter-spacing:.18em}
#home-hero>a svg{color:#aebed5}
.hero-caption{position:absolute;bottom:34px;left:max(36px,calc((100% - 1176px)/2));display:flex;gap:28px;align-items:center;font-size:10px;letter-spacing:.17em;color:#8ea2bd}
.hero-caption span+span{padding-left:28px;border-left:1px solid #ffffff30;letter-spacing:.13em}
#home-articles{padding:104px 12px 100px;background:#f6f7f9}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.section-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.17em;color:#6482b5;font-weight:500;margin-bottom:18px}
.section-heading h2{text-align:left;font-size:36px;font-weight:600;letter-spacing:-.035em}
.section-note{font-size:13px;letter-spacing:.07em;color:#7a8597;padding-bottom:5px}
#home-articles .grid{margin-top:44px;gap:28px}
#home-articles article{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;height:100%}
#home-articles article>div:first-child{border-radius:10px;aspect-ratio:1.5;background:#e6eaf0;overflow:hidden;position:relative}
#home-articles article>div:first-child:after{content:'';position:absolute;inset:0;border:1px solid #1720310a;border-radius:inherit;pointer-events:none}
#home-articles article>div:last-child{padding:23px 0 26px;border-bottom:1px solid #dce1e9}
#home-articles h3{font-size:19px;line-height:1.6;letter-spacing:-.02em;transition:color .2s}
#home-articles article:hover h3{color:#245eea}
#home-articles h3+p{margin-top:9px;font-size:11px;letter-spacing:.06em;color:#7b8594}
#home-articles h3+p+p{margin-top:14px;line-height:1.9;font-size:13px;color:#697386}
#home-articles .text-center>a{border:1px solid #cbd3e0;padding:13px 26px;border-radius:5px;color:#314461;gap:10px;font-size:12px;transition:background .2s}
#home-articles .text-center>a:hover{background:#e7edf7}
#home-join{padding:118px 24px 124px;background:radial-gradient(ellipse at 50% 100%,#e7edf9,transparent 65%)}
#home-join .section-kicker{margin-bottom:25px}
#home-join h2{font-size:clamp(28px,4vw,45px);font-weight:600;letter-spacing:-.04em;line-height:1.45}
#home-join h2+p{font-size:15px;line-height:1.9;max-width:650px;margin:20px auto 0}
#home-join a{border-radius:5px;padding:15px 34px;font-size:13px;box-shadow:0 6px 20px #245eea24;transition:transform .2s}
#home-join a:hover{transform:translateY(-3px)}
.efsf-home footer{background:#eef1f6;border-color:#dfe5ee}
.efsf-home footer>div{padding-top:54px}
.efsf-home footer .font-display{font-size:24px;letter-spacing:-.05em}
@media(min-width:768px){#home-world .md\:col-span-3{grid-column:span 3}#home-world .md\:col-span-2{grid-column:span 2}}
@media(max-width:767px){.efsf-home header>nav:first-child{height:64px}#home-hero{min-height:740px;min-height:100svh;padding:130px 0 140px}#home-hero>div:nth-child(2){padding:0 24px}#home-hero>div:first-child>div{background:linear-gradient(90deg,#030a18d9,#030a1866),linear-gradient(0deg,#070e1c,transparent 60%)}#home-hero .hero-eyebrow{font-size:10px;letter-spacing:.12em;gap:10px}#home-hero h1{font-size:clamp(90px,25vw,150px)}#home-hero h1+p{font-size:23px;margin-top:28px;letter-spacing:.02em}#home-hero h1+p+p{font-size:14px}#home-hero div.mt-10 a{padding:13px 22px;font-size:12px}.hero-caption{left:24px;bottom:32px;font-size:8px}.hero-caption span+span{display:none}#home-hero>a{right:24px;bottom:30px}#home-articles{padding:70px 0}.section-heading h2{font-size:29px}.section-note{display:none}#home-articles .grid{gap:32px;margin-top:32px}#home-articles h3{font-size:19px}#home-world{margin:0 12px;padding:58px 0;border-radius:12px}#home-world .grid{gap:36px}#home-world .pt-4{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#home-world .pt-4>div{gap:6px}#home-world .pt-4 span{font-size:11px}#home-world .md\:col-span-2>div{transform:none;aspect-ratio:1.5}#home-join{padding:80px 8px 85px}.efsf-home footer>div{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.efsf-home *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#home-hero div.mt-10 a:first-child{background:#edf3ff;color:#14213a} #home-hero div.mt-10 a:last-child{background:transparent;color:#fff;border:1px solid #ffffff40}
