/* A short introduction keeps the next three launches close to the navigation. */
.page-home { min-width: 0; }
.home-hero { position: relative; padding: 42px 0 30px; }
.home-hero__content { display: block; }
.home-hero__intro { min-width: 0; }
.home-hero .eyebrow { margin: 0 0 12px; font-size: .66rem; letter-spacing: .16em; }
.home-hero__lead { max-width: 800px; margin: 0; color: var(--text); font-size: clamp(1.1rem, 2vw, 1.55rem); line-height: 1.45; letter-spacing: -.015em; text-wrap: pretty; }
.home-hero h1.home-hero__lead { font-weight: 500; }
.home-hero__lead strong { color: var(--cyan); font-weight: 700; }
.home-hero__track { display: block; font-family: var(--sans); }
.home-hero__explore { display: block; margin-top: 6px; font-family: Georgia, "Times New Roman", serif; font-size: 1.05em; font-weight: 400; letter-spacing: 0; }
.home-hero__description { max-width: 700px; margin: 16px 0 0; color: #c0d0df; font-size: 1rem; line-height: 1.6; text-wrap: pretty; }
.home-hero__stats { display: grid; grid-template-columns: 1fr 1fr 1.25fr; max-width: 530px; margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--line); }
.access-model-card__planned { padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: .85rem; }
.home-hero__stats > div { padding: 0 20px; border-left: 1px solid var(--line); }
.home-hero__stats > div:first-child { padding-left: 0; border-left: 0; }
.home-hero__stats dt { color: var(--text); font: 700 .92rem/1.3 var(--mono); text-transform: uppercase; letter-spacing: .05em; }
.home-hero__stats dd { margin: 4px 0 0; color: #bacbd9; font-size: .68rem; line-height: 1.45; }
.home-plus { min-width: 0; padding: 20px; border: 1px solid rgba(97, 229, 210, .25); border-radius: 14px; background: linear-gradient(135deg, rgba(30, 88, 89, .25), rgba(6, 18, 30, .75)); }
.home-plus__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.home-plus__heading h2 { margin: 0; font-size: 1.3rem; line-height: 1.2; letter-spacing: -.025em; }
.home-plus__heading h2 span { color: var(--cyan); }
.home-plus__link { display: inline-flex; align-items: center; gap: 6px; padding-block: 5px; color: var(--cyan); font-size: .72rem; }
.home-plus__link:hover { text-decoration: underline; text-underline-offset: 3px; }
.home-plus__features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; margin: 0; padding: 0; list-style: none; }
.home-plus__features li { padding-left: 10px; border-left: 2px solid rgba(97, 229, 210, .55); color: var(--text); font-size: .82rem; line-height: 1.45; }
.home-plus__features small { display: block; color: var(--muted); font-size: .62rem; }

/* One viewport-sized backdrop spans the header and main content. The opaque
   footer covers it at the end of the page. */
