/* Montserrat (SIL OFL 1.1), self-hosted Oct 14 2026 */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500 800;font-display:swap;src:url('assets/fonts/montserrat-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500 800;font-display:swap;src:url('assets/fonts/montserrat-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Saving Planets — main stylesheet (homepage + shared) */

/* Reset-ish defaults */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "Montserrat", "Segoe UI", sans-serif; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }

/* Focus styles for keyboard navigation */
:focus-visible {
  outline: 3px solid #009cde;
  outline-offset: 2px;
}
.nav-toggle:focus-visible {
  outline-color: #fff;
}
nav.scrolled .nav-toggle:focus-visible {
  outline-color: #003755;
}

/* Navigation bar (homepage) */
nav { position: absolute; top: 0; left: 0; right: 0; z-index: 1000; background: transparent; transition: background 0.25s ease, box-shadow 0.25s ease; }
nav.scrolled { position: fixed; background: #fff; box-shadow: 0 1px 0 rgba(0,55,85,0.08); }
.nav-container { max-width: 1280px; margin: 0 auto; height: 88px; display: flex; align-items: center; justify-content: space-between; padding: 0 1.5rem; }
.brand-word { color: #fff; font-weight: 700; font-size: 1.3rem; letter-spacing: -0.02em; text-decoration: none; }
nav.scrolled .brand-word { color: #003755; }
.nav-links { display: flex; align-items: center; gap: 1.6rem; list-style: none; margin: 0; padding: 0; }
.nav-links a { color: #fff; font-weight: 600; font-size: 1.15rem; text-decoration: none; }
nav.scrolled .nav-links a { color: #003755; }
.nav-links a:hover { color: #009cde; }
.btn-nav { background: #009cde; color: #fff; border-radius: 4px; padding: 12px 22px; font-weight: 700; text-decoration: none; }
.btn-nav:hover { background: #007bb8; }



/* Hero section */
.hero { position: relative; height: 100vh; min-height: 640px; display: flex; justify-content: center; align-items: flex-start; background: linear-gradient(180deg, rgba(0,20,40,0.28) 0%, rgba(0,20,40,0.12) 42%, rgba(0,20,40,0.45) 100%), url('assets/Saturn.jpg') center 35%/cover no-repeat; }
.hero-content { width: min(46rem, 62vw); max-width: 46rem; margin: 0 auto; text-align: center; padding: calc(22vh + 3.4rem) 1.25rem 2rem; }
.hero-kicker { color: #fff; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; font-size: 1.7rem; line-height: 1.15; margin-bottom: 2.8rem; text-shadow: 0 2px 16px rgba(0,0,0,0.55); }
.hero-welcome { font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: 1.05; margin-bottom: 1rem; color: #fff; text-shadow: 0 2px 16px rgba(0,0,0,0.55); }
.welcome-brand { color: #009cde; }
.welcome-minus { color: #fff; }
.welcome-doom { color: #ff6b6b; }
.hero-example { max-width: none; font-size: 1.15rem; color: rgba(255,255,255,0.92); text-shadow: 0 1px 10px rgba(0,0,0,0.45); }
.hero-email { margin-top: 1.4rem; font-size: 0.95rem; color: rgba(255,255,255,0.85); }
.hero-email a { color: #fff; text-decoration: underline; }
.hero-email a:hover { color: #009cde; }

/* Card band (homepage solutions grid) */
.card-band { max-width: 1200px; margin: 0 auto; padding: 2.6rem 1.5rem 0; }
.card-band h2 { text-align: center; color: #003755; margin-bottom: 1.2rem; font-size: clamp(1.8rem, 3.5vw, 2.6rem); }
.card-band .grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; padding: 0; margin: 0; }
.card-band .card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 28px rgba(0,55,85,0.12); height: 100%; }
.card-band .image-container { overflow: hidden; }
.card-band .image-container img { width: 100%; height: 220px; object-fit: cover; transition: transform 0.35s ease; }
.card-band .card:hover .image-container img { transform: scale(1.05); }
.card-band h3 { color: #009cde; text-align: center; font-size: 1.85rem; font-weight: 800; text-decoration: none; padding: 1rem 0.6rem 0.35rem; margin: 0; }
.solution-list { list-style: none; margin: 0; padding: 0.2rem 1rem 1.2rem; text-align: center; }
.solution-list li + li { margin-top: 0.4rem; }
.solution-list a { color: #009cde; font-size: 1.05rem; font-weight: 700; text-decoration: none; }
.solution-list a:hover { text-decoration: underline; }

/* Photo overlay (reusable across all solution cards) */
.photo-link { position: relative; display: block; }
.photo-tip {
    position: absolute; left: 0; right: 0; bottom: 0; width: 100%;
    padding: 0.85rem 1rem 0.95rem;
    background: linear-gradient(180deg, rgba(0,20,40,0.92) 0%, rgba(180,120,40,0.55) 100%);
    color: #fff; font-size: 0.82rem; font-weight: 600; line-height: 1.45;
    text-align: center; text-shadow: 0 1px 6px rgba(0,0,0,0.55);
    opacity: 0; transform: translateY(6px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}
.photo-link:hover .photo-tip,
.photo-link:focus-within .photo-tip { opacity: 1; transform: translateY(0); }
.photo-tip::after {
    content: ""; position: absolute; top: -7px; left: 50%; transform: translateX(-50%);
    border-left: 7px solid transparent; border-right: 7px solid transparent;
    border-bottom: 7px solid rgba(0,20,40,0.92);
}
.photo-link:focus { outline: 2px solid #009cde; outline-offset: 2px; }

/* Impact bar (homepage stats) */
.impact-bar { display: flex; flex-direction: column; align-items: center; margin-top: 2.6rem; padding: 2rem 1.5rem; background: #003755; color: #fff; }
.stats-title { width: 100%; text-align: center; color: #fff; font-size: 1.45rem; font-weight: 700; margin: 0 0 1.1rem; line-height: 1.2; }
.stats-title .brand-blue { color: #009cde; text-shadow: 0 1px 0 rgba(0,0,0,0.25); }
.stat-row { display: flex; justify-content: center; gap: 3rem; flex-wrap: wrap; width: 100%; }
.stat { text-align: center; }
.stat-number { display: block; font-size: 2.4rem; font-weight: 800; color: #009cde; letter-spacing: -0.02em; }
.stat-label { display: block; font-size: 0.95rem; opacity: 0.9; margin-top: 0.3rem; max-width: 16rem; margin-left: auto; margin-right: auto; }
.stat-source { width: 100%; text-align: center; font-size: 0.8rem; opacity: 0.75; margin: 1.2rem 0 0; }

/* Actions section (homepage) */
#actions { background: #003755; margin-top: 2.6rem; padding: 2rem 1.5rem; }
#actions .mission-block { padding-top: 0; max-width: 920px; margin: 0 auto; text-align: center; }
#actions .mission-block h2 { color: #009cde; font-size: clamp(2rem, 4vw, 3.2rem); margin: 0; line-height: 1.15; }
#actions .join-lead { color: #fff; font-size: 1.35rem; margin-top: 0.8rem; }
#actions .join-lead a { color: #fff; text-decoration: underline; }
#actions .join-lead a:hover { color: #009cde; }

/* Footer */
footer { background: #003755; padding: 1.4rem 1.5rem; text-align: center; color: rgba(255,255,255,0.85); font-size: 0.85rem; }
footer a { color: #fff; text-decoration: underline; }
footer a:hover { color: #009cde; }

/* Subpage shared styles */
body.toc-sub .page-hero { height: 34vh; min-height: 220px; display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%), url('assets/OceanBeach.JPG') center/cover no-repeat; text-align: center; color: #fff; }
body.toc-sub .page-hero.forest-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%), url('assets/Threetrees3.jpg') center/cover no-repeat; }
body.toc-sub .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%), url('assets/Saturn.jpg') center/cover no-repeat; }
body.toc-sub .page-hero.clearspace-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%), url('assets/RocketLaunch.jpg') center/cover no-repeat; }
body.toc-sub .page-hero.lakes-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%), url('https://images.pexels.com/photos/417074/pexels-photo-417074.jpeg?auto=compress&cs=tinysrgb&w=1400') center/cover no-repeat; }
body.toc-sub .page-hero.rivers-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%), url('assets/StreamLog.JPG') center/cover no-repeat; }
body.toc-sub .page-hero.pr-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%), url('assets/Nebula2.jpg') center/cover no-repeat; }
body.toc-sub .page-hero-content { padding: 0 1.25rem; }
body.toc-sub .page-hero h1 { font-size: clamp(2rem, 5vw, 3.2rem); margin: 0 0 0.5rem; text-shadow: 0 2px 12px rgba(0,0,0,0.55); }
body.toc-sub .page-hero p { font-size: 1.1rem; margin: 0; color: rgba(255,255,255,0.92); text-shadow: 0 1px 8px rgba(0,0,0,0.45); }
body.toc-sub h2 { color: #003755; margin: 1.4rem 0 1rem; font-size: clamp(1.6rem, 3vw, 2.2rem); }

body.toc-sub h3 { color: #009cde; margin: 0 0 0.4rem; font-size: 1.25rem; }
body.toc-sub .five-ws { max-width: 1200px; margin: 0 auto; padding: 0.4rem 1.5rem 1.2rem; }
body.toc-sub .ws-grid, body.toc-sub .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
body.toc-sub .w-card .image-container { overflow: hidden; border-radius: 8px; margin-bottom: 0.7rem; }
body.toc-sub .w-card .image-container img { width: 100%; height: 140px; object-fit: cover; display: block; }

body.toc-sub .w-card p { margin: 0; }




body.toc-sub .btn { background: #009cde; color: #fff; border-radius: 4px; padding: 12px 22px; font-weight: 700; text-decoration: none; }
body.toc-sub .btn:hover { background: #007bb8; }
body.toc-sub footer { background: #003755; padding: 1.4rem 1.5rem; text-align: center; color: rgba(255,255,255,0.85); font-size: 0.85rem; }

/* Dark mode */
html.dark { background: #071018; color: #e8eef5; }
html.dark body.toc-home,
html.dark body.toc-sub { background: #071018; color: #e8eef5; }
html.dark nav.scrolled { background: rgba(7, 16, 24, 0.88); border-bottom-color: rgba(255,255,255,0.10); box-shadow: 0 4px 24px rgba(0,0,0,0.35); }
html.dark nav.scrolled .brand-word,
html.dark nav.scrolled .nav-links a{ color: #fff; border-color: #fff; }
html.dark .nav-toggle { border-color: rgba(255,255,255,0.55); }
html.dark .nav-toggle span { background: #fff; }
html.dark .dropdown-menu { background: rgba(15, 27, 38, 0.96); box-shadow: 0 8px 24px rgba(0,0,0,0.45); }
html.dark .dropdown-menu a { color: #e8eef5 !important; }
html.dark .card-band .card,
html.dark body.toc-sub .ps-card,
html.dark body.toc-sub .w-card { background: #0f1b26; box-shadow: 0 10px 28px rgba(0,0,0,0.45); }
html.dark .card-band h2,
html.dark .card-band h3,
html.dark body.toc-sub h2,
html.dark body.toc-sub h3,
html.dark .mission-block h2,
html.dark .ps-card h3,
html.dark .breadcrumb [aria-current] { color: #e8eef5; }
html.dark .brand-blue,
html.dark .welcome-brand,
html.dark .solution-list a,
html.dark .card-band h3 a,
html.dark body.toc-sub .solution-list a { color: #4da3ff; }
html.dark .stat-number,
html.dark .mw-count b { color: #4da3ff; }
html.dark .stat-label,
html.dark .stat-source,
html.dark .ps-card small,
html.dark .ps-note,
html.dark .mw-date,
html.dark .mw-note,
html.dark .mw-status,
html.dark .mw-count small { color: #9fb3c4; opacity: 1; }
html.dark .mw-news li { border-bottom-color: #1c2d3d; }
html.dark .mw-milestones li::before { background: #3a5166; }
html.dark .mw-milestones li.done { color: #9fb3c4; }
html.dark .breadcrumb a,
html.dark .next-solutions a { color: #8fd3ff; border-color: #8fd3ff; }
html.dark .next-solutions a:hover { background: #8fd3ff; color: #071018; }
html.dark .btn,
html.dark .btn-nav,
html.dark body.toc-sub .btn { background: #007bb8; }
html.dark .btn:hover,
html.dark .btn-nav:hover,
html.dark body.toc-sub .btn:hover { background: #009cde; }
html.dark nav.open .nav-links { background: #0f1b26; }
html.dark nav.open .nav-links a{ color: #e8eef5; border-color: #e8eef5; }
html.dark .photo-tip { background: linear-gradient(180deg, rgba(7,16,24,0.94) 0%, rgba(120,80,30,0.55) 100%); }
html.dark .photo-tip::after { border-bottom-color: rgba(7,16,24,0.94); }
html.dark .skip-link { background: #4da3ff; color: #071018; }
html.dark .skip-link:focus { outline-color: #4da3ff; }
html.dark :focus-visible { outline-color: #4da3ff; }
html.dark .hero-kicker,
html.dark .hero-welcome,
html.dark .hero-example,
html.dark .hero-email,
html.dark .join-lead,
html.dark .join-lead a,
html.dark .stats-title,
html.dark body.toc-sub .page-hero h1,
html.dark body.toc-sub .page-hero p,
html.dark footer,
html.dark body.toc-sub footer,
html.dark #actions .join-lead,
html.dark #actions .join-lead a { color: #e8eef5; }
html.dark .hero-email a:hover,
html.dark .join-lead a:hover,
html.dark footer a:hover,
html.dark body.toc-sub footer a:hover,
html.dark #actions .join-lead a:hover { color: #4da3ff; }
html.dark .welcome-minus { color: #e8eef5; }

/* Responsive */
@media (max-width: 900px) {
  .card-band .grid { grid-template-columns: 1fr 1fr; }
  .hero-content { width: min(46rem, 88vw); padding-top: calc(18vh + 3.4rem); }
  .stats-title { font-size: 1.2rem; }
  .hero-kicker { font-size: 1.25rem; margin-bottom: 2rem; }
  .card-band h3 { font-size: 1.55rem; }
  .nav-toggle { display: block; }
  .nav-links { display: none; position: absolute; top: 88px; left: 0; right: 0; background: #fff; flex-direction: column; align-items: stretch; padding: 1rem 1.5rem 1.5rem; box-shadow: 0 8px 24px rgba(0,0,0,0.15); }
  nav.open .nav-links { display: flex; }
  nav.open .nav-links a { color: #003755; }
  .btn-nav { display: none; }
  .nav-dropdown .dropdown-menu { position: static; box-shadow: none; padding-left: 1rem; }
}
@media (max-width: 600px) {
  .card-band .grid { grid-template-columns: 1fr; }
  .stat-row { gap: 1.5rem; }
}

/* Breadcrumbs + next-solution block */
.breadcrumb { max-width: 1100px; margin: 0 auto; padding: 0.8rem 1.5rem 0; font-size: 0.8rem; }
.breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; }
.breadcrumb li + li::before { content: "›"; margin-right: 0.35rem; opacity: 0.6; }
.breadcrumb a { color: #009cde; text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb [aria-current] { opacity: 0.75; }
.next-solutions { max-width: 1100px; margin: 1.5rem auto 2.5rem; padding: 0 1.5rem; text-align: center; }
.next-solutions h2 { font-size: 1.15rem; margin-bottom: 0.8rem; }
.next-solutions ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.next-solutions a { display: inline-block; padding: 0.5rem 1rem; border: 1px solid #009cde; border-radius: 999px; color: #009cde; font-weight: 600; text-decoration: none; font-size: 0.9rem; }
.next-solutions a:hover { background: #009cde; color: #fff; }
html.dark .breadcrumb a, html.dark .next-solutions a { color: #8fd3ff; border-color: #8fd3ff; }
html.dark .next-solutions a:hover { background: #8fd3ff; color: #071018; }
nav.breadcrumb, body.toc-sub nav.breadcrumb, body.toc-home nav.breadcrumb, nav.jump-nav, body.toc-sub nav.jump-nav { position: static; background: none; box-shadow: none; z-index: auto; border: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }

/* ===== Merged from toc-home.css (loads after base rules; wins on conflicts) ===== */
:root { --toc-navy: #003755; --toc-blue: #009cde; --brand-blue: #009cde; --solution-green: #00b894; --section-gap: 2.6rem; --nav-height: 88px; }

body.toc-home, body.toc-sub { font-family: "Montserrat", "Segoe UI", sans-serif; background: #fff; color: var(--toc-navy); }

/* Skip link for keyboard users */
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--toc-navy); color: #fff; padding: 0.6rem 1rem; z-index: 2000; font-weight: 700; text-decoration: none; }
.skip-link:focus { left: 1rem; top: 1rem; }

/* Mobile hamburger menu */
.nav-toggle { display: none; background: transparent; border: 1px solid rgba(255,255,255,0.7); border-radius: 4px; padding: 8px 10px; cursor: pointer; }
.nav-toggle span { display: block; width: 22px; height: 2px; background: #fff; margin: 5px 0; }
nav.scrolled .nav-toggle span { background: var(--toc-navy); }
nav.scrolled .nav-toggle { border-color: var(--toc-navy); }

/* Navigation bar — frosted glass (2026 glassmorphism pattern) */
body.toc-home nav, body.toc-sub nav {
  position: fixed; top: 0; left: 0; right: 0;
  background: rgba(0, 20, 40, 0.35);
  backdrop-filter: saturate(180%) blur(16px);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid rgba(255,255,255,0.12);
  box-shadow: none;
  z-index: 1000;
  transition: background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
body.toc-home nav.scrolled, body.toc-sub nav.scrolled {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: saturate(180%) blur(16px);
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  border-bottom-color: rgba(0,55,85,0.10);
  box-shadow: 0 4px 24px rgba(0,55,85,0.10);
}
body.toc-home .nav-container, body.toc-sub .nav-container { height: var(--nav-height); max-width: 1280px; }
body.toc-home .brand-word, body.toc-sub .brand-word { color: #fff; font-weight: 700; font-size: 1.3rem; letter-spacing: -0.02em; text-decoration: none; }
body.toc-home nav.scrolled .brand-word, body.toc-home nav.scrolled .nav-links a, body.toc-sub nav.scrolled .brand-word, body.toc-sub nav.scrolled .nav-links a { color: var(--toc-navy); }
body.toc-home .nav-links a, body.toc-sub .nav-links a { color: #fff; font-weight: 600; font-size: 1.15rem; text-decoration: none; transition: color 0.2s ease; }
body.toc-home .nav-links a:hover, body.toc-sub .nav-links a:hover { color: var(--toc-blue); }
body.toc-home .btn-nav, body.toc-sub .btn-nav { background: var(--toc-blue); color: #fff; border-radius: 4px; padding: 12px 22px; font-weight: 700; text-decoration: none; }
.nav-dropdown { position: relative; }
.dropdown-menu { display: none; position: absolute; top: 100%; left: 0; background: rgba(255,255,255,0.95); backdrop-filter: saturate(180%) blur(12px); -webkit-backdrop-filter: saturate(180%) blur(12px); border-radius: 8px; list-style: none; min-width: 140px; padding: 0.4rem 0; box-shadow: 0 8px 24px rgba(0,0,0,0.15); }
.nav-dropdown.open .dropdown-menu { display: block; }
.dropdown-menu a { color: var(--toc-navy) !important; display: block; padding: 0.55rem 1rem; }

.brand-blue, .welcome-brand { color: var(--brand-blue); }
body.toc-home .hero.space-hero { height: 100vh; min-height: 640px; justify-content: center; align-items: flex-start; background: linear-gradient(180deg, rgba(0,20,40,0.28) 0%, rgba(0,20,40,0.12) 42%, rgba(0,20,40,0.45) 100%), url('assets/Saturn.jpg') center 35%/cover no-repeat; }
body.toc-home .hero-content { width: min(46rem, 62vw); max-width: 46rem; margin: 0 auto; text-align: center; padding: calc(22vh + 3.4rem) 1.25rem 2rem; }
body.toc-home .hero-kicker, body.toc-home .hero-welcome, body.toc-home .hero-example, body.toc-home .hero-email { text-align: center; margin-left: auto; margin-right: auto; }
body.toc-home .hero-kicker { color: #fff; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; font-size: 1.7rem; line-height: 1.15; margin-bottom: 2.8rem; text-shadow: 0 2px 16px rgba(0,0,0,0.55); }
body.toc-home .hero-welcome { font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: 1.05; margin-bottom: 1rem; }
body.toc-home .hero-example { max-width: none; font-size: 1.15rem; }
body.toc-home h2, body.toc-sub h2 { margin: 1.4rem 0 1rem; }
body.toc-home .mission-block { max-width: 920px; margin: 0 auto; padding: var(--section-gap) 1.5rem 0; text-align: center; }
body.toc-home .mission-block h2 { color: var(--toc-navy); font-size: clamp(2rem, 4vw, 3.2rem); margin: 0; line-height: 1.15; }
body.toc-home .card-band { max-width: 1200px; margin: 0 auto; padding: var(--section-gap) 1.5rem 0; }
body.toc-home .card-band h2 { text-align: center; color: var(--toc-navy); margin-bottom: 1.2rem; }
body.toc-home .card-band .grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; padding: 0; margin: 0; }
body.toc-home .card-band .card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 28px rgba(0,55,85,0.12); height: 100%; }
body.toc-home .card-band .image-container { overflow: hidden; }
body.toc-home .card-band .image-container img { width: 100%; height: 220px; object-fit: cover; transition: transform 0.35s ease; }
body.toc-home .card-band .card:hover .image-container img { transform: scale(1.05); }
/* Ken Burns trial — Space card only (Saturn.jpg) */
body.toc-home .card-band #space-card .image-container img { animation: kenburns 5s ease-in-out infinite alternate; }
body.toc-home .card-band #space-card .card:hover .image-container img { animation-play-state: paused; }
@keyframes kenburns { from { transform: scale(1) translate(0, 0); } to { transform: scale(1.18) translate(-2.5%, -2%); } }
@media (prefers-reduced-motion: reduce) { body.toc-home .card-band #space-card .image-container img { animation: none; } }
body.toc-home .card-band h3 { color: var(--brand-blue); text-align: center; font-size: 1.85rem; font-weight: 800; padding: 1rem 0.6rem 0.35rem; margin: 0; }
body.toc-home .card-band h3 a { color: inherit; text-decoration: none; }
body.toc-home .card-band h3 a:hover { text-decoration: underline; }
body.toc-home .solution-list { list-style: none; margin: 0; padding: 0.2rem 1rem 1.2rem; text-align: center; }
body.toc-home .solution-list li + li { margin-top: 0.4rem; }
body.toc-home .solution-list a { color: var(--brand-blue); font-size: 1.05rem; font-weight: 700; text-decoration: none; }
body.toc-home .solution-list a:hover { text-decoration: underline; }
body.toc-home .impact-bar { display: flex; flex-direction: column; align-items: center; margin-top: var(--section-gap); padding: 2rem 1.5rem; background: #003755; color: #fff; }
body.toc-home .stats-title { width: 100%; text-align: center; color: #fff; font-size: 1.45rem; font-weight: 700; margin: 0 0 1.1rem; line-height: 1.2; }
body.toc-home .stats-title .brand-blue { color: var(--toc-blue); text-shadow: 0 1px 0 rgba(0,0,0,0.25); }
body.toc-home .stat-row { display: flex; justify-content: center; gap: 3rem; flex-wrap: wrap; width: 100%; }
body.toc-home .stat { text-align: center; }
body.toc-home .stat-number { display: block; font-size: 2.4rem; font-weight: 800; color: var(--toc-blue); letter-spacing: -0.02em; }
body.toc-home .stat-label { display: block; font-size: 0.95rem; opacity: 0.9; margin-top: 0.3rem; max-width: 16rem; margin-left: auto; margin-right: auto; }
body.toc-home .stat-source { width: 100%; text-align: center; font-size: 0.8rem; opacity: 0.75; margin: 1.2rem 0 0; }
body.toc-home #actions .join-lead { color: #fff; font-size: 1.35rem; margin-top: 0.8rem; }
body.toc-home #actions .join-lead a { color: #fff; text-decoration: underline; }
body.toc-home #actions .join-lead a:hover { color: var(--toc-blue); }
body.toc-home #actions { background: #003755; margin-top: var(--section-gap); padding: 2rem 1.5rem; }
body.toc-home #actions .mission-block { padding-top: 0; }
body.toc-home #actions .mission-block h2 { color: var(--brand-blue); }
body.toc-sub .page-hero, body.toc-sub .page-hero.space-hero { height: 34vh; min-height: 220px; }
body.toc-sub h2, body.toc-sub h3, body.toc-sub .page-hero h1 { font-family: "Montserrat", "Segoe UI", sans-serif; }
body.toc-sub .page-hero h1 { color: #fff; }
body.toc-sub .impact h2 { color: var(--toc-blue); }
body.toc-sub .five-ws { padding-top: 0.4rem; }
body.toc-sub .ws-grid, body.toc-sub .grid { gap: 1rem; padding-bottom: 1.2rem; }
body.toc-sub .w-card { padding: 1.2rem; background: #003755; color: #fff; border-radius: 10px; box-shadow: 0 8px 22px rgba(0,55,85,0.15); }
body.toc-sub .w-card h3 { color: #fff; font-size: 1.35rem; }
body.toc-sub .w-card p { color: #fff; font-size: 1.05rem; line-height: 1.6; }
body.toc-sub .card { padding: 1.2rem 1.2rem 1.6rem; overflow: visible; }
body.toc-sub .impact { max-width: 1200px; margin: 0 auto; padding: 0.6rem 1.5rem 1rem; }
body.toc-sub .impact-box { background: #003755; color: #fff; border-radius: 10px; padding: 1.6rem 1.8rem; box-shadow: 0 8px 22px rgba(0,55,85,0.15); }
body.toc-sub .impact-box p { margin-bottom: 0.6rem; font-size: 1rem; line-height: 1.6; }
body.toc-sub .impact-box p:last-child { margin-bottom: 0; }
body.toc-sub .btn { position: static; display: inline-block; margin-top: 1.1rem; }
body.toc-sub .btn, body.toc-home .btn { background: #009cde; color: #fff; border-radius: 4px; padding: 12px 22px; font-weight: 700; text-decoration: none; }
body.toc-sub .btn:hover, body.toc-home .btn:hover { background: #007bb8; }
body.toc-sub .cleanup-link { padding: 1.6rem 1.5rem 2.2rem; }
body.toc-sub .cleanup-link { margin-top: 0.5rem; }
body.toc-sub .cleanup-card h3 { margin: 0 0 0.4rem; }
body.toc-sub .cleanup-card p { margin: 0; }
body.toc-sub footer, body.toc-home footer { background: var(--toc-navy); padding: 1.4rem 1.5rem; }

/* Anchor targets: stop short of the fixed nav bar */
:target { scroll-margin-top: calc(var(--nav-height) + 1rem); }

html.dark body.toc-home, html.dark body.toc-sub { background: #0b1220; color: #e8eef5; }
html.dark nav.scrolled { background: rgba(11, 18, 32, 0.85); border-bottom-color: rgba(255,255,255,0.08); }
html.dark nav.scrolled .brand-word, html.dark nav.scrolled .nav-links a, html.dark nav.scrolled .nav-toggle span { color: #fff; background: transparent; border-color: rgba(255,255,255,0.7); }
html.dark .w-card, html.dark .card, html.dark .dropdown-menu { background: #152033; color: #e8eef5; }
html.dark .dropdown-menu a { color: #e8eef5 !important; }
html.dark body.toc-home .mission-block h2, html.dark body.toc-home .card-band h2, html.dark body.toc-sub h2, html.dark body.toc-sub h3 { color: #e8eef5; }
html.dark body.toc-home .card-band h3, html.dark .brand-blue { color: #4da3ff; }
html.dark body.toc-home .solution-list a { color: #4da3ff; }
html.dark body.toc-home #actions .join-lead { color: #fff; }
html.dark footer, html.dark .impact, html.dark .impact-bar, html.dark #actions { background: #071018; }

/* Organization brand block (Ocean Cleanup template) */
.org-brand { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.org-brand h1 { margin: 0; }
.org-logo { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255,255,255,0.85); box-shadow: 0 4px 18px rgba(0,0,0,0.35); }
.org-logo-large { width: 220px; height: 220px; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255,255,255,0.85); box-shadow: 0 4px 18px rgba(0,0,0,0.35); }

/* Donate-in-the-water banner (reusable across pages) */
.donate-banner { max-width: 1250px; margin: 0 auto; padding: 0 1.5rem 5rem; }
.donate-banner-card { background: linear-gradient(rgba(0,55,85,0.72), rgba(0,55,85,0.72)), url('assets/OceanBeach.JPG') center/cover no-repeat; border-radius: 18px; padding: 3.5rem 2rem; text-align: center; color: #fff; box-shadow: 0 10px 35px rgba(0,55,85,0.25); }
.donate-banner-card h2 { color: #fff; margin: 0 0 0.8rem; }
.donate-banner-card p { margin: 0 0 1.5rem; font-size: 1.1rem; opacity: 0.95; }
.donate-banner-card .btn { background: var(--toc-blue); }
.donate-banner-card .btn:hover { background: var(--brand-blue); }

/* Donate button: photo with Donate text centered (reusable across pages) */
.donate-btn { position: relative; display: block; width: min(200px, 52vw); margin: 0.8rem auto 0; border-radius: 50%; overflow: hidden; box-shadow: 0 10px 30px rgba(0,55,85,0.35); text-decoration: none; }
.donate-btn img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.donate-btn span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,55,85,0.45); color: #fff; font-family: "Montserrat", "Segoe UI", sans-serif; font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: 800; letter-spacing: 0.04em; text-shadow: 0 2px 10px rgba(0,0,0,0.55); }
.donate-btn:hover span { background: rgba(0,102,204,0.55); }

@media (max-width: 900px) {
  body.toc-home .card-band .grid { grid-template-columns: 1fr 1fr; }
  body.toc-home .hero-content { width: min(46rem, 88vw); padding-top: calc(18vh + 3.4rem); }
  body.toc-home .stats-title { font-size: 1.2rem; }
  body.toc-home .hero-kicker { font-size: 1.25rem; margin-bottom: 2rem; }
  body.toc-home .card-band h3 { font-size: 1.55rem; }
  .nav-toggle { display: block; }
  body.toc-home .nav-links, body.toc-sub .nav-links { display: none; position: absolute; top: var(--nav-height); left: 0; right: 0; background: rgba(255,255,255,0.97); backdrop-filter: saturate(180%) blur(12px); -webkit-backdrop-filter: saturate(180%) blur(12px); flex-direction: column; align-items: stretch; padding: 1rem 1.5rem 1.5rem; box-shadow: 0 8px 24px rgba(0,0,0,0.15); }
  body.toc-home nav.open .nav-links, body.toc-sub nav.open .nav-links { display: flex; }
  body.toc-home nav.open .nav-links a, body.toc-sub nav.open .nav-links a { color: var(--toc-navy); }
  body.toc-home .btn-nav { display: none; }
  body.toc-home .nav-dropdown .dropdown-menu { position: static; box-shadow: none; padding-left: 1rem; }
}
@media (max-width: 600px) {
  body.toc-home .card-band .grid { grid-template-columns: 1fr; }
  body.toc-home .stat-row { gap: 1.5rem; }
  .org-logo-large { width: 160px; height: 160px; }
}

/* ===== Page-specific: 404 (was inline <style>) ===== */
body.toc-sub.nf-page .page-hero { height: 50vh; min-height: 320px; }
.nf-wrap { max-width: 640px; margin: 0 auto; padding: 2rem 1.5rem 3rem; text-align: center; }
.nf-wrap h2 { color: #003755; margin-bottom: 0.8rem; }
.nf-wrap p { color: #334; font-size: 1.05rem; line-height: 1.6; margin-bottom: 1.6rem; }
.nf-wrap .btn { margin-top: 0; }
html.dark .nf-wrap h2 { color: #e8eef5; }
html.dark .nf-wrap p { color: #e8eef5; }

/* ===== Page-specific: ClearSpace (was inline <style>) ===== */
body.toc-sub.space-page .page-hero.space-hero {
    background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%), url('assets/Nebula.jpg') center/cover no-repeat;
}

/* ===== Page-specific: Orbital_Data_Centers (was inline <style>) ===== */
body.toc-sub.odc-page .page-hero.space-hero {
  background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%), url('assets/DataOrbitalCenters.jpg') center/cover no-repeat;
}
body.toc-sub.odc-page .donate-btn span {
  font-size: 1.05rem;
  letter-spacing: 0.01em;
  line-height: 1.2;
  text-align: center;
  padding: 0 1.6rem;
}

/* ===== Page-specific: Project-R (was inline <style>) ===== */
/* Upcoming-launches widget + category cards (Project R only) */
.launch-widget { max-width: 1200px; margin: 0 auto; padding: 1.6rem 1.5rem 0.4rem; }
.launch-widget .lw-box { background: linear-gradient(135deg, #003755 0%, #00253a 100%); color: #fff; border-radius: 10px; padding: 1.4rem 1.6rem; box-shadow: 0 8px 22px rgba(0,55,85,0.15); }
.launch-widget .lw-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.8rem; }
body.toc-sub .launch-widget h2 { margin: 0; color: #fff; font-family: "Montserrat", "Segoe UI", sans-serif; font-size: clamp(1.3rem, 2.6vw, 1.7rem); }
.launch-widget .lw-live { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.85); }
.launch-widget .lw-dot { width: 8px; height: 8px; border-radius: 50%; background: #00b894; box-shadow: 0 0 0 0 rgba(0,184,148,0.6); animation: lw-pulse 1.8s infinite; }
@keyframes lw-pulse { 0% { box-shadow: 0 0 0 0 rgba(0,184,148,0.6); } 70% { box-shadow: 0 0 0 8px rgba(0,184,148,0); } 100% { box-shadow: 0 0 0 0 rgba(0,184,148,0); } }
@media (prefers-reduced-motion: reduce) { .launch-widget .lw-dot { animation: none; } }
.launch-widget .lw-next { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: 10px; padding: 1rem 1.2rem; }
.launch-widget .lw-kicker { margin: 0 0 0.25rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #8fd3ff; }
.launch-widget .lw-mission { margin: 0 0 0.3rem; color: #fff; font-size: clamp(1.25rem, 3vw, 1.75rem); font-weight: 800; }
.launch-widget .lw-meta { margin: 0 0 0.2rem; color: rgba(255,255,255,0.9); font-size: 1rem; }
.launch-widget .lw-when { margin: 0; color: rgba(255,255,255,0.75); font-size: 0.92rem; }
.launch-widget .lw-countdown { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.8rem; }
.launch-widget .lw-unit { min-width: 64px; text-align: center; background: rgba(0,156,222,0.18); border: 1px solid rgba(0,156,222,0.45); border-radius: 8px; padding: 0.4rem 0.5rem; }
.launch-widget .lw-unit b { display: block; font-family: "Montserrat", "Segoe UI", sans-serif; font-size: 1.5rem; font-weight: 800; font-variant-numeric: tabular-nums; color: #fff; }
.launch-widget .lw-unit small { font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.75); }
.launch-widget .lw-list { list-style: none; margin: 0.9rem 0 0; padding: 0; }
.launch-widget .lw-list li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.2rem 1rem; padding: 0.55rem 0; border-top: 1px solid rgba(255,255,255,0.12); font-size: 0.95rem; }
.launch-widget .lw-list .lw-l-name { font-weight: 700; color: #fff; }
.launch-widget .lw-list .lw-l-sub { color: rgba(255,255,255,0.72); font-size: 0.85rem; display: block; font-weight: 500; }
.launch-widget .lw-list .lw-l-date { color: #8fd3ff; font-weight: 600; white-space: nowrap; }
.launch-widget .lw-note { margin: 0.9rem 0 0.2rem; font-size: 0.8rem; font-style: italic; color: rgba(255,255,255,0.7); }
.launch-widget .lw-more { margin: 0.4rem 0 0; }
.launch-widget .lw-more a { color: #8fd3ff; font-weight: 700; text-decoration: none; }
.launch-widget .lw-more a:hover, .launch-widget .lw-more a:focus { text-decoration: underline; }
.launch-widget .lw-credit { margin: 0.4rem 0 0; font-size: 0.72rem; color: rgba(255,255,255,0.5); }
.launch-widget .lw-loading, .launch-widget .lw-error { margin: 0; color: rgba(255,255,255,0.85); }
html.dark .launch-widget .lw-box { background: linear-gradient(135deg, #152033 0%, #0b1220 100%); }
body.pr-page #categories .cat-intro { text-align: center; max-width: 720px; margin: -0.4rem auto 1.2rem; font-size: 1.05rem; line-height: 1.6; }
body.pr-page #categories .grid { grid-template-columns: repeat(auto-fit, minmax(260px, 320px)); justify-content: center; }
body.pr-page #categories .card { padding: 0; overflow: hidden; }
html.dark body.pr-page #categories h2 { color: #e8eef5; }
html.dark body.pr-page #categories h3, html.dark body.pr-page #categories h3 a { color: #4da3ff; }
@media (max-width: 600px) { .launch-widget .lw-box { padding: 1.1rem; } .launch-widget .lw-unit { min-width: 56px; } }
/* Phones only: keep Project Rawane hub order (impact, Five W's, hub card groups, stats, launches). */
@media (max-width: 600px) {
  body.pr-page .pr-flow { display: flex; flex-direction: column; }
  body.pr-page .pr-flow > .impact { order: 1; }
  body.pr-page .pr-flow > .five-ws { order: 2; }
  body.pr-page .pr-flow > .hub-group { order: 3; }
  body.pr-page .pr-flow > .page-stats { order: 4; }
  body.pr-page .pr-flow > .launch-widget { order: 5; padding-bottom: 1.6rem; }
}

/* ===== Page-specific: Search (was inline <style>) ===== */
.search-wrap { max-width: 40rem; margin: 0 auto; padding: 0 1.5rem 3rem; }
#q { width: 100%; padding: 0.8rem 1rem; font: inherit; font-size: 1.1rem; border: 2px solid #009cde; border-radius: 8px; color: #003755; }
#q:focus { outline: 3px solid rgba(0,156,222,0.35); }
#results { list-style: none; margin: 1.2rem 0 0; padding: 0; }
#results li { margin: 0.6rem 0; }
#results a { color: #00b894; font-weight: 700; text-decoration: none; font-size: 1.05rem; }
#results a:hover { text-decoration: underline; }
#results .match { display: block; color: #003755; font-weight: 400; font-size: 0.9rem; margin-top: 0.15rem; }
#status { color: #003755; opacity: 0.7; margin-top: 0.8rem; }
html.dark #q { background: #152033; color: #e8eef5; border-color: #4da3ff; }
html.dark #results .match, html.dark #status { color: #e8eef5; }

/* ===== Page-specific: Space_Disposal (was inline <style>) ===== */
.impact-box h3.mission-title { color: #fff; font-size: clamp(1.3rem, 2.4vw, 1.7rem); line-height: 1.25; margin: 1.2rem 0 0.5rem; }
.impact-box a.inline-link { color: #8fd3ff; font-weight: 700; }
.impact-box p.source-link { margin-top: 1.2rem; padding-top: 0.9rem; border-top: 1px solid rgba(255,255,255,0.18); font-size: 0.9rem; text-align: right; }
.impact-box p.source-link a { color: rgba(255,255,255,0.82); font-family: "Montserrat", "Segoe UI", sans-serif; font-weight: 600; letter-spacing: 0.02em; text-decoration: none; border-bottom: 1px dotted rgba(255,255,255,0.5); }
.impact-box p.source-link a:hover, .impact-box p.source-link a:focus { color: #fff; border-bottom-style: solid; }

/* ===== Page-specific: Jupiter ===== */
body.toc-sub.jupiter-page .page-hero.space-hero {
  background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%), url('assets/Jupiter.jpg') center 40%/cover no-repeat;
}
body.toc-sub .w-card p.fact-source { margin-top: 0.7rem; font-size: 0.78rem; opacity: 0.8; }
body.toc-sub .w-card p.fact-source a, .impact-box p.fact-source a { color: #8fd3ff; }
.impact-box p.fact-source { font-size: 0.8rem; opacity: 0.85; }
.photo-credit { max-width: 1200px; margin: 0.4rem auto 0; padding: 0 1.5rem; font-size: 0.75rem; opacity: 0.7; text-align: right; }
.donate-banner .photo-credit { text-align: center; padding: 0; }
.donate-banner > p:first-child { text-align: center; font-size: 1.05rem; margin: 0 auto 0.4rem; max-width: 40rem; }

/* ===== Page-specific: Titan ===== */
body.toc-sub.titan-page .page-hero.space-hero {
  background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Titan.jpg') center 45%/cover no-repeat;
}

/* ===== Reusable mission status widget ([data-mission]) ===== */
.mission-widget { max-width: 1200px; margin: 1.5rem auto; padding: 1.25rem 1.5rem; border-radius: 14px; background: #0b2540; color: #e8f3ff; }
body.toc-sub .mission-widget h2, body.toc-sub .mission-widget h3 { color: #e8f3ff; margin: 0.9rem 0 0.4rem; }
body.toc-sub .mission-widget h2 { margin: 0 0 0.4rem; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.2; }
.mission-widget .mw-status { margin: 0 0 0.8rem; opacity: 0.9; }
.mission-widget .mw-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0.8rem; }
.mission-widget .mw-count { background: rgba(255,255,255,0.08); border-radius: 10px; padding: 0.7rem 0.9rem; }
.mission-widget .mw-count small { display: block; opacity: 0.8; font-size: 0.8rem; }
.mission-widget .mw-count b { font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.mission-widget ul { margin: 0; padding-left: 1.1rem; }
.mission-widget li { margin: 0.25rem 0; }
.mission-widget li.done { opacity: 0.65; }
.mission-widget .mw-date { font-size: 0.8rem; opacity: 0.75; }
.mission-widget a { color: #8fd3ff; }
.mission-widget .mw-note { margin: 0.9rem 0 0; font-size: 0.78rem; opacity: 0.8; }

/* ===== Page-specific: Planetary Defense hub and pages, MMX ===== */
body.toc-sub.pd-page .page-hero.space-hero, body.toc-sub.hera-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Hera.jpg') center/cover no-repeat; }
body.toc-sub.neos-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/NEO_Surveyor.jpg') center/cover no-repeat; }
body.toc-sub.webb-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Webb_Infrared.jpg') center/cover no-repeat; }
body.toc-sub.mmx-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Phobos.jpg') center 40%/cover no-repeat; }

/* ===== Stats engine (homepage overview + contextual .page-stats) ===== */
.site-overview { width: 100%; margin-bottom: 1.6rem; padding-bottom: 1.4rem; border-bottom: 1px solid rgba(255,255,255,0.18); }
.page-stats { max-width: 1200px; margin: 2rem auto; padding: 0 1.5rem; }
body.toc-sub .page-stats h2 { margin: 0 0 0.8rem; }
.page-stats .ps-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.page-stats .ps-card { background: #003755; color: #fff; border-radius: 12px; padding: 1rem 1.2rem; }
body.toc-sub .page-stats .ps-card h3 { color: #fff; margin: 0 0 0.4rem; font-size: 1.05rem; }
.page-stats .ps-card p { margin: 0.3rem 0; }
.page-stats .ps-card small { opacity: 0.8; }
.page-stats .ps-card a { color: #8fd3ff; }
.page-stats .ps-note { font-size: 0.78rem; opacity: 0.7; margin: 0.6rem 0 0; }
html.dark .page-stats .ps-card { background: #0d1b26; }
@media (max-width: 600px) { .page-stats { padding: 0 1rem; } }

/* ===== Space Weather & Earth Observation hubs ===== */
body.toc-sub.sw-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/SDO_Sun.jpg') center/cover no-repeat; }
body.toc-sub.eo-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/EPIC_Earth.jpg') center/cover no-repeat; }
.impact-box p.hub-label { display: inline-block; margin: 0 0 0.6rem; padding: 0.15rem 0.6rem; border-radius: 999px; background: rgba(143,211,255,0.18); font-size: 0.8rem; letter-spacing: 0.02em; }

/* ===== Horizon callout: potential solutions without confirmed contract/funding ===== */
.horizon-note { margin: 1rem 0; padding: 0.9rem 1.1rem; border-left: 4px solid #f5b942; border-radius: 10px; background: rgba(245,185,66,0.12); }
.horizon-note p { margin: 0.4rem 0 0; }
.horizon-badge { display: inline-block; padding: 0.15rem 0.65rem; border-radius: 999px; background: #f5b942; color: #1d1400; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.02em; }
body.toc-sub.drag-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.25) 0%, rgba(0,20,40,0.55) 100%), url('assets/Progress_Reentry.jpg') center/cover no-repeat; }
body.toc-sub.leolabs-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.25) 0%, rgba(0,20,40,0.55) 100%), url('assets/LEO_View.jpg') center/cover no-repeat; }

/* Project R dropdown (generated by build-stats.js) */
.nav-dropdown-wide .dropdown-menu { min-width: 300px; max-height: calc(100vh - var(--nav-height, 88px) - 16px); overflow-y: auto; }
.dropdown-menu .menu-overview { font-weight: 600; }
.dropdown-menu .menu-group > a.menu-hub { font-weight: 700; border-top: 1px solid rgba(0,0,0,0.08); }
.dropdown-menu .menu-group ul { list-style: none; margin: 0; padding: 0 0 0.3rem; }
.dropdown-menu .menu-group ul a { padding: 0.35rem 1rem 0.35rem 1.8rem; font-size: 0.92em; }
.menu-tag { display: inline-block; font-size: 0.68em; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; padding: 0.05rem 0.4rem; margin-left: 0.3rem; border-radius: 999px; background: #fff3cd; color: #7a5a00; vertical-align: middle; }
html.dark .menu-tag { background: #4a3b00; color: #ffe08a; }
[data-menu-item], #solution, #natural { scroll-margin-top: calc(var(--nav-height, 88px) + 16px); }
@media (max-width: 900px) {
  .nav-dropdown-wide .dropdown-menu { min-width: 0; max-height: 55vh; overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .dropdown-menu a { white-space: normal; overflow-wrap: anywhere; }
}
@media (max-width: 900px) { nav.open .nav-links { max-height: calc(100vh - var(--nav-height, 88px)); overflow-y: auto; } }
@media (max-width: 900px) { body.toc-home nav.open .nav-links, body.toc-sub nav.open .nav-links { background: rgba(255,255,255,0.98); backdrop-filter: none; -webkit-backdrop-filter: none; } html.dark body nav.open .nav-links { background: #0f1a2b; } }
/* Project Rawane mission list (breadcrumb-styled, middot separators) */
.breadcrumb.mission-list li + li::before { content: "·"; }
/* On-page jump nav (Titan): pill links matching .next-solutions */
.jump-nav { max-width: 1100px; margin: 0.5rem auto 1.5rem; padding: 0 1.5rem; }
.jump-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.jump-nav a { display: inline-block; padding: 0.5rem 1rem; border: 1px solid #009cde; border-radius: 999px; color: #009cde; font-weight: 600; text-decoration: none; font-size: 0.9rem; }
.jump-nav a:hover { background: #009cde; color: #fff; }
html.dark .jump-nav a { color: #8fd3ff; border-color: #8fd3ff; }
html.dark .jump-nav a:hover { background: #8fd3ff; color: #071018; }
#five-ws, #by-the-numbers { scroll-margin-top: calc(var(--nav-height, 88px) + 16px); }
/* Bottom link (one per page): donate / join / subtle "For further information" */
.bottom-link { text-align: center; padding-bottom: 3rem; }
.donate-btn.donate-btn-subtle { width: min(140px, 40vw); box-shadow: 0 6px 18px rgba(0,55,85,0.2); opacity: 0.9; }
.donate-btn.donate-btn-subtle span { background: rgba(0,55,85,0.6); font-size: 0.85rem; text-align: center; padding: 0 0.6rem; }
html.dark .donate-btn.donate-btn-subtle { box-shadow: 0 6px 18px rgba(0,0,0,0.5); }
/* Hub mission cards (card-band on hub pages) */
.card-band.hub-cards .grid { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.card-band.hub-cards h3, #categories .card h3 { font-size: 1.25rem; }
.card-band h3 a { color: inherit; text-decoration: none; }
.card-band .card-blurb { font-size: 0.9rem; padding: 0 1rem 1.2rem; margin: 0; text-align: center; }
html.dark .card-band .card-blurb { color: #c9d6e2; }
/* Project Rawane hub-group headings link to their hub */
.hub-group h2 a { color: inherit; text-decoration: none; }
.hub-group h2 a:hover { text-decoration: underline; }
/* Visually hidden (accessible) text */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
body.toc-sub h2.h2-center { text-align: center; }
/* Shared hub title hero: Nebula2 with the pr-hero dark overlay */
body.toc-sub .page-hero.hub-hero, body.toc-sub[class] .page-hero.hub-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%), url('assets/Nebula2.jpg') center/cover no-repeat; }
/* Project Rawane: Space Disposal man-made / natural split cards */
.card-band .grid.sd-split { grid-template-columns: repeat(2, minmax(0, 360px)); justify-content: center; margin-bottom: 1.8rem; }
@media (max-width: 600px) { .card-band .grid.sd-split { grid-template-columns: 1fr; } }
.anchor-target { display: block; scroll-margin-top: calc(var(--nav-height, 88px) + 16px); }
.card-band .grid.sd-natural { grid-template-columns: repeat(3, minmax(0, 300px)); justify-content: center; margin-bottom: 1.8rem; }
@media (max-width: 600px) { .card-band .grid.sd-natural { grid-template-columns: 1fr; } }
/* Project Rawane dedication line inside the title hero */
body.toc-sub .page-hero.pr-hero p.pr-dedication { max-width: 760px; margin: 0.6rem auto 0; text-align: center; font-size: 1.05rem; font-style: italic; line-height: 1.5; color: rgba(255,255,255,0.94); text-shadow: 0 1px 8px rgba(0,0,0,0.6); }
body.toc-sub .page-hero.pr-hero { height: auto; min-height: 340px; padding: calc(var(--nav-height, 88px) + 2.2rem) 0 2.4rem; box-sizing: border-box; }
@media (max-width: 600px) { body.toc-sub .page-hero.pr-hero p.pr-dedication { font-size: 0.95rem; } }
/* Project Rawane Space Disposal subsections */
.card-band .sd-subhead { text-align: center; font-size: 1.35rem; color: #e8eef5; margin: 1.6rem 0 1rem; padding: 0; }
/* Project Rawane: man-made grid as centered flex rows (lone 5th card centered) */
.card-band .grid.sd-mankind { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; }
.card-band .grid.sd-mankind > .card { flex: 0 0 calc((100% - 4.5rem) / 4); min-width: 0; height: auto; }
@media (max-width: 900px) { .card-band .grid.sd-mankind > .card { flex-basis: calc((100% - 1.5rem) / 2); } }
@media (max-width: 600px) { .card-band .grid.sd-mankind > .card { flex-basis: 100%; } }
/* Project Rawane: move mankind block up (halve gap above it) */
.card-band .grid.sd-split { margin-bottom: 0.9rem; }
.card-band .grid.sd-split + .sd-subhead { margin-top: 0.9rem; }
footer p { text-wrap: balance; margin: 0.35rem auto; }

/* Project Rawane: every section heading matches the Impact Statement h2 size (body.toc-sub h2: clamp(1.6rem, 3vw, 2.2rem)). One scoped block; replaces earlier stacked overrides. */
body.pr-page .impact > h2,
body.pr-page .five-ws > h2,
body.pr-page .hub-group > h2,
body.pr-page .card-band .sd-subhead.sd-subhead-lg,
body.pr-page .page-stats h2,
body.pr-page .launch-widget .lw-head h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.2; }
body.pr-page .card-band .sd-subhead.sd-subhead-lg { font-weight: 700; color: #e8eef5; }
.w-card[data-fact-origin] > h3 { text-align: center; text-transform: capitalize; }
/* Move Space Disposal hub group up: halve gap above it (after Five W's) */
body.pr-page #group-space-disposal { padding-top: 0; }
/* Even 41px gaps between Project Rawane blocks (content bottom -> next heading text) */
body.pr-page .card-band .grid.sd-split + .sd-subhead { margin-top: 22.4px; }
body.pr-page .card-band .grid.sd-mankind + .sd-subhead { margin-top: 22.4px; }
body.pr-page #group-space-disposal .grid.sd-natural { margin-bottom: 0; }
body.pr-page #group-planetary-defense, body.pr-page #group-space-weather { padding-top: 19.6px; }
body.pr-page .page-stats { margin-top: 42px; margin-bottom: 0; }
body.pr-page .pr-flow > .launch-widget, body.pr-page .launch-widget { padding-top: 19.6px; }
@media (max-width: 600px) { body.pr-page .pr-flow > .launch-widget, body.pr-page .launch-widget { padding-top: 24.4px; } }
/* Man-made/Natural split cards: same 1.5rem gap as mankind grid, centered equal pair */
body.pr-page .card-band .grid.sd-split { column-gap: 1.5rem; row-gap: 1.5rem; }
.w-card .fact-img { display: block; width: 100%; height: 220px; object-fit: cover; border-radius: 8px; margin: 0.4rem 0 0.3rem; } .w-card .fact-credit, body.toc-sub .w-card p.fact-credit { font-size: clamp(0.55rem, 1.6vw, 0.62rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: 0.85; margin: 0 0 0.6rem; text-align: center; }

/* Amazing Facts hero: composite Earth/space/Neptune banner with pr-hero overlay + subtle Ken Burns */
body.toc-sub .page-hero.pr-hero.af-hero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%); }
body.toc-sub .page-hero.af-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url('assets/Amazing_Facts_Banner.jpg') center/cover no-repeat; transform-origin: 50% 50%; animation: af-kenburns 28s ease-in-out infinite alternate; will-change: transform; }
body.toc-sub .page-hero.af-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.55) 100%); }
body.toc-sub .page-hero.af-hero .page-hero-content { position: relative; z-index: 1; }
body.toc-sub .page-hero.af-hero p.af-hero-credit { margin-top: 0.8rem; font-size: 0.75rem; color: rgba(255,255,255,0.75); text-shadow: 0 1px 6px rgba(0,0,0,0.7); }
@keyframes af-kenburns { from { transform: scale(1) translate(0, 0); } to { transform: scale(1.08) translate(-1.5%, -1%); } }
@media (prefers-reduced-motion: reduce) { body.toc-sub .page-hero.af-hero::before { animation: none; } }

.impact-bar .af-debris { color: #e8eef5; text-align: center; max-width: 920px; font-size: 1.1rem; line-height: 1.5; margin: 1.4rem auto 0; }
.impact-bar .af-debris a { color: #8fd3ff; }
/* Amazing Facts: Be Part of the Fix heading matches section h2 size (stats heading) */
body.toc-sub #actions .mission-block h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
/* Project Rawane: one size per heading level (h3 = 20px card titles) */
body.pr-page .five-ws h3, body.toc-sub.pr-page .page-stats .ps-card h3, body.pr-page .launch-widget h3 { font-size: 1.25rem; }
/* Amazing Facts captions: never clip on very narrow phones; wrap instead of ellipsis */
@media (max-width: 380px) { .w-card .fact-credit, body.toc-sub .w-card p.fact-credit { white-space: normal; overflow: visible; } }
/* Amazing Facts banner: pause/play for the Ken Burns motion */
body.toc-sub .page-hero.af-hero.af-paused::before { animation-play-state: paused; }
.af-motion-toggle { position: absolute; right: 0.75rem; bottom: 0.75rem; z-index: 2; width: 2rem; height: 2rem; padding: 0; border: 1px solid rgba(255,255,255,0.5); border-radius: 50%; background: rgba(0,20,40,0.55); color: #fff; font-size: 0.7rem; line-height: 1; cursor: pointer; opacity: 0.75; }
.af-motion-toggle:hover, .af-motion-toggle:focus-visible { opacity: 1; }
.af-motion-toggle:focus-visible { outline: 2px solid #8fd3ff; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .af-motion-toggle { display: none; } }
/* Amazing Facts phone: room for the pause button below the banner credit */
@media (max-width: 600px) { body.toc-sub .page-hero.af-hero .page-hero-content { padding-bottom: 2.6rem; } body.toc-sub .page-hero.af-hero p.af-hero-credit { font-size: 0.65rem; } }
body.toc-sub.artemis-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/ArtemisII_Launch_SLS.jpg') center/cover no-repeat; }
body.artemis-page .launch-widget .lw-head h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.2; }
body.toc-sub.imap-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/IMAP_Spacecraft_KSC.jpg') center/cover no-repeat; }
body.toc-sub.goes-19-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/GOES19_GOESU_KSC.jpg') center/cover no-repeat; }
body.toc-sub.punch-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/PUNCH_Mission.jpg') center/cover no-repeat; }
body.toc-sub.tracers-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/TRACERS_Launch.jpg') center/cover no-repeat; }
body.toc-sub.carruthers-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Carruthers_SWFO_KSC.jpg') center/cover no-repeat; }
body.toc-sub.solar-orbiter-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Solar_Orbiter_Astrotech.jpg') center/cover no-repeat; }
body.toc-sub.us-deorbit-vehicle-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/ISS_Flyaround_2021.jpg') center/cover no-repeat; }
body.toc-sub.aeolus-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/ATV1_Departure_ISS.jpg') center/cover no-repeat; }
body.toc-sub.lignosat-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/LignoSat_Wood_Panels.jpg') center/cover no-repeat; }
body.toc-sub.europa-clipper-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Europa_Clipper_Jupiter.jpg') center/cover no-repeat; }
body.toc-sub.juice-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Juice_RIME_Radar.jpg') center/cover no-repeat; }
body.toc-sub.spacelogistics-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Satellite_Servicing_Arm_GSFC.jpg') center/cover no-repeat; }
body.toc-sub.starfish-otter-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Transporter18_Launch.jpg') center/cover no-repeat; }
body.toc-sub.swot-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/SWOT_Orbit_Illustration.jpg') center/cover no-repeat; }
body.toc-sub.pace-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/PACE_Spacecraft_KSC.jpg') center/cover no-repeat; }
body.toc-sub.sentinel-6b-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Sentinel6B_Launch.jpg') center/cover no-repeat; }
body.toc-sub.gosat-gw-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/EMIT_Methane_Fingerprint.jpg') center/cover no-repeat; }
body.toc-sub.earthcare-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Clouds_Limb_ISS.jpg') center/cover no-repeat; }
body.toc-sub.alos-4-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Rondonia_Deforestation_STS46.jpg') center/cover no-repeat; }
body.toc-sub.grace-fo-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/GRACE_FO_Orbit.jpg') center/cover no-repeat; }
body.toc-sub.icesat-2-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/ICESat2_Launch.jpg') center/cover no-repeat; }
body.toc-sub.sentinel-1-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Sentinel1_Ground_Motion.jpg') center/cover no-repeat; }
body.toc-sub.plato-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Plato_Exoplanets.jpg') center/cover no-repeat; }
body.toc-sub.exomars-rosalind-franklin-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/ExoMars_Drill_Curiosity.jpg') center/cover no-repeat; }
body.toc-sub.sentinel-2c-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Biomass_Forest_MatoGrosso.jpg') center/cover no-repeat; }
body.toc-sub.metop-sg-a1-sentinel-5a-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Clouds_Limb_ISS.jpg') center/cover no-repeat; }
body.toc-sub.landsat-9-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Landsat9_Launch.jpg') center/cover no-repeat; }
body.toc-sub.iss-water-recovery-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/ISS_Water_Recovery.jpg') center/cover no-repeat; }
body.toc-sub.saharan-dust-amazon-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Saharan_Dust_Amazon.jpg') center/cover no-repeat; }
body.toc-sub.amazon-rainy-season-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Amazon_Clouds_ISS.jpg') center/cover no-repeat; }
body.toc-sub.moon-steadies-earth-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Moon_Crossing_Earth.jpg') center/cover no-repeat; }
body.toc-sub.beavers-river-engineers-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Klamath_River.jpg') center/cover no-repeat; }
body.toc-sub.salt-marshes-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Salt_Marsh_KSC.jpg') center/cover no-repeat; }
body.toc-sub.ocean-voyages-institute-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/North_Pacific_ISS.jpg') center/cover no-repeat; }
body.toc-sub.healthy-seas-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Mediterranean_ISS.jpg') center/cover no-repeat; }
body.toc-sub.mote-marine-laboratory-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Florida_Keys_PIA03890.jpg') center/cover no-repeat; }
body.toc-sub.trees-for-the-future-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Kilimanjaro_STS72.jpg') center/cover no-repeat; }
body.toc-sub.seabin-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Sydney_ASTER.jpg') center/cover no-repeat; }
body.toc-sub.flex-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Global_Plant_Fluorescence.jpg') center/cover no-repeat; }
body.toc-sub.eos-06-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Oceansat_Winds_Irene.jpg') center/cover no-repeat; }
body.toc-sub.phytoplankton-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Phytoplankton_Bloom_Iceland.jpg') center/cover no-repeat; }
body.toc-sub.coral-restoration-foundation-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Florida_Keys_PIA03890.jpg') center/cover no-repeat; }
body.toc-sub.kelp-forests-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Kerguelen_Kelp_ISS.jpg') center/cover no-repeat; }
body.toc-sub.seagrass-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Seagrass_Planting_KSC.jpg') center/cover no-repeat; }
body.toc-sub.billion-oyster-project-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/NYC_Hudson_Harbor.jpg') center/cover no-repeat; }
body.toc-sub.mr-trash-wheel-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Baltimore_DC_Skylab.jpg') center/cover no-repeat; }
body.toc-sub.mangroves-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Mangrove_Delta_ISS.jpg') center/cover no-repeat; }
body.toc-sub.osiris-apex-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/OSIRIS_APEX.jpg') center/cover no-repeat; }
body.toc-sub.ramses-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Ramses_Switch_On.jpg') center/cover no-repeat; }
body.toc-sub.escapade-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/ESCAPADE_Launch_NG2.jpg') center/cover no-repeat; }
/* Solutions dropdown: every hub + solution page (generated by build-stats.js) */
.dropdown-menu.solutions-menu .menu-col > ul { list-style: none; margin: 0; padding: 0; }
@media (min-width: 901px) { .nav-container { position: relative; } .nav-links > .nav-dropdown { position: static; } .dropdown-menu.solutions-menu { left: auto; right: 0; width: min(96vw, 1040px); max-height: calc(100vh - 104px); overflow-y: auto; overscroll-behavior: contain; padding: 0.3rem 0; } .nav-dropdown.open .dropdown-menu.solutions-menu { display: flex; } .dropdown-menu.solutions-menu .menu-col { flex: 1 1 0; min-width: 0; } .dropdown-menu.solutions-menu .menu-group > a.menu-hub { padding-top: 0.4rem; padding-bottom: 0.2rem; } .dropdown-menu.solutions-menu .menu-group ul a { padding-top: 0.22rem; padding-bottom: 0.22rem; line-height: 1.25; } }
@media (max-width: 900px) { .dropdown-menu.solutions-menu { max-height: 60vh; overflow-y: auto; } }
.doom-pulse { display: inline-block; animation: doomPulse 1.8s ease-in-out infinite; }
@keyframes doomPulse { 0%,100% { transform: scale(1); text-shadow: 0 0 0 rgba(255,107,107,0); } 50% { transform: scale(1.08); text-shadow: 0 0 14px rgba(255,107,107,0.85); } }
@media (prefers-reduced-motion: reduce) { .doom-pulse { animation: none; } }
body.toc-sub.nisar-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/NISAR_Orbit.jpg') center/cover no-repeat; }
body.toc-sub.biomass-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Biomass_Forest_MatoGrosso.jpg') center/cover no-repeat; }
body.toc-sub.tanager-1-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Tanager1_Methane_Plume.jpg') center/cover no-repeat; }
body.toc-sub.dscovr-epic-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/EPIC_Earth.jpg') center/cover no-repeat; }

/* ---- i18n: language switcher (EN · FR · ES · العربية) ---- */
.nav-links li.lang-switch { display: flex; align-items: center; gap: 0.15rem; white-space: nowrap; font-size: 0.95rem; }
.nav-links li.lang-switch a { font-size: 0.95rem; opacity: 0.8; padding: 0.15rem 0.2rem; }
.nav-links li.lang-switch a[aria-current="true"] { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.nav-links li.lang-switch span { opacity: 0.6; }
@media (max-width: 900px) { .nav-links li.lang-switch { padding-top: 0.6rem; } }

/* ---- i18n: right-to-left (Arabic /ar/ pages), scoped to [dir=rtl] ---- */
[dir="rtl"] body { text-align: right; font-family: Montserrat, "Noto Sans Arabic", "Segoe UI", Tahoma, system-ui, sans-serif; line-height: 1.75; }
[dir="rtl"] .nav-links .dropdown-menu { text-align: right; }
@media (max-width: 900px) { [dir="rtl"] .nav-links .dropdown-menu { left: auto; right: 0; } }
@media (min-width: 901px) { [dir="rtl"] .dropdown-menu.solutions-menu { right: auto; left: 0; } }
[dir="rtl"] ul, [dir="rtl"] ol { padding-right: 1.25rem; padding-left: 0; }
[dir="rtl"] .nav-links, [dir="rtl"] .dropdown-menu, [dir="rtl"] .dropdown-menu ul, [dir="rtl"] .next-solutions ul { padding-right: 0; }
[dir="rtl"] .page-hero-content, [dir="rtl"] .hub-hero h1, [dir="rtl"] .pr-hero { text-align: center; }
[dir="rtl"] .impact-box, [dir="rtl"] .w-card, [dir="rtl"] .card, [dir="rtl"] .card-blurb, [dir="rtl"] .fact-source, [dir="rtl"] footer p { text-align: right; }
[dir="rtl"] .skip-link { left: auto; right: 0; top: -9999px; }
[dir="rtl"] .skip-link:focus { left: auto; right: 1rem; top: 1rem; }
[dir="rtl"] .brand-word, [dir="rtl"] .nav-links a { letter-spacing: 0; white-space: nowrap; }
.mission-block .criteria-link { text-align: center; margin: 0.8rem 0 0; font-size: 1.05rem; font-weight: 600; }
.mission-block .criteria-link a { color: #8fd3ff; text-decoration: underline; text-underline-offset: 3px; }
.mission-block .criteria-link a:hover { color: #4da3ff; }
.card .photo-credit, .w-card .photo-credit { padding: 0; margin: 0.3rem 0 0; }

/* Help This Work: Donate / Join the work buttons (2026-10-11) */
.help-actions { max-width: 900px; margin: 0 auto; padding: 0 1.5rem 3.5rem; text-align: center; }
.help-actions p { margin: 0.4rem auto 0; max-width: 640px; }
.help-btns { display: flex; flex-wrap: wrap; gap: 0.9rem; justify-content: center; margin-top: 0.4rem; }
body.toc-sub .help-btns .btn { margin-top: 0.7rem; min-width: 150px; text-align: center; }
html.dark body.toc-sub .help-btn-join, body.toc-sub .help-btn-join { background: var(--solution-green); color: #002b1f; }
html.dark body.toc-sub .help-btn-join:hover, body.toc-sub .help-btn-join:hover { background: #00d1a8; }
.help-actions .help-more { margin-top: 1rem; font-size: 0.95rem; }
.help-table { width: 100%; border-collapse: collapse; margin: 1rem 0 2rem; }
.help-table th, .help-table td { padding: 0.7rem 0.6rem; border: 0; text-decoration: none; text-align: start; vertical-align: top; }
/* No borders/underlines on non-link text (user rule 2026-10-12); rows separated by zebra shading */
.help-table tbody tr:nth-child(odd) { background: rgba(255,255,255,0.05); }
.help-table thead th { background: rgba(255,255,255,0.08); }
.help-table td .btn { margin: 0.2rem 0.4rem 0.2rem 0 !important; padding: 8px 14px; font-size: 0.92rem; }
@media (max-width: 640px) { .help-table thead { display: none; } .help-table tr, .help-table td { display: block; } .help-table td { border: 0; padding: 0.3rem 0; } .help-table tr { border: 0; padding: 0.8rem 0.6rem; border-radius: 6px; } }

/* Videos, Planet Scoreboard, Solution of the Week (2026-10-11) */
.sp-video { max-width: 960px; margin: 2.2rem auto 0; padding: 0 1.5rem; text-align: center; }
.sp-video-fig { margin: 1rem 0 0; }
.sp-video video { display: block; width: 100%; height: auto; border-radius: 10px; background: #000; box-shadow: 0 10px 28px rgba(0,0,0,0.45); }
.sp-video .photo-credit { margin-top: 0.5rem; }
.sp-video-vertical video { max-width: 380px; margin: 0 auto; border-radius: 16px; }
.sp-video-vertical figcaption { max-width: 380px; margin: 0.75rem auto 0; }
.sp-video-cap { display: block; font-size: 0.98rem; line-height: 1.45; }
.sp-video-vertical .photo-credit { display: block; }
/* Oct 18: homepage promo (below the locked hero). 16:9 master on desktop/iPad/landscape, 9:16 master on narrow portrait phones */
.sp-promo { max-width: 1100px; margin: 2.5rem auto 0; }
.sp-promo h2 { margin: 0 0 0.4rem; }
.sp-promo .promo-tall { display: none; }
.sp-promo figcaption { max-width: 820px; margin: 0.75rem auto 0; }
.sp-promo .photo-credit { display: inline-block; margin: 0.35rem 0.4rem 0; }
.sp-promo .promo-x { margin: 0.9rem 0 0; font-weight: 600; }
/* Oct 18 homepage audit: World Map button was left-aligned (its centring rule lived only in map.css); "Be Part of the Fix" title sat on the panel's top edge (padding-top:0 override) with the bubble straddling the border */
.wm-cta { margin: 1rem 0; text-align: center; }
body.toc-home #actions .mission-block, body #actions .mission-block { padding-top: 2rem; }
body #actions .mission-block::before { top: 12px; }
.sp-promo-about { margin-top: 2rem; }
@media (orientation: portrait) and (max-width: 700px) {
  .sp-promo .promo-wide { display: none; }
  .sp-promo .promo-tall { display: block; width: 100%; max-width: min(380px, calc(80vh * 0.5625)); margin: 0 auto; border-radius: 16px; }
}
/* Oct 18: promo v4 is one 9:16 master: a centred tall player at every width, capped by viewport height so poster + caption fit on iPad landscape */
.sp-promo .promo-v4 { display: block; width: 100%; max-width: min(400px, calc(70vh * 0.5625)); margin: 0 auto; border-radius: 16px; }
.sp-promo .promo-v4 ~ figcaption { max-width: 600px; }
.sp-promo .promo-v4 ~ figcaption .photo-credit { text-align: center; }
.scoreboard { max-width: 1100px; margin: var(--section-gap, 2.6rem) auto 0; padding: 0 1.5rem; text-align: center; }
.sb-intro { margin: 0.4rem auto 1.4rem; max-width: 640px; opacity: 0.9; }
.sb-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; }
.sb-item { background: #0f1b26; border-radius: 10px; padding: 1.4rem 1rem 1rem; box-shadow: 0 10px 28px rgba(0,0,0,0.45); display: flex; flex-direction: column; }
.sb-link { color: inherit; text-decoration: none; flex: 1; }
.sb-link:hover .sb-label, .sb-link:focus-visible .sb-label { text-decoration: underline; }
.sb-num { display: block; font-size: 2rem; font-weight: 800; color: #009cde; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.sb-label { display: block; margin-top: 0.4rem; font-size: 0.95rem; color: #e8eef5; }
.sb-src { margin: 0.8rem 0 0; font-size: 0.78rem; opacity: 0.8; }
@media (max-width: 900px) { .sb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .sb-grid { grid-template-columns: 1fr; } .sb-num { font-size: 1.8rem; } }
.sotw { max-width: 1100px; margin: 2rem auto 0; padding: 0 1.5rem; }
.sotw-card { display: grid; grid-template-columns: 1.2fr 1fr; background: #0f1b26; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 28px rgba(0,0,0,0.45); }
.sotw-img img { display: block; width: 100%; height: 100%; object-fit: cover; min-height: 220px; }
.sotw-body { padding: 1.6rem 1.6rem 1.2rem; text-align: start; }
.sotw-kicker { margin: 0; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--solution-green, #00b894); }
.sotw-body h2 { margin: 0.3rem 0 0.6rem; text-align: start; }
.sotw-body h2 a { color: inherit; }
.sotw-blurb { margin: 0; color: #e8eef5; }
.sotw-actions { margin: 1rem 0 0.4rem; }
@media (max-width: 760px) { .sotw-card { grid-template-columns: 1fr; } .sotw-img img { min-height: 0; aspect-ratio: 16 / 9; } }
.sb-num { direction: ltr; unicode-bidi: isolate; }
/* Batch 2: hero video, solution badges, press kit, calendar (2026-10-11) */
.hero.has-video { overflow: hidden; isolation: isolate; }
.hero-media { position: absolute; inset: 0; z-index: -1; background: #00141f url('assets/videos/hero-loop.jpg') center/cover no-repeat; }
.hero-video { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,20,40,0.55) 0%, rgba(0,20,40,0.45) 45%, rgba(0,20,40,0.7) 100%); }
.hero-video-credit { position: absolute; right: 0.8rem; bottom: 0.6rem; margin: 0; font-size: 0.72rem; color: rgba(255,255,255,0.7); text-shadow: 0 1px 4px rgba(0,0,0,0.6); }
@media (prefers-reduced-motion: reduce) { .hero-video { display: none; } }
.sol-badges { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.7rem 0 0.2rem; }
.status-badge, .hub-tag { display: inline-block; padding: 0.15rem 0.65rem; border-radius: 999px; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.02em; line-height: 1.5; }
.status-active { background: #2e9d5b; color: #fff; }
.status-horizon { background: #f5b942; color: #1d1400; }
.hub-tag { background: rgba(0,156,222,0.14); color: inherit; border: 1px solid rgba(0,156,222,0.45); font-weight: 600; }
.press-logos { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: flex-end; }
.press-logo { margin: 0; text-align: center; }
.press-logo img { max-height: 160px; width: auto; background: #fff; padding: 0.6rem; border-radius: 10px; }
.press-logo figcaption { margin-top: 0.4rem; font-size: 0.9rem; }
.press-list li { margin: 0.4rem 0; }
.cal-add { margin: -0.5rem auto 1.4rem; max-width: 1200px; box-sizing: border-box; padding: 0 1.5rem; display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; }
.cal-btn { padding: 8px 16px; font-size: 0.95rem; }
.cal-note { font-size: 0.85rem; opacity: 0.85; }

/* Batch 3: Myth vs Fact, Mission Log, hub quizzes */
.myths, .mission-log { max-width: 60rem; margin: 0 auto; padding: 0 1.25rem 1rem; display: grid; gap: 1.2rem; }
.myth-card, .log-entry { background: #0b2540; color: #e8f3ff; border-radius: 14px; padding: 1.25rem 1.5rem; }
.myth-card h2, .log-entry h2 { margin: 0.2rem 0 0.8rem; font-size: 1.3rem; text-align: left; }
.myth-tag { display: inline-block; margin: 0; padding: 2px 10px; border-radius: 999px; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.myth-tag-myth { background: #5a2a2a; color: #ffd9d9; }
.myth-tag-fact { background: #1f5a3a; color: #d6ffe6; }
.myth-honest { opacity: 0.9; font-style: italic; }
.myth-source, .log-meta { font-size: 0.9rem; }
.myth-card a, .log-entry a { color: #8fd3ff; }
.myth-related p { margin: 0.6rem 0 0.2rem; font-weight: 600; font-size: 0.9rem; }
.myth-related ul, .log-facts ul { margin: 0; padding-left: 1.1rem; }
.log-meta { opacity: 0.8; margin: 0; }
.log-facts { background: rgba(255,255,255,0.06); border-radius: 10px; padding: 0.7rem 1rem; margin-top: 0.8rem; }
.log-facts h3 { margin: 0 0 0.4rem; font-size: 1rem; }
.quiz { max-width: 60rem; margin: 1.5rem auto; padding: 1.25rem 1.5rem; border-radius: 14px; background: #0b2540; color: #e8f3ff; box-sizing: border-box; }
@media (max-width: 62rem) { .quiz { margin-left: 1rem; margin-right: 1rem; } }
.quiz h2 { margin-top: 0; }
.quiz-q { border: 1px solid rgba(255,255,255,0.15); border-radius: 10px; margin: 0 0 1rem; padding: 0.8rem 1rem; min-width: 0; }
.quiz-q legend { font-weight: 600; padding: 0 0.3rem; }
.quiz-opts { list-style: none; margin: 0.5rem 0 0; padding: 0; display: grid; gap: 0.5rem; }
.quiz-opt { width: 100%; text-align: start; font: inherit; color: #e8f3ff; background: rgba(255,255,255,0.08); border: 2px solid transparent; border-radius: 8px; padding: 0.6rem 0.8rem; cursor: pointer; min-height: 44px; }
.quiz-opt:hover { background: rgba(255,255,255,0.14); }
.quiz-opt:focus-visible { outline: 3px solid #8fd3ff; outline-offset: 2px; }
.quiz-q.answered .quiz-opt { cursor: default; }
.quiz-opt.is-right { border-color: #4fd18b; background: rgba(79,209,139,0.18); }
.quiz-opt.is-right::after { content: " ✓"; }
.quiz-opt.is-wrong { border-color: #ff8a8a; background: rgba(255,138,138,0.16); }
.quiz-opt.is-wrong::after { content: " ✗"; }
.quiz-fb { margin-top: 0.6rem; }
.quiz-fb p { margin: 0.3rem 0; }
.quiz a { color: #8fd3ff; }
.quiz-score { font-size: 1.2rem; font-weight: 700; }
.quiz-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.quiz .btn { cursor: pointer; border: 0; font: inherit; }
[dir="rtl"] .myth-card h2, [dir="rtl"] .log-entry h2 { text-align: right; }
/* Batch 4: Do One Thing Today, Community Wall, Find a Cleanup */
.dot { max-width: 1100px; margin: var(--section-gap, 2.6rem) auto 0; padding: 0 1.5rem; }
.dot-card { background: linear-gradient(135deg, #003755, #00597f); color: #fff; border-radius: 10px; padding: 1.6rem 1.6rem 1.2rem; box-shadow: 0 10px 28px rgba(0,0,0,0.25); text-align: start; }
.dot-kicker { margin: 0; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.8rem; font-weight: 700; color: #7fd8ff; }
.dot-card h2 { margin: 0.2rem 0 0.8rem; color: #fff; font-size: clamp(1.5rem, 3vw, 2.1rem); }
.dot-list { list-style: none; margin: 0; padding: 0; }
.dot-text { font-size: 1.15rem; line-height: 1.5; margin: 0 0 0.9rem; }
.dot-link .btn { display: inline-block; min-height: 44px; }
.dot-foot { margin: 1rem 0 0; font-size: 0.92rem; opacity: 0.92; }
.dot-foot a { color: #fff; text-decoration: underline; }
.dot-card a:focus-visible { outline: 3px solid #f5b942; outline-offset: 2px; }
.comm-rules { max-width: 900px; margin: 0 auto; padding-inline-start: 1.3rem; line-height: 1.6; text-align: start; }
.comm-rules li { margin-bottom: 0.5rem; }
.comm-addr { font-size: 0.95rem; }
.comm-wall { max-width: 1100px; margin: var(--section-gap, 2.6rem) auto; padding: 0 1.5rem; text-align: center; }
.comm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; text-align: start; }
.comm-item { margin: 0; background: #0f1b26; color: #fff; border-radius: 10px; overflow: hidden; }
.comm-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.comm-item figcaption { padding: 0.7rem 0.9rem; display: grid; gap: 0.25rem; font-size: 0.92rem; }
.comm-empty { border: 2px dashed #9cc9e0; border-radius: 10px; padding: 2rem 1.2rem; }
.comm-empty-icon { font-size: 2.4rem; margin: 0; }
.comm-empty h3 { margin: 0.3rem 0; color: var(--brand-blue); }
.fc-regions { max-width: 1100px; margin: var(--section-gap, 2.6rem) auto 0; padding: 0 1.5rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1rem; }
.fc-region { background: #f3f8fb; border-radius: 10px; padding: 1.1rem 1.2rem; text-align: start; }
.fc-region h3 { margin: 0 0 0.6rem; color: var(--toc-navy); }
.fc-list { list-style: none; margin: 0; padding: 0; }
.fc-list li { margin-bottom: 0.8rem; }
.fc-list a { font-weight: 700; color: #00699a; }
.fc-desc { display: block; font-size: 0.92rem; color: #33515f; }
/* SOTW fix: button sat on the credit line (inline .btn padding overflowed its <p>); stack the card on tablets too */
.sotw-actions { margin: 1.1rem 0 0.8rem; }
.sotw-actions .btn { display: inline-block; line-height: 1.3; }
.sotw-body .photo-credit { position: static; margin: 0.6rem 0 0; padding: 0; text-align: start; }
.dot-link .btn { line-height: 1.3; }
@media (max-width: 1024px) { .sotw-card { grid-template-columns: 1fr; } .sotw-img img { min-height: 0; aspect-ratio: 16 / 9; } }
/* 'New' callout (Project Rawane; assets/data/new-callout.json) */
.new-callout { max-width: 1100px; margin: 1.2rem auto 0; padding: 0 1.5rem; }
.new-callout a { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 0.9rem; padding: 0.9rem 1.1rem; border-radius: 10px; background: #0f1b26; border: 2px solid var(--brand-blue); color: #fff; text-decoration: none; box-shadow: 0 8px 22px rgba(0,0,0,0.35); }
.new-callout a:hover, .new-callout a:focus-visible { border-color: #f5b942; }
.new-callout a:focus-visible { outline: 3px solid #f5b942; outline-offset: 2px; }
.new-badge { background: #f5b942; color: #0f1b26; font-weight: 800; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.25rem 0.6rem; border-radius: 999px; }
.new-text { flex: 1 1 260px; font-weight: 600; line-height: 1.4; }
.new-date { display: block; font-weight: 400; font-size: 0.82rem; opacity: 0.75; margin-top: 0.15rem; }
.new-cta { font-weight: 700; color: #7fd8ff; white-space: nowrap; }
.fc-regions .fc-region h3 { color: #003755 !important; }
.help-pagelinks { display: flex; flex-wrap: wrap; gap: 0.7rem; justify-content: center; margin: 1rem auto 0; padding: 0 1rem; }
.help-pagelinks .btn { margin: 0 !important; min-width: 120px; text-align: center; }
/* Nancy Grace Roman showcase (2026-10-12) */
body.toc-sub.roman-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Roman_Launch_FH.jpg') center 30%/cover no-repeat; }
.roman-jump { max-width: 1200px; margin: 1rem auto 0; padding: 0 1.5rem; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.roman-jump a { padding: .45rem .9rem; border: 1px solid rgba(120,170,220,.45); border-radius: 999px; color: #cfe3f5; text-decoration: none; font-size: .9rem; min-height: 44px; display: inline-flex; align-items: center; }
.roman-jump a:hover, .roman-jump a:focus-visible { background: rgba(63,169,245,.18); }
.roman-sec, .roman-facts { max-width: 1200px; margin: 2.5rem auto; padding: 0 1.5rem; }
.roman-sec h2 { text-align: center; }
.roman-table-wrap { overflow-x: auto; }
.roman-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.roman-table th, .roman-table td { padding: .7rem .8rem; border-bottom: 1px solid rgba(120,170,220,.25); text-align: left; vertical-align: top; }
.roman-table thead th { color: #ffc94d; font-size: 1.05rem; }
.roman-table tbody th { color: #cfe3f5; white-space: nowrap; }
.roman-table td:nth-child(2) { background: rgba(63,169,245,.08); }
.roman-live, .roman-countdown { text-align: center; background: rgba(10,30,55,.6); border: 1px solid rgba(120,170,220,.3); border-radius: 14px; padding: 1.5rem; }
.roman-big { font-size: clamp(2rem, 6vw, 3.2rem); font-weight: 800; color: #ffc94d; margin: .2rem 0; line-height: 1.1; }
.roman-sub, .roman-note { opacity: .85; }
.roman-note { font-size: .88rem; }
.roman-img-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; align-items: start; }
.roman-img-grid figure { margin: 0; }
.roman-img-grid img { width: 100%; height: auto; border-radius: 12px; display: block; }
.roman-img-grid figcaption { font-size: .9rem; margin-top: .5rem; opacity: .9; }
.lagrange-fig { margin: 1rem auto; max-width: 640px; }
.lagrange-fig svg { width: 100%; height: auto; background: rgba(5,15,30,.7); border-radius: 14px; }
.lagrange-fig figcaption { text-align: center; font-size: .9rem; opacity: .9; }
.lg-l2 { animation: lgpulse 2.4s ease-in-out infinite; transform-origin: 565px 160px; transform-box: view-box; }
@keyframes lgpulse { 50% { transform: scale(1.6); } }
@media (prefers-reduced-motion: reduce) { .lg-l2 { animation: none; } }
.roman-list li { margin: .5rem 0; }
.roman-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; text-align: center; margin-bottom: .5rem; }
.roman-facts > div { background: rgba(10,30,55,.6); border-radius: 14px; padding: 1rem; border: 1px solid rgba(255,201,77,.3); }
.roman-facts + .fact-source { max-width: 1200px; margin: 0 auto 2rem; padding: 0 1.5rem; }
.roman-saves .w-card h3 { color: #7fd99a; }
@media (max-width: 1024px) { .roman-facts { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px) { .roman-img-grid { grid-template-columns: 1fr; } }
/* Roman page reorder 2026-10-12 */
.roman-lead { font-size: 1.08rem; color: #cfe3f5; margin: -.25rem 0 1rem; }
.roman-sec .roman-facts { max-width: none; margin: 1.25rem 0 .5rem; padding: 0; }
.roman-facts.roman-facts-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 640px) { .roman-facts.roman-facts-3 { grid-template-columns: 1fr; } }
/* About: Our Sources + Partner With Us (2026-10-12) */
body.toc-sub .src-intro, body.toc-sub .src-disclaimer { max-width: 900px; margin: 0 0 1rem; }
body.toc-sub .src-disclaimer { font-size: 0.92rem; opacity: 0.85; font-style: italic; margin-top: 0.4rem; }
body.toc-sub .src-badge { display: inline-block; font-family: 'Montserrat', sans-serif; font-weight: 800; letter-spacing: 0.06em; font-size: 1.05rem; color: #fff; border: 2px solid rgba(255,255,255,0.55); border-radius: 12px; padding: 0.45rem 0.9rem; margin-bottom: 0.7rem; background: rgba(0,156,222,0.18); }
body.toc-sub .src-card h3 { margin-top: 0; }
body.toc-sub .src-meta { margin-top: 0.6rem !important; font-size: 0.9rem; opacity: 0.9; }
body.toc-sub .partner-list { margin: 0; padding-left: 1.2rem; }
body.toc-sub .partner-list li { margin-bottom: 0.35rem; }
body.toc-sub .partner-cta { margin-top: 1rem !important; }
body.toc-sub .partner-cta .btn-nav { display: inline-block; min-height: 44px; box-sizing: border-box; }
html[dir="rtl"] body.toc-sub .partner-list { padding-left: 0; padding-right: 1.2rem; }

/* ===== Search upgrade (Oct 12): prominent Search pill in header nav + hybrid search UI ===== */
.nav-links > li:not(.lang-switch) > a[href$="Search.html"] { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.9rem; border: 2px solid currentColor; border-radius: 999px; }
.nav-links > li:not(.lang-switch) > a[href$="Search.html"]::before { content: ""; width: 0.9em; height: 0.9em; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='M15.5 15.5 22 22'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='M15.5 15.5 22 22'/%3E%3C/svg%3E") center/contain no-repeat; }
@media (max-width: 900px) { .nav-links > li:not(.lang-switch) > a[href$="Search.html"] { justify-content: center; margin: 0.4rem 0; } }
#results .match mark { background: rgba(0,184,148,0.25); color: inherit; padding: 0 0.1em; border-radius: 2px; }
.search-mode { font-size: 0.85rem; opacity: 0.75; margin: 0.3rem 0 0; min-height: 1.2em; }
.search-credit { font-size: 0.78rem; opacity: 0.7; margin-top: 2rem; }
html.dark .search-mode, html.dark .search-credit { color: #e8eef5; }
html.dark .search-credit a { color: #4da3ff; }

/* ===== Search page cleanup (Oct 12, v2) ===== */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.sp-search { max-width: 1200px; margin: 0 auto; padding: 2rem 1.5rem 1rem; }
.sp-search .search-wrap { max-width: 46rem; padding: 0 0 2rem; text-align: start; }
.sp-search-form { display: flex; gap: 0.5rem; }
.sp-search-form #q { flex: 1; min-width: 0; font-size: 1.15rem; padding: 0.9rem 1.1rem; border-radius: 999px; }
.sp-search-btn { flex: none; font: inherit; font-weight: 700; padding: 0 1.4rem; border: 0; border-radius: 999px; background: #009cde; color: #fff; cursor: pointer; }
.sp-search-btn:hover { background: #0086c0; }
.sp-status { margin: 0.9rem 0 0; font-size: 0.95rem; }
.sp-search .search-mode { margin: 0.2rem 0 0; }
.sp-empty { margin-top: 1.4rem; }
.sp-empty[hidden] { display: none; }
.sp-empty-title { margin: 0 0 0.5rem; font-weight: 600; opacity: 0.85; }
.sp-examples { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sp-examples a { display: inline-block; padding: 0.4rem 0.9rem; border: 1px solid rgba(77,163,255,0.6); border-radius: 999px; color: #4da3ff; text-decoration: none; font-size: 0.95rem; }
.sp-examples a:hover { background: rgba(77,163,255,0.12); }
.sp-results { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0.75rem; }
.sp-card a { display: block; padding: 0.9rem 1.1rem; border-radius: 12px; border: 1px solid rgba(0,55,85,0.15); background: rgba(0,55,85,0.03); text-decoration: none; color: inherit; transition: border-color .15s, background .15s; }
.sp-card a:hover, .sp-card a:focus-visible { border-color: #009cde; background: rgba(0,156,222,0.08); }
.sp-hub { display: block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #00b894; margin-bottom: 0.2rem; }
.sp-title { display: block; font-size: 1.1rem; font-weight: 700; color: #009cde; }
.sp-excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 0.25rem; font-size: 0.92rem; line-height: 1.45; color: #003755; }
.sp-excerpt mark { background: rgba(0,184,148,0.25); color: inherit; padding: 0 0.1em; border-radius: 2px; }
.sp-results li:not(.sp-card) a { color: #009cde; font-weight: 700; text-decoration: none; }
.sp-search .search-credit { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid rgba(127,127,127,0.25); font-size: 0.78rem; opacity: 0.7; }
html.dark .sp-card a { border-color: rgba(232,238,245,0.14); background: rgba(255,255,255,0.03); }
html.dark .sp-card a:hover { border-color: #4da3ff; background: rgba(77,163,255,0.08); }
html.dark .sp-title { color: #4da3ff; }
html.dark .sp-excerpt, html.dark .sp-status, html.dark .sp-empty-title { color: #e8eef5; }
html.dark .sp-search-form #q { background: #152033; color: #e8eef5; border: 2px solid #4da3ff; }
@media (max-width: 600px) { .sp-search { padding-top: 1.2rem; } .sp-search-btn { padding: 0 1rem; } }
/* Search bar lives in the hero (title area) */
body.sp-search-page .page-hero { height: auto; min-height: 300px; padding: calc(var(--nav-height, 88px) + 1rem) 1.5rem 2.2rem; }
body.sp-search-page .page-hero-content { width: 100%; max-width: 46rem; }
body.sp-search-page .page-hero-content h1 { margin-bottom: 0.3rem; }
body.sp-search-page .page-hero .sp-search-form { margin-top: 1.1rem; }
body.sp-search-page .page-hero .sp-search-form #q { background: rgba(255,255,255,0.97); color: #003755; border: 2px solid transparent; box-shadow: 0 6px 24px rgba(0,0,0,0.35); }
body.sp-search-page .page-hero .sp-search-form #q:focus { border-color: #009cde; outline: 3px solid rgba(0,156,222,0.35); }
html.dark body.sp-search-page .page-hero .sp-search-form #q { background: #152033; color: #e8eef5; border-color: #4da3ff; }
body.sp-search-page .page-hero .sp-search-btn { box-shadow: 0 6px 24px rgba(0,0,0,0.35); }
body.sp-search-page .sp-search { padding-top: 0.6rem; }
/* Search hero: original space/ocean composite (assets/search-hero.webp/.jpg) with readability overlay */
body.toc-sub.sp-search-page .page-hero.sp-hero { position: relative; overflow: hidden; min-height: 340px; background: #050b1a; }
body.sp-search-page .sp-hero::before { content: ""; position: absolute; inset: -4%; z-index: 0; background: url('assets/search-hero.jpg') 68% center/cover no-repeat; background-image: image-set(url('assets/search-hero.webp') type('image/webp'), url('assets/search-hero.jpg') type('image/jpeg')); animation: sp-drift 60s ease-in-out infinite alternate; }
body.sp-search-page .sp-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(3,8,20,0.55) 0%, rgba(3,8,20,0.35) 45%, rgba(3,8,20,0.7) 100%); }
body.sp-search-page .sp-hero .page-hero-content { position: relative; z-index: 1; }
body.sp-search-page .sp-hero h1 { text-shadow: 0 2px 16px rgba(0,0,0,0.6); }
@keyframes sp-drift { from { transform: scale(1) translate(0,0); } to { transform: scale(1.06) translate(-1.5%, -1%); } }
@media (prefers-reduced-motion: reduce) { body.sp-search-page .sp-hero::before { animation: none; } }
.sp-bg-credit { margin-top: 0.4rem !important; padding-top: 0 !important; border-top: 0 !important; }
#results.sp-results li { margin: 0; }
.sp-excerpt { font-weight: 400; }
.sp-hub, .sp-title { font-weight: 700; }

/* ===== Search hero: floating example questions (search/featured-questions.json) ===== */
.sp-float { overflow: hidden; margin: 1rem -1.5rem 0; padding: 0.3rem 0 0.6rem; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.sp-track, .sp-dup { display: flex; gap: 0.5rem; width: max-content; }
.sp-dup { padding-inline-start: 0.5rem; }
.sp-track { animation: sp-marquee 110s linear infinite; }
html[dir="rtl"] .sp-track { animation-name: sp-marquee-rtl; }
.sp-float:hover .sp-track, .sp-float:focus-within .sp-track, .sp-float:active .sp-track { animation-play-state: paused; }
@keyframes sp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes sp-marquee-rtl { from { transform: translateX(0); } to { transform: translateX(50%); } }
@media (prefers-reduced-motion: reduce) { .sp-float { -webkit-mask-image: none; mask-image: none; } .sp-track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; padding: 0 1.5rem; } .sp-dup { display: none; } }
.sp-float::-webkit-scrollbar { display: none; }
.sp-q { flex: none; max-width: 17rem; white-space: normal; text-align: start; font-size: 0.85rem; line-height: 1.35; font-weight: 500; color: #e8f4ff; text-decoration: none; padding: 0.5rem 0.85rem; border-radius: 14px; background: rgba(8,20,45,0.62); border: 1px solid rgba(120,190,255,0.45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: 0 4px 16px rgba(0,0,0,0.35); transition: background .2s, border-color .2s; }
.sp-q:hover, .sp-q:focus-visible { background: rgba(0,120,200,0.75); border-color: #9fd4ff; color: #fff; }
.sp-float-note { position: relative; z-index: 1; margin: 0.6rem auto 0; max-width: 46rem; font-size: 0.75rem; line-height: 1.4; color: rgba(232,244,255,0.85); text-shadow: 0 1px 6px rgba(0,0,0,0.7); }
@media (min-width: 1200px) {
  body.toc-sub.sp-search-page .page-hero.sp-hero { min-height: 640px; }
  body.sp-search-page .sp-hero .page-hero-content { position: static; }
  body.sp-search-page .sp-hero h1, body.sp-search-page .sp-hero .sp-search-form, body.sp-search-page .sp-hero .sp-float-note { position: relative; z-index: 2; }
  .sp-float { position: absolute; inset: 0; z-index: 1; margin: 0; padding: 0; overflow: visible; display: block; pointer-events: none; -webkit-mask-image: none; mask-image: none; }
  .sp-track { display: contents; animation: none; } .sp-dup { display: none; }
  .sp-q { position: absolute; width: 15.5rem; max-width: none; pointer-events: auto; animation: sp-bob calc(9s + var(--i) * 0.7s) ease-in-out calc(var(--i) * -1.3s) infinite alternate; }
  .sp-float:hover .sp-q, .sp-q:focus-visible { animation-play-state: paused; }
  /* 12 slots around the centred title + bar (centre band left clear) */
  .sp-q0 { left: 3%;  top: 20%; } .sp-q1 { left: 4%;  top: 42%; } .sp-q2 { left: 2.5%; top: 64%; }
  .sp-q3 { right: 3%; top: 20%; } .sp-q4 { right: 4%; top: 42%; } .sp-q5 { right: 2.5%; top: 64%; }
  .sp-q6 { left: 21%; top: 82%; } .sp-q7 { left: 42%; top: 84%; } .sp-q8 { right: 21%; top: 82%; }
  .sp-q9 { left: 22.5%; top: 17%; } .sp-q10 { right: 22.5%; top: 17%; } .sp-q11 { left: 42%; top: 14%; }
  html[dir="rtl"] .sp-q { text-align: right; }
}
@keyframes sp-bob { 0% { transform: translate(0, 0); } 50% { transform: translate(6px, -8px); } 100% { transform: translate(-5px, 6px); } }
@media (prefers-reduced-motion: reduce) { .sp-q { animation: none !important; } }
.sp-more { display: block; margin: 1rem auto 0; font: inherit; font-weight: 700; padding: 0.6rem 1.4rem; border-radius: 999px; border: 2px solid #009cde; background: transparent; color: #009cde; cursor: pointer; }
.sp-more:hover { background: rgba(0,156,222,0.12); }
.sp-more[hidden], .sp-refine[hidden] { display: none; }
html.dark .sp-more { color: #4da3ff; border-color: #4da3ff; }
.sp-refine { margin: 1rem 0 0; font-size: 0.9rem; opacity: 0.8; font-style: italic; }
html.dark .sp-refine { color: #e8eef5; }

/* ===== Page-specific: Tsunami (hero) ===== */
body.toc-sub.tsunami-early-warning-page .page-hero.tsunami-hero { height: auto; min-height: 58vh; padding: 5.5rem 1rem 3rem; display: flex; align-items: center; justify-content: center; text-align: center; background: radial-gradient(ellipse at center, rgba(0,15,30,0.55) 0%, rgba(0,15,30,0.25) 70%), linear-gradient(180deg, rgba(0,20,40,0.25) 0%, rgba(0,20,40,0.55) 100%), url('assets/tsunami-hero.jpg') center 45%/cover no-repeat; }
body.toc-sub.tsunami-early-warning-page .tsunami-hero .page-hero-content { max-width: 860px; margin: 0 auto; }
body.toc-sub.tsunami-early-warning-page .tsunami-hero h1 { text-shadow: 0 2px 16px rgba(0,0,0,0.75); }
body.toc-sub.tsunami-early-warning-page .tsunami-hero p { line-height: 1.5; text-shadow: 0 1px 10px rgba(0,0,0,0.75); }
body.toc-sub.tsunami-early-warning-page .tsunami-hero p.tsunami-alert-note { display: inline-block; margin-top: 1rem; padding: .45rem .9rem; border-radius: 999px; background: rgba(0,0,0,0.45); font-size: .98rem; }
body.toc-sub.tsunami-early-warning-page .tsunami-alert-note a { color: #f5b942; font-weight: 700; text-decoration: underline; }
body.toc-sub.tsunami-early-warning-page .tsunami-credit { text-align: center; font-size: .8rem; opacity: .8; margin: .4rem 1rem 0; }
@media (max-width: 600px) { body.toc-sub.tsunami-early-warning-page .page-hero.tsunami-hero { min-height: 50vh; padding: 4.5rem .8rem 2.2rem; background-position: 30% center; } }
/* Themed page heroes (rule: hero depicts the page's main theme). WebP via image-set with JPG fallback. */
body.toc-sub .page-hero{position:relative;background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.55)),url('assets/hero/ocean-800.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.55)),image-set(url('assets/hero/ocean-800.webp') type('image/webp'),url('assets/hero/ocean-800.jpg') type('image/jpeg'))}
body.toc-sub .page-hero.hero-kids{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/kids-800.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/kids-800.webp') type('image/webp'),url('assets/hero/kids-800.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-satx{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/satx-800.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/satx-800.webp') type('image/webp'),url('assets/hero/satx-800.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-lesson{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/lesson-800.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/lesson-800.webp') type('image/webp'),url('assets/hero/lesson-800.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-teach{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/teach-800.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/teach-800.webp') type('image/webp'),url('assets/hero/teach-800.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-about{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/about-800.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/about-800.webp') type('image/webp'),url('assets/hero/about-800.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-help{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/help-800.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/help-800.webp') type('image/webp'),url('assets/hero/help-800.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-learn{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/learn-800.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/learn-800.webp') type('image/webp'),url('assets/hero/learn-800.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-mission{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/mission-800.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/mission-800.webp') type('image/webp'),url('assets/hero/mission-800.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-ocean{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/ocean-800.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/ocean-800.webp') type('image/webp'),url('assets/hero/ocean-800.jpg') type('image/jpeg'));background-size:cover;background-position:center}
@media (min-width: 801px){
body.toc-sub .page-hero.hero-kids{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/kids-1600.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/kids-1600.webp') type('image/webp'),url('assets/hero/kids-1600.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-satx{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/satx-1600.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/satx-1600.webp') type('image/webp'),url('assets/hero/satx-1600.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-lesson{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/lesson-1600.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/lesson-1600.webp') type('image/webp'),url('assets/hero/lesson-1600.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-teach{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/teach-1600.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/teach-1600.webp') type('image/webp'),url('assets/hero/teach-1600.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-about{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/about-1600.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/about-1600.webp') type('image/webp'),url('assets/hero/about-1600.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-help{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/help-1600.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/help-1600.webp') type('image/webp'),url('assets/hero/help-1600.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-learn{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/learn-1600.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/learn-1600.webp') type('image/webp'),url('assets/hero/learn-1600.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-mission{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/mission-1600.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/mission-1600.webp') type('image/webp'),url('assets/hero/mission-1600.jpg') type('image/jpeg'));background-size:cover;background-position:center}
body.toc-sub .page-hero.hero-ocean{background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/hero/ocean-1600.jpg');background-image:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),image-set(url('assets/hero/ocean-1600.webp') type('image/webp'),url('assets/hero/ocean-1600.jpg') type('image/jpeg'));background-size:cover;background-position:center}
}
.page-hero .hero-credit{position:absolute;right:.6rem;bottom:.4rem;font-size:.7rem;color:rgba(255,255,255,.85);text-shadow:0 1px 2px #000;background:rgba(0,0,0,.25);padding:.1rem .4rem;border-radius:6px}
[dir=rtl] .page-hero .hero-credit{right:auto;left:.6rem}
body.toc-sub.co2m-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Clouds_Limb_ISS.jpg') center/cover no-repeat; }
body.toc-sub.hope-spots-page .page-hero.space-hero { background: linear-gradient(180deg, rgba(0,20,40,0.35) 0%, rgba(0,20,40,0.6) 100%), url('assets/Bahamas_Ocean_ISS.jpg') center/cover no-repeat; }
/* PAGE-HEROES:START (generated by scripts/apply-heroes.py) */
body.toc-sub[class].hp-4ocean .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/OceanBeach.JPG') center/cover no-repeat}
body.toc-sub[class].hp-atlas .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Hawaii_Island_ISS_2024.jpg') center/cover no-repeat}
body.toc-sub[class].hp-abu-dhabi-mangroves .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Abu_Dhabi_Coast_ISS_2024.jpg') center/cover no-repeat}
body.toc-sub[class].hp-african-parks .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lake_Kariba_ISS_2024.jpg') center/cover no-repeat}
body.toc-sub[class].hp-alaska-kelp-farming .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Alaska_Clear_View_Terra_2013.jpg') center/cover no-repeat}
body.toc-sub[class].hp-alaska-sealife-center .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Gulf_of_Alaska_Aurora_ISS_2025.jpg') center/cover no-repeat}
body.toc-sub[class].hp-alliance-for-the-great-lakes-adopt-a-beach .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Great_Lakes_GSFC.jpg') center/cover no-repeat}
body.toc-sub[class].hp-altyn-dala-saiga .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Saiga_West_Kazakhstan.jpg') center/cover no-repeat}
body.toc-sub[class].hp-american-forests .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Threetrees3.jpg') center/cover no-repeat}
body.toc-sub[class].hp-american-rivers .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/StreamLog.JPG') center/cover no-repeat}
body.toc-sub[class].hp-andfjorden-mpa .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Andfjorden_Andoy_2023.jpg') center/cover no-repeat}
body.toc-sub[class].hp-arabian-oryx .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Arabian_Oryx_Oryx_Leucoryx.jpg') center/cover no-repeat}
body.toc-sub[class].hp-arbor-day-foundation .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Amazon_Clouds_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-arctic-weather-satellite .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Arctic_Weather_Satellite_ESA.jpg') center/cover no-repeat}
body.toc-sub[class].hp-argo .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/NOAA_Deep_SOLO_Float_2018.jpg') center/cover no-repeat}
body.toc-sub[class].hp-argos .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Loggerhead_Release_MINWR.jpg') center/cover no-repeat}
body.toc-sub[class].hp-ariel .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Webb_Infrared.jpg') center/cover no-repeat}
body.toc-sub[class].hp-astroscale .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Satellite_Servicing_Arm_GSFC.jpg') center/cover no-repeat}
body.toc-sub[class].hp-atoll-rewilding .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Tetiaroa_Atoll_ISS018.jpg') center/cover no-repeat}
body.toc-sub[class].hp-azraq-wetland .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Azraq_Wetland_Reserve_48.jpg') center/cover no-repeat}
body.toc-sub[class].hp-bepicolombo .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Mercury_MESSENGER.jpg') center/cover no-repeat}
body.toc-sub[class].hp-bristol-bay-salmon .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Bristol_Bay_Terra_2017.jpg') center/cover no-repeat}
body.toc-sub[class].hp-cams .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Sumatra_Smoke_Singapore_MODIS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-chime .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Garden_City_Kansas_Landsat.jpg') center/cover no-repeat}
body.toc-sub[class].hp-cimr .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/North_Atlantic_Bloom_MODIS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-cristal .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Labrador_Sea_Ice_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-carbfix .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Iceland_Volcanic_Landscape_jsc2026e406058.jpg') center/cover no-repeat}
body.toc-sub[class].hp-catalina-sky-survey .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Asteroid_2018LA_CSS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-chandrayaan-5-lupex .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lunar_South_Pole_PIA13523.jpg') center/cover no-repeat}
body.toc-sub[class].hp-cheonggyecheon .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Seoul_Night_ISS_2025.jpg') center/cover no-repeat}
body.toc-sub[class].hp-chesapeake-bay-foundation .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Baltimore_DC_Skylab.jpg') center/cover no-repeat}
body.toc-sub[class].hp-chilika-lake .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Chilika_Lake_Mouth.jpg') center/cover no-repeat}
body.toc-sub[class].hp-clean-lakes-alliance .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Great_Lakes_MODIS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-clean-up-the-lake .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lake_Tahoe_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-clearspace .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/ATV1_Departure_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-comet-interceptor .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Comet_NEOWISE.jpg') center/cover no-repeat}
body.toc-sub[class].hp-cool-earth-basic-income .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Puerto_Bermudez_Peru_Rainforest.jpg') center/cover no-repeat}
body.toc-sub[class].hp-copernicus-ems .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Canada_Wildfires_ISS_2025b.jpg') center/cover no-repeat}
body.toc-sub[class].hp-copernicus-marine .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/North_Atlantic_Bloom_MODIS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-coral-gardeners .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/BoraBora_Reefs_STS93.jpg') center/cover no-repeat}
body.toc-sub[class].hp-coral-ivf .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Florida_Keys_PIA03890.jpg') center/cover no-repeat}
body.toc-sub[class].hp-coral-reef-watch .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Great_Barrier_Reef_ISS_2022.jpg') center/cover no-repeat}
body.toc-sub[class].hp-coral-vita .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Bahama_Bank_PIA11019.jpg') center/cover no-repeat}
body.toc-sub[class].hp-costa-rica-forest-payments .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Costa_Rica_ISS_2020.jpg') center/cover no-repeat}
body.toc-sub[class].hp-cryosat .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Labrador_Sea_Ice_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-danuri-shadowcam .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Shackleton_Crater_LROC_ShadowCam.jpg') center/cover no-repeat}
body.toc-sub[class].hp-deforestation .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Amazon_Clouds_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-digital-earth-africa .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Okavango_Delta_ISS_2025.jpg') center/cover no-repeat}
body.toc-sub[class].hp-dragonfly .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Titan.jpg') center/cover no-repeat}
body.toc-sub[class].hp-effis .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Portugal_Wildfires_ISS_2018.jpg') center/cover no-repeat}
body.toc-sub[class].hp-emit .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/EMIT_Methane_Fingerprint.jpg') center/cover no-repeat}
body.toc-sub[class].hp-esa-neocc .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Goldstone_Radar_2011UL21.jpg') center/cover no-repeat}
body.toc-sub[class].hp-earth-observation .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/EPIC_Earth.jpg') center/cover no-repeat}
body.toc-sub[class].hp-eden-people-planet .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Kilimanjaro_STS72.jpg') center/cover no-repeat}
body.toc-sub[class].hp-elwha-river-restoration .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/StreamLog.JPG') center/cover no-repeat}
body.toc-sub[class].hp-emirates-mission-asteroid-belt .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Asteroid_269_Justitia_Orbit_JPL.jpg') center/cover no-repeat}
body.toc-sub[class].hp-envision .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Venus_Magellan.jpg') center/cover no-repeat}
body.toc-sub[class].hp-enceladus .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Enceladus_Geyser_Basin.jpg') center/cover no-repeat}
body.toc-sub[class].hp-firms .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Canada_Wildfires_ISS_2025.jpg') center/cover no-repeat}
body.toc-sub[class].hp-forum .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Clouds_Limb_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-firesat .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Rim_Fire_MODIS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-forest-elephants .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Congo_River_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-freshwater-watch .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Mississippi_River_PIA23534.jpg') center/cover no-repeat}
body.toc-sub[class].hp-gcom-c .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Pacific_Clouds_Sunset_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-gcom-w-shizuku .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Greenland_Sea_Ice_GSFC.jpg') center/cover no-repeat}
body.toc-sub[class].hp-gedi .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/ISS_Flyaround_2021.jpg') center/cover no-repeat}
body.toc-sub[class].hp-globe-program .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Pacific_Clouds_Sunset_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-gsmap .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/GPM_Core_Observatory_GMI.jpg') center/cover no-repeat}
body.toc-sub[class].hp-gaganyaan .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/South_India_Sri_Lanka_ISS_2024.jpg') center/cover no-repeat}
body.toc-sub[class].hp-galapagos-giant-tortoises .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Fernandina_Galapagos_ISS_2022.jpg') center/cover no-repeat}
body.toc-sub[class].hp-galileo .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Romania_City_Lights_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-geoxo .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lightning_Storm_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-glofas .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Pakistan_Flood_Kheshgi_2010.jpg') center/cover no-repeat}
body.toc-sub[class].hp-global-fishing-watch .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/North_Pacific_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-global-forest-watch .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Rondonia_Deforestation_STS46.jpg') center/cover no-repeat}
body.toc-sub[class].hp-globe-at-night .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Romania_City_Lights_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-gorongosa .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Mount_Gorongosa_Mozambique.jpg') center/cover no-repeat}
body.toc-sub[class].hp-great-bubble-barrier .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/StreamLog.JPG') center/cover no-repeat}
body.toc-sub[class].hp-great-green-wall .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Sahel_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-great-lakes-plastic-cleanup .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Great_Lakes_MODIS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-gulf-of-alaska-keeper .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Gulf_of_Alaska_Bloom_2017.jpg') center/cover no-repeat}
body.toc-sub[class].hp-hayabusa2-torifune .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Ryugu_Hayabusa2.jpg') center/cover no-repeat}
body.toc-sub[class].hp-heal-the-bay .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lake_Shore_Cleanup_NPS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-hope-mars-mission .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Valles_Marineris_Viking_PIA00422.jpg') center/cover no-repeat}
body.toc-sub[class].hp-hydrognss .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Danube_Delta_GSFC.jpg') center/cover no-repeat}
body.toc-sub[class].hp-insat-3ds .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/ISS_Over_Ganges_STS102.jpg') center/cover no-repeat}
body.toc-sub[class].hp-iberian-lynx .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Iberian_Lynx_Almuradiel_2021.jpg') center/cover no-repeat}
body.toc-sub[class].hp-iceland-land-restoration .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Iceland_Highland_Edge.jpg') center/cover no-repeat}
body.toc-sub[class].hp-international-charter .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Missouri_Flood_Hamburg_EO1.jpg') center/cover no-repeat}
body.toc-sub[class].hp-international-coastal-cleanup .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Bahamas_Ocean_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-jpss .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/JPSS2_Atlas_V_Launch_Pad.jpg') center/cover no-repeat}
body.toc-sub[class].hp-justdiggit .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Kilimanjaro_STS72.jpg') center/cover no-repeat}
body.toc-sub[class].hp-kakapo-recovery .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Kakapo_Sirocco.jpg') center/cover no-repeat}
body.toc-sub[class].hp-keep-tahoe-blue .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lake_Tahoe_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-kissimmee-river-restoration .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Florida_Keys_PIA03890.jpg') center/cover no-repeat}
body.toc-sub[class].hp-klamath-river-dam-removal .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Klamath_River.jpg') center/cover no-repeat}
body.toc-sub[class].hp-lake-biwa-soap-movement .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lake_Biwa_Shiga_NASA.jpg') center/cover no-repeat}
body.toc-sub[class].hp-lake-constance .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lake_Constance_ISS030_E_161620.jpg') center/cover no-repeat}
body.toc-sub[class].hp-lake-erie-algal-bloom-forecast .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Great_Lakes_GSFC.jpg') center/cover no-repeat}
body.toc-sub[class].hp-lake-plastic-recovery .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lake_Shore_Cleanup_NPS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-lakes .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Great_Lakes_MODIS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-libera .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/EPIC_Earth.jpg') center/cover no-repeat}
body.toc-sub[class].hp-life-terra .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Threetrees3.jpg') center/cover no-repeat}
body.toc-sub[class].hp-living-lakes .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lake_Tahoe_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-living-lands-and-waters .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Mississippi_River_PIA23534.jpg') center/cover no-repeat}
body.toc-sub[class].hp-london-tideway-tunnel .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/London_Thames_Night_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-lucy .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lucy_KSC.jpg') center/cover no-repeat}
body.toc-sub[class].hp-maap .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Ucayali_River_ISS_2026.jpg') center/cover no-repeat}
body.toc-sub[class].hp-mesoamerican-reef-insurance .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Belize_Coast_ISS_2014.jpg') center/cover no-repeat}
body.toc-sub[class].hp-meteosat-third-generation .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lightning_Storm_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-mountain-gorillas .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Mountain_Gorilla_Bwindi_2024.jpg') center/cover no-repeat}
body.toc-sub[class].hp-neossat .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Comet_NEOWISE_ISS_NHQ202007180001.jpg') center/cover no-repeat}
body.toc-sub[class].hp-newater .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Singapore_Night_ISS_2025.jpg') center/cover no-repeat}
body.toc-sub[class].hp-namami-gange .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Sundarbans_Ganges_Delta_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-nepal-tigers .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Bengal_Tiger_Bardia_Nepal.jpg') center/cover no-repeat}
body.toc-sub[class].hp-oco-2 .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Global_Plant_Fluorescence.jpg') center/cover no-repeat}
body.toc-sub[class].hp-ocean-cleanup .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/theoceancleanup.jpg') center/cover no-repeat}
body.toc-sub[class].hp-oceans .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/North_Pacific_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-okavango-delta .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Okavango_Delta_Aerial_2018.jpg') center/cover no-repeat}
body.toc-sub[class].hp-one-tree-planted .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Global_Plant_Fluorescence.jpg') center/cover no-repeat}
body.toc-sub[class].hp-openet .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Garden_City_Kansas_Landsat.jpg') center/cover no-repeat}
body.toc-sub[class].hp-prefire .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/LEO_View.jpg') center/cover no-repeat}
body.toc-sub[class].hp-prelude .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/ATV1_Departure_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-promice-gc-net .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Greenland_Glacier_Landsat_NASA_EO.jpg') center/cover no-repeat}
body.toc-sub[class].hp-palau-national-marine-sanctuary .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Palau_Landsat8_2014.jpg') center/cover no-repeat}
body.toc-sub[class].hp-pan-starrs .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Comet_PANSTARRS_ISS_2026.jpg') center/cover no-repeat}
body.toc-sub[class].hp-papahanaumokuakea .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Pearl_Hermes_Atoll_ISS_2002.jpg') center/cover no-repeat}
body.toc-sub[class].hp-parker-solar-probe .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/SDO_Sun.jpg') center/cover no-repeat}
body.toc-sub[class].hp-penobscot-river-restoration .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/New_England_Coast_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-planetary-defense .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Hera.jpg') center/cover no-repeat}
body.toc-sub[class].hp-plant-for-the-planet .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Yishan_Tree.jpg') center/cover no-repeat}
body.toc-sub[class].hp-plastic-bank .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/OceanBeach.JPG') center/cover no-repeat}
body.toc-sub[class].hp-plastic-odyssey .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/PlasticBank_Indonesia_STS66.jpg') center/cover no-repeat}
body.toc-sub[class].hp-polar .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Greenland_IceBridge_2015.jpg') center/cover no-repeat}
body.toc-sub[class].hp-posidonia-meadows .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Mediterranean_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-predator-free-2050 .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/NZ_Southern_Lakes_ISS_2024.jpg') center/cover no-repeat}
body.toc-sub[class].hp-project-rawane .page-hero[class]{position:relative;overflow:hidden;isolation:isolate;background:#001428}
body.toc-sub[class].hp-project-rawane .page-hero[class]::before{content:'';position:absolute;z-index:-2;left:0;top:50%;--t:max(100vw,760px,90vh);width:calc(var(--t) * 2);height:calc(var(--t) / 2);transform:translate3d(-50%,-50%,0);background-image:image-set(url('https://media.savingplanets.com/images/earth-blue-marble-land-ocean-ice-cloud-1920.513683ce0a8d.webp') 1x type('image/webp'),url('https://media.savingplanets.com/images/earth-blue-marble-land-ocean-ice-cloud-3840.cd1d32f3bdf7.webp') 2x type('image/webp'));background-size:var(--t) calc(var(--t) / 2);background-repeat:repeat-x;background-position:0 0;animation:pr-earth-turn 160s linear infinite;will-change:transform}
body.toc-sub[class].hp-project-rawane .page-hero[class]::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,10,24,.58) 0%,rgba(0,10,24,.38) 42%,rgba(0,10,24,.65) 100%)}
body.toc-sub[class].hp-project-rawane .page-hero[class].pr-paused::before{animation-play-state:paused}
@keyframes pr-earth-turn{from{transform:translate3d(-50%,-50%,0)}to{transform:translate3d(0,-50%,0)}}
@media (max-width:900px){body.toc-sub[class].hp-project-rawane .page-hero[class]::before{background-image:image-set(url('https://media.savingplanets.com/images/earth-blue-marble-land-ocean-ice-cloud-1280.197099dc2710.webp') 1x type('image/webp'),url('https://media.savingplanets.com/images/earth-blue-marble-land-ocean-ice-cloud-2560.06f498a02edd.webp') 2x type('image/webp'))}}
@media (max-width:600px){body.toc-sub[class].hp-project-rawane .page-hero[class]{padding-bottom:3.2rem!important}body.toc-sub[class].hp-project-rawane .page-hero[class] .hero-credit{left:3.2rem;text-align:right}[dir=rtl] body.toc-sub[class].hp-project-rawane .page-hero[class] .hero-credit{right:3.2rem;left:.6rem;text-align:left}}
@media (prefers-reduced-motion:reduce){body.toc-sub[class].hp-project-rawane .page-hero[class]::before{animation:none}.pr-motion-toggle{display:none}}
body.toc-sub[class].hp-project-seagrass .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Seagrass_Restoration_KSC.jpg') center/cover no-repeat}
body.toc-sub[class].hp-psyche .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Psyche_Illustration.jpg') center/cover no-repeat}
body.toc-sub[class].hp-rcm .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Labrador_Sea_Ice_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-rainforest-connection .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Amazon_Clouds_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-redonda-restoration .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Redonda_By_Sea_2023.jpg') center/cover no-repeat}
body.toc-sub[class].hp-restoring-the-lake-depths .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Lake_Tahoe_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-rewilding-europe .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Danube_Delta_GSFC.jpg') center/cover no-repeat}
body.toc-sub[class].hp-river-cleanup .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Mississippi_River_PIA23534.jpg') center/cover no-repeat}
body.toc-sub[class].hp-rivers .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Mississippi_River_PIA23534.jpg') center/cover no-repeat}
body.toc-sub[class].hp-room-for-the-river .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Netherlands_Rivers_ISS063_E_002730.jpg') center/cover no-repeat}
body.toc-sub[class].hp-ross-sea-mpa .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Ross_Sea_Adelie_Cape_Royds.jpg') center/cover no-repeat}
body.toc-sub[class].hp-route-of-parks-patagonia .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Chacabuco_Valley_Patagonia_Park.jpg') center/cover no-repeat}
body.toc-sub[class].hp-sarsat .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/GOES19_GOESU_KSC.jpg') center/cover no-repeat}
body.toc-sub[class].hp-scisat .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Ozone_Hole_2024_SVS14711.jpg') center/cover no-repeat}
body.toc-sub[class].hp-smap .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Mississippi_River_PIA23534.jpg') center/cover no-repeat}
body.toc-sub[class].hp-soho .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/SDO_Sun.jpg') center/cover no-repeat}
body.toc-sub[class].hp-spherex .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/SPHEREx_Spacecraft.jpg') center/cover no-repeat}
body.toc-sub[class].hp-sargassum-watch .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Sargassum_Bloom_Atlantic_Sentinel.jpg') center/cover no-repeat}
body.toc-sub[class].hp-seatrees .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Mangrove_Delta_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-sea-turtle-conservancy .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Loggerhead_Release_MINWR.jpg') center/cover no-repeat}
body.toc-sub[class].hp-sentinel-3 .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Bahamas_Ocean_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-sentinel-4 .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Mediterranean_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-sentinel-5p .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Clouds_Limb_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-seychelles-marine-spatial-plan .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Aldabra_Atoll_Seychelles.jpg') center/cover no-repeat}
body.toc-sub[class].hp-south-georgia-habitat-restoration .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/South_Georgia_ISS071_E_581850.jpg') center/cover no-repeat}
body.toc-sub[class].hp-space .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/ISS_Flyaround_2021.jpg') center/cover no-repeat}
body.toc-sub[class].hp-space-disposal .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Progress_Reentry.jpg') center/cover no-repeat}
body.toc-sub[class].hp-space-weather .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/SDO_Sun.jpg') center/cover no-repeat}
body.toc-sub[class].hp-sungai-watch .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/StreamLog.JPG') center/cover no-repeat}
body.toc-sub[class].hp-surfrider-foundation .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/North_Pacific_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-svalbard-global-seed-vault .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Svalbard_Nordaustlandet_Landsat9_2022.jpg') center/cover no-repeat}
body.toc-sub[class].hp-tempo .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Clouds_Limb_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-terraformation .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Yishan_Tree.jpg') center/cover no-repeat}
body.toc-sub[class].hp-the-seacleaners .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/PlasticBank_Indonesia_STS66.jpg') center/cover no-repeat}
body.toc-sub[class].hp-three-trees .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/ThreeTrees2.jpg') center/cover no-repeat}
body.toc-sub[class].hp-thwaites-glacier-collaboration .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Thwaites_Glacier_Landsat8_2019.jpg') center/cover no-repeat}
body.toc-sub[class].hp-tonle-sap .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Tonle_Sap_Floating_Village.jpg') center/cover no-repeat}
body.toc-sub[class].hp-trees-for-life .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Glen_Affric_Scots_Pine.jpg') center/cover no-repeat}
body.toc-sub[class].hp-trout-unlimited .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Klamath_River.jpg') center/cover no-repeat}
body.toc-sub[class].hp-tubbataha-reefs .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Tubbataha_Reefs_UNESCO.jpg') center/cover no-repeat}
body.toc-sub[class].hp-unep-mars .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/EMIT_Methane_Plumes_Uzbekistan.jpg') center/cover no-repeat}
body.toc-sub[class].hp-veggie-space-garden .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Veggie_KSC.jpg') center/cover no-repeat}
body.toc-sub[class].hp-voyager .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Voyager_Heliosphere_PIA22835.jpg') center/cover no-repeat}
body.toc-sub[class].hp-waterkeeper-alliance .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/NYC_Hudson_Harbor.jpg') center/cover no-repeat}
body.toc-sub[class].hp-weforest .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Kilimanjaro_STS72.jpg') center/cover no-repeat}
body.toc-sub[class].hp-whales-ocean-gardeners .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Phytoplankton_Bloom_Iceland.jpg') center/cover no-repeat}
body.toc-sub[class].hp-yellowstone-wolves .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/Yellowstone_ISS.jpg') center/cover no-repeat}
body.toc-sub[class].hp-zero-debris-charter .page-hero[class]{background:linear-gradient(180deg,rgba(0,20,40,.35),rgba(0,20,40,.6)),url('assets/LEO_View.jpg') center/cover no-repeat}
/* PAGE-HEROES:END */
/* Oct 14: heroes/titles always clear the fixed top nav (all widths, LTR + RTL) */
body.toc-sub[class] .page-hero[class]{height:auto!important;min-height:max(34vh,260px)!important;padding:calc(var(--nav-height,88px) + 1.5rem) 1.25rem 2rem!important;box-sizing:border-box}
body.toc-sub.nf-page[class] .page-hero[class]{min-height:max(50vh,320px)!important}
body.toc-sub .page-hero h1{overflow-wrap:anywhere}
@media print{body.toc-sub[class] .page-hero[class]{min-height:0!important;padding:0!important}}
/* SOL-PHOTO:START (Oct 16 agency batch: full-quality responsive photo; AVIF/WebP srcset from media.savingplanets.com) */
.sol-photo{max-width:900px;margin:1.5rem auto;padding:0 1rem}
.sol-photo img{display:block;width:100%;height:auto;border-radius:12px}
.sol-photo figcaption{font-size:.85rem;opacity:.85;margin-top:.5rem;line-height:1.4}
.sol-photo figcaption a{display:inline;padding:0;margin:0;min-height:0}
/* SOL-PHOTO:END */
/* RAWANE-TIDY:START (generated by scripts/build-rawane-bluf.py) */
body.pr-page .impact > h2, body.pr-page .five-ws > h2 { text-align: center; }
body.toc-sub.pr-page .page-hero.pr-hero p.pr-dedication { margin-top: .35rem; line-height: 1.4; }
body.pr-page .pr-bluf .impact-box { max-width: 880px; margin: 0 auto; padding: 1.5rem 1.8rem; }
body.pr-page .pr-bluf .impact-box p { margin: 0 0 .7rem; line-height: 1.55; }
body.pr-page .pr-bluf .bluf-hook { font-size: clamp(1.2rem, 2.1vw, 1.5rem); line-height: 1.3; }
body.pr-page .pr-bluf .bluf-wow, body.pr-page .pr-bluf .bluf-why { font-size: 1.05rem; }
body.pr-page .pr-bluf .bluf-cta { margin-top: 1rem; font-weight: 700; }
body.pr-page .pr-bluf .bluf-cta a { color: #8fd3ff; }
body.pr-page .pr-bluf .bluf-arrow { display: inline-block; margin-inline-start: .35rem; color: #8fd3ff; }
[dir="rtl"] body.pr-page .pr-bluf .bluf-arrow, body.pr-page[dir="rtl"] .pr-bluf .bluf-arrow { transform: scaleX(-1); }
body.pr-page .pr-bluf .impact-box p.bluf-credit { margin: .9rem 0 0; font-size: .82rem; opacity: .75; }
body.pr-page .ws-grid { display: flex; flex-wrap: wrap; justify-content: center; }
body.pr-page .ws-grid > .w-card { flex: 0 1 calc((100% - 2rem) / 3); min-width: 0; box-sizing: border-box; }
@media (max-width: 900px) { body.pr-page .ws-grid > .w-card { flex-basis: calc((100% - 1rem) / 2); } }
@media (max-width: 600px) { body.pr-page .ws-grid > .w-card { flex-basis: 100%; } }
.pr-motion-toggle { position: absolute; left: .75rem; bottom: .55rem; z-index: 2; width: 2rem; height: 2rem; padding: 0; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(0,20,40,.55); color: #fff; font-size: .7rem; line-height: 1; cursor: pointer; opacity: .8; }
[dir="rtl"] .pr-motion-toggle { left: auto; right: .75rem; }
.pr-motion-toggle:hover, .pr-motion-toggle:focus-visible { opacity: 1; }
.pr-motion-toggle:focus-visible { outline: 2px solid #8fd3ff; outline-offset: 2px; }
/* RAWANE-TIDY:END */
/* RAWANE-CUTS:START (generated by scripts/build-rawane-cuts.py) */
body.pr-page .card-band.hub-cards .grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 1rem; }
body.pr-page .card-band.hub-cards .grid > .card { flex: 0 0 calc((100% - 3rem) / 4); max-width: calc((100% - 3rem) / 4); min-width: 0; }
body.pr-page .card-band.hub-cards .grid.pr-cols-3 { max-width: calc(75% + .25rem); margin-left: auto; margin-right: auto; }
body.pr-page .card-band.hub-cards .grid.pr-cols-3 > .card { flex-basis: calc((100% - 2rem) / 3); max-width: calc((100% - 2rem) / 3); }
@media (max-width: 900px) { body.pr-page .card-band.hub-cards .grid > .card, body.pr-page .card-band.hub-cards .grid.pr-cols-3 > .card { flex-basis: calc((100% - 1rem) / 2); max-width: calc((100% - 1rem) / 2); } body.pr-page .card-band.hub-cards .grid.pr-cols-3 { max-width: none; } }
@media (max-width: 600px) { body.pr-page .card-band.hub-cards .grid > .card, body.pr-page .card-band.hub-cards .grid.pr-cols-3 > .card { flex-basis: 100%; max-width: 100%; } }
body.pr-page .card-band .card, body.artemis-page .card-band .card, body.artemis-page .card { height: auto !important; min-height: 0 !important; display: block; padding-bottom: .9rem; }
body.pr-page .card-band .card h3, body.artemis-page .card-band .card h3 { margin: .5rem .9rem .35rem; }
body.pr-page .card-band .card .sol-badges, body.artemis-page .card-band .card .sol-badges { margin: .55rem .9rem 0; }
body.pr-page .card-band .card-blurb, body.artemis-page .card-band .card-blurb { padding: 0 .9rem; margin: 0; }
body.pr-page .ws-grid, body.artemis-page .ws-grid { align-items: flex-start; padding-bottom: .4rem; }
body.pr-page .w-card, body.artemis-page .w-card { height: auto !important; min-height: 0 !important; padding: .9rem 1rem; }
body.pr-page .w-card h3, body.artemis-page .w-card h3 { margin: 0 0 .35rem; }
body.pr-page .w-card p, body.artemis-page .w-card p { margin: 0 0 .4rem; }
body.pr-page .w-card p:last-child, body.artemis-page .w-card p:last-child { margin-bottom: 0; }
body.pr-page .pr-launch-link { text-align: center; padding: 1.2rem 1rem 1.6rem; font-weight: 700; }
body.pr-page .pr-launch-link a { color: #8fd3ff; }
body.pr-page .pr-launch-link .bluf-arrow { display: inline-block; margin-inline-start: .35rem; color: #8fd3ff; }
[dir="rtl"] body.pr-page .pr-launch-link .bluf-arrow { transform: scaleX(-1); }
/* RAWANE-CUTS:END */
/* ARTEMIS-PROGRAM:START (generated by scripts/build-artemis-program.py) */
body.toc-sub.artemis-page .page-hero.space-hero { position: relative; overflow: hidden; isolation: isolate; background: #001428; }
body.toc-sub.artemis-page .page-hero.space-hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background: #001428 center/cover no-repeat; background-image: url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_wide-1920.6e1fbb903e0a.webp');background-image:image-set(url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_wide-1920.e72b16997ee5.avif') 1x type('image/avif'),url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_wide-1920.6e1fbb903e0a.webp') 1x type('image/webp'),url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_wide-3840.c5b25b9c61aa.avif') 2x type('image/avif'),url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_wide-3840.f9310262d212.webp') 2x type('image/webp')); }
@media (max-width: 900px) { body.toc-sub.artemis-page .page-hero.space-hero::before { background-image: url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_med-1280.8363ab4bd761.webp');background-image:image-set(url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_med-1280.81cf045866ca.avif') 1x type('image/avif'),url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_med-1280.8363ab4bd761.webp') 1x type('image/webp'),url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_med-2560.d45f0e995c71.avif') 2x type('image/avif'),url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_med-2560.b07214956cb4.webp') 2x type('image/webp')); } }
@media (max-width: 600px) { body.toc-sub.artemis-page .page-hero.space-hero::before { background-image: url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_phone-800.c01c8e70e4ad.webp');background-image:image-set(url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_phone-800.aacdb644c831.avif') 1x type('image/avif'),url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_phone-800.c01c8e70e4ad.webp') 1x type('image/webp'),url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_phone-1920.4b244a11a73a.avif') 2x type('image/avif'),url('https://media.savingplanets.com/images/ArtemisII_Launch_banner_phone-1920.e414a5d5a68d.webp') 2x type('image/webp')); } }
body.toc-sub.artemis-page .page-hero.space-hero > .art-hero-video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; pointer-events: none; opacity: 0; transition: opacity .6s ease; }
body.toc-sub.artemis-page .page-hero.space-hero.art-video-on > .art-hero-video { opacity: 1; }
body.toc-sub.artemis-page .page-hero.space-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse 46% 62% at 50% 50%, rgba(0,20,40,.42) 0%, rgba(0,20,40,0) 100%), linear-gradient(180deg, rgba(0,20,40,.38) 0%, rgba(0,20,40,.55) 100%); }
body.toc-sub.artemis-page .page-hero.space-hero .page-hero-content h1, body.toc-sub.artemis-page .page-hero.space-hero .page-hero-content p { text-shadow: 0 1px 3px rgba(0,0,0,.75), 0 0 18px rgba(0,0,0,.45); }
@media (prefers-reduced-motion: reduce) { body.toc-sub.artemis-page .page-hero.space-hero > .art-hero-video { display: none; } body.toc-sub.artemis-page .page-hero.space-hero .pr-motion-toggle { display: none; } }
/* ARTEMIS-PROGRAM:END */

/* ARTEMIS-GALLERY:START (generated by scripts/build-artemis-gallery.py) */
body.artemis-page .art-gallery { max-width: 1200px; margin: 2rem auto; padding: 0 1.25rem; }
body.artemis-page .art-gallery h2 { text-align: center; margin: 0 0 .3rem; }
body.artemis-page .art-gallery .ag-intro { text-align: center; margin: 0 auto .9rem; max-width: 48rem; font-size: .95rem; opacity: .85; }
body.artemis-page .art-gallery .ag-mission { font-size: 1.05rem; margin: 1.1rem 0 .55rem; }
body.artemis-page .art-gallery .ag-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; align-items: start; }
body.artemis-page .art-gallery .ag-item { margin: 0; border: 1px solid rgba(127,127,127,.28); border-radius: 10px; overflow: hidden; }
body.artemis-page .art-gallery .ag-link { display: block; }
body.artemis-page .art-gallery .ag-item img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
body.artemis-page .art-gallery figcaption { padding: .5rem .7rem .6rem; font-size: .86rem; line-height: 1.4; }
body.artemis-page .art-gallery .ag-meta { display: flex; flex-wrap: wrap; gap: .1rem .5rem; align-items: baseline; margin-bottom: .15rem; }
body.artemis-page .art-gallery .ag-stage { font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #3fa9f5; }
body.artemis-page .art-gallery .ag-date { font-size: .78rem; font-weight: 600; opacity: .85; }
body.artemis-page .art-gallery .ag-cap { display: block; }
body.artemis-page .art-gallery .ag-credit { display: block; margin-top: .25rem; font-size: .7rem; opacity: .7; overflow-wrap: anywhere; }
@media (max-width: 900px) { body.artemis-page .art-gallery .ag-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { body.artemis-page .art-gallery .ag-grid { grid-template-columns: 1fr; } }
/* ARTEMIS-GALLERY:END */
/* BLUF1019:START (generated by scripts/batch-1019-content.py) */
body.toc-sub .sol-bluf-box{margin:1rem auto .5rem;max-width:960px;padding:0 1rem}
body.toc-sub .sol-bluf-box .impact-box{max-width:880px;margin:0 auto;padding:1.1rem 1.4rem}
body.toc-sub .sol-bluf-box .impact-box p{margin:0 0 .55rem;line-height:1.5}
body.toc-sub .sol-bluf-box .bluf-hook{font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.3}
body.toc-sub .sol-bluf-box .bluf-wow{font-size:1.05rem}
body.toc-sub .sol-bluf-box .impact-box p.fact-source{margin:0;font-size:.85rem}
@media (max-width:600px){body.toc-sub .sol-bluf-box .impact-box{padding:.9rem 1rem}}
/* BLUF1019:END *//* PROMO-STILL:START (Oct 21: promo video English-only; translated sites show one still) */
.sp-promo-still{max-width:1100px;margin:1.5rem auto;padding:0 1rem}
.sp-promo-still figure{margin:0}
.sp-promo-still img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:16px}
.sp-promo-still figcaption{margin:.5rem auto 0;max-width:820px;text-align:center;font-weight:600}
.sp-promo-still .photo-credit{font-weight:400;opacity:.8;margin-inline-start:.4rem}
/* PROMO-STILL:END */
/* DT:START */
.dt-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem auto;max-width:1200px;padding:.6rem 1rem}
.dt-bar h2{font-size:1rem;margin:0 .4rem 0 0}.dt-note{flex-basis:100%;font-size:.82rem;opacity:.8;margin:0}
.dt-btn{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:inherit !important;padding:.4rem .85rem;font:inherit;font-size:.9rem;cursor:pointer;text-decoration:none !important;min-height:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.dt-mini{display:inline-flex;gap:.4rem;margin-top:.4rem}.dt-mini .dt-btn{font-size:.78rem;padding:.2rem .6rem;min-height:32px}
.dt-out{flex-basis:100%;margin-top:.4rem}.dt-out textarea{width:100%;min-height:5.5em;font:inherit;font-size:.82rem;border-radius:10px;padding:.5rem;background:rgba(0,0,0,.25);color:inherit;border:1px solid rgba(255,255,255,.25)}
@media print{.dt-bar,.dt-mini{display:none}}
/* DT:END */
/* STD:START */
.std-box{margin:1rem 0;padding:.9rem 1rem;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.05)}
.std-box h3{margin:.1rem 0 .3rem}.std-note{font-size:.85rem;opacity:.85;margin:.2rem 0 .5rem}.std-list{margin:0;padding-inline-start:1.1rem}.std-list li{margin:.35rem 0}.std-band{opacity:.8;font-size:.9em}
.t-browse{margin:1rem auto 1.4rem;padding-inline:1.3rem;max-width:1200px}.t-browse fieldset{border:0;padding:0;margin:.4rem 0;display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.t-browse legend{font-weight:700;margin-inline-end:.4rem;float:inline-start}
.t-chip{border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:inherit;padding:.4rem .85rem;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.t-chip[aria-pressed=true]{background:#0b6fa4;border-color:#7fd0ff;color:#fff}.t-codes{display:block;font-size:.8rem;opacity:.8}.t-none{font-style:italic}
.lb-std table{width:100%;border-collapse:collapse}.lb-std th,.lb-std td{border-bottom:1px solid rgba(255,255,255,.15);padding:.45rem;text-align:start;vertical-align:top}
@media print{.t-browse{display:none}}
/* STD:END */
/* SD:START */
.sol-dir{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:flex-end;margin:.8rem auto 1rem;max-width:1200px;padding:0 1rem}
.sol-dir label{display:flex;flex-direction:column;font-size:.85rem;gap:.2rem;font-weight:600}
.sol-dir select,.sol-dir input{font:inherit;font-size:1rem;min-height:44px;border-radius:12px;padding:.35rem .7rem;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:inherit}
.sol-dir select option{color:#003755}.sol-dir input{min-width:12rem}.sd-reset{min-height:44px;border-radius:999px;padding:.35rem 1rem;font:inherit;border:1px solid rgba(255,255,255,.35);background:transparent;color:inherit;cursor:pointer}
.sd-meta{flex-basis:100%;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.9rem}.sd-lang a{margin-inline-end:.5rem}
.sol-card.sd-off,.sol-hub.sd-empty{display:none !important}
body.sd-on .sp-collapsed .grid>.sol-card:not(.sd-off){display:block !important}body.sd-on .sp-more{display:none}
/* SD:END */

/* UX-OCT15:START */
.nav-links{gap:1.1rem}
.nav-group details{position:relative}
.nav-group summary{list-style:none;cursor:pointer;color:#fff;font-weight:600;font-size:1.05rem;padding:.3rem 0;white-space:nowrap}
html.dark nav.scrolled .nav-group summary{color:#fff}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::after{content:" ▾";font-size:.8em}
nav.scrolled .nav-group summary{color:#003755}
.nav-group.is-current summary{text-decoration:underline;text-underline-offset:6px}
.nav-sub{position:absolute;top:100%;inset-inline-start:0;min-width:230px;background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:.5rem;list-style:none;margin:.4rem 0 0;z-index:1200}
.nav-sub a{display:block;color:#003755 !important;font-size:1rem;padding:.55rem .7rem;border-radius:8px}
.nav-sub a:hover,.nav-sub a[aria-current]{background:#e6f5fc;color:#0b3a53 !important}
.nav-help a{background:#2e9e4f !important;color:#fff !important;border:0 !important;padding:.5rem .9rem;border-radius:999px;white-space:nowrap}
.sticky-help{position:fixed;inset-inline-end:16px;bottom:16px;z-index:1100;background:#2e9e4f;color:#fff;font-weight:700;padding:.75rem 1.1rem;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.25);text-decoration:none}
.sticky-help:hover{background:#23803f;color:#fff}
@media (min-width:901px){nav .nav-container{padding-inline:clamp(10px,1.6vw,40px) !important;max-width:1500px !important}nav .brand-word{font-size:clamp(.72rem,1vw,1.05rem) !important;white-space:nowrap;flex:none;margin-inline-end:clamp(.4rem,1vw,1rem)}.nav-links{gap:clamp(.3rem,.9vw,.9rem) !important;flex-wrap:nowrap}.nav-group summary{font-size:clamp(.7rem,1vw,1.02rem) !important}nav .nav-links .lang-switch,nav .nav-links .lang-switch *{font-size:clamp(.62rem,.8vw,.88rem) !important;white-space:nowrap;letter-spacing:0}nav .nav-links .lang-switch{gap:.15rem}nav .nav-links .nav-help a{font-size:clamp(.68rem,.9vw,.98rem) !important;padding:.35em .75em !important}}
@media (min-width:901px) and (max-width:1100px){nav .nav-sub{position:absolute !important;min-width:250px !important;padding:.5rem !important;box-shadow:0 10px 30px rgba(0,0,0,.35) !important}nav .nav-sub a{font-size:.95rem !important;white-space:normal}}
html.dark nav.open .nav-group summary,html.dark nav .nav-links .nav-group summary{color:#fff}
@media (min-width:901px) and (max-width:1000px){nav .nav-links{gap:.22rem !important}nav .nav-group summary{font-size:.64rem !important}nav .brand-word{font-size:.66rem !important;margin-inline-end:.3rem}nav .nav-links .lang-switch,nav .nav-links .lang-switch *{font-size:.58rem !important}nav .nav-links .nav-help a{font-size:.62rem !important;padding:.3em .55em !important}}
@media (max-width:1100px){.nav-sub{position:static;box-shadow:none;padding:0 0 0 .8rem;min-width:0}
 nav.open .nav-group summary{color:#003755;padding:.6rem 0;font-size:1.1rem}}
html.dark .nav-sub{background:#0f1b26}@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){@media (min-width:1101px){html.dark .nav-sub{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.03)),rgba(15,27,38,.82);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 30px rgba(0,0,0,.35)}}} html.dark .nav-sub a{color:#e8eef5 !important}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.2rem 0 .6rem}
.hero-ctas .btn{font-size:1.1rem;padding:.8rem 1.4rem}
.hero-cta{display:inline-flex;align-items:center;gap:.45rem}/* Liquid Glass: translucent, page background shows through; solid fallback without backdrop-filter */
.hero-ctas .hero-cta,.wm-cta .btn,.nav-help a,.sticky-help{border-radius:999px !important;color:#fff !important;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.06)),var(--lg-tint) !important;border:1px solid rgba(255,255,255,.35) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(255,255,255,.08),0 6px 20px rgba(0,0,0,.28) !important;-webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);text-shadow:0 1px 2px rgba(0,0,0,.45)}
.hero-ctas .hero-cta:hover,.wm-cta .btn:hover,.nav-help a:hover,.sticky-help:hover{background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,.1)),var(--lg-tint) !important}
.hero-ctas .hero-cta:focus-visible,.wm-cta .btn:focus-visible,.nav-help a:focus-visible,.sticky-help:focus-visible{outline:3px solid #fff;outline-offset:3px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.hero-ctas .hero-cta,.wm-cta .btn,.nav-help a,.sticky-help{background:var(--lg-solid) !important}}
body{--lg-tint:rgba(12,28,56,.55);--lg-solid:#1d3f73}body[data-glass-tint=water]{--lg-tint:rgba(0,95,150,.55);--lg-solid:#005f96}body[data-glass-tint=land]{--lg-tint:rgba(38,110,42,.55);--lg-solid:#26702a}body[data-glass-tint=space]{--lg-tint:rgba(74,58,168,.55);--lg-solid:#4a3aa8}body[data-glass-tint=help]{--lg-tint:rgba(30,110,70,.55);--lg-solid:#1e6e46}
/* Ways to Help: Donate / Join buttons in Liquid Glass (Donate = page tint, Join = teal tint) */
.help-btns .help-btn,.help-table .help-btn,.help-actions .help-btn,a.help-btn{border-radius:999px !important;color:#fff !important;text-decoration:none !important;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.06)),var(--lg-tint) !important;border:1px solid rgba(255,255,255,.35) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 4px 14px rgba(0,0,0,.25) !important;-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);text-shadow:0 1px 2px rgba(0,0,0,.45)}
a.help-btn.help-btn-join{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.06)),rgba(0,120,105,.6) !important}
a.help-btn:hover{filter:brightness(1.15)}a.help-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){a.help-btn{background:var(--lg-solid) !important}a.help-btn.help-btn-join{background:#00695c !important}}
.hero-cta2{background:transparent !important;border:2px solid #fff;color:#fff !important}
.impact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:1100px;margin:1.5rem auto;padding:1.2rem;background:#003755;color:#fff;border-radius:16px;text-align:center}
.imp-num{display:block;font-size:2.4rem;font-weight:800;color:#7fd3ff}
.imp-label{font-size:.95rem}
.domain{max-width:1150px;margin:2.5rem auto;padding:0 1rem}
.dom-head h2{margin:0 0 .2rem;font-size:2rem}
.domain-water .dom-head h2{color:#0077b6}.domain-land .dom-head h2{color:#2e7d32}.domain-space .dom-head h2{color:#4a3aa8}
.dom-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 1rem}
.dom-chip{border:1px solid #9cc;border-radius:999px;padding:.35rem .8rem;text-decoration:none;font-size:.95rem}
.dom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.dom-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.dom-card img{width:100%;height:190px;object-fit:cover;display:block}
.dom-card h3{font-size:1.15rem;margin:.8rem 1rem .3rem}.dom-card p{margin:0 1rem 1rem;font-size:.97rem}
html.dark .dom-card{background:#13232f}
.dom-all{text-align:center;margin-top:1.2rem}
.news-briefs{max-width:1000px;margin:2.5rem auto;padding:0 1rem}
.news-list{list-style:none;padding:0}.news-list li{padding:.7rem 0;border-bottom:1px solid #dde}
.news-list time{font-weight:700;color:#0077b6;margin-inline-end:.5rem}
@media (max-width:900px){.dom-grid{grid-template-columns:1fr 1fr}.impact-strip{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.dom-grid{grid-template-columns:1fr}}
.sol-filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:1rem 0}
.sol-filters button{border:1px solid #0077b6;background:#fff;color:#0077b6;border-radius:999px;padding:.45rem .9rem;font-weight:600;cursor:pointer;min-height:44px}
.sol-filters button[aria-pressed="true"]{background:#0077b6;color:#fff}
.sol-filters select{min-height:44px;border-radius:10px;padding:0 .6rem;font-size:1rem}
.sp-more{display:block;margin:1rem auto 0;min-height:44px;padding:.5rem 1.2rem;border-radius:999px;border:0;background:#003755;color:#fff;font-weight:600;cursor:pointer}
/* Oct 17 quick fixes (iPad landscape review): side margins, Real Solutions row, floating buttons above the language sheet */
#partner-teaser.five-ws,.learn-link{box-sizing:border-box;max-width:1200px;margin-inline:auto!important;padding-inline:clamp(1rem,4vw,1.5rem)!important}
.learn-link{padding-block:1.4rem!important}
@media (min-width:601px){body.toc-home #solutions.card-band>.grid{display:flex;flex-wrap:wrap;justify-content:center}
body.toc-home #solutions.card-band>.grid>.card{flex:1 1 200px;max-width:min(100%,360px)}}
html.sp-has-lb .sticky-help{bottom:calc(var(--sp-lb-h,0px) + 12px)!important}
/* Oct 18 (video capture): floating Help/Donate and Superpowers buttons covered the 'Where' card / Orbit Lab edge. While one sits over a card,
   control or media it slides out of the way (fab-off, set in the JS below) and comes back over clear space; keyboard focus always shows it. */
.sticky-help,.spow-b{transition:transform .25s ease,opacity .25s ease}
.sticky-help.fab-off:not(:focus-visible),.spow-b.fab-off:not(:focus-visible){transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.sticky-help,.spow-b{transition:none}}
main{padding-bottom:max(var(--fab-pad,0px),0px)}html.sp-fab main{--fab-pad:72px}
#roman-latest img{display:block;width:100%;height:auto;aspect-ratio:640/427;object-fit:cover;background:#0d2238;border-radius:10px}
.news-list li{border-bottom-color:rgba(127,127,127,.35)}.news-list time{color:#4fc3ff}
/* UX-OCT15:END */
/* LG-HARDEN:START */
/* Flat icons: per-page tint, consistent size, no blur (overrides extras.css/edu.css glass) */
.aud-icon,.eli10-icon,.share-btn,.nav-toggle,.edu-bubble.glass,.t-chip,.dt-btn{background:var(--lg-solid,#1d3f73) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;color:#fff !important;border:1px solid rgba(255,255,255,.28) !important;box-shadow:0 2px 6px rgba(0,0,0,.18) !important;background-image:none !important}
.aud-icon,.eli10-icon{width:2.75rem !important;height:2.75rem !important;border-radius:50% !important;font-size:1.2rem !important}
.partner-cta .btn-nav::before{width:2rem !important;height:2rem !important;border-radius:50% !important;font-size:1rem !important;background:rgba(255,255,255,.18) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;border:1px solid rgba(255,255,255,.35) !important;box-shadow:none !important;color:#fff !important}
.nav-toggle{border-radius:10px !important;min-width:44px;min-height:44px}.nav-toggle span,nav.scrolled .nav-toggle span{background:#fff !important}
.t-chip,.dt-btn{border-radius:999px !important;min-height:40px}
.t-chip[aria-pressed=true]{background:#fff !important;color:var(--lg-solid,#1d3f73) !important;border-color:#fff !important;font-weight:700}
.edu-bubble.glass{border-radius:18px !important}
.edu-bubble.glass .lb-small{color:rgba(255,255,255,.9) !important}
.share-btn:hover,.share-btn:focus-visible,.dt-btn:hover,.dt-btn:focus-visible,.t-chip:hover,.edu-bubble.glass:hover{filter:brightness(1.12)}
.sx-slot,.az-nav,#actions .mission-block{-webkit-backdrop-filter:none !important;backdrop-filter:none !important}
html.dark .az-nav{background:rgba(11,18,32,.95) !important}.az-nav{background:rgba(255,255,255,.96) !important}
/* No backdrop-filter support: make glass surfaces opaque enough to read */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 body.toc-home nav,body.toc-sub nav{background:rgba(0,20,40,.92) !important}
 body.toc-home nav.scrolled,body.toc-sub nav.scrolled{background:#fff !important}
 .nav-sub,.dropdown-menu{background:#fff !important}html.dark .nav-sub{background:#0f1b26 !important}
 .hero-ctas .hero-cta,.wm-cta .btn,.nav-help a,.sticky-help,a.help-btn{background:var(--lg-solid,#1d3f73) !important}
}
/* User asked for less transparency, or more contrast: drop glass everywhere, solid colours */
@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){
 body.toc-home nav,body.toc-sub nav,body.toc-home nav.scrolled,body.toc-sub nav.scrolled,.nav-sub,.dropdown-menu,body.toc-home .nav-links,body.toc-sub .nav-links,.hero-ctas .hero-cta,.wm-cta .btn,.nav-help a,.sticky-help,a.help-btn,.glass,#actions .mission-block{-webkit-backdrop-filter:none !important;backdrop-filter:none !important}
 body.toc-home nav,body.toc-sub nav{background:#001428 !important}
 body.toc-home nav.scrolled,body.toc-sub nav.scrolled{background:#fff !important}
 .nav-sub,.dropdown-menu{background:#fff !important}html.dark .nav-sub{background:#0f1b26 !important}
 .hero-ctas .hero-cta,.wm-cta .btn,.nav-help a,.sticky-help,a.help-btn{background:var(--lg-solid,#1d3f73) !important;background-image:none !important;color:#fff !important}
 .glass,#actions .mission-block{background:var(--glass-solid,#003755) !important;background-image:none !important}
}
@media (prefers-contrast:more){
 .hero-ctas .hero-cta,.wm-cta .btn,.nav-help a,.sticky-help,a.help-btn,.aud-icon,.eli10-icon,.share-btn,.nav-toggle,.edu-bubble.glass,.t-chip,.dt-btn{border:2px solid #fff !important;box-shadow:none !important}
 .nav-sub,.dropdown-menu{border:2px solid currentColor !important}
}
@media (forced-colors:active){.hero-ctas .hero-cta,.wm-cta .btn,.nav-help a,.sticky-help,a.help-btn,.aud-icon,.eli10-icon,.share-btn,.nav-toggle,.edu-bubble.glass,.t-chip,.dt-btn{border:1px solid ButtonText !important;forced-color-adjust:auto}}
/* LG-HARDEN:END */
/* NEWS:START */
.new-strip{max-width:1100px;margin:1.6rem auto;padding:1rem 1.2rem;border-radius:18px;border:1px solid rgba(143,211,255,.45);background:rgba(0,60,95,.35)}.new-strip h2{margin:.1rem 0 .3rem;font-size:1.3rem}.ns-sum{margin:.2rem 0 .7rem}.ns-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:.5rem .9rem}.ns-list li{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .7rem;border-radius:12px;background:rgba(255,255,255,.06)}.ns-list time{font-size:.8rem;opacity:.85;font-weight:700}.ns-all{margin:.7rem 0 0;font-weight:700}.ns-news{margin:.8rem 0 0}.ns-news h3{font-size:1.05rem;margin:0 0 .3rem}.ns-news p{margin:.2rem 0}.ns-news time{font-weight:700;margin-inline-end:.3rem}.ns-rel{font-size:.92rem}html:not(.dark) body:not(.toc-home):not(.toc-sub) .new-strip{background:#eef7fc;color:#10202c}.cl-wrap{max-width:900px;margin:0 auto;padding:1rem 1.25rem 2rem}.cl-day{margin:1.4rem 0}.cl-day h2{font-size:1.25rem;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:.3rem}.cl-day h3{font-size:1rem;margin:.6rem 0 .3rem}
/* NEWS:END */
/* SPNAV:START */
/* Header nav v2 (scripts/build-nav.py). Colours: site navy/dark tokens (#003755, #071018, #0f1b26), accent #009cde / #8fd3ff; Montserrat. */
/* Oct 16: Learn 'On this page' TOC (.lw nav) was caught by the old body.toc-sub nav{position:fixed} rule and covered the hero */html body .lw nav:not(#topnav){position:static !important;background:none;box-shadow:none;z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;height:auto}html body nav#topnav{position:fixed !important;top:0;left:0;right:0;z-index:1000;height:auto !important;background:transparent !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;box-shadow:none !important;border:0 !important;transition:background-color .3s ease,box-shadow .3s ease !important}
html body nav#topnav::before{content:"";position:absolute;inset:0 0 -28px 0;background:linear-gradient(180deg,rgba(0,20,40,.72),rgba(0,20,40,.35) 70%,rgba(0,20,40,0));pointer-events:none;transition:opacity .3s ease;z-index:-1}
html body nav#topnav.spn-solid,html body nav#topnav.spn-open{background:rgba(7,16,24,.96) !important;box-shadow:0 6px 24px rgba(0,0,0,.35) !important}
html body nav#topnav.spn-open{z-index:1200 !important}
html body nav#topnav.spn-solid::before,html body nav#topnav.spn-open::before{opacity:0}
#topnav .spn{max-width:1280px;margin:0 auto;padding:8px clamp(12px,2.2vw,32px);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:"Montserrat","Segoe UI",sans-serif;transition:padding .3s ease}
#topnav.spn-solid .spn{padding-top:2px;padding-bottom:2px}
#topnav .spn ul{list-style:none;margin:0;padding:0}
#topnav .spn a{text-decoration:none}
#topnav .spn-brand{color:#fff;font-weight:700;font-size:1.125rem;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;flex:none}
#topnav .spn-brand:hover{color:#8fd3ff}
#topnav .spn-toggle{display:none}
/* Oct 16 (t886, larger nav font): desktop = brand + utility row on top, the main menu gets the full width on row 2
   (the panel is display:contents, so util/main become grid items). Same look, room for FR/IT/ES labels at 15px. */
@media (min-width:1140px){#topnav .spn{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1rem;row-gap:0}#topnav .spn-panel{display:contents}#topnav .spn-brand{grid-column:1;grid-row:1;min-height:32px}#topnav .spn-util{grid-column:2;grid-row:1;justify-self:end}#topnav .spn-main{grid-column:1/-1;grid-row:2;justify-self:end}}
@media (min-width:1140px) and (pointer:coarse){#topnav .spn-brand{min-height:44px}}
#topnav .spn-panel{display:flex;flex-direction:column;align-items:flex-end}
#topnav .spn-util{display:flex;align-items:center;gap:0 1.1rem;font-size:14px;font-weight:600}
#topnav .spn-util a{color:#e8eef5;display:inline-flex;align-items:center;gap:.35rem;min-height:32px;white-space:nowrap}
#topnav .spn-util a:hover{color:#8fd3ff}
#topnav .spn-util a[aria-current]{color:#8fd3ff}
/* Oct 16 (t886) language slide switches: on = green, thumb at the inline end (right in LTR, left in Arabic/RTL) */
#topnav .lang-switch{display:flex;align-items:center;padding:0}
#topnav .spn-lt{display:flex;align-items:center;gap:0 .15rem}
#topnav .spn-util a.spn-ls{position:relative;display:inline-flex;align-items:center;gap:.4rem;min-width:44px;min-height:32px;padding:0 .3rem;box-sizing:border-box;border-radius:999px;color:#c9d4df;font-size:13px;font-weight:700;letter-spacing:.03em;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
#topnav .spn-ls-t{--spn-x:0px;position:relative;flex:none;width:36px;height:20px;border-radius:999px;background:#5b6774;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);transition:background-color .2s ease}
#topnav .spn-ls-k{position:absolute;top:2px;inset-inline-start:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.45);transform:translateX(var(--spn-x));transition:transform .2s ease}
#topnav .spn-ls[aria-checked=true] .spn-ls-t{background:#1fa64a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
#topnav .spn-ls[aria-checked=true] .spn-ls-k{--spn-x:16px}
html[dir=rtl] #topnav .spn-ls-k{transform:translateX(calc(-1 * var(--spn-x)))}
#topnav .spn-ls[aria-checked=true]{color:#fff}
#topnav .spn-ls.spn-drag .spn-ls-k,#topnav .spn-ls.spn-drag .spn-ls-t{transition:none}
#topnav .spn-ls.spn-drag{cursor:grabbing}
#topnav .spn-ls.spn-drag .spn-ls-t{background:#5b6774}
#topnav .spn-ls.spn-drag.spn-half .spn-ls-t{background:#1fa64a}
#topnav .spn-ls-n{display:none}
#topnav .spn-ls:hover{color:#8fd3ff}
#topnav .spn-ls:hover .spn-ls-t{box-shadow:inset 0 0 0 1px #8fd3ff}
html body #topnav a.spn-ls:focus-visible{outline:3px solid #8fd3ff !important;outline-offset:1px}
#topnav .spn-main{display:flex;align-items:center;gap:.15rem}
#topnav .spn-dd{position:relative}
#topnav .spn-trig{appearance:none;background:transparent;border:0;border-radius:6px;color:#fff;font:700 15px/1 "Montserrat","Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.03em;min-height:44px;padding:0 .6rem;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;white-space:nowrap;transition:background-color .2s ease,color .2s ease}
#topnav .spn-chev{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .2s ease}
#topnav .spn-trig:hover{color:#8fd3ff}
#topnav a.spn-trig{text-decoration:none}
#topnav .spn-dd.is-current>.spn-trig{box-shadow:inset 0 -2px 0 #009cde}
#topnav .spn-dd.is-open>.spn-trig{background:#8fd3ff;color:#071018;box-shadow:none}
#topnav .spn-dd.is-open .spn-chev{transform:rotate(180deg)}
#topnav .spn-sub{position:absolute;top:100%;inset-inline-start:0;min-width:240px;margin-top:6px !important;padding:4px 0 !important;background:#0f1b26;border:1px solid rgba(255,255,255,.14);border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;z-index:5}
#topnav .spn-dd:nth-last-child(-n+3) .spn-sub{inset-inline-start:auto;inset-inline-end:0}
#topnav .spn-dd.is-open .spn-sub{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .18s ease,visibility 0s}
#topnav .spn-sub li+li{border-top:1px solid rgba(255,255,255,.08)}
#topnav .spn-sub a{display:flex;align-items:center;min-height:44px;padding:0 1rem;color:#e8eef5;font-size:16px;font-weight:500;white-space:nowrap}
#topnav .spn-sub a:hover{background:rgba(0,156,222,.2);color:#fff}
#topnav .spn-sub a[aria-current]{color:#8fd3ff;font-weight:700}
#topnav .spn-cta{margin-inline-start:.6rem}
html body #topnav .spn-cta a{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem !important;font:700 15px/1 "Montserrat","Segoe UI",sans-serif !important;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
#topnav a:focus-visible,#topnav button:focus-visible{outline:2px solid #8fd3ff !important;outline-offset:2px}
@media (pointer:coarse){#topnav .spn-util a,#topnav .spn-util a.spn-ls{min-height:44px}}
@media (min-width:1140px) and (max-width:1279px){#topnav .spn-trig{padding:0 .5rem;font-size:14px;letter-spacing:.02em}#topnav .spn-brand{font-size:1rem}html body #topnav .spn-cta a{padding:0 .8rem !important;font-size:14px !important}#topnav .spn-util{gap:0 .8rem;font-size:13px}}
@media (max-width:1139px){
 #topnav .spn{padding-top:6px;padding-bottom:6px}
 #topnav .spn-toggle{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;background:transparent;border:1px solid rgba(255,255,255,.6);border-radius:10px;cursor:pointer}
 #topnav .spn-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
 #topnav.spn-open .spn-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 #topnav.spn-open .spn-toggle span:nth-child(2){opacity:0}
 #topnav.spn-open .spn-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 #topnav .spn-panel{position:absolute;top:100%;left:0;right:0;align-items:stretch;padding:.5rem clamp(16px,4vw,32px) 1.2rem;background:#071018;box-shadow:0 14px 28px rgba(0,0,0,.4);max-height:calc(100vh - 60px);max-height:calc(100dvh - 60px);overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
 #topnav.spn-open .spn-panel{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .22s ease,visibility 0s}
 #topnav .spn-util{flex-direction:column;align-items:stretch;font-size:17px;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:.4rem !important;margin-bottom:.3rem !important}
 #topnav .spn-util a{min-height:44px}
 #topnav .spn-lt{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.25rem .75rem;width:100%;padding:.25rem 0}
 #topnav .spn-util a.spn-ls{min-height:44px;font-size:17px;font-weight:600;letter-spacing:0;gap:.7rem;justify-content:flex-start}
 #topnav .spn-ls-c{display:none}
 #topnav .spn-ls-n{display:inline}
 #topnav .spn-main{flex-direction:column;align-items:stretch;gap:0}
 #topnav .spn-main>li+li{border-top:1px solid rgba(255,255,255,.08)}
 #topnav .spn-trig{width:100%;justify-content:space-between;min-height:48px;padding:0 .25rem;font-size:16px;border-radius:0}
 #topnav .spn-dd.is-current>.spn-trig{box-shadow:none;color:#8fd3ff}
 #topnav .spn-dd.is-open>.spn-trig{background:transparent;color:#8fd3ff}
 #topnav .spn-sub,#topnav .spn-dd:nth-last-child(-n+3) .spn-sub{position:static;display:none;min-width:0;margin:0 0 .5rem !important;padding:0 !important;background:rgba(255,255,255,.04);border:0;border-radius:8px;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:none}
 #topnav .spn-dd.is-open .spn-sub{display:block}
 #topnav .spn-sub a{white-space:normal;padding:.4rem 1rem;font-size:17px}
 #topnav .spn-cta{margin:.8rem 0 0;border-top:0 !important}
 html body #topnav .spn-cta a{display:flex;justify-content:center;width:100%;min-height:48px;font-size:16px !important;box-sizing:border-box}
}
@media (prefers-reduced-motion:reduce){html body nav#topnav,#topnav *,#topnav::before{transition:none !important}}
@media (forced-colors:active){#topnav .spn-sub,#topnav .spn-panel{border:1px solid CanvasText}}
/* Oct 18 (video capture): the Roman 'On this page' chips (nav.roman-jump) were caught by the old body.toc-sub nav{position:fixed;top:0}
   rule and sat over the header. They now stick BELOW the header (--spn-h is the live header height, set in the JS below). Phone: one scrollable row. */
html body nav.roman-jump{position:sticky !important;top:var(--spn-h,64px) !important;left:auto;right:auto;z-index:900 !important;height:auto !important;max-width:none;margin:1rem 0 0;padding:.5rem clamp(12px,2.2vw,32px);background:rgba(7,16,24,.94) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;box-shadow:0 4px 14px rgba(0,0,0,.3) !important;border:0 !important;transition:none !important}
body.roman-page [id]{scroll-margin-top:calc(var(--spn-h,64px) + 76px)}
@media (max-width:760px){html body nav.roman-jump{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}html body nav.roman-jump a{flex:none;white-space:nowrap}}
/* Oct 19 (quality report #5): Italian nav items failed axe color-contrast when scanned before the hero image painted
   (light text over an undetermined background). Italian-only: the header gets the same dark backing it already uses once scrolled (.spn-solid), so the text is >=15:1, other locales unchanged. */
html[lang="it"] body nav#topnav{background:#071018 !important}
#topnav .spn-sub li.spn-child a{padding-inline-start:2.1rem;font-size:15px}
#topnav .spn-sub li.spn-child a::before{content:"\2192";opacity:.55;margin-inline-end:.45rem;font-size:13px}
html[dir=rtl] #topnav .spn-sub li.spn-child a::before{content:"\2190"}
@media (min-width:1140px){#topnav #spn-sol{max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain}}
/* SPNAV:END */
/* LANGBANNER:START */
.sp-lb{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:1001;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;padding:.5rem .75rem;pointer-events:none}
.sp-lb-in{pointer-events:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem;max-width:960px;width:100%;box-sizing:border-box;padding:.45rem .6rem .45rem 1rem;background:rgba(7,16,24,.96);color:#fff;border:1px solid rgba(143,211,255,.45);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.4);font:500 .95rem/1.35 "Montserrat","Segoe UI",system-ui,sans-serif;animation:sp-lb-in .35s ease-out both}
.sp-lb[dir=rtl] .sp-lb-in{padding:.45rem 1rem .45rem .6rem;font-family:"Noto Sans Arabic","Segoe UI",Tahoma,sans-serif}
.sp-lb[lang=he] .sp-lb-in{font-family:"Noto Sans Hebrew",Heebo,"Arial Hebrew",Arial,sans-serif}
.sp-lb-msg{margin:0;flex:1 1 220px}
.sp-lb-btns{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.sp-lb a.sp-lb-go,.sp-lb button{min-height:44px;min-width:44px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding:0 1rem;border-radius:999px;font:700 .9rem/1 inherit;font-family:inherit;cursor:pointer;text-decoration:none}
.sp-lb a.sp-lb-go{background:#009cde;color:#fff;border:2px solid #009cde}
.sp-lb a.sp-lb-go:hover{background:#0083bb;border-color:#0083bb}
.sp-lb .sp-lb-stay{background:transparent;color:#8fd3ff;border:2px solid rgba(143,211,255,.6)}
.sp-lb .sp-lb-stay:hover{background:rgba(143,211,255,.12)}
.sp-lb .sp-lb-x{background:transparent;color:#cfe9ff;border:0;padding:0;font-size:1.4rem}
.sp-lb a:focus-visible,.sp-lb button:focus-visible{outline:3px solid #ffd54a;outline-offset:2px}
@keyframes sp-lb-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.sp-lb-in{animation:none}}
@media print{.sp-lb{display:none}}
/* LANGBANNER:END */
/* ANIMBAN:START */
html body.toc-sub[class] .page-hero[class].pg-anim{height:auto!important;min-height:max(34vh,260px)!important;padding:calc(var(--nav-height,88px) + 1.5rem) 1.25rem 3.4rem!important;box-sizing:border-box}@media (min-width:761px){html body.toc-sub[class] .page-hero[class].pg-anim{padding-bottom:2rem!important}}html body.toc-sub[class] .page-hero[class].pg-anim h1{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 .5rem}html body.toc-sub[class] .page-hero[class].pg-anim.pg-long h1{font-size:clamp(1.5rem,2.9vw,2.4rem)}html body.toc-sub[class] .page-hero[class].pg-anim.pg-xlong h1{font-size:clamp(1.25rem,2vw,1.8rem)}html body.toc-sub[class] .page-hero[class].pg-anim h1{text-wrap:balance}html body.toc-sub[class] .page-hero[class].pg-anim .page-hero-content p{max-width:56rem;margin-left:auto;margin-right:auto;text-wrap:balance}html body.toc-sub .page-hero.pg-anim[class]{background:#02060c!important;position:relative;overflow:hidden;isolation:isolate;contain:paint}html body.toc-sub .page-hero.pg-anim::after{background:linear-gradient(180deg,rgba(0,20,40,.38),rgba(0,20,40,.58))}html body.toc-sub .page-hero.pg-anim .page-hero-content{position:relative;z-index:1}html body.toc-sub .page-hero.pg-anim .page-hero-content p{animation:spb-in 1.1s .25s cubic-bezier(.2,.7,.2,1) both}html body.toc-sub .page-hero.pg-anim .hero-credit{z-index:2}@media (prefers-reduced-motion:reduce){html body.toc-sub .page-hero.pg-anim .page-hero-content p{animation:none!important}}.pg-anim .spx-slide{position:absolute;inset:0;overflow:hidden;z-index:0}.pg-anim .spx-slide .spb-media img{animation:none;transform-origin:50% 50%}.pg-anim .spx-slide:not(.spx-0),.pg-anim .spx-cred:not(.spx-c0){opacity:0}.pg-anim.spb-paused .spx-slide,.pg-anim.spb-paused .spx-slide img,.pg-anim.spb-paused .spx-cred{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.pg-anim .spx-slide,.pg-anim .spx-slide img,.pg-anim .spx-cred{animation:none!important}.pg-anim .spx-slide:not(.spx-0),.pg-anim .spx-cred:not(.spx-c0){display:none}.pg-anim .spx-cred.spx-c0{opacity:1!important}}@keyframes spx2z0{0%{transform:scale(1) translate3d(0,0,0)}60.000%{transform:scale(1.08) translate3d(-1.5%,-1%,0)}60.417%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1) translate3d(0,0,0)}}@keyframes spx2c0{0%,55.000%{opacity:1}55.083%,94.917%{opacity:0}95.000%,100%{opacity:1}}.pg-anim.spx-n2 .spx-0 img{animation:spx2z0 12s linear infinite}.pg-anim.spx-n2 .spx-c0{animation:spx2c0 12s linear infinite}@keyframes spx2f1{0%,50.000%{opacity:0}60.000%{opacity:1}90.000%{opacity:1}100%{opacity:0}}@keyframes spx2z1{0%,50.000%{transform:scale(1) translate3d(0,0,0)}100.000%,100%{transform:scale(1.08) translate3d(1.5%,-1%,0)}}@keyframes spx2c1{0%,54.917%{opacity:0}55.000%,95.000%{opacity:1}95.083%,100%{opacity:0}}.pg-anim.spx-n2 .spx-1{animation:spx2f1 12s linear infinite}.pg-anim.spx-n2 .spx-1 img{animation:spx2z1 12s linear infinite}.pg-anim.spx-n2 .spx-c1{animation:spx2c1 12s linear infinite}@keyframes spx3z0{0%{transform:scale(1) translate3d(0,0,0)}40.000%{transform:scale(1.08) translate3d(-1.5%,-1%,0)}40.278%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1) translate3d(0,0,0)}}@keyframes spx3c0{0%,36.667%{opacity:1}36.722%,96.611%{opacity:0}96.667%,100%{opacity:1}}.pg-anim.spx-n3 .spx-0 img{animation:spx3z0 18s linear infinite}.pg-anim.spx-n3 .spx-c0{animation:spx3c0 18s linear infinite}@keyframes spx3f1{0%,33.333%{opacity:0}40.000%{opacity:1}73.333%{opacity:1}73.389%,100%{opacity:0}}@keyframes spx3z1{0%,33.333%{transform:scale(1) translate3d(0,0,0)}73.333%,100%{transform:scale(1.08) translate3d(1.5%,-1%,0)}}@keyframes spx3c1{0%,36.611%{opacity:0}36.667%,70.000%{opacity:1}70.056%,100%{opacity:0}}.pg-anim.spx-n3 .spx-1{animation:spx3f1 18s linear infinite}.pg-anim.spx-n3 .spx-1 img{animation:spx3z1 18s linear infinite}.pg-anim.spx-n3 .spx-c1{animation:spx3c1 18s linear infinite}@keyframes spx3f2{0%,66.667%{opacity:0}73.333%{opacity:1}93.333%{opacity:1}100%{opacity:0}}@keyframes spx3z2{0%,66.667%{transform:scale(1) translate3d(0,0,0)}100.000%,100%{transform:scale(1.08) translate3d(-1.5%,-1%,0)}}@keyframes spx3c2{0%,69.944%{opacity:0}70.000%,96.667%{opacity:1}96.722%,100%{opacity:0}}.pg-anim.spx-n3 .spx-2{animation:spx3f2 18s linear infinite}.pg-anim.spx-n3 .spx-2 img{animation:spx3z2 18s linear infinite}.pg-anim.spx-n3 .spx-c2{animation:spx3c2 18s linear infinite}@keyframes spx4z0{0%{transform:scale(1) translate3d(0,0,0)}30.000%{transform:scale(1.08) translate3d(-1.5%,-1%,0)}30.208%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1) translate3d(0,0,0)}}@keyframes spx4c0{0%,27.500%{opacity:1}27.542%,97.458%{opacity:0}97.500%,100%{opacity:1}}.pg-anim.spx-n4 .spx-0 img{animation:spx4z0 24s linear infinite}.pg-anim.spx-n4 .spx-c0{animation:spx4c0 24s linear infinite}@keyframes spx4f1{0%,25.000%{opacity:0}30.000%{opacity:1}55.000%{opacity:1}55.042%,100%{opacity:0}}@keyframes spx4z1{0%,25.000%{transform:scale(1) translate3d(0,0,0)}55.000%,100%{transform:scale(1.08) translate3d(1.5%,-1%,0)}}@keyframes spx4c1{0%,27.458%{opacity:0}27.500%,52.500%{opacity:1}52.542%,100%{opacity:0}}.pg-anim.spx-n4 .spx-1{animation:spx4f1 24s linear infinite}.pg-anim.spx-n4 .spx-1 img{animation:spx4z1 24s linear infinite}.pg-anim.spx-n4 .spx-c1{animation:spx4c1 24s linear infinite}@keyframes spx4f2{0%,50.000%{opacity:0}55.000%{opacity:1}80.000%{opacity:1}80.042%,100%{opacity:0}}@keyframes spx4z2{0%,50.000%{transform:scale(1) translate3d(0,0,0)}80.000%,100%{transform:scale(1.08) translate3d(-1.5%,-1%,0)}}@keyframes spx4c2{0%,52.458%{opacity:0}52.500%,77.500%{opacity:1}77.542%,100%{opacity:0}}.pg-anim.spx-n4 .spx-2{animation:spx4f2 24s linear infinite}.pg-anim.spx-n4 .spx-2 img{animation:spx4z2 24s linear infinite}.pg-anim.spx-n4 .spx-c2{animation:spx4c2 24s linear infinite}@keyframes spx4f3{0%,75.000%{opacity:0}80.000%{opacity:1}95.000%{opacity:1}100%{opacity:0}}@keyframes spx4z3{0%,75.000%{transform:scale(1) translate3d(0,0,0)}100.000%,100%{transform:scale(1.08) translate3d(1.5%,-1%,0)}}@keyframes spx4c3{0%,77.458%{opacity:0}77.500%,97.500%{opacity:1}97.542%,100%{opacity:0}}.pg-anim.spx-n4 .spx-3{animation:spx4f3 24s linear infinite}.pg-anim.spx-n4 .spx-3 img{animation:spx4z3 24s linear infinite}.pg-anim.spx-n4 .spx-c3{animation:spx4c3 24s linear infinite}@keyframes spx5z0{0%{transform:scale(1) translate3d(0,0,0)}24.000%{transform:scale(1.08) translate3d(-1.5%,-1%,0)}24.167%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1) translate3d(0,0,0)}}@keyframes spx5c0{0%,22.000%{opacity:1}22.033%,97.967%{opacity:0}98.000%,100%{opacity:1}}.pg-anim.spx-n5 .spx-0 img{animation:spx5z0 30s linear infinite}.pg-anim.spx-n5 .spx-c0{animation:spx5c0 30s linear infinite}@keyframes spx5f1{0%,20.000%{opacity:0}24.000%{opacity:1}44.000%{opacity:1}44.033%,100%{opacity:0}}@keyframes spx5z1{0%,20.000%{transform:scale(1) translate3d(0,0,0)}44.000%,100%{transform:scale(1.08) translate3d(1.5%,-1%,0)}}@keyframes spx5c1{0%,21.967%{opacity:0}22.000%,42.000%{opacity:1}42.033%,100%{opacity:0}}.pg-anim.spx-n5 .spx-1{animation:spx5f1 30s linear infinite}.pg-anim.spx-n5 .spx-1 img{animation:spx5z1 30s linear infinite}.pg-anim.spx-n5 .spx-c1{animation:spx5c1 30s linear infinite}@keyframes spx5f2{0%,40.000%{opacity:0}44.000%{opacity:1}64.000%{opacity:1}64.033%,100%{opacity:0}}@keyframes spx5z2{0%,40.000%{transform:scale(1) translate3d(0,0,0)}64.000%,100%{transform:scale(1.08) translate3d(-1.5%,-1%,0)}}@keyframes spx5c2{0%,41.967%{opacity:0}42.000%,62.000%{opacity:1}62.033%,100%{opacity:0}}.pg-anim.spx-n5 .spx-2{animation:spx5f2 30s linear infinite}.pg-anim.spx-n5 .spx-2 img{animation:spx5z2 30s linear infinite}.pg-anim.spx-n5 .spx-c2{animation:spx5c2 30s linear infinite}@keyframes spx5f3{0%,60.000%{opacity:0}64.000%{opacity:1}84.000%{opacity:1}84.033%,100%{opacity:0}}@keyframes spx5z3{0%,60.000%{transform:scale(1) translate3d(0,0,0)}84.000%,100%{transform:scale(1.08) translate3d(1.5%,-1%,0)}}@keyframes spx5c3{0%,61.967%{opacity:0}62.000%,82.000%{opacity:1}82.033%,100%{opacity:0}}.pg-anim.spx-n5 .spx-3{animation:spx5f3 30s linear infinite}.pg-anim.spx-n5 .spx-3 img{animation:spx5z3 30s linear infinite}.pg-anim.spx-n5 .spx-c3{animation:spx5c3 30s linear infinite}@keyframes spx5f4{0%,80.000%{opacity:0}84.000%{opacity:1}96.000%{opacity:1}100%{opacity:0}}@keyframes spx5z4{0%,80.000%{transform:scale(1) translate3d(0,0,0)}100.000%,100%{transform:scale(1.08) translate3d(-1.5%,-1%,0)}}@keyframes spx5c4{0%,81.967%{opacity:0}82.000%,98.000%{opacity:1}98.033%,100%{opacity:0}}.pg-anim.spx-n5 .spx-4{animation:spx5f4 30s linear infinite}.pg-anim.spx-n5 .spx-4 img{animation:spx5z4 30s linear infinite}.pg-anim.spx-n5 .spx-c4{animation:spx5c4 30s linear infinite}
/* ANIMBAN:END */
/* TIGHT-CARDS:START */
body:not(.pr-page):not(.artemis-page) :is(.card,.sol-card,.w-card,.rel-card,.tt-card,.pw-card,.sx-card,.aud-card,.myth-card,.dom-card,.ps-card,.sp-card,.cleanup-card,.sotw-card,.bp-card,.src-card,.dot-card)[class]{height:-webkit-fit-content;height:fit-content;min-height:0}body:not(.pr-page):not(.artemis-page) :is(.grid,.ws-grid,.tt-grid,.hub-cards,.myths,.dom-grid,.sb-grid,.comm-grid,.ps-grid,.mw-grid,.roman-facts)[class]{grid-auto-rows:auto}body:not(.pr-page):not(.artemis-page) :is(.card,.sol-card,.w-card,.rel-card,.tt-card,.pw-card,.sx-card,.aud-card,.myth-card,.dom-card,.ps-card,.sp-card,.cleanup-card,.sotw-card,.bp-card,.src-card,.dot-card)[class]>*{flex-grow:0}body:not(.pr-page):not(.artemis-page) :is(.card,.sol-card,.w-card,.rel-card,.tt-card,.pw-card,.sx-card,.aud-card,.myth-card,.dom-card,.ps-card,.sp-card,.cleanup-card,.sotw-card,.bp-card,.src-card,.dot-card)[class] :is(.sol-desc,.tt-body,.card-blurb){flex:none}body:not(.pr-page):not(.artemis-page) :is(.card,.sol-card,.w-card,.rel-card,.tt-card,.pw-card,.sx-card,.aud-card,.myth-card,.dom-card,.ps-card,.sp-card,.cleanup-card,.sotw-card,.bp-card,.src-card,.dot-card)[class]>:last-child{margin-bottom:0;padding-bottom:0}body:not(.pr-page):not(.artemis-page).toc-sub .card[class]{padding:14px 14px 15px}body:not(.pr-page):not(.artemis-page).toc-sub .card[class] h3{padding:10px 2px 2px;margin-bottom:4px}body:not(.pr-page):not(.artemis-page).toc-sub .card[class] :is(.sol-desc,.card-blurb,.sol-more,.photo-credit){padding-left:2px;padding-right:2px}body:not(.pr-page):not(.artemis-page).toc-sub .card[class] .sol-desc{margin-bottom:8px}body:not(.pr-page):not(.artemis-page).toc-sub .card[class] .card-blurb{padding-bottom:0}body:not(.pr-page):not(.artemis-page) .w-card[class]{padding:14px 16px}body:not(.pr-page):not(.artemis-page) .tt-card .tt-body[class]{padding:14px 16px 15px}body:not(.pr-page):not(.artemis-page) .tt-card .tt-body[class] h2{margin:.1rem 0 .45rem}body:not(.pr-page):not(.artemis-page) .tt-card .tt-body[class]>p{margin-bottom:.6rem}body:not(.pr-page):not(.artemis-page) .tt-card .tt-body[class]>:last-child{margin-bottom:0}body:not(.pr-page):not(.artemis-page).toc-home .card-band .card[class] .solution-list{padding-bottom:14px}body:not(.pr-page):not(.artemis-page) :is(.ltracks,.lchips,.warn-steps,.cx-out,.fc-regions,.pw-stats,.roman-facts,.sx-vids)[class]{align-items:start;grid-auto-rows:auto}body:not(.pr-page):not(.artemis-page) :is(.ltracks,.lchips,.warn-steps,.cx-out,.fc-regions,.pw-stats,.roman-facts,.sx-vids)[class]>*{height:auto;min-height:0}
/* TIGHT-CARDS:END */
/* HOME-TRIM:START (Oct 20 clutter fix #1) */
.home-find{max-width:1100px;margin:2rem auto;padding:0 1rem;text-align:center}
.home-find form{display:flex;gap:.5rem;justify-content:center;max-width:640px;margin:1rem auto}
.home-find input{flex:1;min-width:0;padding:.75rem 1rem;border-radius:999px;border:1px solid #9fb3c8;font:inherit}
.home-find button{padding:.75rem 1.25rem;border-radius:999px;border:0;background:#0b3d91;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.home-find{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;max-width:960px;margin:2rem auto .25rem}
.home-find>h2,.home-find>form,.home-find>.wm-cta{grid-column:1/-1}
.home-find>form{width:100%;margin:.5rem auto .25rem}
.home-find .hf-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-content:flex-start;margin:0;padding:1rem;border-radius:14px;border:1px solid rgba(127,160,200,.35);background:rgba(127,160,200,.08)}
.home-find .hf-row:nth-of-type(3){grid-column:1/-1}
.home-find .hf-lab{flex:0 0 100%;font-weight:800;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;padding-bottom:.45rem;border-bottom:1px solid rgba(127,160,200,.3)}
.home-find .dom-chip{min-height:44px;display:inline-flex;align-items:center}
.home-find>.wm-cta{margin:.5rem 0 0}
body.toc-home .home-find+#solutions.card-band,.home-find+#solutions.card-band{padding-top:1.25rem}
@media (max-width:640px){.home-find{grid-template-columns:1fr;gap:.75rem}.home-find .hf-row{padding:.85rem .6rem}}
.ns-more{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}
.home-join .newsletter-band{margin-top:1.5rem}
.solution-list li.sol-more-li{margin-top:.6rem}
.solution-list a.sol-more{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.35rem .9rem;border-radius:999px;border:1px dashed currentColor;font-size:.95rem}
.solution-list a.sol-more:focus-visible{outline:3px solid #0b3d91;outline-offset:2px}
.solution-list a.sol-more .sm-dots{font-weight:800}
/* HOME-TRIM:END */
/* LOGO:START */
/* Oct 20 logo v2 (scripts/build-logo.py): icon left of 'Home' (right in RTL), bleeds a little above/below the bar; negative margins keep the row height */
#topnav .spn-brand{gap:.55rem;overflow:visible;position:relative;z-index:2}
#topnav .spn-logo{display:block;flex:none;line-height:0}
#topnav .spn-logo img{display:block;width:100%;height:100%;filter:drop-shadow(0 2px 6px rgba(0,0,0,.55));transition:transform .25s ease}
#topnav .spn-brand:hover .spn-logo img{transform:scale(1.06) rotate(-4deg)}
@media (min-width:1140px){#topnav .spn-logo{width:64px;height:64px;margin:-16px 0}#topnav.spn-solid .spn-logo{width:52px;height:52px;margin:-10px 0}html[lang=fr] #topnav .spn-logo,html[lang=es] #topnav .spn-logo{width:44px;height:44px;margin:-6px 0}}
/* fr/es: the long main menu row reaches under the brand, so the icon stays in row 1 there */
@media (max-width:1139px){#topnav .spn-logo,#topnav.spn-solid .spn-logo{width:54px;height:54px;margin:-5px 0}#topnav .spn-brand{gap:.4rem;min-width:0}}
@media (max-width:380px){#topnav .spn-logo,#topnav.spn-solid .spn-logo{width:46px;height:46px;margin:-1px 0}#topnav .spn-brand{font-size:1rem}}
@media (prefers-reduced-motion:reduce){#topnav .spn-logo img{transition:none}#topnav .spn-brand:hover .spn-logo img{transform:none}}
.logo-credit{font-size:.75rem;opacity:.8;font-style:italic;margin:.4rem 0 0}
/* LOGO:END */
/* WOW:START (scripts/build-wow.py, Oct 17: first screen = the best content) */
html body.sol-page .sol-hero .sol-hero-title{font-size:clamp(1.5rem,3.2vw,2.2rem);margin:0 0 .4rem}
html .sol-intro{padding-top:1rem}html .sol-intro h1{font-size:clamp(1.4rem,2.6vw,2rem);margin:0 0 .4rem}
html .sol-intro .sol-filters{margin:.4rem 0;justify-content:center}
@media (min-width:700px){html .sol-jump ul{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:thin;padding-bottom:.3rem}html .sol-jump li{flex:0 0 auto}}
html .sol-hub>h2{margin-top:1rem}
html body[class] .page-hero[class].sol-hero,html body[class] .page-hero[class].af-hero,html body[class] .page-hero[class].hero-help,html body[class] .page-hero[class].hero-about{min-height:200px!important;padding:calc(var(--nav-height,88px) + .5rem) 1.25rem 1rem!important}
html body.toc-sub .page-hero.af-hero h1,html body.toc-sub .page-hero.hero-help h1,html body.toc-sub .page-hero.hero-about h1{font-size:clamp(1.6rem,3.4vw,2.4rem);margin-bottom:.3rem}
html body.toc-sub .page-hero.af-hero p.af-hero-credit{margin-top:.3rem}
/* WOW:END */
/* TOPTEN:START */
.top-ten-page main{padding:0}html body.sol-page.top-ten-page .tt-banner .spb-media img,html body.sol-page.top-ten-page .tt-banner .spb-video{object-position:50% 50%}html body.sol-page.top-ten-page .tt-banner::after{background:radial-gradient(62% 75% at 50% 50%,rgba(2,6,12,.5),rgba(2,6,12,.18) 70%,rgba(2,6,12,0) 100%)}body.sol-page .tt-card .image-container{position:relative}body.sol-page .tt-card .image-container img{width:100%;object-fit:cover;display:block}.tt-num{position:absolute;z-index:2;top:.55rem;left:.55rem;min-width:2.1rem;height:2.1rem;padding:0 .45rem;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;background:#009cde;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.45)}[dir=rtl] .tt-num{left:auto;right:.55rem}body.sol-page .tt-hub{padding-top:.4rem;padding-bottom:2.5rem}
/* TOPTEN:END */
/* SP-BANNER:START */
.sp-anim-banner{position:relative;isolation:isolate;min-height:min(62vh,560px);display:flex;align-items:flex-end;overflow:hidden;background:#02060c;contain:paint}.sp-anim-banner .spb-media,.sp-anim-banner .spb-media img{position:absolute;inset:0;width:100%;height:100%}.sp-anim-banner .spb-media img{object-fit:cover;object-position:50% 38%;transform:scale(1.06);transform-origin:50% 45%;will-change:transform;backface-visibility:hidden;animation:spb-drift 34s ease-in-out infinite alternate}@keyframes spb-drift{0%{transform:scale(1.06) translate3d(0,0,0)}100%{transform:scale(1.16) translate3d(-2.2%,-1.6%,0)}}.sp-anim-banner .spb-sweep{position:absolute;inset:-10% -30%;z-index:0;pointer-events:none;mix-blend-mode:screen;opacity:.0;background:radial-gradient(38% 22% at 50% 52%,rgba(255,196,120,.55),rgba(255,160,80,.18) 45%,transparent 70%),radial-gradient(30% 18% at 50% 36%,rgba(140,210,255,.35),transparent 70%);will-change:transform,opacity;animation:spb-sweep 16s ease-in-out infinite}@keyframes spb-sweep{0%{transform:translate3d(-28%,0,0);opacity:0}25%{opacity:.85}50%{transform:translate3d(0,0,0);opacity:1}75%{opacity:.85}100%{transform:translate3d(28%,0,0);opacity:0}}.sp-anim-banner::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(2,6,12,0) 35%,rgba(2,6,12,.55) 70%,rgba(2,6,12,.92) 100%)}.sp-anim-banner .spb-text{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:7rem 1.5rem 2.6rem;text-align:center;width:100%}.sp-anim-banner h1{margin:0;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.08;letter-spacing:-.01em;text-shadow:0 3px 18px rgba(0,0,0,.6);animation:spb-in 1.1s cubic-bezier(.2,.7,.2,1) both}.sp-anim-banner .spb-text p{margin:.8rem auto 0;max-width:640px;font-size:clamp(1rem,1.6vw,1.2rem);opacity:.95;animation:spb-in 1.1s .25s cubic-bezier(.2,.7,.2,1) both}@keyframes spb-in{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}.sp-anim-banner .spb-credit{position:absolute;z-index:1;right:.8rem;bottom:.45rem;font-size:.72rem;opacity:.75}[dir=rtl] .sp-anim-banner .spb-credit{right:auto;left:.8rem}@media (max-width:760px){.sp-anim-banner{min-height:52vh}}.sp-anim-banner .spb-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;transition:opacity 1.2s ease}.sp-anim-banner.is-playing .spb-video{opacity:1}.sp-anim-banner.has-video .spb-media img{animation:none;transform:none;will-change:auto}.sp-anim-banner .spb-credit span{unicode-bidi:isolate}.sp-anim-banner .spb-pause{position:absolute;z-index:2;left:.6rem;bottom:.4rem;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(2,6,12,.45);color:#fff;font-size:.8rem;line-height:1;cursor:pointer;display:none}.sp-anim-banner.is-playing .spb-pause,.sp-anim-banner .spb-pause[aria-pressed=true]{display:block}.sp-anim-banner .spb-pause:focus-visible{outline:2px solid #4da3ff;outline-offset:2px}[dir=rtl] .sp-anim-banner .spb-pause{left:auto;right:.6rem}.sp-anim-banner.has-pause .spb-pause{display:block}.sp-anim-banner.spb-paused .spb-media img,.sp-anim-banner.spb-paused .spb-sweep{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.sp-anim-banner .spb-video,.sp-anim-banner .spb-pause{display:none !important}}@media (prefers-reduced-motion:reduce){.sp-anim-banner .spb-media img,.sp-anim-banner .spb-sweep,.sp-anim-banner h1,.sp-anim-banner .spb-text p{animation:none !important}.sp-anim-banner .spb-sweep{display:none}}
/* SP-BANNER:END */
