/* Homepage only: keep shared styles and all other pages intact. */
.space-home{--page-width:1440px;background:#020e1c url('/assets/ians-space/space-background.webp') center top/cover fixed no-repeat;min-height:100svh}
.space-home .hero{background:transparent;min-height:0}
.space-home .hero:before{display:none}
.space-home .header{max-width:var(--page-width);padding:20px 36px;height:80px;border-bottom:1px solid #1486b344;background:#02101ac9}
.space-home .brand{font-size:28px;letter-spacing:5px}
.space-home .nav{gap:22px;font-size:12px}
.space-home .outline{padding:9px 18px!important;border-radius:5px}
.space-home .hero-inner{max-width:var(--page-width);padding:32px 36px 30px;min-height:450px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1.3fr) minmax(0,.83fr);gap:20px;align-items:center}
.space-home .intro{min-width:0;padding:0}
.space-home .eyebrow{font-size:9px;letter-spacing:1.7px;line-height:1.6;color:#37d7ff;margin-bottom:14px}
.space-home .intro h1{font-size:clamp(34px,3.55vw,54px);line-height:1.04;letter-spacing:-1.8px;margin-bottom:18px}
.space-home .lead{font-size:14px;line-height:1.65;max-width:360px;color:#e5eef6;text-shadow:0 2px 10px #00101b}
.space-home .lead strong{font-size:13px}
.space-home .actions{gap:10px;margin-top:20px}
.space-home .button{font-size:12px;border-radius:5px;padding:12px 16px;gap:18px}
.space-home .future-teaser{width:auto;justify-self:stretch;background:#02101a70;border:0;border-top:3px solid #16caff;border-radius:0;box-shadow:none;backdrop-filter:none;padding:20px 0 14px;align-self:center}
.space-home .future-teaser h2{font-size:clamp(22px,2.05vw,30px);line-height:1.15;letter-spacing:-.7px;margin-bottom:17px}
.space-home .future-teaser p:not(.eyebrow){font-size:13px;line-height:1.7;color:#d6e3ee}
.space-home .future-teaser a{font-size:12px}
.universe{position:relative;aspect-ratio:1;width:100%;max-width:510px;justify-self:center;isolation:isolate}
.earth{position:absolute;left:17%;top:17%;width:66%;height:66%;object-fit:contain;filter:drop-shadow(0 0 18px #008ee955);pointer-events:none}
.satellites{position:absolute;inset:0}
.satellite-track{position:absolute;inset:0;transform:rotate(var(--phase));animation:orbit 120s linear infinite}
.satellite{position:absolute;top:1%;left:50%;width:19%;aspect-ratio:1;translate:-50% 0;transform:rotate(calc(-1 * var(--phase)));animation:counter-orbit 120s linear infinite;display:block;overflow:hidden;border:1px solid #23bdff;border-radius:50%;background:#00131e;box-shadow:0 0 18px #0099e955;transition:box-shadow .2s}
.satellite img{width:100%;height:100%;object-fit:cover;display:block}
.satellite span{position:absolute;left:0;right:0;bottom:7%;text-align:center;font-size:clamp(8px,.8vw,11px);font-weight:bold;background:#00101dce;padding:5px 0;color:white}
.satellite:hover,.satellite:focus-visible{box-shadow:0 0 24px #1fcaffaa;outline:2px solid white;outline-offset:3px}
.universe:hover .satellite-track,.universe:hover .satellite,.universe:focus-within .satellite-track,.universe:focus-within .satellite,.universe.paused .satellite-track,.universe.paused .satellite{animation-play-state:paused}
.orbit-toggle{position:absolute;bottom:-13px;left:50%;translate:-50% 0;border:1px solid #5da0bb55;border-radius:4px;background:#02121cbb;color:#adcfdf;font-size:10px;padding:6px 10px;white-space:nowrap}
@keyframes orbit{from{transform:rotate(var(--phase))}to{transform:rotate(calc(var(--phase) + 360deg))}}
@keyframes counter-orbit{from{transform:rotate(calc(-1 * var(--phase)))}to{transform:rotate(calc(-1 * var(--phase) - 360deg))}}
.space-home .costbar{max-width:calc(var(--page-width) - 72px);margin:14px auto 0;min-height:76px;display:grid;grid-template-columns:1fr 1.1fr 1.3fr auto;gap:24px;padding:14px 20px;background:#021521f2;border:1px solid #1687b3;border-radius:7px;text-align:left}
.cost-intro,.cost-metric,.cost-context{display:flex;flex-direction:column;gap:4px;min-width:0}
.cost-metric,.cost-context{border-left:1px solid #206080;padding-left:22px}
.cost-kicker{font-size:9px;font-weight:bold;letter-spacing:1px;color:#39dbab}
.space-home .cost-intro strong,.space-home .cost-context strong{font-size:12px;color:#e7f3fa}
.space-home .costbar small{font-size:10px;color:#9fb9cb;line-height:1.4}
.cost-metric>span{font-size:11px;color:#b9d8e6}
.space-home .cost-metric>strong{font-size:21px;color:#29d0ff}
.space-home .costbar .cost-details{padding:10px 14px;border:1px solid #2a6581;border-radius:4px;text-decoration:none;color:#e7f3fa;font-size:11px;white-space:nowrap}
.cost-details span{margin-left:16px}
.space-home .cards{max-width:var(--page-width);grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:12px 36px 18px;height:auto}
.space-home .feature{height:210px;border:1px solid #1687b3;border-radius:7px;background:#021420;display:block}
.space-home .feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1}
.space-home .feature .copy{position:absolute;left:0;right:0;bottom:0;padding:12px 14px 13px;background:#02121de8;min-height:89px}
.space-home .feature h2{font-size:20px;letter-spacing:-.4px;margin-bottom:5px}
.space-home .feature p{font-size:11px;line-height:1.4;color:#d2e4ef;margin-bottom:9px}
.space-home .feature .link{font-size:11px;color:#2bcaff}
.space-home .footer{max-width:var(--page-width);padding:8px 36px 20px;font-size:10px;color:#adc7d7}
@media(min-width:1600px){.space-home .hero-inner{min-height:530px}.space-home .feature{height:235px}}
@media(max-width:1180px){.space-home .header{padding:18px 24px}.space-home .nav{gap:14px;font-size:11px}.space-home .hero-inner{padding:24px;gap:14px;grid-template-columns:minmax(0,1fr) minmax(330px,1.3fr) minmax(0,.8fr)}.space-home .intro h1{font-size:36px}.space-home .lead{font-size:13px}.space-home .future-teaser h2{font-size:23px}.space-home .costbar{margin-left:24px;margin-right:24px;gap:16px}.space-home .cards{padding-left:24px;padding-right:24px}.space-home .button{padding:10px 12px;gap:12px}.space-home .feature{height:205px}}
@media(max-width:1000px){.space-home .hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:26px;min-height:0}.space-home .future-teaser{grid-column:1/-1;max-width:none;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;padding:18px 0}.future-teaser .eyebrow,.space-home .future-teaser h2{grid-column:1}.space-home .future-teaser p:not(.eyebrow){grid-column:2;grid-row:1/3;margin:0}.space-home .future-teaser a{grid-column:2}.space-home .intro h1{font-size:43px}.space-home .costbar{grid-template-columns:1fr 1fr auto}.cost-context{display:none}.space-home .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.space-home .feature{height:230px}.space-home .feature .copy{min-height:90px}.space-home .feature p{font-size:12px}}
@media(max-width:760px){.space-home{background-attachment:scroll;background-position:center top;background-size:auto 1050px;background-color:#020e1c}.space-home .header{height:74px;padding:16px 22px}.space-home .menu{display:block}.space-home .nav{top:68px;font-size:14px}.space-home .hero-inner{padding:28px 22px 12px;grid-template-columns:1fr;gap:20px;background:none}.space-home .intro{max-width:520px}.space-home .intro h1{font-size:clamp(36px,8.6vw,53px)}.space-home .lead{font-size:14px;max-width:none}.space-home .eyebrow{font-size:9px;letter-spacing:1.3px}.universe{max-width:420px;width:100%;margin:8px 0 22px}.satellite span{font-size:10px}.space-home .future-teaser{grid-column:auto;display:block;padding:20px 0 5px;width:100%;max-width:none}.space-home .future-teaser h2{font-size:27px;max-width:340px}.space-home .future-teaser p:not(.eyebrow){margin-bottom:15px;font-size:14px}.space-home .costbar{margin:16px 16px 0;padding:15px;grid-template-columns:1fr 1fr;gap:16px}.space-home .costbar .cost-details{grid-column:1/-1;text-align:center;width:auto;margin:0}.space-home .cards{padding:14px 16px;gap:12px}.space-home .feature{height:235px}.space-home .feature h2{font-size:19px}.space-home .feature .copy{padding:12px;min-height:116px}.space-home .feature p{font-size:12px}.space-home .feature .link{font-size:12px}.space-home .footer{padding:15px 22px;line-height:1.7;gap:6px}}
@media(max-width:380px){.space-home .cards{grid-template-columns:1fr}.space-home .feature{height:250px}.space-home .feature .copy{min-height:95px}.cost-metric{padding-left:12px}.space-home .costbar{gap:12px}}
@media(prefers-reduced-motion:reduce){.satellite-track,.satellite{animation:none}.orbit-toggle{display:none}.space-home .feature:hover{transform:none}}
/* Keep the scene compact like the selected reference, with readable live copy. */
.satellite-track{pointer-events:none}
.satellite{pointer-events:auto}
@media(min-width:1001px){
.space-home{--page-width:1600px;--scene-size:clamp(280px,min(30vw,43svh),470px);background-size:cover}
.space-home .header{height:56px;padding:10px 24px;background:#02101a99}
.space-home .hero-inner{min-height:calc(var(--scene-size) + 48px);padding:24px clamp(24px,3vw,48px);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,2vw,36px)}
.universe{max-width:var(--scene-size)}
.space-home .intro h1{font-size:clamp(34px,3vw,50px);margin-bottom:16px}
.space-home .eyebrow{font-size:8px;margin-bottom:10px;letter-spacing:1.4px}
.space-home .lead{font-size:clamp(13px,1vw,16px);line-height:1.6;max-width:42ch}
.space-home .lead strong{font-size:inherit}
.space-home .actions{margin-top:14px;gap:8px}
.space-home .button{font-size:11px;padding:9px 12px;gap:12px}
.space-home .future-teaser{padding:15px 0 10px;background:#02101a99}
.space-home .future-teaser h2{font-size:clamp(24px,2vw,30px);margin-bottom:12px}
.space-home .future-teaser p:not(.eyebrow){font-size:clamp(13px,1vw,16px);line-height:1.6}
.space-home .costbar{width:calc(100% - 48px);max-width:calc(var(--page-width) - 48px);min-height:62px;margin-top:6px;padding:10px 14px;gap:16px}
.space-home .cards{padding:10px 24px;gap:12px}
.space-home .feature{height:135px}
.space-home .feature .copy{padding:8px 10px;min-height:72px}
.space-home .feature h2{font-size:clamp(18px,1.4vw,22px);margin-bottom:4px}
.space-home .feature p{font-size:12px;margin-bottom:5px}
.space-home .feature .link{font-size:12px}
.space-home .footer{padding:0 24px 10px;font-size:9px}
}
@media(min-width:1001px){.satellite span{font-size:8px;padding:4px 0}.space-home .feature{height:clamp(190px,25svh,270px)}.space-home .feature img{object-position:center 35%}}
/* Rotating invisible tracks must not expand the mobile page width. */
.satellites{overflow:clip;overflow-clip-margin:6px}

/* Keep desktop copy readable when a browser window is wide but short. */
@media(min-width:1001px) and (max-height:700px){.space-home{--scene-size:280px}.space-home .hero-inner{padding-top:18px;padding-bottom:24px}.space-home .intro h1{font-size:34px}.space-home .lead,.space-home .future-teaser p:not(.eyebrow){font-size:13px}}

/* Source-backed reading entries under the existing homepage cards. */
.space-home .home-reading{width:calc(100% - 48px);max-width:calc(var(--page-width) - 48px);margin:18px auto 24px;padding:24px;background:#021521f2;border:1px solid #28566d;border-radius:8px}.home-reading h2{font-size:clamp(21px,2vw,28px);line-height:1.25;margin:0 0 20px}.home-reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.home-reading-grid>a{display:block;min-width:0;padding:20px;background:#082334;border:1px solid #346781;border-radius:6px}.home-reading-grid>a:hover{border-color:#36d2f7}.home-reading-grid span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#53d5ef}.home-reading-grid h3{font-size:21px;line-height:1.3;margin:10px 0}.home-reading-grid p{font-size:14px;line-height:1.6;color:#c0d6e3;margin:0 0 14px}.home-reading-grid strong{font-size:13px;color:#31cafa}@media(max-width:760px){.space-home .home-reading{width:calc(100% - 32px);padding:18px;margin-top:12px}.home-reading-grid{grid-template-columns:minmax(0,1fr);gap:12px}.home-reading-grid>a{padding:18px}}