.page-home { isolation: isolate; }
.page-home .site-header { background: rgba(5,11,24,.25); }
.home-content { position: relative; }
.home-content__backdrop { position: fixed; z-index: -2; inset: 0; background: var(--ink); pointer-events: none; }
.home-content__backdrop img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.home-content__backdrop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,11,24,.85), rgba(5,11,24,.58)); }
.home-content > .section { background: transparent; }
.home-content > .signal-band { background: rgba(3,7,17,.65); }
.home-launches { position: relative; padding: 28px 0 20px; border-bottom: 1px solid var(--line); }
.home-launches__intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px 40px; margin-bottom: 24px; }
.home-launches__intro > div { max-width: 850px; }
.home-launches__intro h2 { margin: 0 0 10px; font-size: .72rem; letter-spacing: .14em; line-height: 1.4; }
.home-launches__intro p { margin: 0; color: #d1dfec; font-size: clamp(1rem, 1.45vw, 1.2rem); line-height: 1.6; text-wrap: pretty; }
.home-launches__intro p a { color: var(--cyan); font-weight: 650; text-underline-offset: 4px; }
.home-launches__intro p a:hover { text-decoration: underline; }
.home-launches__intro > .text-link { flex: 0 0 auto; padding-block: 4px; }
.home-launches .launch-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.home-launches .launch-grid > .empty-panel { grid-column: 1 / -1; }
.home-launches .launch-card__image-link { aspect-ratio: 16 / 9; }
.home-launches .launch-card__body { padding: 18px 20px; }
.home-launches .launch-home-source { max-width: none; margin: 16px 0 0; font-size: .68rem; }

/* Gallery art fades into the shared space backdrop instead of boxed cards. */
.home-observatory { padding-block: 36px 56px; }
.home-observatory__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.home-observatory__heading .eyebrow { margin-bottom: 8px; }
.home-observatory__heading h2 { margin: 0; font-size: clamp(1.35rem, 2.5vw, 1.8rem); }
.home-observatory__panorama { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 8px -18px 0; }
.home-telescope { position: relative; min-width: 0; }
.home-telescope__link { position: relative; display: block; min-height: 290px; overflow: hidden; text-decoration: none; }
.home-telescope__link img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .88; -webkit-mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 60%, transparent), linear-gradient(to right, transparent, #000 12%, #000 88%, transparent); -webkit-mask-composite: source-in; mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 60%, transparent), linear-gradient(to right, transparent, #000 12%, #000 88%, transparent); mask-composite: intersect; transition: opacity .2s ease, transform .3s ease; }
.home-telescope__caption { position: absolute; z-index: 1; left: 26px; right: 26px; bottom: 18px; display: grid; gap: 5px; color: var(--text); text-shadow: 0 2px 14px #050b18; }
.home-telescope__caption strong { font-size: clamp(1.35rem, 2.5vw, 1.8rem); line-height: 1.15; }
.home-telescope__caption > span { font-size: .76rem; line-height: 1.4; }
.home-telescope__caption small { color: var(--cyan); font-size: .7rem; }
.home-telescope__link:hover img { opacity: 1; transform: scale(1.035); }
.home-telescope__link:focus-visible { outline: 2px solid var(--cyan); outline-offset: -16px; border-radius: 24px; }
.home-telescope__info { position: absolute; z-index: 2; top: 30px; right: 24px; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(5,11,24,.66); color: var(--text); font-size: .75rem; cursor: pointer; }
.home-telescope__credit { width: min(380px, calc(100vw - 32px)); padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #0c1727; color: var(--text); }
.home-telescope__credit h3 { margin-top: 0; }
.home-telescope__credit p { font-size: .85rem; line-height: 1.5; }
.home-telescope__credit a { color: var(--cyan); }
.home-telescope__credit::backdrop { background: rgba(0,0,0,.55); }
@media (prefers-reduced-motion: reduce) { .home-telescope__link img { transition: none; } .home-telescope__link:hover img { transform: none; } }

@media (max-width: 1000px) {
  .home-launches__intro { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (max-width: 860px) {
  .home-hero__content { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .home-plus { padding: 14px 16px; }
  .home-plus__heading { margin-bottom: 10px; }
  .home-plus__features { gap: 10px 18px; }
  .home-launches .launch-grid { grid-template-columns: minmax(0, 1fr); max-width: 600px; margin-inline: auto; }
  .home-launches { padding-top: 22px; }
  .home-launches__intro { margin-bottom: 20px; }
}
@media (max-width: 600px) {
  .home-hero { padding: 30px 0 24px; }
  .home-hero .eyebrow { font-size: .6rem; }
  .home-hero__description { font-size: .92rem; }
  .home-hero__stats { max-width: 420px; margin-top: 20px; padding-top: 14px; }
  .home-hero__stats > div { padding-inline: 12px; }
  .home-hero__stats > div:last-child { padding-right: 0; }
  .home-hero__stats dt { font-size: .74rem; letter-spacing: .015em; }
  .home-hero__stats dd { font-size: .65rem; }
  .home-plus__features li { font-size: .75rem; padding-left: 8px; }
  .home-content::before { background: rgba(5,11,24,.76); }
  .home-observatory__heading { align-items: flex-start; gap: 12px; }
  .home-observatory__heading .text-link { font-size: .72rem; }
  .home-observatory__panorama { grid-template-columns: minmax(0, 1fr); margin-inline: -12px; }
  .home-telescope__link { min-height: 235px; }
  .home-telescope__caption { bottom: 14px; }
}

.orbi-name { color: var(--orbi); font-weight: 600; }
.early-access__success { color: var(--cyan); padding: 12px; border: 1px solid var(--line-strong); border-radius: 8px; }
