
:root { color-scheme: dark; --bg:#050608; --fg:#f4f4f4; --red:#ef161c; --line:#39393d; }


:root {
  font-family: Arial, Helvetica, sans-serif;
  color: #f5f5f5;
  background: var(--bg);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--bg);
}

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background: var(--bg);
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

.art-page {
  min-height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  background: var(--bg);
  overflow-x: hidden;
}

.home-art-page { background: var(--bg) url("/media/outer-starfield-clean-test_c8bef893.png") center top / 256px 220px repeat; }

.art-frame {
  position: relative;
  width: 100%;
  max-width: 1024px;
  line-height: 0;
  background: var(--bg);
}

.art-image { display: block; width: 100%; height: auto; user-select: none; -webkit-user-drag: none; }
.art-image-upper { position:relative; z-index:0; clip-path:inset(0 0 65% 0); }
.home-html-nav { position:absolute; z-index:5; top:0; left:38.2%; right:2.5%; height:4.2%; display:flex; align-items:center; justify-content:flex-end; gap:28px; padding:0 .2% 0 0; line-height:1; }
.home-html-nav a { position:relative; color:var(--fg); text-decoration:none; text-transform:uppercase; font-size:clamp(11px,1.37vw,14px); letter-spacing:.3px; transition:color .16s ease; }
.home-html-nav a:hover, .home-html-nav a:focus-visible, .home-html-nav a[aria-current="page"] { color:var(--red); }
.home-html-nav a[aria-current="page"]::after { content:""; position:absolute; left:0; right:0; bottom:-16px; height:2px; background:var(--red); }
.home-html-nav .home-html-search { font-size:28px; line-height:.7; transform:rotate(-20deg); }
.art-image-observatory-shifted { position:absolute; z-index:0; left:3.515625%; top:36.85%; width:92.96875%; height:auto; pointer-events:none; user-select:none; }
.art-triton-old-cover { position:absolute; z-index:2; left:52.5%; top:20.3%; width:8.5%; height:5.8%; background:#030406; pointer-events:none; }
.art-triton-replacement { position:absolute; z-index:3; left:52.5%; top:20.3%; width:8.5%; height:5.8%; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.art-triton-replacement img { display:block; width:68%; height:68%; object-fit:contain; mix-blend-mode:normal; filter:none; }
.art-enceladus-old-cover { position:absolute; z-index:2; left:42%; top:25.4%; width:8.5%; height:5.8%; background:#030406; pointer-events:none; }
.art-enceladus-replacement { position:absolute; z-index:3; left:42%; top:25.4%; width:8.5%; height:5.8%; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.art-enceladus-replacement img { display:block; width:78%; height:78%; object-fit:contain; mix-blend-mode:normal; filter:none; }
.art-callisto-old-cover { position:absolute; z-index:2; left:10%; top:25.4%; width:8.5%; height:5.8%; background:#030406; pointer-events:none; }
.art-callisto-replacement { position:absolute; z-index:3; left:10%; top:25.4%; width:8.5%; height:5.8%; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.art-callisto-replacement img { display:block; width:68%; height:68%; object-fit:contain; mix-blend-mode:normal; filter:none; }
.art-titania-old-cover { position:absolute; z-index:2; left:73.7%; top:30.5%; width:8.1%; height:5.6%; background:var(--bg); pointer-events:none; }
.art-titania-replacement { position:absolute; z-index:3; left:73.7%; top:30.5%; width:8.1%; height:5.6%; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.art-titania-replacement img { display:block; width:68%; height:68%; object-fit:contain; object-position:center center; transform-origin:center center; mix-blend-mode:normal; filter:none; }
.deimos-body-image { transform:scale(8); mix-blend-mode:screen; }
.art-copy-block { position:absolute; z-index:2; left:2.5%; right:2.5%; top:53.7%; height:31.8%; padding:2.15% 2.05% 1.2%; overflow:hidden; color:var(--fg); background:#030507; border:0; border-radius:0; font-family:Arial,Helvetica,sans-serif; line-height:1.28; }
.art-footer-restoration { position:absolute; z-index:3; left:0; top:85.8073%; width:100%; height:auto; pointer-events:none; user-select:none; }
.art-copy-block h2 { margin:0 0 1.15%; padding-bottom:.65%; border-bottom:1px solid #34373b; color:#f1f1f1; font-size:clamp(9px,2.3vw,24px); line-height:1.05; font-weight:400; letter-spacing:.35px; }
.art-copy-block h2 span { color:#f01b22; }
.art-copy-block p { margin:0 0 2.05%; font-size:clamp(5px,1.52vw,16px); line-height:1.28; letter-spacing:.05px; }
.art-copy-block a { color:inherit; text-decoration:underline; text-decoration-color:rgba(240,27,34,.9); text-decoration-thickness:1px; text-underline-offset:2px; transition:color .16s ease; }
.art-copy-block a:hover, .art-copy-block a:focus-visible { color:#f01b22; }
.art-hotspots { position: absolute; inset: 0; z-index:4; pointer-events: none; line-height: normal; }

.jupiter-copy { position:absolute; z-index:2; left:7.8%; right:7.8%; top:52.4%; height:33.8%; padding:3.8% 5.2% 1.2%; color:var(--fg); font-family:Arial,Helvetica,sans-serif; line-height:1.45; }
.jupiter-copy p { margin:0 0 4.6%; font-size:clamp(8px,2.05vw,21px); line-height:1.55; font-weight:300; letter-spacing:.1px; }
.jupiter-copy .technical-note { margin:0; text-align:right; font-size:clamp(6px,1.15vw,12px); line-height:1.4; font-weight:700; }

.art-hotspot {
  position: absolute;
  display: block;
  pointer-events: auto;
  border-radius: 3px;
  outline: none;
  transition: background-color 160ms ease, box-shadow 160ms ease;
}

.art-hotspot:hover,
.art-hotspot:focus-visible {
  background: rgba(255, 0, 0, 0.08);
  box-shadow: inset 0 0 0 1px rgba(255, 35, 35, 0.35), 0 0 14px rgba(255, 0, 0, 0.12);
}

@media (max-width: 700px) {
  .art-page {
    align-items: flex-start;
  }

  .art-copy-block {
    padding: 2.35% 2.25% 1.5%;
  }

  .art-copy-block h2 {
    margin-bottom: 1.8%;
    padding-bottom: 1.1%;
    font-size: clamp(10px, 3.05vw, 21px);
    line-height: 1.08;
  }

  .art-copy-block p {
    margin-bottom: 1.8%;
    font-size: clamp(7px, 2vw, 14px) !important;
    line-height: 1.18;
  }

  .art-copy-block a {
    font-size: inherit !important;
  }

  .jupiter-copy { top:52.4%; height:33.8%; padding:4.4% 5.2% 1.2%; }
  .jupiter-copy p { margin-bottom:4.2%; font-size:clamp(8px,2.45vw,16px); line-height:1.42; }
  .jupiter-copy .technical-note { font-size:clamp(6px,1.7vw,11px); }

  .art-hotspot:hover,
  .art-hotspot:focus-visible {
    background: rgba(255, 0, 0, 0.12);
  }
}

@media (prefers-reduced-motion: reduce) {
  .art-hotspot {
    transition: none;
  }
}

.detail-page {
  min-height: 100vh;
  color: var(--fg);
  background: var(--bg) radial-gradient(circle at 50% 20%, rgba(35, 35, 40, .16), transparent 42%);
  font-family: Arial, Helvetica, sans-serif;
}

.detail-header { height: 68px; display:flex; align-items:center; justify-content:space-between; padding:0 30px; border-bottom:1px solid #28282b; background:rgba(4,5,7,.96); }
.detail-brand, .detail-footer a { color:#f3f3f3; text-decoration:none; letter-spacing:2px; font-size:22px; white-space:nowrap; }
.detail-brand span, .detail-footer span { color:var(--red); }
.detail-nav { display:flex; align-items:center; gap:28px; }
.detail-nav a { color:var(--fg); text-decoration:none; text-transform:uppercase; font-size:14px; letter-spacing:.3px; transition:color .16s ease; }
.detail-nav a:hover, .detail-nav a:focus-visible { color:var(--red); }
.search-link { font-size:28px!important; line-height:1; transform:rotate(-20deg); }
.detail-shell { max-width:1024px; margin:0 auto; padding:0 max(26px, env(safe-area-inset-right, 0px)) 22px max(26px, env(safe-area-inset-left, 0px)); }
.breadcrumbs { display:flex; gap:14px; align-items:center; padding:34px 20px 0; font-size:14px; }
.breadcrumbs a { color:#f6f6f6; text-decoration:none; }.breadcrumbs span { color:var(--red); }.breadcrumbs b { font-size:24px; font-weight:300; color:#dcdcdc; }
.detail-hero { min-height:670px; text-align:center; padding-top:54px; position:relative; overflow:hidden; }
.detail-hero h1 { margin:0; font-size:62px; line-height:1; letter-spacing:2px; font-weight:800; }
.detail-hero h2 { margin:18px 0 0; color:#ed1a21; font-size:28px; font-weight:400; letter-spacing:1px; }
.detail-rule { width:400px; height:2px; margin:22px auto 0; background:linear-gradient(90deg, transparent, #ef151b 35%, #ffb900 50%, #ef151b 65%, transparent); }
.io-image { position:absolute; width:200px; height:195px; object-fit:contain; left:50%; top:370px; transform:translateX(-50%); image-rendering:auto; }
.detail-copy { border:1px solid var(--line); border-radius:9px; padding:54px 52px 30px; background:rgba(0,0,0,.25); }
.detail-copy p { margin:0 0 42px; font-size:25px; line-height:1.62; font-weight:300; letter-spacing:.2px; }.detail-copy p:last-child { margin-bottom:0; }
.detail-copy .technical-note { text-align:right; font-size:15px; line-height:1.5; font-weight:700; margin-top:52px; }
.category-links { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.category-links a { display:inline-block; padding:12px 18px; border:1px solid #4a4b50; border-radius:4px; color:var(--fg); text-decoration:underline; text-decoration-color:#ef1b21; text-underline-offset:4px; letter-spacing:1.3px; font-size:15px; }
.category-links a:hover, .category-links a:focus-visible { color:#ef1b21; border-color:#ef1b21; }
.detail-process { display:grid; grid-template-columns:repeat(4,1fr); margin-top:20px; border:1px solid var(--line); border-radius:9px; padding:22px 20px; }
.detail-process div { min-height:95px; padding:0 20px; border-right:1px solid var(--line); display:grid; grid-template-columns:58px 1fr; grid-template-rows:30px auto; column-gap:12px; }.detail-process div:last-child { border-right:0; }.detail-process strong { grid-row:1 / span 2; color:#ed171d; font-size:45px; font-weight:300; line-height:1; }.detail-process b { font-size:15px; font-weight:400; }.detail-process span { color:#d9d9d9; font-size:12px; line-height:1.45; }
.detail-footer { display:flex; align-items:center; justify-content:space-between; padding:26px 16px 0; }.detail-footer a { font-size:16px; letter-spacing:1px; }.detail-footer small { color:#c7c7c7; font-size:13px; }.socials { font-size:20px; letter-spacing:0; }
@media (max-width: 760px) { .detail-header { height:auto; min-height:68px; padding:16px 18px; flex-wrap:wrap; gap:14px; }.detail-brand { font-size:17px; }.detail-nav { gap:13px; flex-wrap:wrap; }.detail-nav a { font-size:11px; }.detail-shell { padding:0 max(16px, env(safe-area-inset-right, 0px)) 18px max(16px, env(safe-area-inset-left, 0px)); }.detail-hero { min-height:520px; padding-top:48px; }.detail-hero h1 { font-size:38px; }.detail-hero h2 { font-size:21px; }.detail-rule { width:270px; }.io-image { top:300px; width:160px; height:156px; }.detail-copy { padding:30px 22px 24px; }.detail-copy p { font-size:18px; line-height:1.6; margin-bottom:30px; }.detail-copy .technical-note { font-size:12px; margin-top:34px; }.detail-process { grid-template-columns:1fr 1fr; gap:20px 0; }.detail-process div:nth-child(2) { border-right:0; }.detail-footer { flex-wrap:wrap; gap:16px; }.detail-footer small { order:3; width:100%; }.socials { margin-left:auto; }.category-links { gap:10px; margin-top:24px; }.category-links a { padding:10px 13px; font-size:13px; }.home-html-nav { height:4.2%; gap:13px; }.home-html-nav a[aria-current="page"]::after { bottom:-6px; }.home-html-nav .home-html-search { font-size:20px; } }

.observation-hero { min-height: 670px; }
.observation-visual { position:absolute; left:50%; top:350px; transform:translateX(-50%); width:290px; height:220px; border-radius:50%; filter:drop-shadow(0 0 24px rgba(255,255,255,.12)); }
.asteroid-belt-hero { min-height: 670px; }
.asteroid-belt-image { position:absolute; left:50%; top:255px; transform:translateX(-50%); width:86%; height:360px; object-fit:contain; display:block; background:#000; border:1px solid #303137; border-radius:5px; mix-blend-mode:normal; }
.enceladus-visual { background:radial-gradient(circle at 38% 36%, #f4f3ed 0 8%, #c2c4c5 28%, #818789 57%, #34393b 76%, transparent 77%), radial-gradient(ellipse at 48% 58%, rgba(235,238,240,.7) 0 4%, transparent 5%), radial-gradient(ellipse at 60% 40%, rgba(255,255,255,.55) 0 3%, transparent 4%); box-shadow:0 0 35px rgba(205,220,225,.25); }
.mercury-visual { width:230px; height:230px; background:radial-gradient(circle at 30% 27%, #c4bbb0, #746c65 43%, #373431 72%, #101010 100%); box-shadow:inset -28px -15px 36px rgba(0,0,0,.7), inset 14px 10px 18px rgba(238,224,207,.22), 0 0 28px rgba(192,172,145,.15); }
.mercury-visual:after { content:""; position:absolute; inset:0; border-radius:50%; opacity:.55; background:radial-gradient(circle at 25% 40%, transparent 0 7%, #282523 8% 10%, transparent 11%), radial-gradient(circle at 63% 30%, transparent 0 8%, #24211f 9% 11%, transparent 12%), radial-gradient(circle at 48% 73%, transparent 0 5%, #24211f 6% 9%, transparent 10%), radial-gradient(circle at 78% 62%, transparent 0 3%, #1e1c1b 4% 6%, transparent 7%); }
@media (max-width:760px) { .observation-hero { min-height:520px; }.observation-visual { top:285px; transform:translateX(-50%) scale(.78); }.asteroid-belt-hero { min-height:520px; }.asteroid-belt-image { top:245px; width:100%; height:230px; } }

.body-hero { min-height: 670px; }
.body-orb { position:absolute; left:50%; top:350px; transform:translateX(-50%); width:230px; height:230px; border-radius:50%; box-shadow:inset -28px -18px 38px rgba(0,0,0,.7), inset 14px 12px 20px rgba(255,255,255,.2), 0 0 30px rgba(220,210,190,.16); }
.body-orb::after { content:""; position:absolute; inset:0; border-radius:50%; opacity:.48; background:radial-gradient(circle at 26% 36%, transparent 0 6%, rgba(24,22,20,.58) 7% 10%, transparent 11%), radial-gradient(circle at 65% 27%, transparent 0 7%, rgba(30,28,26,.5) 8% 11%, transparent 12%), radial-gradient(circle at 48% 73%, transparent 0 5%, rgba(25,23,21,.45) 6% 9%, transparent 10%); }
@media (max-width:760px) { .body-hero { min-height:520px; }.body-orb { top:285px; transform:translateX(-50%) scale(.78); } }

.about-hero { min-height: 650px; }
.about-hero-image { position:absolute; left:50%; top:215px; transform:translateX(-50%); width:74%; height:385px; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:8px; border:1px solid #3a3a3d; border-radius:8px; background:#08090b; }
.about-hero-image img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; opacity:1; filter:none; }
.about-copy strong { color:#f21b20; font-weight:500; }.about-copy h3 { margin:0 0 16px; color:#ef1a20; font-size:19px; letter-spacing:1.4px; font-weight:400; }.about-equipment { display:grid; grid-template-columns:38% 1fr; gap:34px; align-items:center; margin:48px 0 14px; padding-top:32px; border-top:1px solid var(--line); }.about-equipment figure { margin:0; }.about-equipment figure img { display:block; width:100%; aspect-ratio:1.35; object-fit:cover; border:1px solid #3a3a3d; border-radius:6px; background:#fff; }.about-equipment figcaption { margin-top:10px; color:#bdbdbd; font-size:12px; line-height:1.45; }.about-equipment p { font-size:18px; line-height:1.55; margin-bottom:22px; }.about-equipment .technical-note { text-align:left; font-size:13px; line-height:1.4; margin:0; }.about-source { color:#969696; font-size:11px!important; line-height:1.5!important; margin:32px 0 0!important; }.about-source em { color:#d4d4d4; }
@media (max-width:760px) { .about-hero { min-height:520px; }.about-hero h1 { font-size:34px; }.about-hero-image { top:205px; width:88%; height:300px; padding:6px; }.about-equipment { grid-template-columns:1fr; gap:24px; }.about-equipment p { font-size:17px; } }

.standard-body-hero { min-height: 650px; }
.standard-body-hero h2 { max-width: 90%; margin-inline:auto; font-size:18px; letter-spacing:2px; }
.standard-body-image { position:absolute; left:50%; top:315px; transform:translateX(-50%); width:220px; height:220px; object-fit:contain; display:block; mix-blend-mode:screen; filter:saturate(1.04) contrast(1.03); }
.deimos-body-image { top:314px; width:229px; height:229px; }
.mars-composite-image { transform:translateX(-50%) scale(1.38); transform-origin:center center; }
.mars-body-image { top:314px; width:229px; height:229px; transform:translateX(-50%) scale(.61); transform-origin:center center; mix-blend-mode:normal; }
.mimas-body-image { transform:translateX(-50%) scale(.8); mix-blend-mode:screen; }
.phobos-body-image { top:315px; width:220px; height:220px; object-position:center center; transform:translateX(-50%) scale(.96); transform-origin:center center; }
.triton-body-image { transform:translateX(-50%) scale(.9); transform-origin:center center; }
.titania-body-image { mix-blend-mode:normal; filter:saturate(1.04) contrast(1.03); }
.umbriel-body-image { mix-blend-mode:normal; filter:saturate(1.04) contrast(1.03); }
.titan-body-image { mix-blend-mode:normal; filter:saturate(1.04) contrast(1.03); }
.miranda-body-image { mix-blend-mode:normal; filter:saturate(1.04) contrast(1.03); }
.kleopatra-body-image { mix-blend-mode:normal; filter:none; }
.standard-body-orb { position:absolute; left:50%; top:315px; transform:translateX(-50%); width:220px; height:220px; border-radius:50%; box-shadow:inset -30px -20px 40px rgba(0,0,0,.72), inset 16px 12px 20px rgba(255,255,255,.18), 0 0 34px rgba(220,210,190,.16); }
.standard-body-orb::after { content:""; position:absolute; inset:0; border-radius:50%; opacity:.45; background:radial-gradient(circle at 26% 36%, transparent 0 6%, rgba(24,22,20,.58) 7% 10%, transparent 11%),radial-gradient(circle at 65% 27%, transparent 0 7%, rgba(30,28,26,.5) 8% 11%, transparent 12%),radial-gradient(circle at 48% 73%, transparent 0 5%, rgba(25,23,21,.45) 6% 9%, transparent 10%); }
.standard-body-orb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; mix-blend-mode:screen; filter:saturate(1.04) contrast(1.03); }
.standard-body-orb.has-real-image { background:transparent !important; overflow:hidden; box-shadow:0 0 34px rgba(220,210,190,.16); }
.standard-body-orb.has-real-image::after { opacity:0; }
.standard-body-copy h3 { color:#f01920; font-weight:400; letter-spacing:2px; font-size:20px; margin:0 0 18px; }.standard-body-copy p { max-width:900px; }.standard-body-copy .technical-note { margin-top:32px; }
.processing-video { margin-top:34px; border:1px solid var(--line); border-radius:9px; padding:26px 30px 30px; background:rgba(0,0,0,.25); }
.processing-video h3 { margin:0 0 20px; font-size:20px; line-height:1.35; font-weight:400; letter-spacing:.8px; }
.processing-video h3 a { color:#ef1a20; text-decoration:underline; text-decoration-color:rgba(239,26,32,.9); text-underline-offset:4px; }
.processing-video h3 a:hover, .processing-video h3 a:focus-visible { color:#fff; }
.processing-video-frame { width:100%; aspect-ratio:16 / 9; overflow:hidden; border:1px solid #303137; border-radius:5px; background:#000; }
.processing-video-frame iframe { display:block; width:100%; height:100%; border:0; }
@media (max-width:760px) { .standard-body-hero { min-height:500px; }.standard-body-hero h1 { font-size:34px; }.standard-body-hero h2 { font-size:14px; letter-spacing:1.1px; }.standard-body-image { top:275px; transform:translateX(-50%) scale(.8); }.mars-composite-image { transform:translateX(-50%) scale(1.104); }.deimos-body-image { top:314px; }.mars-body-image { top:275px; transform:translateX(-50%) scale(.488); }.phobos-body-image { top:275px; transform:translateX(-50%) scale(.768); }.triton-body-image { transform:translateX(-50%) scale(.72); }.mimas-body-image { transform:translateX(-50%) scale(.64); }.standard-body-orb { top:275px; transform:translateX(-50%) scale(.8); }.processing-video { margin-top:26px; padding:20px 16px 18px; }.processing-video h3 { font-size:16px; letter-spacing:.4px; margin-bottom:15px; } }
.gallery-title-hero { min-height:270px; text-align:center; padding-top:54px; }
.gallery-title-hero h1 { margin:0; font-size:62px; line-height:1; letter-spacing:2px; font-weight:800; }
.gallery-title-hero h2 { margin:18px 0 0; color:#ed1a21; font-size:28px; font-weight:400; letter-spacing:1px; }
.gallery-title-hero p { max-width:650px; margin:34px auto 0; color:#bfc0c5; font-size:16px; line-height:1.5; }
.gallery-title-panel { border:1px solid var(--line); border-radius:9px; padding:22px 30px; background:rgba(0,0,0,.25); }
.gallery-title-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 54px; margin:0; padding:0; list-style:none; }
.gallery-title-list li { display:flex; align-items:center; gap:22px; min-height:92px; border-bottom:1px solid #292a2e; }
.gallery-title-list li:nth-last-child(-n+2) { border-bottom:0; }
.gallery-title-number { color:#ef1b21; font-size:13px; letter-spacing:2px; min-width:26px; }
.gallery-title-meta { display:flex; flex-direction:column; align-items:flex-start; gap:7px; min-width:0; }
.gallery-title-text { color:var(--fg); font-size:21px; letter-spacing:1.4px; text-transform:uppercase; text-decoration:underline; text-decoration-color:#ef1b21; text-decoration-thickness:1px; text-underline-offset:4px; transition:color .16s ease; }
.gallery-title-text:hover, .gallery-title-text:focus-visible { color:#ef1b21; }
.gallery-title-subtitle { color:#aeb0b6; font-size:13px; letter-spacing:1.8px; text-transform:uppercase; text-decoration:underline; text-decoration-color:rgba(239,27,33,.8); text-decoration-thickness:1px; text-underline-offset:3px; transition:color .16s ease; }
.gallery-title-subtitle:hover, .gallery-title-subtitle:focus-visible { color:#ef1b21; }
.gallery-page-unused { min-height:100vh; background:var(--bg); color:var(--fg); padding:44px 24px 80px; }
.gallery-panel { max-width:1100px; margin:0 auto; border:1px solid #33343a; border-radius:10px; padding:34px; background:linear-gradient(180deg,rgba(12,13,17,.98),rgba(3,4,6,.98)); }
.gallery-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; padding-bottom:28px; border-bottom:1px solid #303137; }
.gallery-kicker { color:#ef1b21; letter-spacing:3px; font-size:12px; }.gallery-panel h1 { font-size:46px; letter-spacing:6px; margin:10px 0 8px; }.gallery-panel p { color:#bfc0c5; line-height:1.5; }
.gallery-upload-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; color:#fff; background:#d9141c; border:1px solid #ff3d43; border-radius:3px; letter-spacing:1px; font-size:12px; cursor:pointer; }.gallery-upload-button input { display:none; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:28px; }.gallery-card { margin:0; border:1px solid #303137; background:#08090c; border-radius:6px; overflow:hidden; }.gallery-card img { display:block; width:100%; aspect-ratio:1; object-fit:cover; background:#020204; }.gallery-card figcaption { display:flex; flex-direction:column; gap:4px; padding:10px 12px 12px; font-size:12px; }.gallery-card figcaption strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500; }.gallery-card figcaption span { color:#989aa1; }.gallery-empty { padding:34px 0; }.gallery-error { color:#ff777d!important; }
@media (max-width:760px) { .gallery-title-hero { min-height:245px; padding-top:48px; }.gallery-title-hero h1 { font-size:36px; }.gallery-title-hero h2 { font-size:20px; }.gallery-title-hero p { margin-top:26px; font-size:14px; }.gallery-title-panel { padding:12px 18px; }.gallery-title-list { grid-template-columns:1fr; }.gallery-title-list li, .gallery-title-list li:nth-last-child(-n+2) { min-height:78px; border-bottom:1px solid #292a2e; }.gallery-title-list li:last-child { border-bottom:0; }.gallery-title-text { font-size:16px; letter-spacing:1px; }.gallery-title-subtitle { font-size:12px; letter-spacing:1.4px; } }

.local-login-page { min-height:100vh; background:var(--bg); color:var(--fg); }
.local-login-shell { display:flex; justify-content:center; padding-top:80px; }
.local-login-card { width:min(100%,460px); border:1px solid #33343a; border-radius:8px; padding:34px; background:linear-gradient(180deg,rgba(12,13,17,.98),rgba(3,4,6,.98)); box-shadow:0 18px 48px rgba(0,0,0,.28); }
.local-login-kicker { margin:0 0 14px; color:#ef1b21; font-size:11px; letter-spacing:3px; }
.local-login-card h1 { margin:0; font-size:42px; letter-spacing:3px; }
.local-login-copy { margin:14px 0 28px; color:#bfc0c5; line-height:1.5; }
.local-login-form { display:grid; gap:18px; }
.local-login-form label { display:grid; gap:8px; color:#d9d9dc; font-size:13px; letter-spacing:1px; }
.local-login-form input { width:100%; box-sizing:border-box; border:1px solid #45464c; border-radius:4px; padding:12px 13px; color:#fff; background:#090a0e; font:inherit; letter-spacing:0; }
.local-login-form input:focus { outline:2px solid rgba(239,27,33,.55); outline-offset:2px; border-color:#ef1b21; }
.local-login-form button { min-height:44px; border:1px solid #ff3d43; border-radius:3px; color:#fff; background:#d9141c; font:inherit; letter-spacing:1px; cursor:pointer; }
.local-login-form button:disabled { opacity:.65; cursor:wait; }
.local-login-error { margin:0; color:#ff777d; font-size:13px; }
.local-login-back { display:inline-block; margin-top:24px; color:#bfc0c5; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:760px) { .local-login-shell { padding:42px 16px 60px; }.local-login-card { padding:26px 20px; }.local-login-card h1 { font-size:34px; } }

.video-link { color:var(--fg); text-decoration:underline; text-decoration-color:var(--red); text-underline-offset:5px; letter-spacing:1.3px; font-size:18px; padding:14px 22px; border:1px solid #4a4b50; border-radius:4px; }
.video-link:hover, .video-link:focus-visible { color:var(--red); border-color:var(--red); }
.processing-video-frame.is-link { display:flex; align-items:center; justify-content:center; }
a:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
.detail-hero { max-width:100%; }
.asteroid-belt-hero { min-height:885px; }
.asteroid-belt-image { height:572px; }
@media (max-width:760px) { .asteroid-belt-hero { min-height:600px; }.asteroid-belt-image { height:305px; } }
.art-io-old-cover { position:absolute; z-index:2; left:20.5%; top:20.3%; width:8.5%; height:5.8%; background:#030406; pointer-events:none; }
.art-io-replacement { position:absolute; z-index:3; left:20.5%; top:20.3%; width:8.5%; height:5.8%; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.art-io-replacement img { display:block; width:57%; height:57%; object-fit:contain; transform:translate(-1px,-1px); }
.detail-footer { display:flex; align-items:center; justify-content:space-between; gap:20px 28px; padding:34px 16px 30px; margin-top:36px; border-top:1px solid #1b1d21; }
.detail-footer img { display:block; max-width:100%; height:auto; mix-blend-mode:screen; }
.detail-footer a { display:block; letter-spacing:0; line-height:0; }
.foot-socials { display:flex; align-items:center; gap:22px; }
.foot-icon { padding:6px 2px; opacity:.92; transition:opacity .15s ease, filter .15s ease; }
.foot-icon:hover, .foot-icon:focus-visible { opacity:1; filter:drop-shadow(0 0 6px rgba(239,22,28,.7)); }
@media (max-width:760px) { .detail-footer { flex-direction:column; justify-content:center; text-align:center; padding:28px 16px 26px; } .foot-socials { gap:26px; } }
.art-cleo-old-cover { position:absolute; z-index:2; left:73.5%; top:25.4%; width:8.5%; height:5.8%; background:#030406; pointer-events:none; }
.art-cleo-replacement { position:absolute; z-index:3; left:73.5%; top:25.4%; width:8.5%; height:5.8%; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.art-cleo-replacement img { display:block; width:62%; height:auto; object-fit:contain; mix-blend-mode:normal; filter:none; }
.spec-sheet { margin:34px 0 4px; max-width:900px; }
.spec-sheet h3 { color:var(--red); font-weight:400; letter-spacing:2px; font-size:16px; margin:0 0 10px; }
.spec-sheet dl { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:0 40px; border-top:1px solid #34373b; }
.spec-sheet dl > div { display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid #26282c; font-size:16px; line-height:1.35; }
.spec-sheet dt { color:#a9a9ae; letter-spacing:.4px; }
.spec-sheet dd { margin:0; color:var(--fg); text-align:right; }
@media (max-width:760px) { .spec-sheet dl { grid-template-columns:1fr; } .spec-sheet dl > div { font-size:15px; } }
.art-frame-home { container-type:inline-size; }
.art-inner { position:relative; }
.art-spacer { display:block; height:7.65cqw; }
.art-shift { transform:translateY(7.65cqw); }
.art-amor-replacement { position:absolute; z-index:3; left:20.5%; top:35.6%; width:8.5%; height:5.8%; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.art-amor-replacement img { display:block; width:50%; height:auto; mix-blend-mode:normal; filter:none; }
.art-oberon-cover { position:absolute; z-index:2; left:10%; top:35.6%; width:8.5%; height:5.8%; pointer-events:none; }
.art-oberon-replacement { position:absolute; z-index:3; left:10%; top:35.6%; width:8.5%; height:5.8%; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.art-oberon-replacement img { display:block; width:56%; height:auto; mix-blend-mode:normal; filter:none; }
.gallery-title-hero { min-height:200px; }
.gcard-grid { list-style:none; width:85%; margin:0 auto; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.gcard { margin:0; padding:0; }
.gcard-link { display:flex; flex-direction:column; height:100%; border:1px solid rgba(255,255,255,.88); border-radius:2px; background:#030406; color:var(--fg); text-decoration:none; transition:border-color .15s ease, box-shadow .15s ease; }
.gcard-link:hover, .gcard-link:focus-visible { border-color:#fff; box-shadow:0 0 0 1px rgba(255,255,255,.35), 0 10px 30px rgba(0,0,0,.6); }
.gcard-art { aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; background:#000; border-bottom:1px solid rgba(255,255,255,.18); overflow:hidden; }
.gcard-art img { width:70%; height:70%; object-fit:contain; display:block; }
.gcard-orb { width:58%; aspect-ratio:1/1; border-radius:50%; display:block; }
.gcard-orb-plain { background:radial-gradient(circle at 35% 30%, #4a4b50, #1a1b1e 60%, #070708); }
.gcard-meta { display:flex; flex-direction:column; gap:4px; padding:10px 12px 12px; min-height:78px; }
.gcard-num { color:var(--red); font-size:10.5px; letter-spacing:2px; }
.gcard-title { font-size:14.5px; letter-spacing:1px; text-transform:uppercase; line-height:1.2; }
.gcard-sub { color:#aeb0b6; font-size:10.5px; letter-spacing:1.4px; text-transform:uppercase; }
.gcard-link:hover .gcard-title { color:var(--red); }
@media (max-width:1000px) { .gcard-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:620px) { .gcard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .gcard-title { font-size:12.5px; } .gcard-meta { padding:9px 9px 11px; } }
.art-header-box { position:relative; width:100%; aspect-ratio:1024/1536; }
.art-header-box .art-image-header { position:absolute; left:0; top:0; width:100%; height:auto; clip-path:none !important; }
.hg-cell { position:absolute; pointer-events:auto; display:flex; align-items:center; justify-content:center; width:8.5%; height:5.8%; border-radius:6px; text-decoration:none; transition:transform .18s ease, filter .18s ease; }
.hg-cell img { display:block; width:72%; height:auto; pointer-events:none; user-select:none; }
.hg-nolink { pointer-events:none !important; cursor:default; }
.gcard-nolink { cursor:default; }
.detail-hero.hmir-hero { min-height:0 !important; height:auto !important; padding-bottom:40px; }
.hmir-copy { margin-bottom:0; }
.hmir-videos { display:grid; gap:0; }
.detail-hero.sb-hero { min-height:0 !important; height:auto !important; padding-bottom:10px; }
.sb-titles { max-width:900px; margin:34px auto 90px; padding:0 20px; text-align:center; }
.standard-body-hero.saturn-wide-hero { min-height:0; padding-bottom:40px; }
.saturn-wrap { position:relative; width:min(960px,94%); margin:36px auto 0; }
.saturn-wrap .standard-body-image.saturn-wide-image { width:100%; margin:0; }
.saturn-spot { position:absolute; width:5.2%; aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; z-index:3; transition:box-shadow .18s ease, background .18s ease; }
.saturn-spot.saturn-spot-sm { width:3.8%; }
.saturn-spot.saturn-spot-xs { width:max(2.7%,13px); }
.breadcrumbs .back-btn { letter-spacing:.14em; font-weight:600; white-space:nowrap; transition:color .15s ease; }
.breadcrumbs .back-btn:hover, .breadcrumbs .back-btn:focus-visible { color:#ef161c; outline:none; }
.breadcrumbs .back-sep { width:1px; height:16px; background:rgba(255,255,255,.28); margin:0 4px; }
.breadcrumbs .back-btn { order:99; margin-left:auto; }
.breadcrumbs .back-sep { display:none; }
@media (max-width:560px) { .breadcrumbs { flex-wrap:wrap; row-gap:12px; } .breadcrumbs .back-btn { flex:0 0 100%; order:-1; margin-left:0; text-align:right; } }
.saturn-spot:hover, .saturn-spot:focus-visible { box-shadow:0 0 0 1px rgba(255,255,255,.8), 0 0 14px rgba(255,255,255,.45); background:rgba(255,255,255,.06); outline:none; }
.standard-body-image.saturn-wide-image { position:static; transform:none; width:min(960px,94%); height:auto; margin:36px auto 0; mix-blend-mode:screen; filter:none; }
@media (max-width:760px) { .standard-body-image.saturn-wide-image { transform:none; width:100%; } }
.sb-item { margin:0 0 44px; }
.sb-title { margin-bottom:16px !important; }
.art-home-frame { position:absolute; z-index:4; left:2.5%; width:95%; top:41.4%; height:47.33%; border:1px solid rgba(255,255,255,.85); border-radius:3px; pointer-events:none; }
.art-copy-block { padding-top:calc(2.15% + 23px) !important; }
.home-art-page { --row5:0; }  /* 7.65 when the Home grid has a 5th row */
.home-art-page .art-shift { transform:translateY(calc(10.97cqw + var(--row5) * 1cqw)); }
.home-art-page { --soon:11; }
.home-art-page .art-home-frame { transform:translateY(calc(3.32cqw + var(--row5) * 1cqw)); height:calc(47.33% + var(--soon) * 1%); }
.home-art-page .art-copy-block { height:calc(31.8% + var(--soon) * 1%); }
.home-art-page .art-footer-restoration.art-shift { transform:translateY(calc(10.97cqw + var(--row5) * 1cqw + var(--soon) * 1.5cqw)); }
.home-art-page .art-copy-block h2.home-soon { margin-top:2.6%; }
@media (min-width:701px) { .home-art-page .art-copy-block p { font-size:min(18px,1.757cqw) !important; } .home-art-page .art-copy-block a { font-size:inherit !important; } .home-art-page .art-copy-block h2.home-soon { font-size:min(24px,2.34cqw); } }
@media (max-width:700px) { .home-art-page { --soon:15.5; } .home-art-page .art-copy-block h2.home-soon { font-size:clamp(8px,2.5vw,18px); margin-top:3%; } }
.home-art-page .art-spacer { margin-top:calc(-9.18cqw + var(--row5) * 1cqw + var(--soon) * 1.5cqw); }
.home-art-page nav[aria-label="Social links"].art-shift { transform:translateY(calc(-1.53cqw + var(--row5) * 1cqw + var(--soon) * 1.5cqw)); }
.about-telescope { margin:-6px auto 34px; max-width:480px; text-align:center; }
.about-telescope img { width:100%; height:auto; display:block; border:1px solid rgba(255,255,255,.2); border-radius:4px; }
.about-telescope figcaption { margin-top:10px; font-size:14px; letter-spacing:1px; color:#b8b8bd; }
.detail-nav a, .home-html-nav a { position:relative; }
.detail-nav a + a::before, .home-html-nav a + a::before { content:""; position:absolute; left:-15px; top:50%; width:2px; height:1.15em; transform:translateY(-50%); background:var(--red); pointer-events:none; }
@media (max-width:760px) { .detail-nav a + a::before, .home-html-nav a + a::before { left:-7px; } }
.mars-wrap { position:absolute; left:50%; top:315px; width:220px; height:220px; transform:translateX(-60%) scale(1.38); transform-origin:center center; mix-blend-mode:screen; }
.mars-wrap .standard-body-image { position:static; left:auto; top:auto; transform:none; width:100%; height:100%; mix-blend-mode:normal; }
.mars-moon-spot { position:absolute; width:34px; height:34px; margin:-17px 0 0 -17px; border-radius:50%; border:1.5px solid transparent; transition:border-color .2s, box-shadow .2s; }
.mars-moon-spot:hover, .mars-moon-spot:focus-visible { border-color:var(--red); box-shadow:0 0 8px rgba(239,22,28,.7); outline:none; }
@media (max-width:760px) { .mars-wrap { top:275px; transform:translateX(-60%) scale(1.104); } .mars-moon-spot { width:44px; height:44px; margin:-22px 0 0 -22px; } }
.venus-cap { position:absolute; top:calc(100% + 22px); transform:translateX(-50%); color:#d9d9dc; font-size:13px; letter-spacing:2px; text-transform:uppercase; white-space:nowrap; }
.venus-cap-l { left:calc(50% - 146px); }
.venus-cap-r { left:calc(50% + 147px); }
@media (max-width:760px) { .venus-cap { font-size:11px; letter-spacing:1.5px; top:calc(100% + 14px); } .venus-cap-l { left:calc(50% - 89px); } .venus-cap-r { left:calc(50% + 89px); } }
.standard-body-image.hyperion-body-image { transform:translateX(-50%) scale(.85); }
@media (max-width:760px) { .standard-body-image.hyperion-body-image { transform:translateX(-50%) scale(.68); } }
.technical-note { color:#f5d547 !important; }
.about-equipment .technical-note { color:var(--fg) !important; }
.sb-banner { display:block; width:100%; height:4cm; overflow:hidden; border-radius:4px; border:1px solid rgba(255,255,255,.18); background:#000; transition:border-color .18s ease; }
.sb-banner:hover { border-color:rgba(255,255,255,.7); }
.sb-banner img { display:block; width:100%; height:100%; object-fit:cover; }
.sb-titles { max-width:1000px !important; }
.sb-title a { color:inherit; text-decoration:none; }
.sb-title a:hover { color:#ff3b30; }
.sb-title { margin:0 0 38px; font-size:clamp(22px,3.6vw,38px); letter-spacing:.08em; font-weight:700; color:#f2f2f2; text-transform:uppercase; }
.gcard-nolink:hover { border-color:rgba(255,255,255,.88); box-shadow:none; }
.hg-cell:hover, .hg-cell:focus-visible { transform:scale(1.12); filter:drop-shadow(0 0 7px rgba(239,22,28,.65)); outline:none; }
.callisto-pair { position:absolute; left:50%; top:315px; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; gap:36px; width:max-content; max-width:100%; }
.callisto-divider { flex:0 0 1px; width:1px; height:210px; background:linear-gradient(to bottom, transparent, #8a8b90 18%, #8a8b90 82%, transparent); }
@media (max-width:760px) { .callisto-divider { height:150px; } }
.callisto-divider + .standard-body-image.callisto-pair-img.pair-even-equal { transform:none; }
.callisto-divider + .standard-body-image.callisto-pair-img { transform:scale(.82); }
.standard-body-image.callisto-pair-img { position:static; left:auto; top:auto; transform:none; width:220px; height:220px; flex:0 0 auto; }
@media (max-width:760px) { .callisto-pair { top:275px; gap:14px; } .standard-body-image.callisto-pair-img { width:164px; height:164px; } }
.standard-body-hero.mars-hero { min-height:700px; }
@media (max-width:760px) { .standard-body-hero.mars-hero { min-height:560px; } }
.klz-figure { margin:34px auto 0; width:100%; max-width:880px; }
@media (max-width:760px) { .klz-figure { margin-top:24px; } }
.klz-stage { position:relative; width:100%; aspect-ratio:2576/1929; background:#000; border:1px solid #23252a; overflow:hidden; }
.klz-field { display:block; width:100%; height:100%; object-fit:cover; mix-blend-mode:normal; filter:none; }
.klz-line { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:0; transition:opacity .3s ease .15s; }
.klz-line.open { opacity:1; }
.klz-line line { stroke:var(--red); stroke-width:1.2; stroke-dasharray:5 4; }
.klz-spot { position:absolute; left:49.3%; top:87.5%; width:11.2%; height:12.5%; padding:0; background:transparent; border:0; cursor:zoom-in; border-radius:4px; }
.klz-spot:focus-visible { outline:2px solid var(--red); outline-offset:2px; }
.klz-ring { position:absolute; left:50%; top:50%; width:26px; height:26px; margin:-13px 0 0 -13px; border:1.5px solid var(--red); border-radius:50%; animation:klzPulse 1.8s ease-out infinite; }
@keyframes klzPulse { 0% { transform:scale(.6); opacity:1; } 100% { transform:scale(2.2); opacity:0; } }
.klz-win { position:absolute; left:8%; bottom:22%; width:46%; background:#07080a; border:1px solid #5a5b61; border-radius:6px; box-shadow:0 18px 50px rgba(0,0,0,.8), 0 0 0 1px rgba(239,22,28,.35); transform:scale(.04); opacity:0; pointer-events:none; transition:transform .45s cubic-bezier(.2,.8,.2,1), opacity .25s ease; z-index:3; }
.klz-win.open { transform:scale(1); opacity:1; pointer-events:auto; }
.klz-bar { display:flex; align-items:center; justify-content:space-between; padding:6px 8px 6px 12px; border-bottom:1px solid #2c2e33; font-size:11px; letter-spacing:1.6px; color:#c7c7c7; }
.klz-close { width:26px; height:26px; line-height:22px; font-size:20px; color:var(--fg); background:transparent; border:1px solid #4a4b50; border-radius:4px; cursor:pointer; padding:0; }
.klz-close:hover, .klz-close:focus-visible { color:var(--red); border-color:var(--red); }
.klz-body { display:flex; align-items:center; justify-content:center; background:#000; padding:10px; }
.klz-body img { display:block; width:100%; max-width:none; height:auto; mix-blend-mode:normal; filter:none; }
.klz-figure figcaption { margin-top:10px; text-align:center; font-size:13px; color:#9a9a9f; letter-spacing:.5px; }
@media (max-width:760px) { .klz-win { left:3%; width:54%; bottom:20%; } .klz-body { padding:6px; } .klz-bar { font-size:10px; letter-spacing:1.2px; } .klz-spot { min-width:44px; min-height:44px; } }
@media (prefers-reduced-motion:reduce) { .klz-win, .klz-line { transition:none; } .klz-ring { animation:none; } }

.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

img { max-width:100%; }
[hidden] { display:none!important; }

body { background: var(--bg); color: var(--fg); }
