:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #172c35;
  background: #f5f1e8;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  --navy: #0b2732;
  --ink: #172c35;
  --muted: #435f68;
  --paper: #f5f1e8;
  --warm-white: #fffdf8;
  --teal: #0b7580;
  --teal-dark: #075561;
  --blue: #78bac0;
  --gold: #79510a;
  --gold-light: #f2d18f;
  --line: rgba(15, 57, 68, 0.18);
  /* One width for every page, the same as the header and footer (October 11, 2026). */
  --content: 1320px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100vh; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
::selection { background: var(--gold-light); color: var(--navy); }

:focus-visible {
  outline: 3px solid #e0a83d;
  outline-offset: 4px;
  border-radius: 3px;
}

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

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
/* Journey to Earth's Center product page: the Explore Inside Earth explorer (styled by products-src/inside-earth/styles.js),
   then the page in the Shop's light style. */
.jp-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:6px 0 6px;font:700 clamp(1.8rem,3.2vw,2.6rem)/1.1 Inter,system-ui,sans-serif;color:#173944;letter-spacing:-.01em}
.jp-title span{font:600 12px/1.4 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#46625e}
.jp-lead{margin:0 0 16px;max-width:820px;font-size:1.08rem;color:#2f4950}
.jp-explorer{min-height:760px;border-radius:18px;background:#06111c}
.jp-loading{margin:0;padding:48px 24px;text-align:center;color:#c9d7e1}
.jp-classroom{margin-top:14px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr) minmax(260px,.9fr);gap:24px;align-items:center;padding:26px 28px;background:#f3efe6;border:1px solid var(--line);border-radius:14px}
.jp-classroom h2{margin:0;font:700 1.6rem/1.2 Inter,system-ui,sans-serif;color:#173944}
.jp-classroom>div>p{margin:8px 0 0;color:#46625e}
.jp-classroom ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.jp-classroom li{display:grid;justify-items:center;text-align:center;gap:6px}
.jp-classroom li+li{border-left:1px solid var(--line);padding-left:18px}
.jp-classroom svg{width:40px;height:40px;color:#173944}
.jp-classroom strong{font-size:1rem;color:#173944}
.jp-classroom li span{font-size:14px;color:#46625e}
.jp-buy{display:grid;gap:4px;padding:16px 18px;background:#fffdf8;border:1px solid var(--line);border-radius:12px}
.jp-amount{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;color:#46625e;font-size:14px}
.jp-amount strong{font:600 2rem/1 Inter,system-ui,sans-serif;color:#173944}
.jp-buy .sp-buy{width:100%;margin-top:8px;justify-content:center}
.jp-small{margin:6px 0 0;font-size:13px;color:#46625e}
.jp-pack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.jp-pack article{background:#fffdf8;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.jp-pack h3,.jp-sub{margin:0 0 6px;font:600 1.05rem/1.3 Inter,system-ui,sans-serif;color:#173944}
.jp-sub{margin-top:22px}
.jp-pack p{margin:0;font-size:15px;color:#2f4950}
.jp-steps{margin:8px 0 0;padding:0;list-style:none;counter-reset:step;display:grid;gap:10px}
.jp-steps li{counter-increment:step;display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;color:#2f4950}
.jp-steps li::before{content:counter(step);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#173944;color:#fff;font-weight:600}
.jp-steps strong{color:#173944}
@media (max-width:1100px){.jp-classroom{grid-template-columns:1fr}.jp-pack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.jp-classroom ul{grid-template-columns:1fr}.jp-classroom li+li{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:14px}.jp-pack{grid-template-columns:1fr}.jp-explorer{min-height:500px}}
/* Shop, product, collection, and venue pages (shop design research, September 28, 2026). */
.sp-page{padding-block:32px 72px}
.sp-header{max-width:720px;margin-bottom:18px}
.sp-header h1{font:500 clamp(2.2rem,4.4vw,3.6rem)/1.06 Georgia,serif;color:#173944;margin:10px 0 12px}
.sp-header p{font-size:1.1rem;line-height:1.6;margin:0 0 6px}
.sp-muted{color:#46625e;font-size:.95rem}
.sp-status{margin:14px 0 0;font-size:14px;color:#6a5431}
@media(max-width:560px){.sp-hero-copy h1{font-size:2.3rem}.sp-hero-copy>p{font-size:1rem}.sp-status{font-size:13px}}
/* Opening section: the headline beside the narrated film player. */
.sp-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center;margin-bottom:28px}
.sp-hero-copy h1{font:500 clamp(2.2rem,4.2vw,3.5rem)/1.05 Georgia,serif;color:#173944;margin:10px 0 14px}
.sp-hero-copy>p{font-size:1.1rem;line-height:1.6;color:#2d4549;margin:0}
.sp-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:22px}
.sp-hero-deal{font-weight:600;color:#0b5561}
.sp-uses button{font:inherit;font-size:14px;padding:8px 14px;min-height:40px;border-radius:24px;border:1px solid #8aa3a0;background:transparent;color:#173944;cursor:pointer}
.sp-uses button[aria-pressed="true"]{background:#0b2732;border-color:#0b2732;color:#fff4de}
.sp-uses button:focus-visible{outline:3px solid #167d77;outline-offset:2px}
/* Four true facts about every product. */
.sp-values{list-style:none;margin:8px 0 22px;padding:18px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border-block:1px solid #d7d4c5}
.sp-values li{display:grid;gap:2px}.sp-values strong{font:500 1.15rem/1.2 Georgia,serif;color:#173944}.sp-values span{font-size:14px;color:#46625e}
/* The collection offer, near the top. */
.sp-deal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;margin-bottom:36px;padding:16px 20px;border-radius:14px;background:#0b2732;color:#f3ead7;text-decoration:none}
.sp-deal strong{color:#f2d18f}.sp-deal span:last-child{font-weight:600;color:#9fd8c9}
.sp-deal:hover{background:#123744}.sp-deal:focus-visible{outline:3px solid #167d77;outline-offset:3px}
.sp-films{scroll-margin-top:24px}
.sp-films-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:18px}
.sp-films-head h2{font:500 clamp(1.5rem,2.6vw,2rem)/1.15 Georgia,serif;color:#173944;margin:0}
.sp-uses{display:flex;flex-wrap:wrap;gap:8px}
.sp-use-note{margin:-6px 0 16px;font-size:14px;color:#46625e}
.sp-tile-best{font-size:13px;color:#30685f}
@media(max-width:900px){.sp-hero{grid-template-columns:1fr;gap:24px}.sp-values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sp-values{grid-template-columns:1fr}}
.sp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.sp-grid-small{grid-template-columns:repeat(3,minmax(0,1fr))}
.sp-tile{display:flex;flex-direction:column;border-radius:14px;overflow:clip;background:#fffbf3;border:1px solid #d7d4c5;color:#163c45;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.sp-tile:hover{transform:translateY(-3px);box-shadow:0 14px 28px #153c3314}
.sp-tile:focus-visible{outline:3px solid #167d77;outline-offset:3px}
.sp-tile-image{position:relative;display:block;aspect-ratio:16/9;background:#071722;overflow:hidden}
.sp-tile-image>img,.sp-tile-image>video{display:block;width:100%;height:100%;object-fit:cover}
.sp-tile-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px}
.sp-tile-grid>img{width:100%;height:100%;object-fit:cover}
.sp-tile-label{align-self:flex-start;margin-bottom:4px;padding:3px 10px;border-radius:20px;background:#e9dcc0;color:#173944;font-size:12px;font-weight:600}
.sp-tile-body{display:flex;flex-direction:column;gap:4px;padding:16px 18px 18px;flex:1}
.sp-tile-name{font:500 1.35rem/1.2 Georgia,serif}
.sp-tile-line{color:#2d4549;line-height:1.5}
.sp-tile-badges{font-size:13px;color:#46625e}
.sp-tile-price{font:500 1.5rem/1.2 Georgia,serif;margin-top:6px;color:#0b5561}
.sp-tile-license{font-size:13px;color:#30685f}
.sp-tile-action{margin-top:auto;padding-top:10px;font-weight:600;color:#0b5561}
.sp-section{padding-top:40px;margin-top:40px;border-top:1px solid #d7d4c5;max-width:900px}
.sp-section h2{font:500 clamp(1.5rem,2.6vw,2rem)/1.15 Georgia,serif;color:#173944;margin:0 0 12px}
.sp-section p,.sp-section li{line-height:1.65}
.sp-license-strip ul{padding-left:20px}.sp-license-strip li{margin-bottom:8px}
.sp-steps{list-style:none;padding:0;display:grid;gap:8px}
.sp-facts{padding-left:20px}
.sp-faq details{border-top:1px solid #d7d4c5;padding:12px 0}.sp-faq summary{cursor:pointer;font-weight:600;color:#173944}
.sp-faq summary:focus-visible{outline:3px solid #167d77;outline-offset:3px}
.sp-studio{margin-top:36px}
.sp-breadcrumb{font-size:14px;margin-bottom:18px;color:#46625e}.sp-breadcrumb a{color:#0b5561}
.sp-product-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px;align-items:start}
.sp-gallery-main{margin:0;border-radius:14px;overflow:hidden;background:#071722}
.sp-gallery-main video,.sp-gallery-main img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#071722}
.sp-gallery-main figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;font-size:13px;color:#b9d6d2;background:#0b2732}
.sp-gallery-frame{position:relative}
.sp-fullscreen{font:inherit;font-size:13px;padding:6px 12px;min-height:34px;border-radius:6px;border:1px solid #5d8a8c;background:transparent;color:#e6f1ee;cursor:pointer}
.sp-fullscreen:focus-visible{outline:3px solid #8ed0c7;outline-offset:2px}
/* The preview mark appears only when the gallery is shown full screen. */
.sp-fullscreen-mark{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-12deg);font:600 clamp(40px,7vw,110px)/1 Georgia,serif;color:#ffffff26;letter-spacing:.06em;white-space:nowrap;pointer-events:none}
.sp-gallery-frame:fullscreen{display:grid;place-items:center;background:#071722}
.sp-gallery-frame:fullscreen .sp-fullscreen-mark{display:block}
.sp-gallery-frame:fullscreen video,.sp-gallery-frame:fullscreen img{width:100vw;height:100vh;aspect-ratio:auto;object-fit:contain}
.sp-gallery-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.sp-gallery-thumbs button{position:relative;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;width:96px;aspect-ratio:16/9;cursor:pointer;background:#071722}
.sp-gallery-thumbs button[aria-pressed="true"]{border-color:#0b2732}
.sp-gallery-thumbs button:focus-visible{outline:3px solid #167d77;outline-offset:2px}
.sp-gallery-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.sp-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:18px;text-shadow:0 1px 4px #000}
.sp-gallery-link{display:inline-block;margin-top:10px;font-size:14px;color:#0b5561}
.sp-buybox h1{font:500 clamp(2rem,3.6vw,2.8rem)/1.1 Georgia,serif;color:#173944;margin:8px 0 10px}
.sp-buybox>p{line-height:1.6}
.sp-price{margin:14px 0}.sp-price strong{font:500 2.2rem/1 Georgia,serif;color:#0b5561}.sp-price span{color:#46625e;font-size:14px}
.sp-license-buttons{display:flex;flex-wrap:wrap;gap:8px}
.sp-license-buttons button{font:inherit;font-size:15px;min-height:44px;padding:10px 16px;border-radius:10px;border:1px solid #9fb3ad;background:#fff;color:#173944;cursor:pointer}
.sp-license-buttons button[aria-checked="true"]{background:#0b2732;border-color:#0b2732;color:#fff4de}
.sp-license-buttons button:focus-visible{outline:3px solid #167d77;outline-offset:2px}
.sp-license-line{margin:10px 0 0;color:#2d4549;line-height:1.55}
.sp-license-venue,.sp-license-links{margin:8px 0 0;font-size:14px}.sp-license-venue a,.sp-license-links a{color:#0b5561}
.sp-buy{margin-top:16px}.sp-buy:disabled{opacity:.6;cursor:not-allowed}
.sp-buy-wait small{display:block;margin-top:8px;color:#46625e}.sp-buy-wait small a{color:#0b5561}
.sp-trust{list-style:none;padding:14px 0 0;margin:16px 0 0;border-top:1px solid #d7d4c5;display:grid;gap:6px;font-size:14px;color:#2d4549}
.sp-trust li::before{content:"✓ ";color:#1d6b4f}.sp-trust .sp-trust-tax::before{content:""}.sp-trust .sp-trust-tax{color:#46625e;font-size:13px}.sp-trust a{color:#0b5561}
.sp-files{margin:12px 0 0;border:1px solid #d7d4c5;border-radius:10px;background:#fffbf3}
.sp-files>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;padding:8px 14px;border-top:1px solid #ece8dc}.sp-files>div:first-child{border-top:0}
.sp-files dt{font-family:ui-monospace,Menlo,monospace;font-size:13px;word-break:break-all;color:#173944}.sp-files dd{margin:0;font-size:13px;color:#46625e}
.sp-play-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.sp-play-steps h3{font-size:1rem;margin:0 0 6px}
.sp-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sp-tiers article{padding:14px;border:1px solid #d7d4c5;border-radius:12px;background:#fffbf3}
.sp-tiers h3{font-size:1.05rem;margin:0 0 8px;color:#173944}.sp-tiers h3 span{display:block;font-weight:400;font-size:13px;color:#46625e}
.sp-tiers p{margin:6px 0 0;font-size:14px}.sp-yes strong{color:#1d6b4f}.sp-no strong{color:#8a3b2c}
.sp-collection-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,110px));gap:8px;margin-bottom:10px}.sp-collection-thumbs img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px}
.sp-collection-hero{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:14px;overflow:hidden}.sp-collection-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.sp-included{list-style:none;padding:0;display:grid;gap:12px}.sp-included li{display:grid;grid-template-columns:160px 1fr;gap:14px;align-items:center}
.sp-included img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.sp-included div{display:grid;gap:2px}.sp-included a{color:#0b5561}.sp-included small{color:#46625e}
.sp-venue-films{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.sp-venue-films button{font:inherit;display:grid;gap:6px;padding:8px;border:2px solid #d7d4c5;border-radius:10px;background:#fffbf3;color:#173944;cursor:pointer;text-align:left}
.sp-venue-films button[aria-checked="true"]{border-color:#0b2732}.sp-venue-films button:focus-visible{outline:3px solid #167d77;outline-offset:2px}
.sp-venue-films img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px}
.sp-venue-buy{margin-top:18px}.sp-venue-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.license-explainer{max-width:none;margin-top:0;padding-top:0;border-top:0}.license-explainer h2:last-child{margin-top:36px}
/* License table, shared by the License page. */
.shop-license-table-wrap{overflow-x:auto;margin:18px 0;border:1px solid #c9d4cf;border-radius:12px;background:#fffbf3}
.shop-license-table-wrap:focus-visible{outline:3px solid #167d77;outline-offset:3px}
.shop-license-table{width:100%;border-collapse:collapse;min-width:620px;font-size:.95rem}
.shop-license-table caption{text-align:left;padding:14px 16px 0;font-weight:600;color:#173944}
.shop-license-table th,.shop-license-table td{padding:12px 16px;border-top:1px solid #e1e6e1;text-align:left;vertical-align:top}
.shop-license-table thead th{border-top:0;font-size:14px;color:#173944}.shop-license-table thead th span{font-weight:400;font-size:12px;color:#46625e}
.shop-license-table tbody th{font-weight:400;color:#2d4549}.shop-license-table td{font-weight:600;white-space:nowrap}
.shop-license-table td.is-yes{color:#1d6b4f}.shop-license-table td.is-yes::before{content:"✓ "}
.shop-license-table td.is-no{color:#8a3b2c}.shop-license-table td.is-no::before{content:"✕ "}
@media(prefers-reduced-motion:reduce){.sp-tile:hover{transform:none}}
@media(max-width:900px){.sp-product-top{grid-template-columns:1fr}.sp-grid-small{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-tiers{grid-template-columns:1fr}.sp-venue-films{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sp-grid,.sp-grid-small{grid-template-columns:1fr}.sp-play-steps,.sp-venue-options{grid-template-columns:1fr}.sp-included li{grid-template-columns:110px 1fr}.sp-files>div{grid-template-columns:1fr;gap:2px}}
/* Personalized edition: edition choice and the "Make it yours" preview. */
.sp-editions{margin-top:12px}
.sp-personalize-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:28px;align-items:start}
.sp-personalize form label{display:block;font-weight:600;color:#173944;margin:14px 0 6px}
.sp-personalize input,.sp-personalize select{font:inherit;width:100%;min-height:44px;padding:8px 12px;border:1px solid #9fb3ad;border-radius:10px;background:#fff;color:#173944}
.sp-personalize input:focus-visible,.sp-personalize select:focus-visible{outline:3px solid #167d77;outline-offset:2px}
.sp-personalize-row{display:flex;gap:8px}.sp-personalize-row button{flex:none}
.sp-personalize-preview iframe{display:block;width:100%;border:0;border-radius:14px;background:#061722}
.sp-personalize-preview[data-format="portrait"] iframe{max-width:380px;margin:auto}
.sp-personalize h3{margin:24px 0 6px;font-size:1.05rem;color:#173944}
@media(max-width:900px){.sp-personalize-grid{grid-template-columns:1fr}}
.sp-personalize-row button{font:inherit;min-height:44px;padding:8px 16px;border-radius:10px;border:1px solid #0b2732;background:#0b2732;color:#fff4de;cursor:pointer}
.sp-personalize-row button:focus-visible{outline:3px solid #167d77;outline-offset:2px}
/* Product page: why people choose it, and use ideas. */
.sp-why{max-width:none}
.sp-values-product{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4px}
.sp-best{font-weight:600;color:#30685f;margin:0 0 14px}
.sp-ideas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.sp-ideas article{padding:16px 18px;border-radius:12px;background:#fffbf3;border:1px solid #d7d4c5}
.sp-ideas h3{margin:0 0 6px;font:500 1.1rem/1.25 Georgia,serif;color:#173944}.sp-ideas p{margin:0;font-size:15px;line-height:1.55;color:#2d4549}
@media(max-width:800px){.sp-values-product,.sp-ideas{grid-template-columns:1fr}}
/* Earth Screen Pack */
.sp-pack-cover{display:block;width:100%;border-radius:14px;box-shadow:0 18px 40px #0003}
.sp-pack-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sp-pack-grid li{display:grid;gap:4px;align-content:start}
.sp-pack-grid a{display:grid;gap:8px;color:#0b5561;text-decoration:none}.sp-pack-grid a:hover strong,.sp-pack-grid a:focus-visible strong{text-decoration:underline}.sp-pack-grid img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.sp-pack-grid small{color:#46625e}
.sp-pack-guide-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}.sp-pack-pages{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sp-pack-pages img{width:100%;border-radius:6px;box-shadow:0 8px 24px #0002;border:1px solid #d9d4c4}
@media(max-width:860px){.sp-pack-grid{grid-template-columns:1fr 1fr}.sp-pack-guide-grid{grid-template-columns:1fr}}@media(max-width:520px){.sp-pack-grid{grid-template-columns:1fr}}
/* Your Place: choose your own photo */
.sp-personalize form label.sp-photo-pick{position:relative;display:inline-flex;align-items:center;gap:8px;margin:4px 0 0;min-height:44px;padding:10px 20px;border-radius:24px;background:#0b2732;color:#fff4de;font-weight:600;cursor:pointer}
.sp-photo-pick input{position:absolute;opacity:0;width:1px;height:1px}.sp-photo-pick:focus-within{outline:3px solid #167d77;outline-offset:3px}
.sp-quiet-button{display:inline-block;margin:10px 0 0 10px;min-height:44px;padding:8px 16px;border-radius:24px;border:1px solid #0b2732;background:none;color:#0b2732;font:inherit;cursor:pointer}
.sp-stop{border:1px solid #cfd3c4;border-radius:12px;padding:10px 14px 12px;margin:16px 0 0}.sp-stop legend{font:600 1rem Georgia,serif;color:#173944;padding:0 6px}
.sp-stop-two{display:grid;grid-template-columns:110px 1fr;gap:10px}.sp-stop-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sp-stop-actions .sp-quiet-button{margin:4px 0 0}.sp-add-stop{margin:14px 0 0}
@media(max-width:520px){.sp-stop-two{grid-template-columns:1fr}}
.sp-tryout-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}.sp-tryout-actions .sp-quiet-button{margin:0}
.sp-primary-button{min-height:48px;padding:10px 22px;border-radius:24px;border:0;background:#0b2732;color:#fff4de;font:inherit;font-weight:600;cursor:pointer}.sp-primary-button:focus-visible,.sp-quiet-button:focus-visible{outline:3px solid #167d77;outline-offset:3px}.sp-quiet-button:disabled{opacity:.5;cursor:not-allowed}
/* Opening: the narrated films, large, with a button to watch one with sound. */
.sp-feature{min-width:0}
.sp-feature-frame{margin:0;border-radius:16px;overflow:hidden;background:#071722;box-shadow:0 22px 44px #0b273226}
.sp-feature-frame video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#071722}
.sp-feature-frame figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;padding:10px 14px;background:#0b2732}
.sp-feature-frame figcaption a{color:#f2d18f;font-weight:600;text-decoration:none}.sp-feature-frame figcaption a:hover,.sp-feature-frame figcaption a:focus-visible{text-decoration:underline}
.sp-feature-sound{font:inherit;font-size:14px;font-weight:600;min-height:40px;padding:8px 16px;border-radius:22px;border:0;background:#f2d18f;color:#0b2732;cursor:pointer}
.sp-feature-sound[aria-pressed="true"]{background:#e6f1ee}
.sp-feature-sound:focus-visible,.sp-feature-frame a:focus-visible{outline:3px solid #8ed0c7;outline-offset:2px}
.sp-feature-pick{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sp-feature-pick button{font:inherit;font-size:14px;padding:8px 14px;min-height:40px;border-radius:24px;border:1px solid #8aa3a0;background:transparent;color:#173944;cursor:pointer}
.sp-feature-pick button[aria-pressed="true"]{background:#0b2732;border-color:#0b2732;color:#fff4de}
.sp-feature-pick button:focus-visible{outline:3px solid #167d77;outline-offset:2px}
/* Shelves: narrated films, make it yours, interactive. */
.sp-shelf{margin-top:30px}.sp-shelf:first-of-type{margin-top:8px}
.sp-shelf-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-bottom:14px;padding-top:18px;border-top:1px solid #d7d4c5}
.sp-shelf-head h3{margin:0;font:500 1.45rem/1.2 Georgia,serif;color:#173944}.sp-shelf-head p{margin:0;color:#46625e}
/* The pack spans the row, picture beside the words. */
.sp-tile-pack{grid-column:1/-1;flex-direction:row}
.sp-tile-pack .sp-tile-image{flex:0 0 52%;aspect-ratio:16/9}
@media(max-width:700px){.sp-tile-pack{flex-direction:column}.sp-tile-pack .sp-tile-image{flex:none}}
/* License, how it works, and who made it: three cards in a row on wide screens. */
.sp-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px}
.sp-info .sp-section{max-width:none;margin:0;padding:20px 22px;border:1px solid #d7d4c5;border-top:1px solid #d7d4c5;border-radius:14px;background:#fffbf3}
.sp-info .sp-section h2{font-size:1.45rem}
.sp-faq{max-width:none}.sp-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.sp-faq h2{grid-column:1/-1}
@media(max-width:900px){.sp-info{grid-template-columns:1fr}.sp-faq{grid-template-columns:1fr}}
/* Product page details: two columns on wide screens, so the page stays short. */
.sp-details{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0 40px;align-items:start}
.sp-details>.sp-section{max-width:none}
.sp-details>.sp-section:first-child{grid-row:span 2}
@media(max-width:900px){.sp-details{grid-template-columns:1fr}.sp-details>.sp-section:first-child{grid-row:auto}}
/* The pack's films, with names, on each film page. */
.sp-pack-mini{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:6px 0 14px}.sp-pack-mini strong{font-size:14px;line-height:1.3}
@media(max-width:900px){.sp-pack-mini{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.sp-pack-mini{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sp-product .sp-section{max-width:none}

/* Gift note under the trust lines (October 11, 2026). */
.sp-gift-note{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(15,58,67,.14);font-size:.95rem}

/* Free gifts (October 11, 2026): a classroom activity and three phone wallpapers, filling the info grid. */
.sp-hero-free{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:8px 14px 8px 8px;border-radius:999px;background:#0b2732;color:#fff4de;font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.sp-hero-free b{padding:3px 10px;border-radius:999px;background:#f2b84b;color:#1b1206;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.sp-hero-free:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0b273229}
.sp-hero-free:focus-visible{outline:3px solid #167d77;outline-offset:3px}
.sp-info .sp-free{position:relative;background:linear-gradient(180deg,#fff8e8,#fffbf3);border-color:#e6cf9a;scroll-margin-top:24px}
.sp-free-badge{position:absolute;top:16px;right:16px;padding:4px 12px;border-radius:999px;background:#f2b84b;color:#1b1206;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.sp-info .sp-free h2{padding-right:70px}
.sp-free-sheet{display:block;margin:6px 0 12px;border-radius:10px;overflow:hidden;border:1px solid #e1dccd;box-shadow:0 12px 26px #0b273214;transition:transform .25s ease}
.sp-free-sheet img{display:block;width:100%;height:150px;object-fit:cover;object-position:top}
.sp-free-sheet:hover{transform:translateY(-3px)}
.sp-free-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.sp-free-button{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:8px;background:#0b2732;color:#fff4de;font-weight:600;font-size:14px;text-decoration:none}
.sp-free-button:hover{background:#163447}
.sp-walls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 12px;padding:0;list-style:none}
.sp-walls a{display:grid;gap:6px;color:#173944;text-decoration:none}
.sp-walls img{display:block;width:100%;aspect-ratio:1290/2796;object-fit:cover;border-radius:14px;border:3px solid #0b2732;box-shadow:0 10px 22px #0b273229;transition:transform .25s ease}
.sp-walls a:hover img{transform:translateY(-4px) rotate(-1deg)}
.sp-walls a:focus-visible{outline:3px solid #167d77;outline-offset:3px;border-radius:14px}
.sp-walls span{font-size:12px;line-height:1.3}.sp-walls b{display:block;font:600 13px "SF Mono",Menlo,monospace}
.sp-hero-free + .sp-status{margin-top:14px}

/* October 12, 2026: the product type on every tile, the five answers in the buy box, and expandable detail sections. */
.sp-tile-kind{display:block;margin:2px 0 6px;font-size:12px;color:#0b7580;font-weight:600}
.sp-oneline{font-size:18px;line-height:1.5;color:#173944;margin:0 0 14px}
.sp-answers{display:grid;gap:10px;margin:0 0 18px;padding:14px 16px;border:1px solid #d7d4c5;border-radius:10px;background:#fffbf3}
.sp-answers>div{display:grid;grid-template-columns:minmax(120px,.42fr) 1fr;gap:12px;align-items:baseline}
.sp-answers dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#075561;font-weight:600}
.sp-answers dd{margin:0;font-size:14px;line-height:1.5;color:#2c4a52}
.sp-detail{margin:0 0 14px;border:1px solid #d7d4c5;border-radius:12px;background:#fffdf8;padding:0 20px 4px}
.sp-detail>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;min-height:56px;padding:6px 0}
.sp-detail>summary::-webkit-details-marker{display:none}
.sp-detail>summary::before{content:'+';flex:none;width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;background:#e9dcc0;color:#173944;font-weight:600}
.sp-detail[open]>summary::before{content:'−'}
.sp-detail>summary h2{margin:0;font-size:1.25rem}
.sp-detail>summary:focus-visible{outline:3px solid #e0a83d;outline-offset:2px;border-radius:6px}
.sp-detail .sp-about{font-size:15px;line-height:1.65;color:#2c4a52;margin:4px 0 14px}
.sp-details>.sp-detail{max-width:none}
.sp-details>.sp-detail:first-child{grid-row:span 2}
@media(max-width:900px){.sp-details>.sp-detail:first-child{grid-row:auto}}
@media(max-width:560px){.sp-answers>div{grid-template-columns:1fr;gap:2px}}

/* The films at a glance table under the Short films shelf (October 12, 2026). */
.sp-glance{margin:22px 0 6px;overflow-x:auto}
.sp-glance table{width:100%;border-collapse:collapse;font-size:14px}
.sp-glance caption{text-align:left;font:500 1.1rem Georgia,serif;color:#173944;padding:0 0 10px}
.sp-glance th,.sp-glance td{min-width:0;padding:10px 12px;border-bottom:1px solid #d7d4c5;vertical-align:top;color:#2c4a52}
.sp-glance thead th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#075561}
.sp-glance tbody th{font-weight:600;color:#173944;white-space:nowrap}
.sp-glance tbody th a{color:#075561}
.sp-glance td:last-child{font-weight:600;white-space:nowrap}
.sp-glance .sp-muted{margin:10px 0 0}
@media(max-width:700px){.sp-glance table{min-width:640px}}
/* The How Many Fit Inside Africa? product page: the buy box summary, the try-out, and the link to the free explorer. */
.africa-purchase-summary{display:grid;gap:12px;margin:18px 0;padding:0;list-style:none}.africa-purchase-summary li{padding:12px 16px;border:1px solid #17394422;border-radius:9px;display:grid;gap:4px}.africa-purchase-summary strong{font-size:14px}.africa-purchase-summary span{font-size:13px;line-height:1.5;color:#496b75}.sp-africa .sp-buybox>h1{font-size:clamp(2rem,3.2vw,2.8rem)}.sp-africa .sp-license-venue{font-size:13px}.sp-africa .sp-license-links{font-size:12px}.africa-preview-note{font-size:13px;line-height:1.6;color:#496b75}
.sp-africa-left{min-width:0;display:grid;gap:36px;align-content:start}.sp-africa-yours h2{font:500 clamp(1.4rem,2.2vw,1.8rem)/1.2 Georgia,serif;margin:0 0 6px}.sp-africa-yours>p{margin:0 0 14px;font-size:14px;line-height:1.6;color:#496b75}.sp-africa-yours iframe{display:block;width:100%;border:0;border-radius:14px;background:#0b2530}
.sp-africa-explore{display:grid;gap:6px;padding:20px 22px;border-radius:14px;background:linear-gradient(145deg,#082b3b,#061721);color:#e9f0ec;text-decoration:none;border:1px solid #72c7cc33}.sp-africa-explore .eyebrow{color:#89cbd0;font-size:11px}.sp-africa-explore strong{font:500 20px/1.35 Georgia,serif;color:#fff1d5}.sp-africa-explore span:last-child{color:#9cdce0;font-size:14px;font-weight:600}.sp-africa-explore:hover strong{text-decoration:underline}.sp-africa-explore:focus-visible{outline:3px solid #efc97f;outline-offset:3px}
@media(max-width:900px){.sp-africa-left{display:contents}.sp-africa-gallery{order:1}.sp-africa .sp-buybox{order:2}.sp-africa-yours{order:3}.sp-africa-explore{order:4}}
/* One Earth. Two Skies. product page: the studio (styled by products-src/two-skies/styles.js), then the page in the
   Shop's light style. */
.tsp-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:6px 0 14px;font:500 clamp(1.5rem,2.4vw,2rem)/1.15 Georgia,serif;color:#173944}
.tsp-lead{margin:-6px 0 16px;max-width:760px;font-size:1.05rem;color:#2f4950}
.tsp-title span{font:600 12px/1.4 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#46625e}
.tsp-studio{min-height:720px;border-radius:18px;background:#06111c}
.tsp-loading{margin:0;padding:48px 24px;text-align:center;color:#c9d7e1}
.tsp-price{display:grid;gap:4px}
.tsp-amount{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;color:#c9d7e1;font-size:14px}
.tsp-amount strong{font:500 2.4rem/1 Georgia,serif;color:#fff}
.tsp-price .sp-buy{width:100%;margin-top:8px;justify-content:center;background:#38cfff;border-color:#38cfff;color:#04121d}
.tsp-price .sp-buy-wait small{color:#a3b7c6;text-align:center}
.tsp-small{margin:6px 0 0;text-align:center;font-size:13px;color:#a3b7c6}
.tsp-small a{color:#38cfff}
.tsp-features{list-style:none;margin:14px 0 0;padding:24px 28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;background:#f3efe6;border:1px solid var(--line);border-radius:14px}
.tsp-features li{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center}
.tsp-features li+li{border-left:1px solid var(--line);padding-left:22px}
.tsp-features svg{width:40px;height:40px;color:#173944}
.tsp-features strong{display:block;font:500 1.25rem/1.2 Georgia,serif;color:#173944}
.tsp-features span{display:block;font-size:15px;color:#46625e}
.tsp-pack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.tsp-pack article{background:#fffdf8;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.tsp-pack h3,.tsp-sub{margin:0 0 6px;font:500 1.15rem/1.25 Georgia,serif;color:#173944}
.tsp-sub{margin-top:22px}
.tsp-film{display:block;width:100%;aspect-ratio:16/9;border-radius:8px;background:#061722;margin-bottom:12px}
.tsp-pack p{margin:0;font-size:15px;color:#2f4950}
.tsp-steps{margin:8px 0 0;padding:0;list-style:none;counter-reset:step;display:grid;gap:10px}
.tsp-steps li{counter-increment:step;display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;color:#2f4950}
.tsp-steps li::before{content:counter(step);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#173944;color:#fff;font-weight:600}
.tsp-steps strong{color:#173944}
@media (max-width:1100px){.tsp-pack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.tsp-features{grid-template-columns:1fr;padding:18px}.tsp-features li+li{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:14px}.tsp-pack{grid-template-columns:1fr}.tsp-studio{min-height:400px}}
.cb-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}.cb-preview{background:#0c303c;border-radius:20px;padding:24px;display:grid;justify-items:center;gap:16px;color:#f7f1e3}.cb-preview-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#cce5e5}.cb-preview>img{display:block;width:100%;max-width:365px;aspect-ratio:2481/3508;object-fit:contain;box-shadow:0 12px 25px #0004}.cb-preview-caption{display:grid;text-align:center;gap:5px}.cb-preview-caption span{font-size:13px;color:#cce5e5}.cb-thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px}.cb-thumbs button{background:transparent;border:1px solid #bac8c8;border-radius:8px;padding:6px;cursor:pointer;color:inherit}.cb-thumbs button[aria-pressed=true]{border:2px solid #146e79;background:#e3eeee}.cb-thumbs img{width:100%;display:block}.cb-thumbs span{display:block;font-size:10px;line-height:1.3;margin-top:6px}.cb-page button:focus-visible,.cb-page a:focus-visible{outline:3px solid #bd7920;outline-offset:4px}.cb-buybox h1{font-size:clamp(36px,4vw,58px);line-height:1.06;margin:16px 0 8px}.cb-subtitle{font-size:25px;margin-top:0;color:#256370}.cb-buybox>p{line-height:1.7}.cb-facts{list-style:none;padding:18px 0;margin:24px 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d3d3c6;border-bottom:1px solid #d3d3c6;gap:12px}.cb-facts li{display:grid;gap:4px}.cb-facts strong{font-size:34px;color:#176571;font-family:Georgia,serif}.cb-facts span{font-size:13px}.cb-format{font-size:14px}.cb-sample{background:#e6eeea;border-radius:12px;padding:20px;margin:24px 0}.cb-sample p{font-size:14px;margin:8px 0 16px}.cb-sample>div{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.cb-sample .primary-action{font-size:14px}.cb-timeline{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:24px 0;counter-reset:chapter}.cb-timeline li{display:grid;gap:10px;border-top:2px solid #b78839;padding-top:16px}.cb-timeline li:before{counter-increment:chapter;content:'0' counter(chapter);font-size:12px;color:#376c76}.cb-timeline span{font-size:14px;line-height:1.65}.cb-details{display:grid;grid-template-columns:1fr 1fr;gap:48px}.cb-details li{margin:12px 0;line-height:1.6}.cb-permission{max-width:820px}.sp-tile[href="/shop/earth-through-time"] .sp-tile-image img{object-fit:contain;background:#0c303c}@media(max-width:760px){.cb-top,.cb-details{grid-template-columns:1fr}.cb-buybox{grid-row:1}.cb-timeline{grid-template-columns:1fr 1fr}.cb-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.cb-thumbs span{font-size:12px}.cb-preview{padding:20px}.cb-details{gap:0}}
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}
/* Site-wide scroll motion (ScrollMotion.tsx). Classes are added by script only, so without it everything shows. */
/* Sections and cards rise a little and come into focus, from a soft blur to sharp (after getartcraft.com). */
.tc-reveal{opacity:0;transform:translate3d(0,28px,0);filter:blur(8px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--tc-i,0) * 70ms)}
.tc-reveal.tc-in{opacity:1;transform:none;filter:none}
.tc-reveal.tc-now{transition:none}
/* Cards keep their own hover lift once they have arrived. */
.journey-card.tc-in,.home-studio-tile.tc-in,.home-shop-tile.tc-in,.sp-tile.tc-in{transition:opacity .9s cubic-bezier(.2,.7,.2,1),filter .8s cubic-bezier(.2,.7,.2,1),transform .25s ease,box-shadow .25s ease}
/* Parallax: pictures sit a little larger than their frame and drift as the page moves. */
.tc-drift{scale:1.08;will-change:translate}
.journey-art,.chapter-strip-art,.home-studio-art{overflow:hidden}
/* The progress line on long pages. */
.tc-progress{position:fixed;inset:0 0 auto;height:3px;z-index:50;pointer-events:none}
.tc-progress>span{display:block;height:100%;background:linear-gradient(90deg,#d9a441,#f2d18f);transform:scaleX(0);transform-origin:0 50%}
@media(prefers-reduced-motion:reduce){.tc-reveal{opacity:1;transform:none;filter:none;transition:none}.tc-drift{scale:none;translate:none}}

/* The scroll story on the Home page (ScrollFilm.tsx). */
.scroll-film{position:relative;height:auto;background:#040a12;color:#f3ead8}
.scroll-film.is-scroll-story{height:640vh}
.scroll-film.is-free-scroll .scroll-film-sticky{position:relative}
.scroll-film-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.scroll-film canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.scroll-film-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#040a12cc 0%,#040a1200 34%),linear-gradient(0deg,#040a12aa,#040a1200 22%)}
.scroll-film-intro{position:absolute;left:max(24px,calc((100vw - 1320px)/2));top:14vh;max-width:520px;transition:opacity .5s ease,transform .6s ease}
.scroll-film-intro .eyebrow{color:#8fc9c6}
.scroll-film-intro h2{font:500 clamp(2.4rem,5vw,4.4rem)/1.02 Georgia,serif;margin:14px 0 18px;color:#fff3dc}
.scroll-film-intro p{font-size:1.05rem;line-height:1.6;color:#c9d8d8;margin:0}
.scroll-film-hint{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;color:#f2d18f}
.scroll-film-hint::after{content:'';width:1px;height:38px;background:linear-gradient(#f2d18f,#f2d18f00);animation:tc-hint 1.8s ease-in-out infinite}
@keyframes tc-hint{0%,100%{transform:translateY(-6px);opacity:.4}50%{transform:translateY(6px);opacity:1}}
.scroll-film:not(.is-start) .scroll-film-intro{opacity:0;transform:translateY(-24px);pointer-events:none}
.scroll-film-rail{position:absolute;right:max(20px,calc((100vw - 1320px)/2));top:50%;transform:translateY(-50%);list-style:none;margin:0;padding:14px;border-radius:14px;background:#040a12b8;border:1px solid #d9b87733;backdrop-filter:blur(6px);display:grid;gap:2px;width:250px}
.scroll-film-rail button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:28px 1fr;gap:2px 10px;width:100%;padding:8px 10px;border-radius:9px;cursor:pointer;color:#9fb3b8;transition:background .3s ease,color .3s ease}
.scroll-film-rail button:hover{background:#ffffff0d;color:#e9e2d0}
.scroll-film-rail button:focus-visible{outline:2px solid #f2d18f;outline-offset:1px}
.scroll-film-rail b{font:500 13px/1.6 Georgia,serif;color:inherit}
.scroll-film-rail strong{font-weight:600;font-size:14px;line-height:1.3;color:inherit}
.scroll-film-rail small{grid-column:2;font-size:11.5px;letter-spacing:.04em;opacity:.8}
.scroll-film-rail [aria-current=step]{background:#d9b8771f;color:#fff1d5}
.scroll-film-rail [aria-current=step] b{color:#f2d18f}
.scroll-film-meter{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff14}
.scroll-film-meter>span{display:block;height:100%;background:#f2d18f;transform-origin:0 50%}
.scroll-film-end{position:absolute;left:50%;bottom:9vh;transform:translate(-50%,20px);display:flex;gap:14px;flex-wrap:wrap;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s ease,transform .5s ease}
.scroll-film.is-done .scroll-film-end{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.scroll-film-end a{padding:13px 20px;border-radius:30px;text-decoration:none;font-weight:600;background:#f2d18f;color:#0b1422}
.scroll-film-end a+a{background:#040a12cc;color:#f2d18f;border:1px solid #f2d18f88}
.scroll-film-now{display:none}
/* Reduced motion: the seven scenes as still pictures. */
.scroll-film-stills{background:#040a12;color:#f3ead8;padding:70px 0}
.scroll-film-stills ol{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.scroll-film-stills img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.scroll-film-stills a{color:#f2d18f}
@media(max-width:900px){
  .scroll-film.is-scroll-story{height:560vh}
  .scroll-film-rail{display:none}
  .scroll-film-now{display:block;position:absolute;left:16px;right:16px;top:16px;padding:10px 14px;border-radius:10px;background:#040a12cc;border:1px solid #d9b87733;font-size:14px}
  .scroll-film-now b{color:#f2d18f;font-weight:600;margin-right:8px}
  .scroll-film-intro{left:16px;right:16px;top:auto;bottom:16vh}
  .scroll-film-shade{background:linear-gradient(0deg,#040a12ee 0%,#040a1200 45%)}
}

/* The long scroll animation is optional; normal scrolling never requires all seven scenes. */
.scroll-film-options{position:absolute;z-index:2;left:24px;bottom:24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.scroll-film-options button,.scroll-film-options a{padding:12px 16px;background:#071722ed;border:1px solid #d9b87788;border-radius:8px;color:#fff1d5;font:inherit;font-size:14px;text-decoration:none;cursor:pointer}
.scroll-film-options button:focus-visible,.scroll-film-options a:focus-visible{outline:2px solid #f2d18f;outline-offset:3px}
.scroll-film.is-free-scroll .scroll-film-hint{display:none}
@media(max-width:900px){
  .scroll-film.is-free-scroll .scroll-film-sticky{height:max(760px,100svh)}
  .scroll-film.is-free-scroll .scroll-film-intro{top:80px;bottom:auto}
  .scroll-film.is-free-scroll .scroll-film-rail{display:flex;top:auto;bottom:94px;left:16px;right:16px;width:auto;transform:none;overflow-x:auto;padding:8px}
  .scroll-film.is-free-scroll .scroll-film-rail li{flex:0 0 180px}
  .scroll-film-options{left:16px;right:16px;bottom:16px;gap:8px}
  .scroll-film-options button,.scroll-film-options a{font-size:12px;padding:10px}
  .scroll-film-end{bottom:220px}
}

/* The section bar: a frosted strip at the top of the screen naming the section you are reading, with a fine line that
   draws itself from left to right each time the section changes, and small ticks at its ends (after getartcraft.com). */
main section[id^="tc-section-"]{scroll-margin-top:96px}
.tc-bar{position:fixed;z-index:44;left:0;right:0;top:0;height:42px;background:#f5f1e8e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #17394414;transform:translateY(-100%);transition:transform .45s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.tc-bar.is-on{transform:none}
.tc-bar-inner{width:min(1320px,calc(100% - 48px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.tc-bar p{margin:0;font:500 11px/1 'SF Mono',ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:#46625e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-bar-label{animation:tc-bar-in .55s cubic-bezier(.2,.7,.2,1) both}
.tc-bar-label span{color:var(--muted)}.tc-bar-label i{font-style:normal;color:var(--muted);margin:0 8px}
.tc-bar-page{color:var(--muted)!important;flex:none}
.tc-bar-rule{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#173944;transform-origin:0 50%;animation:tc-draw .9s cubic-bezier(.65,0,.35,1) both}
.tc-tick{position:absolute;left:max(24px,calc((100% - 1320px)/2));top:-4px;width:9px;height:9px;margin-left:-4px;animation:tc-tick .5s .55s cubic-bezier(.2,.7,.2,1) both}
.tc-tick-end{left:auto;right:max(24px,calc((100% - 1320px)/2));margin:0 -4px 0 0}
.tc-tick::before,.tc-tick::after{content:'';position:absolute;background:#173944}
.tc-tick::before{left:4px;top:0;width:1px;height:9px}.tc-tick::after{top:4px;left:0;width:9px;height:1px}
@keyframes tc-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes tc-tick{from{transform:scale(0);opacity:0}to{transform:none;opacity:1}}
@keyframes tc-bar-in{from{opacity:0;transform:translateY(8px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}

/* The page ruler: a measuring tape on the right edge that slides as you scroll, a marker with the percentage, and the
   current section's name written up the side. It sits in the page margin, so it shows only where there is room.
   Hovering it, or tabbing into it, opens the list of sections. Its colors invert against light and dark pages. */
.tc-ruler,.tc-ruler-ink{position:fixed;z-index:43;top:0;bottom:0;right:0;width:40px;display:none}
.tc-ruler-ink{mix-blend-mode:difference;pointer-events:none;height:100vh}
.tc-ruler-mark{position:absolute;right:0;top:50%;width:26px;height:1px;background:#0b7580;pointer-events:none}
.tc-ruler-mark span{position:absolute;right:0;top:4px;font:600 9px/1 'SF Mono',ui-monospace,Menlo,monospace;color:#0b7580;background:#f5f1e8e6;padding:2px 3px;border-radius:3px;letter-spacing:.04em}
.tc-ruler-index{list-style:none;margin:0;padding:10px;position:absolute;right:44px;top:50%;transform:translate(8px,-50%);width:280px;background:#071722f5;border:1px solid #80bbc744;border-radius:10px;box-shadow:0 12px 32px #07172233;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.tc-ruler:hover .tc-ruler-index,.tc-ruler:focus-within .tc-ruler-index{opacity:1;transform:translate(0,-50%);pointer-events:auto}
.tc-ruler-index a{display:grid;grid-template-columns:30px 1fr;gap:4px;align-items:center;min-height:36px;padding:4px 8px;border-radius:6px;color:#c9d7d9;text-decoration:none;font-size:13px;line-height:1.3}
.tc-ruler-index a span{font:500 10px/1 'SF Mono',ui-monospace,Menlo,monospace;color:#7d9aa0;letter-spacing:.06em}
.tc-ruler-index a:hover,.tc-ruler-index a:focus-visible{background:#ffffff12;color:#fff}
.tc-ruler-index a[aria-current=location]{color:#f2d18f}.tc-ruler-index a[aria-current=location] span{color:#f2d18f}
.tc-ruler-index a:focus-visible{outline:2px solid #f2d18f;outline-offset:1px}
@media(min-width:1400px){.tc-ruler,.tc-ruler-ink{display:block}}
@media(max-width:1100px){.tc-drift{scale:1.04}}
@media(max-width:700px){.tc-bar{height:36px}.tc-bar-page{display:none}}
@media(prefers-reduced-motion:reduce){.tc-bar,.tc-ruler-index{transition:none}.tc-bar-label,.tc-bar-rule,.tc-tick{animation:none}}
.origins-page.story-hero{margin-bottom:0}
.story-timeline{position:sticky;top:0;z-index:20;background:#f5f1e8f2;backdrop-filter:blur(6px);border-bottom:1px solid #d7d4c5}
.story-timeline ol{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;width:min(1320px,calc(100% - 48px));margin:0 auto;padding:8px 0;list-style:none}
.story-timeline a{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline;padding:8px 10px;border-radius:8px;color:#244e51;text-decoration:none;border-bottom:3px solid transparent}
.story-timeline a span{grid-row:span 2;font-size:12px;color:#46625e;letter-spacing:.08em}
.story-timeline a strong{font-weight:600;font-size:13px;line-height:1.25}
.story-timeline a small{font-size:11px;color:#46625e}
.story-timeline a:hover{background:#e7ece6}
.story-timeline a[aria-current]{background:#0b2732;color:#fff4de;border-bottom-color:#e9ba78}
.story-timeline a[aria-current] span,.story-timeline a[aria-current] small{color:#b9d6d2}
.story-timeline a:focus-visible{outline:3px solid #167d77;outline-offset:2px}
.story-chapters{padding-top:24px}
.story-chapter{padding-block:72px;border-bottom:1px solid #d7d4c5;scroll-margin-top:84px}
.story-chapter-main{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:center}
.story-chapter.is-flipped .story-chapter-art{order:2}
.story-chapter-art{margin:0}
.story-chapter-art>svg,.story-chapter-art>.continents-preview,.story-chapter-art>.today-art{display:block;width:100%;border-radius:14px;overflow:hidden;background:#071722;box-shadow:0 18px 40px #0b273222}
.story-chapter-art figcaption{margin-top:10px;font-size:13px;line-height:1.5;color:#5b6f71}
.story-chapter-kicker{margin:0 0 10px;font-size:13px;letter-spacing:.06em;color:#30685f}
.story-chapter-kicker span{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:20px;background:#0b2732;color:#fff4de;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.story-chapter-copy h2{font:500 clamp(2.1rem,3.6vw,3.2rem)/1.08 Georgia,serif;color:#173944;margin:0 0 18px}
.story-chapter-copy>p{font-size:1.08rem;line-height:1.75;color:#2d4549;margin:0 0 14px;max-width:34em}
.how-we-know{margin-top:22px;border-top:1px solid #c9d4cf;padding-top:14px}
.how-we-know summary{cursor:pointer;font-weight:600;color:#0b5561}
.how-we-know summary:focus-visible{outline:3px solid #167d77;outline-offset:3px}
.how-we-know ul{list-style:none;padding:0;margin:14px 0}
.how-we-know li{margin-bottom:10px;line-height:1.45}
.how-we-know li a{color:#0b5561}
.how-we-know li span{display:block;font-size:13px;color:#5b6f71}
.how-we-know>a{font-size:14px;color:#0b5561}
.explore-further{margin-top:40px;padding-top:24px;border-top:1px dashed #b9c6c0}
.explore-further-head{margin-bottom:22px}
.explore-further>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 22px;border:1px solid #c9d4cf;border-radius:12px;background:#fffbf3}
.explore-further>summary::-webkit-details-marker{display:none}
.explore-further>summary::after{content:"Open";flex:none;padding:8px 16px;border-radius:8px;background:#0b2732;color:#fff4de;font-size:14px}
.explore-further[open]>summary{margin-bottom:28px}
.explore-further[open]>summary::after{content:"Close"}
.explore-further>summary:focus-visible{outline:3px solid #167d77;outline-offset:3px}
.explore-further>summary .explore-further-head{margin:0}
.explore-further-title{display:block;font:500 1.5rem/1.2 Georgia,serif;color:#173944;margin:6px 0 4px}
.explore-further-note{display:block;margin:0;color:#5b6f71}
.continents-preview{position:relative;color:#e5eceb}
.continents-stage{position:relative;aspect-ratio:2/1;background:#071722}
.continents-stage svg{display:block;width:100%;height:100%}
.continents-ocean{fill:#0f3a47;stroke:#3d6b73;stroke-width:1}
.continents-grid{fill:none;stroke:#8ed0c7;stroke-opacity:.14;stroke-width:.6}
.continents-land{fill:#e3b474;stroke:#fff1d6;stroke-width:.4;stroke-opacity:.6}
.continents-status{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;text-align:center;color:#b9d6d2}
.continents-age{margin:0;padding:12px 16px 0;background:#0b2732;font:500 clamp(1.1rem,2vw,1.4rem)/1.1 Georgia,serif;color:#fff4de}
.continents-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 16px;background:#0b2732}
.continents-controls button{font:inherit;font-size:14px;border-radius:8px;border:1px solid #3d6b73;background:transparent;color:#e5eceb;padding:8px 12px;min-height:40px;cursor:pointer}
.continents-controls button[aria-pressed="true"]{background:#e9ba78;border-color:#e9ba78;color:#0b2732}
.continents-controls button:focus-visible{outline:3px solid #8ed0c7;outline-offset:2px}
.continents-ages{display:flex;flex-wrap:wrap;gap:6px}
.continents-credit{margin:0;padding:0 16px 14px;background:#0b2732;font-size:12px;color:#b9d6d2}
.continents-credit a{color:#e9ba78}
.today-art svg{display:block;width:100%;height:auto}
.chapter-strip{padding-block:65px}
.chapter-strip h2{font:500 clamp(2rem,4vw,3.4rem)/1.08 Georgia,serif;color:#173944;margin:16px 0}
.chapter-strip>p{max-width:760px;line-height:1.8}
.chapter-strip ol{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.chapter-strip li a{display:block;border-radius:12px;overflow:clip;background:#fffbf3;border:1px solid #d7d4c5;color:#163c45;text-decoration:none;height:100%;transition:transform .25s ease,box-shadow .25s ease}
.chapter-strip li a:hover{transform:translateY(-4px);box-shadow:0 16px 30px #153c3312}
.chapter-strip li a:focus-visible{outline:3px solid #167d77;outline-offset:4px}
.chapter-strip-art{display:block;aspect-ratio:1000/620;background:#071722;overflow:hidden}
.chapter-strip-art>svg,.chapter-strip-art .continents-preview,.chapter-strip-art .continents-stage{display:block;width:100%;height:100%}
.chapter-strip-art .continents-stage{aspect-ratio:auto}
.chapter-strip-art .today-art,.chapter-strip-art .today-art svg{height:100%}
.chapter-strip-copy{display:block;padding:14px 16px 18px}
.chapter-strip-copy small{display:block;font-size:12px;letter-spacing:.06em;color:#42796f;margin-bottom:4px}
.chapter-strip-copy strong{font:500 20px/1.25 Georgia,serif}
@media(prefers-reduced-motion:reduce){.chapter-strip li a:hover{transform:none}}
@media(max-width:1000px){.story-timeline ol{grid-template-columns:repeat(8,minmax(120px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:12px}.story-timeline li{scroll-snap-align:start}.story-timeline a small{display:none}.story-chapter{scroll-margin-top:92px}.chapter-strip ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.story-chapter{padding-block:44px}.story-chapter-main{grid-template-columns:1fr;gap:24px}.story-chapter.is-flipped .story-chapter-art{order:0}}
@media(max-width:520px){.chapter-strip ol{grid-template-columns:1fr}.story-timeline ol{padding:6px 12px}}
.chapter-keep{margin:16px 0 0;font-size:14px;color:#46625e}
.chapter-keep a{color:#0b5561}
.chapter-today{margin:4px 0 14px;padding:12px 14px;border-radius:10px;background:#e7efe9;color:#1f3d40;line-height:1.6;max-width:34em}
.chapter-today span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#30685f;margin-bottom:2px}
.chapter-check{margin:18px 0 0;padding:16px;border:1px solid #c9d4cf;border-radius:12px;background:#fffbf3;max-width:34em}
.chapter-check-question{margin:0 0 12px;font-weight:600;color:#173944;line-height:1.45}
.chapter-check-question span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#30685f;font-weight:400;margin-bottom:4px}
.chapter-check-options{display:grid;gap:8px}
.chapter-check-options button{font:inherit;font-size:15px;text-align:left;min-height:44px;padding:10px 14px;border-radius:8px;border:1px solid #c9d4cf;background:#fff;color:#173944;cursor:pointer}
.chapter-check-options button:hover{border-color:#0b5561}
.chapter-check-options button:focus-visible{outline:3px solid #167d77;outline-offset:2px}
.chapter-check-options button.is-right{border-color:#1d6b4f;background:#e3f1e8}
.chapter-check-options button.is-wrong{border-color:#8a3b2c;background:#f7e6e1}
.chapter-check-feedback{margin:12px 0 0;line-height:1.55;color:#1f3d40}
.progress-summary{margin:18px 0 6px;color:#bbced3;font-size:15px}
.progress-summary button{margin-left:6px;font:inherit;font-size:14px;background:none;border:0;padding:0;color:#e9ba78;text-decoration:underline;cursor:pointer}
.story-hero-links{margin:0 0 10px;font-size:15px}
.story-hero-links a{color:#9edbd2}
.moment-art{display:block;width:100%;height:auto;aspect-ratio:160/100;background:#071722}
.origins-art{position:relative}
.origins-art>svg{display:block;width:100%;height:auto}
.origins-art>svg>rect:first-of-type{fill:transparent}
/* Chapter 5 close-up: where the ocean's water came from, and why it is salty (OceanWater.tsx). */
.ocean-water{margin-top:40px;padding:28px;border-radius:16px;background:#fffbf3;border:1px solid #d7d4c5}
.ocean-water h3{font:500 clamp(1.5rem,2.6vw,2.1rem)/1.15 Georgia,serif;color:#173944;margin:10px 0 20px}
.ocean-water ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ocean-water li svg{display:block;width:100%;height:auto;border-radius:10px}
.ocean-water h4{margin:12px 0 6px;font-size:17px;color:#173944}
.ocean-water li p{margin:0;font-size:15px;line-height:1.6;color:#2d4549}
.ocean-water-note{margin:22px 0 0;padding-top:16px;border-top:1px solid #e1e6e1;font-size:15px;line-height:1.6;color:#2d4549}
.ocean-water-note a{color:#075561;font-weight:600}
.ow-tag{font:600 11px Arial,sans-serif;fill:#e6f1ee;letter-spacing:.02em}.ow-tag-dark{fill:#173944}
.ow-steam circle{animation:ow-steam 4s ease-in-out infinite}.ow-steam circle:nth-child(2){animation-delay:.6s}.ow-steam circle:nth-child(3){animation-delay:1.2s}
@keyframes ow-steam{0%,100%{transform:translateY(0);opacity:.75}50%{transform:translateY(-6px);opacity:.45}}
.ow-asteroid{animation:ow-fall 5s ease-in infinite}
@keyframes ow-fall{0%{transform:translate(0,0);opacity:0}15%{opacity:1}80%{transform:translate(-70px,56px);opacity:1}100%{transform:translate(-80px,64px);opacity:0}}
.ow-rain{animation:ow-rain .9s linear infinite}
@keyframes ow-rain{from{transform:translateY(-6px)}to{transform:translateY(6px)}}
.ow-fill{transform-origin:150px 168px;animation:ow-fill 6s ease-in-out infinite alternate}
@keyframes ow-fill{from{transform:scaleY(.55)}to{transform:scaleY(1)}}
.ow-river{stroke-dasharray:10 8;animation:ow-river 1.6s linear infinite}
@keyframes ow-river{to{stroke-dashoffset:-36}}
.ow-vent circle{animation:ow-steam 3s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.ow-steam circle,.ow-asteroid,.ow-rain,.ow-fill,.ow-river,.ow-vent circle{animation:none}.ow-asteroid{opacity:1}}
@media(max-width:800px){.ocean-water{padding:20px}.ocean-water ol{grid-template-columns:1fr}}

/* Moving chapter pictures (ChapterMotion.tsx). */
.story-chapter-art>.chapter-motion{position:relative;display:block;border-radius:14px;overflow:hidden;background:#071722;box-shadow:0 18px 40px #071b2433}
.chapter-motion>svg{display:block;width:100%;height:auto}
.chapter-motion .chapter-motion-layer,.story-hero-scene .chapter-motion-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.chapter-motion-pause{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:1px solid #ffffff40;background:#05121bb3;color:#e9eef0;font-size:12px;cursor:pointer;opacity:.75;transition:opacity .2s}
.chapter-motion-pause:hover,.chapter-motion-pause:focus-visible{opacity:1}.chapter-motion-pause:focus-visible{outline:3px solid #e9ba78;outline-offset:2px}

/* The time ruler under the chapter bar: the chapter on screen, drawn to scale on 4.6 billion years. */
.story-ruler{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:min(1320px,calc(100% - 48px));margin:0 auto;padding:0 0 10px;font-size:11px;letter-spacing:.06em;color:#46625e}
.story-ruler-bar{position:relative;height:8px;border-radius:4px;background:#d7d4c5}
.story-ruler-bar i{position:absolute;top:0;bottom:0;opacity:.55}.story-ruler-bar i:first-child{border-radius:4px 0 0 4px}.story-ruler-bar i:last-of-type{border-radius:0 4px 4px 0}
.story-ruler-span{position:absolute;top:-3px;bottom:-3px;border-radius:7px;background:#e9ba78;box-shadow:0 0 10px #e9ba78;transition:left .6s cubic-bezier(.2,.7,.2,1),width .6s cubic-bezier(.2,.7,.2,1)}
.story-ruler-mark{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#e9ba78;border:2px solid #0b2732;box-shadow:0 0 10px #e9ba78;transition:left .6s cubic-bezier(.2,.7,.2,1)}
@media(max-width:700px){.story-ruler{padding:0 12px 8px;gap:8px;font-size:10px}.story-ruler-end:last-child{max-width:70px;text-align:right}}

/* Next chapter, at the end of each chapter. */
.chapter-next{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 16px;margin-top:22px;padding:16px 18px;border-radius:12px;background:#0b2732;color:#fff4de;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.chapter-next span{grid-column:1/-1;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8ed0c7}
.chapter-next strong{font:500 1.35rem/1.2 Georgia,serif}.chapter-next small{color:#b9d6d2}
.chapter-next:hover{transform:translateY(-2px);box-shadow:0 12px 26px #0b273233}.chapter-next:focus-visible{outline:3px solid #e9ba78;outline-offset:2px}

/* The hero film: the seven chapter scenes in turn. */
.origins-page.story-hero{position:relative}
.story-hero-film{position:absolute;right:max(24px,calc((100% - 1240px)/2));top:50%;transform:translateY(-50%);width:min(46%,600px);margin:0}
.story-hero-frame{display:block;position:relative;aspect-ratio:1000/620;border-radius:16px;overflow:hidden;box-shadow:0 30px 60px #00000066,0 0 0 1px #ffffff1a}
.story-hero-frame:focus-visible{outline:3px solid #e9ba78;outline-offset:3px}
.story-hero-scene{position:absolute;inset:0;animation:story-hero-in .9s ease both}.story-hero-scene>svg{position:absolute;inset:0;width:100%;height:100%}
@keyframes story-hero-in{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}
.story-hero-film figcaption{display:flex;align-items:center;gap:14px;margin-top:12px;font-size:14px;color:#c9d6db}
.story-hero-film figcaption b{color:#e9ba78;font-weight:600;margin-right:4px}
.story-hero-film figcaption button{margin-left:auto;border:1px solid #ffffff40;background:none;color:#e9eef0;border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer}
.story-hero-dots{display:flex;gap:5px}.story-hero-dots i{width:16px;height:3px;border-radius:2px;background:#ffffff33}.story-hero-dots i.is-on{background:#e9ba78}
@media(max-width:1000px){.story-hero-film{position:static;transform:none;width:auto;margin:0 24px 32px}}
@media(prefers-reduced-motion:reduce){.story-hero-scene{animation:none}.story-ruler-span,.story-ruler-mark{transition:none}}
@media(min-width:1001px){.origins-page.story-hero>header>*{max-width:min(600px,50%)}.origins-page.story-hero>header{min-height:520px}}
/* Room for the sticky chapter bar and time ruler when a link jumps to a chapter. */
.story-chapter{scroll-margin-top:118px}
.story-jumps,.heat-tabs,.heat-transport{display:flex;gap:12px;flex-wrap:wrap}.story-jumps{margin:25px 0}.story-jumps a,.story-next a{color:#075561;padding:12px 0;margin-right:20px}.formation-lab,.life-timeline,.story-route{padding-block:65px;scroll-margin-top:110px}.formation-lab h2,.life-timeline h2,.story-route h2,.story-next h2{font:500 clamp(2rem,4vw,3.4rem)/1.08 Georgia,serif;color:#173944;margin:16px 0}.formation-lab header p,.life-timeline header p,.story-route>p{max-width:760px;line-height:1.8}.heat-tabs{margin:25px 0}.heat-tabs button,.heat-transport button{font:inherit;border:1px solid #718c89;border-radius:7px;background:#faf5e9;color:#16434c;padding:12px 16px;min-height:44px;cursor:pointer}.heat-tabs button[aria-pressed=true]{background:#153b44;color:#fff0d5}.heat-stage{border-radius:15px;overflow:hidden;background:#081725}.heat-stage svg{display:block;width:100%;height:auto}.heat-transport{align-items:center;margin:20px 0}.heat-transport label{flex:1;min-width:170px;font-size:14px}.heat-transport input{display:block;width:100%;min-height:32px;accent-color:#246b6a}.heat-explanation,.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.heat-explanation{align-items:start;background:#e9eddf;padding:26px;border-radius:12px}.heat-explanation p,.life-grid p{line-height:1.8}.formation-lab details,.life-timeline details{border-block:1px solid #afc1b6;padding:20px 0;margin-top:20px}.formation-lab summary,.life-timeline summary{cursor:pointer;font-weight:700}.formation-lab details article{padding:20px 0;border-bottom:1px solid #d4dbcc}.formation-lab a,.life-timeline a{color:#075561;overflow-wrap:anywhere}.story-next{padding:35px 0;border-block:1px solid #c4cdbf;margin:25px 0}.story-next p{max-width:750px;line-height:1.7}.story-next a{display:inline-block}.life-grid svg{width:100%;height:auto}.life-grid h3{font:500 32px/1.2 Georgia,serif}.story-route ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.story-route li{border-top:1px solid #91aba3;padding:24px 0}.story-route li>span{color:#42796f;font-size:13px;letter-spacing:.12em}.story-route li a{display:block;color:#163c45;text-decoration:none}.story-route h3{font:500 25px/1.25 Georgia,serif}.story-route li p{line-height:1.7}.past-present{border:1px solid #b6c5bb;padding:26px;border-radius:12px;margin:28px 0}.past-present>div{display:grid;grid-template-columns:1fr 1fr;gap:30px}.past-present h3{font:500 28px/1.15 Georgia,serif}.past-present p{font-size:14px;line-height:1.75}.past-present .map-stage{min-height:0}.color-key,.color-contract{padding:24px;background:#e9eddf;border-radius:10px;line-height:1.8}.story-jumps a:focus-visible,.formation-lab :focus-visible,.life-timeline :focus-visible,.story-route a:focus-visible{outline:3px solid #167d77;outline-offset:5px}
@media(max-width:700px){.heat-explanation,.life-grid,.past-present>div{grid-template-columns:1fr;gap:18px}.story-route ol{grid-template-columns:1fr}.formation-lab,.life-timeline,.story-route{padding-block:35px}.heat-tabs button{flex:1 1 44%}.heat-explanation,.past-present{padding:18px}.heat-transport label{order:3;flex-basis:100%}}
.formation-question{padding:30px;background:#e8eddf;border:1px solid #bac9b8;border-radius:12px;margin:32px 0}.formation-question h2{font:500 32px/1.15 Georgia,serif}.formation-question fieldset{border:0;padding:0}.formation-question legend{font-weight:700;margin:12px 0}.formation-question button{display:block;text-align:left;background:#fffaf0;border:1px solid #819c94;border-radius:6px;padding:12px 16px;min-height:44px;margin:10px 0;color:#173d45;font:inherit;cursor:pointer}.formation-question button[aria-pressed=true]{background:#163c45;color:#fff0d5}.formation-question a{color:#075561}.formation-question p{line-height:1.8}.formation-question dt{font-weight:700;margin:15px 0 5px}.formation-question dd{margin:0}.formation-question summary{cursor:pointer;padding:15px 0}
.diagram-download{display:block;margin:20px auto;background:#173c45;color:#fff0d5;padding:12px 20px;border:1px solid #173c45;border-radius:6px;font:inherit;min-height:44px;cursor:pointer}
.origins-page .story-jumps a{color:#9edbd2}.story-route li>span{color:#30685f}
.stage-next{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0}.stage-next button{font:inherit;min-height:44px;padding:12px 18px;border:1px solid #6d8d86;background:#fff8e9;color:#173d45;border-radius:7px;cursor:pointer}.stage-next button:disabled{opacity:.5;cursor:default}.stage-next span{font-size:14px}.stage-next a{color:#075561}.stage-question{border-left:3px solid #b7a16e;padding-left:16px}
.heat-stage{position:relative}.heat-motion{position:absolute;inset:0;pointer-events:none}.heat-motion svg{height:100%}.heat-caption{margin:10px 0 0;font-size:14px;line-height:1.6;color:#46625e}
.heat-motion .a{animation-duration:var(--d,4s);animation-delay:var(--dl,0s);animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-play-state:paused}.heat-stage[data-motion=on] .heat-motion .a{animation-play-state:running}
.hm-breathe,.hm-flash,.hm-ripple,.hm-warm,.hm-core,.hm-pulse,.hm-ring{transform-box:fill-box;transform-origin:center}.hm-swirl{transform-box:view-box;transform-origin:550px 325px}
.hm-breathe{animation-name:hm-breathe}.hm-fly{animation-name:hm-fly}.hm-flash{animation-name:hm-flash}.hm-ripple{animation-name:hm-ripple}.hm-warm{animation-name:hm-warm}.hm-sink{animation-name:hm-sink}.heat-motion .hm-swirl{animation-name:hm-swirl;animation-timing-function:linear}.hm-core{animation-name:hm-core;--cs:calc(.55 + var(--p,.5) * .92)}.heat-motion .hm-flow{animation-name:hm-flow;animation-timing-function:linear}.heat-motion .hm-pulse{animation-name:hm-pulse;animation-timing-function:ease-out}.hm-out{animation-name:hm-out}.heat-motion .hm-ring{animation-name:hm-ring;animation-timing-function:ease-out}.hm-wave{animation-name:hm-wave}.hm-glow{animation-name:hm-glow}.hm-drift{animation-name:hm-drift}
.hm-fade{opacity:calc(1 - var(--p,.5) * .55)}.hm-hot{opacity:calc(1 - var(--p,.5) * .65)}.hm-cracks{opacity:calc(.12 + (1 - var(--p,.5)) * .88)}.hm-clouds{opacity:calc(var(--p,.5) * .95)}
@keyframes hm-breathe{0%,100%{opacity:.45;transform:scale(1)}50%{opacity:.9;transform:scale(1.03)}}
@keyframes hm-fly{0%{transform:translateX(var(--L));opacity:0;animation-timing-function:cubic-bezier(.4,0,.9,.6)}8%{opacity:1}58%{transform:translateX(0);opacity:1}60%,100%{transform:translateX(0);opacity:0}}
@keyframes hm-flash{0%,57%{opacity:0;transform:scale(.3)}65%{opacity:.8;transform:scale(1)}82%{opacity:.3;transform:scale(1.4)}100%{opacity:0;transform:scale(1.6)}}
@keyframes hm-ripple{0%,58%{opacity:0;transform:scale(.3)}63%{opacity:.8}100%{opacity:0;transform:scale(2.8)}}
@keyframes hm-warm{0%,100%{opacity:.25;transform:scale(1.3)}58%{opacity:.15;transform:scale(1.1)}66%{opacity:.95;transform:scale(.9)}82%{opacity:.6;transform:scale(1.2)}}
@keyframes hm-sink{0%{transform:translateX(0);opacity:0;animation-timing-function:cubic-bezier(.5,0,.9,.7)}10%{opacity:1}88%{opacity:1}100%{transform:translateX(calc((var(--r0) * 1px - 40px - var(--p,.5) * 74px) * -1));opacity:0}}
@keyframes hm-swirl{to{transform:rotate(360deg)}}
@keyframes hm-core{0%,100%{opacity:.5;transform:scale(var(--cs))}50%{opacity:1;transform:scale(calc(var(--cs) * 1.1))}}
@keyframes hm-flow{to{stroke-dashoffset:-44}}
@keyframes hm-pulse{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(4.2)}}
@keyframes hm-out{0%{transform:translateX(0);opacity:0}15%{opacity:.95}80%{opacity:.8}100%{transform:translateX(var(--len));opacity:0}}
@keyframes hm-ring{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(1.28)}}
@keyframes hm-wave{0%{transform:translateX(0);opacity:0}20%{opacity:.9}100%{transform:translateX(60px);opacity:0}}
@keyframes hm-glow{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes hm-drift{0%,100%{transform:translateX(-26px)}50%{transform:translateX(26px)}}
@media(prefers-reduced-motion:reduce){.heat-motion{display:none}}@media(prefers-reduced-motion:no-preference){.heat-base .hs-still{display:none}}
.home-studio,.home-shop{padding-block:70px}
.home-band-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}
.home-band-heading h2{font:500 clamp(2rem,4vw,3.4rem)/1.08 Georgia,serif;color:#173944;margin:16px 0 0}
.home-band-heading>p{max-width:430px;line-height:1.7;color:#435a5e;margin:0}
.home-studio-grid,.home-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}
.home-studio-tile,.home-shop-tile{display:block;border-radius:12px;overflow:clip;background:#fffbf3;border:1px solid #d7d4c5;color:#163c45;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.home-studio-tile:hover,.home-shop-tile:hover{transform:translateY(-4px);box-shadow:0 16px 30px #153c3312}
.home-studio-tile:focus-visible,.home-shop-tile:focus-visible{outline:3px solid #167d77;outline-offset:4px}
.home-studio-art{display:block;background:#071722;aspect-ratio:1000/620}
.home-studio-art svg{display:block;width:100%;height:100%}
.home-shop-tile img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#0b1c26}
.home-tile-copy{display:block;padding:20px 22px 24px}
.home-tile-copy h3{font:500 23px/1.25 Georgia,serif;margin:0 0 8px}
.home-tile-copy p{margin:0;font-size:14px;line-height:1.6;color:#435a5e}
.home-trust-line{max-width:720px;font-size:1.1rem;line-height:1.7;margin:0 0 20px}
@media(prefers-reduced-motion:reduce){.home-studio-tile:hover,.home-shop-tile:hover{transform:none}}
@media(max-width:900px){.home-band-heading{display:block}.home-band-heading>p{margin-top:14px}.home-studio-grid,.home-shop-grid{grid-template-columns:1fr;gap:16px}.home-studio,.home-shop{padding-block:40px}}
.journey-art svg{display:block;width:100%;height:100%}
.story-navigation{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.story-navigation a{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #749793;border-radius:6px;min-height:44px;text-decoration:none;color:#bde2dc;font-size:14px}.story-navigation span{color:#e6c998;font-size:12px}.story-navigation a:hover{background:#ffffff0d}.chapter-bridge{display:flex;gap:30px;justify-content:space-between;align-items:center;padding:26px;border-block:1px solid #a7bfb4;background:#e9eddf;margin:30px 0}.chapter-bridge p{line-height:1.75;max-width:680px;margin-bottom:0;color:#193d45}.chapter-bridge a{color:#075661;min-height:44px;display:flex;align-items:center;font-weight:600;flex-shrink:0}.story-navigation :focus-visible,.chapter-bridge :focus-visible{outline:3px solid #5ebaae;outline-offset:4px}@media(max-width:700px){.story-navigation a{flex:1 1 40%}.chapter-bridge{display:block;padding:20px}.chapter-bridge a{margin-top:15px}}
.map-meaning{margin:36px 0;padding:28px;border:1px solid #9cb7af;border-radius:16px;background:#f4f0e6}.map-meaning h3{font:500 clamp(1.8rem,3vw,2.7rem)/1.15 Georgia,serif;margin:16px 0}.map-meaning p{line-height:1.75}.map-meaning-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.map-meaning button{font:inherit;min-height:44px;padding:12px 18px;color:#153c46;border:1px solid #647f80;background:#fffaf0;border-radius:7px;cursor:pointer}.map-meaning button[aria-pressed=true]{background:#153c46;color:#fff0d5}.map-meaning-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:center}.map-meaning figure{margin:0}.map-meaning svg{width:100%;display:block}.map-meaning figcaption{font-size:14px;line-height:1.6;margin-top:12px;color:#435f68}.map-meaning h4{font:500 26px/1.2 Georgia,serif}.map-availability{padding:18px;border-left:3px solid #9c7737;background:#e8eddf}.map-meaning details{border-top:1px solid #a8beb5;padding-top:18px}.map-meaning summary{cursor:pointer;font-weight:600;min-height:44px}.map-meaning a{color:#075561}.map-meaning :focus-visible{outline:3px solid #167d77;outline-offset:4px}@media(max-width:700px){.map-meaning{padding:18px}.map-meaning-grid{grid-template-columns:1fr;gap:12px}.map-meaning button{flex:1 1 40%}}
/* Shared look for the learning collections (Homo sapiens, Polar Worlds, Earth in Motion) and the Explore hub.
   Same tokens as the rest of the site (index.css). Dark hero on navy, reading sections on paper. */
.collection-hero { position: relative; overflow: hidden; background: var(--navy); color: white; padding: 72px 0 56px; }
.collection-hero .content-width { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.collection-hero .eyebrow { color: var(--gold-light); }
.collection-hero h1 { color: white; font: 500 clamp(2.6rem, 5.2vw, 4.6rem)/1.04 'Iowan Old Style', 'Palatino Linotype', Georgia, serif; letter-spacing: -.02em; margin: 14px 0 20px; }
.collection-hero p { max-width: 620px; font-size: 18px; line-height: 1.6; color: #d7e3e3; margin: 0 0 22px; }
.collection-hero .collection-hero-actions { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
.collection-hero .primary-action { background: var(--gold-light); color: var(--navy); }
.collection-hero .primary-action:hover { background: #fff0c9; }
.collection-hero .text-action { color: #9be0df; }
.collection-hero-note { display: block; margin-top: 18px; color: #b5c7ca; font-size: 13px; }
.collection-hero-art { min-width: 0; }
.collection-hero-art svg, .collection-hero-art canvas { width: 100%; height: auto; }
.collection-hero-art figcaption { margin-top: 10px; color: #b5c7ca; font-size: 12px; }

.collection-questions { padding: 28px 0 0; }
.collection-questions ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.collection-questions a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--warm-white); color: var(--teal-dark); font-size: 14px; font-weight: 600; text-decoration: none; }
.collection-questions a:hover { border-color: var(--teal); }

.collection-section { padding: 64px 0 24px; border-top: 1px solid var(--line); scroll-margin-top: 80px; }
.collection-section:first-of-type { border-top: 0; }
.collection-section > .eyebrow { margin-bottom: 10px; }
.collection-section h2 { font: 500 clamp(1.9rem, 3.4vw, 2.8rem)/1.12 'Iowan Old Style', 'Palatino Linotype', Georgia, serif; margin: 0 0 18px; max-width: 820px; }
.collection-section > p, .collection-copy > p { max-width: 720px; font-size: 17px; line-height: 1.65; color: var(--ink); }
.collection-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.collection-split.is-wide-art { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.collection-figure { margin: 0; background: #0a1d26; border-radius: 14px; overflow: hidden; color: #dce7e5; }
.collection-figure svg, .collection-figure canvas { width: 100%; height: auto; display: block; }
.collection-figure figcaption { padding: 12px 16px 14px; font-size: 13px; line-height: 1.5; color: #b5c7ca; border-top: 1px solid rgba(255,255,255,.08); }
.collection-figure figcaption b { color: var(--gold-light); font-weight: 600; }
.collection-controls { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.collection-controls button { min-height: 44px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--warm-white); color: var(--navy); font-weight: 600; cursor: pointer; }
.collection-controls button[aria-pressed="true"] { background: var(--navy); color: white; border-color: var(--navy); }
.collection-controls label { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--muted); }
.collection-controls input[type="range"] { accent-color: var(--teal-dark); min-width: 180px; }
.collection-note { font-size: 14px; color: var(--muted); line-height: 1.55; max-width: 720px; }
.collection-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1px; background: var(--line); margin: 24px 0; }
.collection-facts > div { background: var(--warm-white); padding: 18px 20px; }
.collection-facts strong { display: block; font: 500 2rem/1.1 'Iowan Old Style', 'Palatino Linotype', Georgia, serif; color: var(--navy); margin-bottom: 6px; }
.collection-facts span { font-size: 13px; color: var(--muted); line-height: 1.45; }
.collection-facts small { display: block; margin-top: 8px; font-size: 11px; color: var(--teal-dark); }
.collection-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin: 24px 0; }
.collection-cards article { padding: 20px 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--warm-white); }
.collection-cards h3 { margin: 0 0 8px; font-size: 1.1rem; }
.collection-cards p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--muted); }
.collection-cards .claim-status { margin-top: 10px; }
.collection-next { margin: 56px 0 80px; padding: 28px 32px; background: var(--navy); color: white; border-radius: 14px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; }
.collection-next .eyebrow { color: var(--gold-light); }
.collection-next p { margin: 6px 0 0; max-width: 640px; color: #d7e3e3; }
.collection-next a { color: var(--gold-light); font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; }

/* Evidence tags and lists */
.claim-status, .claim-kind { display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.claim-status { background: #dfe9dc; color: #24502e; }
.claim-status.is-debated { background: #f6e3b4; color: #5a3d06; }
.claim-status.is-limited-evidence { background: #ece1d2; color: #5a3f24; }
.claim-status.is-unsupported-by-reviewed-evidence { background: #f1d5d0; color: #6b2117; }
.claim-status.is-not-yet-reviewed { background: #e2e2dd; color: #444; }
.claim-kind { background: transparent; border: 1px solid var(--line); color: var(--muted); }
.claim-list { margin: 22px 0 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--warm-white); }
.claim-list > summary { cursor: pointer; padding: 14px 18px; display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: baseline; list-style: none; }
.claim-list > summary::-webkit-details-marker { display: none; }
.claim-list > summary::before { content: '+'; margin-right: 8px; color: var(--teal-dark); font-weight: 600; }
.claim-list[open] > summary::before { content: '−'; }
.claim-list-count { font-size: 14px; color: var(--muted); }
.claim-list ol { list-style: none; margin: 0; padding: 0 18px 8px; }
.claim { padding: 14px 0; border-top: 1px solid var(--line); }
.claim p { margin: 0 0 6px; font-size: 14px; line-height: 1.55; }
.claim-text { color: var(--ink); font-weight: 600; }
.claim-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.claim-source a { color: var(--teal-dark); font-weight: 600; }
.claim-source span { color: var(--muted); }
.claim-limit { color: var(--muted); }
.claim-list-more { padding: 6px 18px 14px; margin: 0; font-size: 14px; }
.claim-list-more a { color: var(--teal-dark); font-weight: 600; }
.claim-key { margin: 18px 0 0; font-size: 14px; }
.claim-key summary { cursor: pointer; color: var(--teal-dark); font-weight: 600; min-height: 44px; display: flex; align-items: center; }
.claim-key dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 8px 24px; margin: 8px 0 0; }
.claim-key dl > div { display: flex; gap: 10px; align-items: flex-start; }
.claim-key dt { flex: none; }
.claim-key dd { margin: 0; color: var(--muted); }
.reconstruction-note { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 6px; background: rgba(255,255,255,.08); color: #f3e2bd; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }

/* Explore hub */
.explore-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; margin: 32px 0 64px; }
.explore-card { display: grid; grid-template-rows: auto 1fr; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--warm-white); color: inherit; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.explore-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -24px rgba(11, 39, 50, .5); }
.explore-card .explore-art { aspect-ratio: 16 / 9; background: var(--navy); overflow: hidden; }
.explore-card .explore-art svg, .explore-card .explore-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.explore-card .explore-copy { padding: 18px 20px 22px; }
.explore-card .explore-copy small { display: block; color: var(--teal-dark); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }
.explore-card h3 { margin: 6px 0 8px; font: 500 1.5rem/1.15 'Iowan Old Style', 'Palatino Linotype', Georgia, serif; }
.explore-card p { margin: 0 0 12px; font-size: 14px; line-height: 1.55; color: var(--muted); }
.explore-card strong { color: var(--teal-dark); font-weight: 600; }

@media (max-width: 900px) {
  .collection-hero .content-width, .collection-split, .collection-split.is-wide-art { grid-template-columns: 1fr; }
  .collection-hero { padding: 48px 0 36px; }
  .collection-section { padding: 44px 0 16px; }
}
@media (max-width: 600px) {
  .collection-hero p, .collection-section > p, .collection-copy > p { font-size: 16px; }
  .collection-controls input[type="range"] { min-width: 140px; width: 100%; }
}
.site-shell { min-height: 100vh; overflow: clip; }
.content-width { width: min(var(--content), calc(100% - 48px)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: 12px; z-index: 99; padding: 12px 18px; background: var(--warm-white); color: var(--navy); clip-path: inset(50%); }
.skip-link:focus { clip-path: none; }

.site-header {
  position: relative;
  z-index: 10;
  width: min(1320px, calc(100% - 48px));
  min-height: 88px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; gap: 12px; min-height: 56px; text-decoration: none; }
.brand-logo { width: 52px; height: 52px; flex: 0 0 auto; object-fit: contain; }
.brand strong { display: block; color: var(--navy); font: 600 19px/1.2 Inter, ui-sans-serif, system-ui, sans-serif; letter-spacing: -.02em; }
.brand sup { color: var(--gold); font-size: 8px; top: -.7em; position: relative; }
.brand small { display: block; color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; margin-top: 3px; }
.site-header nav { display: flex; align-items: center; gap: 6px; }
.site-header nav a { min-height: 48px; display: inline-flex; align-items: center; padding: 0 16px; color: var(--muted); font-size: 14px; font-weight: 600; text-decoration: none; }
.site-header nav a:hover, .site-header nav a.active { color: var(--teal-dark); }
.site-header nav a.active { box-shadow: inset 0 -2px var(--gold); }

.eyebrow { display: block; color: var(--teal-dark); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--navy); font-family: 'Iowan Old Style', 'Palatino Linotype', 'Book Antiqua', Georgia, serif; }
h1 { font-size: clamp(3rem, 7vw, 6.6rem); line-height: .95; letter-spacing: -.065em; }
h2 { font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.04; letter-spacing: -.045em; }
h3 { font-size: 1.15rem; line-height: 1.25; }
p { color: var(--muted); line-height: 1.7; }
.source-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--teal-dark); font-size: 13px; font-weight: 600; text-underline-offset: 4px; }
.primary-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 54px; padding: 0 22px; background: var(--teal-dark); color: white; font-weight: 600; text-decoration: none; }
.primary-action:hover { background: var(--navy); }
.text-action { display: inline-flex; align-items: center; gap: 18px; min-height: 48px; color: var(--teal-dark); font-weight: 600; text-underline-offset: 6px; }

.purpose-section { padding: 120px 0; }
.section-heading { max-width: 760px; }
.section-heading h2 { margin: 16px 0 20px; }
.section-heading > p { font-size: 17px; max-width: 680px; }
.question-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 64px; border-top: 1px solid var(--line); }
.question-grid article { min-height: 250px; padding: 28px 28px 20px 0; border-bottom: 1px solid var(--line); }
.question-grid article + article { border-left: 1px solid var(--line); padding-left: 28px; }
.question-grid article > span { color: var(--gold); font: 500 12px/1 Inter, ui-sans-serif, system-ui, sans-serif; }
.question-grid h3 { font-size: 1.45rem; margin: 30px 0 12px; }

.comparison-invitation { width: min(1320px, calc(100% - 48px)); margin: 0 auto 120px; padding: 80px; background: var(--navy); display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: end; }
.comparison-invitation .eyebrow { color: var(--gold-light); }
.comparison-invitation h2 { max-width: 800px; color: var(--warm-white); margin: 18px 0; }
.comparison-invitation p { max-width: 760px; color: #b8cace; }
.comparison-invitation .text-action { color: var(--gold-light); }
.teacher-preview { padding: 0 0 120px; display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.teacher-preview h2 { margin: 16px 0; }
.no-account { color: var(--navy); font-weight: 600; }
.no-account span { color: var(--teal); margin-right: 8px; }

.lab-intro { padding: 80px 0 46px; display: grid; grid-template-columns: 1.4fr .6fr; align-items: end; gap: 72px; }
.lab-intro h1 { font-size: clamp(3rem, 6vw, 5.4rem); margin: 18px 0 0; max-width: 900px; }
.lab-workspace { width: min(1320px, calc(100% - 48px)); margin: 0 auto 96px; position: relative; background: var(--navy); padding: 28px; }
.projection-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; max-width: 780px; }
.projection-controls button { min-height: 64px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.04); color: #b5c7ca; text-align: left; cursor: pointer; }
.projection-controls button span, .projection-controls button small { display: block; }
.projection-controls button span { color: inherit; font-weight: 600; }
.projection-controls button small { margin-top: 4px; font-size: 10px; letter-spacing: .06em; }
.projection-controls button:hover { border-color: rgba(255,255,255,.45); color: white; }
.projection-controls button.is-active { background: var(--warm-white); border-color: var(--warm-white); color: var(--navy); }
.selection-status { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; min-height: 48px; padding: 12px 0 8px; color: white; font-size: 12px; }
.selection-status span { color: #9eb4b8; text-transform: uppercase; letter-spacing: .1em; }
.selection-status strong:nth-of-type(1) { color: var(--gold-light); }
.selection-status strong:nth-of-type(2) { color: #9be0df; }
.why-pinned { max-width: 62em; margin: 0 0 14px; color: rgba(255,255,255,.86); font-size: 15px; line-height: 1.6; }
.why-pinned strong { color: white; }
.map-stage { position: relative; min-height: 500px; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); background: radial-gradient(circle at 50% 45%, #174553 0, #0b2732 72%); overflow: hidden; }
.map-svg { width: 100%; height: auto; max-height: 690px; }
.sphere { fill: #194651; stroke: #74a2a6; stroke-width: 1.1; }
.graticule { fill: none; stroke: rgba(185,222,219,.18); stroke-width: .75; }
.country { fill: #d7d6c8; stroke: #708b8b; stroke-width: .55; vector-effect: non-scaling-stroke; }
.country--africa { fill: #dba94d; stroke: #ffdfa1; stroke-width: 1.5; }
.country--greenland { fill: #59b9bd; stroke: #bff7f0; stroke-width: 1.8; }
.distortion-circle { fill: rgba(255,255,255,.025); stroke: rgba(255,255,255,.58); stroke-width: 1.2; stroke-dasharray: 4 4; vector-effect: non-scaling-stroke; }
.map-label circle { fill: var(--warm-white); stroke: var(--navy); stroke-width: 2; }
.map-label text { fill: white; paint-order: stroke; stroke: var(--navy); stroke-width: 5px; stroke-linejoin: round; font: 600 15px/1 Inter, ui-sans-serif, system-ui, sans-serif; }
.map-label--antarctica circle { fill: #dbe2d4; }
.country--antarctica { stroke: none; }
.map-edge-note { fill: #f3e2bd; paint-order: stroke; stroke: var(--navy); stroke-width: 4px; stroke-linejoin: round; font: 600 14px/1 Inter, ui-sans-serif, system-ui, sans-serif; }
.map-loading, .map-fallback { min-height: 500px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: white; gap: 8px; }
.map-fallback span { color: #b5c7ca; }
.map-legend { position: absolute; left: 18px; bottom: 16px; display: flex; flex-wrap: wrap; gap: 16px; padding: 9px 12px; background: rgba(5,29,37,.82); color: #dce7e5; font-size: 11px; }
.map-legend span { display: inline-flex; align-items: center; gap: 7px; }
.swatch { display: inline-block; width: 14px; height: 10px; }
.swatch--africa { background: #dba94d; }
.swatch--greenland { background: #59b9bd; }
.swatch--circle { border: 1px dashed white; border-radius: 50%; }
.projection-readout { padding: 30px 0 2px; display: grid; grid-template-columns: 180px 1fr auto; gap: 30px; align-items: start; }
.projection-readout .eyebrow { color: var(--gold-light); }
.projection-readout h2 { color: white; font-size: 2rem; margin: 8px 0; }
.projection-readout dl { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.projection-readout .readout-more { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin: 0; }
.antarctica-fact { grid-column: 1 / -1; margin: 0; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.6; }
.projection-readout dl > div { border-left: 1px solid rgba(255,255,255,.18); padding-left: 20px; }
.projection-readout dt { color: var(--gold-light); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.projection-readout dd { margin: 8px 0 0; color: #c9d7d8; line-height: 1.55; font-size: 13px; }
.projection-readout .source-link { color: #9be0df; }
.overlay-explainer { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; padding: 20px 0 110px; }

.overlay-explainer h2 { margin-top: 16px; }
.data-section { padding: 0 0 100px; }
.area-data { margin-top: 48px; display: grid; grid-template-columns: 300px 1fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ratio-callout { padding: 32px 34px 32px 0; border-right: 1px solid var(--line); }
.ratio-callout strong { display: block; color: var(--gold); font: 600 clamp(4rem, 8vw, 7rem)/1 'Iowan Old Style', 'Palatino Linotype', Georgia, serif; letter-spacing: -.08em; margin: 18px 0 12px; }
.ratio-callout p { font-size: 14px; }
.table-scroll { min-width: 0; max-width: 100%; overflow-x: auto; padding: 24px 0 12px 38px; }
table { width: 100%; border-collapse: collapse; text-align: left; }
caption { padding: 0 0 14px; color: var(--navy); font-weight: 600; text-align: left; }
th, td { min-width: 150px; padding: 16px 12px; border-bottom: 1px solid var(--line); color: var(--muted); }
thead th { color: var(--teal-dark); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
tbody th { color: var(--navy); }
.method-note { grid-column: 1 / -1; margin: 0; padding: 18px 0; font-size: 12px; border-top: 1px solid var(--line); }
.evidence-panel { margin-bottom: 110px; padding: 50px; background: #e8e5da; }
.section-heading--compact h2 { font-size: 2rem; }
.evidence-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 34px; background: rgba(15,57,68,.16); }
.evidence-list article { padding: 26px; background: #f3f0e7; }
.evidence-list article > div { display: flex; justify-content: space-between; gap: 16px; color: var(--teal-dark); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.evidence-list h3 { margin: 18px 0 12px; }
.evidence-list p { font-size: 13px; margin-bottom: 8px; }
.evidence-list a { display: inline-flex; align-items: center; min-height: 44px; color: var(--teal-dark); font-size: 12px; font-weight: 600; }

.reading-page { padding: 86px 0 120px; }
.reading-header { max-width: 960px; margin-bottom: 90px; }
.reading-header h1 { font-size: clamp(3rem, 6vw, 5.5rem); margin: 20px 0 28px; }
.reading-header > p { max-width: 760px; font-size: 18px; }
.method-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 110px; }
.method-grid > h2 { grid-column: 1 / -1; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.method-grid article { padding: 28px 28px 28px 0; border-bottom: 1px solid var(--line); }
.method-grid article:nth-of-type(3n+2), .method-grid article:nth-of-type(3n+3) { border-left: 1px solid var(--line); padding-left: 28px; }
.method-grid article > span, .source-number { color: var(--gold); font-size: 12px; }
.method-grid h3 { margin: 24px 0 12px; }
.method-grid p { font-size: 14px; }
code { padding: 2px 5px; border-radius: 2px; background: #e4e0d5; color: var(--navy); font-size: .9em; }
.source-register .section-heading { margin-bottom: 40px; }
.source-register > article { display: grid; grid-template-columns: 60px 1fr; padding: 28px 0; border-top: 1px solid var(--line); }
.source-register h3 { font-size: 1.45rem; margin: 8px 0 16px; }
.source-register p { max-width: 900px; font-size: 14px; margin-bottom: 8px; }
.source-register a { display: inline-flex; align-items: center; min-height: 44px; color: var(--teal-dark); font-weight: 600; }
.source-meta { color: var(--teal-dark) !important; font-size: 11px !important; letter-spacing: .05em; text-transform: uppercase; }
.correction-process { max-width: 900px; }
.correction-process > h2 { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.correction-process ol { padding: 0; margin: 0; list-style: none; }
.correction-process li { display: grid; grid-template-columns: 52px 1fr; padding: 28px 0; border-bottom: 1px solid var(--line); }
.correction-process li > span { color: var(--gold); }
.correction-process h3 { margin: 0 0 8px; }
.correction-note { max-width: 900px; margin-top: 70px; padding: 40px; background: #e8e5da; }
.correction-note h2 { font-size: 1.6rem; }
.no-account--large { display: inline-flex; min-height: 48px; align-items: center; padding: 0 18px; background: #e2ebe6; }
.lesson-preview { padding: 56px; background: var(--navy); }
.lesson-preview .eyebrow { color: var(--gold-light); }
.lesson-preview h2 { max-width: 760px; color: white; margin: 16px 0 42px; }
.lesson-preview ol { padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255,255,255,.15); }
.lesson-preview li { padding: 26px; background: var(--navy); }
.lesson-preview li span { color: var(--gold-light); font-weight: 600; }
.lesson-preview li p { margin: 9px 0 0; color: #c7d6d7; font-size: 14px; }
.lesson-preview .primary-action { margin-top: 36px; background: var(--gold-light); color: var(--navy); }
.teacher-safeguards { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 64px; border-top: 1px solid var(--line); }
.teacher-safeguards article { padding: 28px 28px 0 0; }
.teacher-safeguards article + article { border-left: 1px solid var(--line); padding-left: 28px; }

.site-footer { width: min(1320px, calc(100% - 48px)); margin-inline: auto; padding: 56px 0 36px; display: grid; grid-template-columns: 1fr auto; gap: 30px 60px; border-top: 1px solid var(--line); }
.site-footer strong { color: var(--navy); font: 600 18px/1.2 Inter, ui-sans-serif, system-ui, sans-serif; }
.site-footer p { font-size: 12px; margin: 8px 0 0; }
.footer-links { display: flex; flex-wrap: wrap; gap: 6px; }
.footer-links a { min-height: 44px; display: inline-flex; align-items: center; padding: 0 10px; color: var(--teal-dark); font-size: 13px; }
.legal { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid var(--line); }

@media (max-width: 980px) {
  .site-header { align-items: flex-start; padding: 16px 0 10px; }
  .site-header nav { overflow-x: auto; max-width: 58vw; }
  .site-header nav a { white-space: nowrap; }
  .brand small { display: none; }
  .hero-section { grid-template-columns: 1fr; }
  .hero-copy { padding-bottom: 0; }
  .hero-visual { min-height: 540px; }
  .question-grid { grid-template-columns: 1fr; }
  .question-grid article + article { border-left: 0; padding-left: 0; }
  .comparison-invitation { padding: 54px; grid-template-columns: 1fr; }
  .lab-intro, .overlay-explainer { grid-template-columns: 1fr; gap: 20px; }
  .projection-readout { grid-template-columns: 1fr; }
  .projection-readout dl { grid-template-columns: repeat(3, 1fr); }
  .area-data { grid-template-columns: 1fr; }
  .ratio-callout { border-right: 0; border-bottom: 1px solid var(--line); }
  .table-scroll { padding-left: 0; }
  .method-grid { grid-template-columns: repeat(2, 1fr); }
  .method-grid article:nth-of-type(3n+2), .method-grid article:nth-of-type(3n+3) { border-left: 0; padding-left: 0; }
  .method-grid article:nth-of-type(even) { border-left: 1px solid var(--line); padding-left: 28px; }
}

@media (max-width: 700px) {
  .content-width, .site-header, .hero-section, .comparison-invitation, .lab-workspace, .site-footer { width: min(100% - 28px, var(--content)); }
  .site-header { display: block; min-height: auto; }
  .brand { width: 100%; }
  .site-header nav { width: 100%; max-width: 100%; margin-top: 4px; justify-content: space-between; overflow: visible; }
  .site-header nav a { padding: 0 4px; font-size: 12px; }
  h1 { letter-spacing: -.055em; }
  .hero-copy { padding-top: 62px; }
  .hero-copy > p:not(.trust-line) { font-size: 15px; }
  .hero-visual { min-height: 430px; }
  .hero-globe { width: 78vw; }
  .visual-note { min-width: 126px; padding: 10px 11px; }
  .visual-note--area { top: 12%; }
  .visual-note--angles { right: -4%; bottom: 15%; }
  .visual-note--sphere { left: -2%; bottom: 2%; }
  .purpose-section { padding: 90px 0; }
  .comparison-invitation { padding: 38px 24px; }
  .teacher-preview { grid-template-columns: 1fr; gap: 20px; padding-bottom: 90px; }
  .lab-intro { padding-top: 62px; }
  .lab-workspace { padding: 12px; }
  .projection-controls { gap: 4px; }
  .projection-controls button { min-height: 72px; padding: 8px; text-align: center; }
  .projection-controls button small { font-size: 8px; line-height: 1.25; }
  .selection-status { gap: 8px; }
  .selection-status span { width: 100%; }
  .map-stage, .map-loading, .map-fallback { min-height: 320px; }
  .map-svg { min-height: 320px; object-fit: contain; }
  .map-legend { position: static; border-top: 1px solid rgba(255,255,255,.12); }
  .map-label text { font-size: 20px; }
  .projection-readout dl { grid-template-columns: 1fr; }
  .projection-readout dl > div { padding: 12px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .overlay-explainer { padding-bottom: 80px; }
  .data-section { padding-bottom: 72px; }
  .ratio-callout { padding-right: 0; }
  .evidence-panel { padding: 28px 18px; margin-bottom: 80px; }
  .evidence-list { grid-template-columns: 1fr; }
  .reading-page { padding-top: 62px; }
  .reading-header { margin-bottom: 62px; }
  .method-grid { grid-template-columns: 1fr; }
  .method-grid article:nth-of-type(even) { border-left: 0; padding-left: 0; }
  .lesson-preview { padding: 32px 20px; }
  .lesson-preview ol { grid-template-columns: 1fr; }
  .teacher-safeguards { grid-template-columns: 1fr; }
  .teacher-safeguards article + article { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); }
  .site-footer { grid-template-columns: 1fr; }
  .legal { grid-column: 1; }
}

@media (forced-colors: active) {
  .country--africa { fill: Canvas; stroke: LinkText; stroke-width: 4; }
  .country--greenland { fill: Canvas; stroke: Highlight; stroke-width: 4; stroke-dasharray: 8 5; }
  .distortion-circle { stroke: CanvasText; }
}

/* Evidence-led editorial refresh. */
.site-header { gap: 24px; }
.site-header nav a { padding-inline: 12px; }
main:focus { outline: none; }
.atlas-hero { background: var(--navy); color: var(--warm-white); margin-top: 0; }
.atlas-hero-inner { width: min(1320px, calc(100% - 64px)); margin: auto; display: grid; grid-template-columns: 1fr 1.05fr; gap: 48px; align-items: center; padding: 68px 0 58px; }
.atlas-hero-copy { position: relative; z-index: 1; }
.atlas-hero .eyebrow { color: #bbd4d3; font-size: 10px; letter-spacing: .14em; }
.atlas-hero h1 { color: #fffdf8; font-size: clamp(3.5rem, 5.7vw, 5.8rem); line-height: 1.03; letter-spacing: -.045em; margin: 28px 0; font-weight: 400; }
.atlas-hero h1 em { color: var(--gold-light); font-weight: 400; }
.atlas-hero p { color: #bcd0d3; max-width: 470px; font-size: 16px; }
.atlas-hero .hero-lede { color: #fffdf8; font-size: 19px; }
.atlas-hero .primary-action { margin-top: 18px; background: var(--gold-light); color: var(--navy); border: 0; }
.atlas-hero .trust-line { font-size: 12px; margin-top: 17px; }
.hero-map-figure { margin: 0; min-width: 0; }
.figure-heading { display: flex; justify-content: space-between; gap: 20px; color: #b8d1d2; font: 10px/1.6 ui-monospace, monospace; letter-spacing: .1em; border-bottom: 1px solid #38545d; padding-bottom: 18px; }
.hero-map-figure .map-stage { min-height: 0; border: 0; background: none; overflow: visible; }
.hero-map-figure .map-svg { min-height: 0; width: 100%; height: auto; }
.hero-map-figure .map-legend { position: static; background: none; justify-content: center; padding: 12px; }
.hero-map-figure .sphere { fill: #133d49; stroke: #79a7ad; }
.hero-map-figure .country { fill: #91b0af; stroke: #284f59; }
.hero-map-figure .country--africa { fill: #e7ba67; stroke: #fff0c5; }
.hero-map-figure .country--greenland { fill: #79dad6; stroke: #d7fffa; }
.hero-map-figure figcaption { color: #b8d1d2; font-size: 11px; line-height: 1.6; border-top: 1px solid #38545d; padding-top: 16px; }
.hero-map-figure figcaption a { color: #f2d18f; display: inline-flex; min-height: 44px; align-items: center; margin-left: 12px; }
.editorial-strip { display: flex; align-items: center; gap: 36px; padding-block: 28px; border-bottom: 1px solid var(--line); }
.editorial-strip > span { font: 10px/1.5 ui-monospace, monospace; color: var(--teal-dark); white-space: nowrap; }
.editorial-strip p { margin: 0; font-size: 14px; flex: 1; }
.editorial-strip a { color: var(--teal-dark); min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
.purpose-section { padding-block: 88px; }
.question-grid { margin-top: 42px; }
.question-grid h3 { margin-top: 24px; }
.comparison-invitation { margin-bottom: 88px; }
.trust-section { padding-bottom: 90px; }
.trust-section h2 { margin-block: 18px 32px; max-width: 820px; }
.trust-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 42px; }
.trust-columns strong { color: var(--navy); }
.map-limit { color: #c7d7da; font-size: 12px; margin: 14px 0 0; }
.overlay-toggle { color: #e3eceb; display: inline-flex; min-height: 44px; gap: 10px; align-items: center; font-size: 13px; cursor: pointer; }
.overlay-toggle input { width: 20px; height: 20px; accent-color: #f2d18f; }
.knowledge-check { padding-bottom: 80px; }
.knowledge-check h2 { margin-top: 18px; }
.knowledge-check fieldset { border: 0; border-top: 1px solid var(--line); margin: 26px 0; padding: 24px 0 0; min-width: 0; }
.knowledge-check legend { font-weight: 600; line-height: 1.5; padding: 0 18px 0 0; max-width: 100%; }
.knowledge-check legend span { color: var(--gold); margin-right: 14px; font: 12px ui-monospace, monospace; }
.answer-options { display: flex; flex-wrap: wrap; gap: 10px; }
.answer-options button { background: var(--warm-white); border: 1px solid #87999a; padding: 12px 18px; min-height: 48px; color: var(--navy); cursor: pointer; text-align: left; }
.answer-options button[aria-pressed="true"] { background: var(--teal-dark); color: white; border-color: var(--teal-dark); }
.answer-feedback { background: #e3eae3; padding: 18px 24px; margin-top: 18px; max-width: 960px; }
.answer-feedback .source-link { margin-left: 10px; }
.text-button { border: 0; background: transparent; padding: 12px 0; min-height: 44px; text-decoration: underline; text-underline-offset: 5px; color: var(--teal-dark); font-weight: 600; cursor: pointer; }
button:disabled { opacity: .65; cursor: not-allowed; }
.access-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.access-option { border-top: 2px solid var(--teal-dark); padding: 32px 0; }
.access-option h2 { font-size: 2.5rem; margin-block: 20px; }
.access-price { font-size: 24px; color: var(--navy); }
.access-option ul { padding-left: 20px; color: var(--muted); line-height: 2; margin-bottom: 32px; }
.access-option--future { border-color: #849293; }
.faq-section, .teaching-notes { margin-top: 70px; }
details { border-top: 1px solid var(--line); padding-block: 8px; }
summary { min-height: 52px; cursor: pointer; padding-block: 16px; color: var(--navy); font-weight: 600; line-height: 1.4; }
details p { max-width: 850px; }
.account-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.account-layout h1 { margin-block: 22px; font-size: clamp(3rem, 5vw, 5rem); }
.account-panel { padding: 36px; background: var(--warm-white); border: 1px solid var(--line); }
.account-panel h2 { font-size: 2rem; }
.account-panel form { display: grid; gap: 12px; }
.account-panel form .primary-action { margin-top: 10px; justify-content: center; border: 0; cursor: pointer; }
.account-panel input, textarea { width: 100%; min-height: 48px; padding: 12px; border: 1px solid #829496; background: white; color: var(--navy); font: inherit; border-radius: 3px; }
.account-panel label, .correction-note label { display: block; font-size: 14px; font-weight: 600; margin-block: 12px 6px; }
.account-help { display: flex; flex-wrap: wrap; gap: 18px; }
.small-note { font-size: 12px; margin-top: 22px; }
.status-note { background: #eaf0eb; padding: 20px; line-height: 1.7; margin-bottom: 24px; overflow-wrap: anywhere; }
.status-note p { margin-bottom: 0; }
.policy-page > section { max-width: 840px; }
.policy-page > section h2 { font-size: 2rem; margin-top: 40px; }
.correction-note li { color: var(--muted); line-height: 1.7; margin-bottom: 12px; }
textarea { resize: vertical; }
.source-meta { line-height: 1.7; }
.source-register article { scroll-margin-top: 30px; }
@media (max-width: 1100px) {
 .site-header { flex-wrap: wrap; padding-block: 12px; gap: 0; }
 .site-header nav { max-width: 100%; flex-wrap: wrap; overflow: visible; }
 .atlas-hero-inner { gap: 24px; }
 .account-layout { gap: 36px; }
}
@media (max-width: 760px) {
 .atlas-hero-inner { width: calc(100% - 36px); grid-template-columns: 1fr; padding-top: 48px; gap: 48px; }
 .atlas-hero h1 { font-size: clamp(3.1rem, 10vw, 4.8rem); }
 .atlas-hero-copy { max-width: 600px; }
 .hero-map-figure { max-width: 620px; width: 100%; margin-inline: auto; }
 .hero-map-figure figcaption a { margin-left: 0; display: flex; }
 .editorial-strip { flex-wrap: wrap; gap: 4px 20px; }
 .editorial-strip p { flex-basis: 100%; }
 .trust-columns, .access-grid, .account-layout { grid-template-columns: 1fr; gap: 24px; }
 .account-panel { padding: 24px; }
 .site-header nav { justify-content: flex-start; gap: 0 14px; }
 .site-header nav a { font-size: 12px; padding-inline: 2px; }
 .evidence-list article > div { flex-wrap: wrap; }
}
@media print {
 :root { color: black; background: white; }
 .site-header, .site-footer, .skip-link, .print-button, .teacher-page .primary-action { display: none !important; }
 .reading-page { padding: 0; width: 100%; }
 .reading-header { margin-bottom: 20px; }
 .reading-header h1 { font-size: 32pt; }
 .lesson-preview { padding: 20px; background: white; border: 1px solid #888; }
 .lesson-preview h2, .lesson-preview li p, .lesson-preview li span, .lesson-preview .eyebrow { color: black; }
 .lesson-preview li, .lesson-preview ol { background: white; }
 .lesson-preview li { break-inside: avoid; }
 .teaching-notes { margin-top: 24px; }
 .teacher-safeguards { display: block; margin-top: 24px; }
 p { font-size: 11pt; }
}
.menu-toggle { display: none; }
@media (max-width: 700px) {
 .site-header { display: flex; align-items: center; padding: 10px 0; gap: 0; }
 .site-header .brand { width: auto; }
 .menu-toggle { display: inline-flex; align-items: center; gap: 18px; border: 1px solid var(--line); background: transparent; color: var(--navy); min-height: 44px; padding: 10px 14px; font-size: 13px; cursor: pointer; }
 .site-header nav { display: none; width: 100%; padding-top: 12px; }
 .site-header nav.is-open { display: flex; }
 .site-header nav a { padding-inline: 10px; }
 .lab-intro { padding-top: 36px; padding-bottom: 28px; gap: 16px; }
 .lab-intro h1 { font-size: 2.6rem; line-height: 1.05; }
 .lab-intro p { margin-bottom: 0; }
}
/* Guided discovery, transparent evidence and support. */
.guided-investigation { margin-bottom: 44px; padding: 28px; border: 1px solid var(--line); background: #fffdf8; }
.guide-heading { display: flex; justify-content: space-between; gap: 30px; align-items: end; }
.guide-heading h2 { font-size: 2rem; margin: 12px 0; }
.guide-heading p { max-width: 290px; font-size: 13px; }
.guide-steps { list-style: none; display: flex; gap: 28px; padding: 18px 0; margin: 0 0 20px; border-block: 1px solid var(--line); }
.guide-steps button { font: inherit; background: none; border: 0; border-bottom: 2px solid transparent; color: var(--muted); padding: 8px 0; font-size: 14px; cursor: pointer; }
.guide-steps button:hover { color: var(--teal-dark); border-bottom-color: var(--line); }
.guide-steps button:focus-visible { outline: 3px solid #167d77; outline-offset: 3px; }
.guide-steps button[aria-current] { color: var(--teal-dark); font-weight: 700; border-bottom-color: var(--gold); }
.guide-steps span { font: 12px ui-monospace, monospace; margin-right: 8px; }
.guide-content h3 { font-size: 1.6rem; }
.guide-content .primary-action { margin: 24px 18px 16px 0; border: 0; cursor: pointer; }
.guide-complete { background: #e3eae3; padding: 20px; }
.guide-skip { margin-left: 24px; font-size: 13px; }
.globe-controls { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; color: #d5e4e4; padding: 16px 0; border-top: 1px solid #38545d; }
.globe-controls p { width: 100%; color: #c7d7da; font-size: 13px; margin: 0; }
.globe-controls label { font-size: 12px; flex: 1; min-width: 170px; }
.globe-controls input { display: block; width: 100%; min-height: 44px; accent-color: #f2d18f; }
.globe-controls button { padding: 12px 18px; min-height: 44px; border: 1px solid #a6bdc2; background: transparent; color: white; cursor: pointer; }
.map-svg--draggable { cursor: grab; touch-action: none; }
.map-svg--draggable:active { cursor: grabbing; }
.return-guide { color: #f2d18f; font-size: 13px; display: inline-flex; min-height: 44px; align-items: center; }
.share-view { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 72px; }
.share-view h2 { font-size: 2.3rem; margin-top: 14px; }
.share-view .primary-action { border: 0; cursor: pointer; }
.share-view label { display: block; margin: 18px 0 8px; font-size: 13px; }
.share-view input { width: 100%; min-height: 44px; padding: 12px; border: 1px solid #829496; color: var(--navy); background: white; }
.evidence-assessment { border-left: 3px solid var(--gold); padding-left: 12px; }
.editorial-policy { margin-bottom: 64px; max-width: 850px; }
.editorial-policy h2 { font-size: 2.5rem; }
.support-layout { display: grid; grid-template-columns: 1.4fr .8fr; gap: 60px; }
.support-layout h2 { font-size: 2rem; }
.support-layout details { border-top: 1px solid #d7d4c5; padding: 14px 0; }
.support-layout summary { cursor: pointer; font-weight: 600; }
.support-layout details a { color: var(--navy); }
.policy-page li { color: var(--muted); line-height: 1.7; margin-bottom: 12px; }
#guide-heading, #lab-map-heading { scroll-margin-top: 20px; }
@media (max-width: 760px) {
 .guide-heading { display: block; }
 .guided-investigation { padding: 20px; }
 .guide-steps { gap: 16px; }
 .guide-steps button { font-size: 12px; }
 .guide-steps span { display: block; margin-bottom: 6px; }
 .guide-skip { display: flex; margin-left: 0; min-height: 44px; align-items: center; }
 .share-view, .support-layout { grid-template-columns: 1fr; gap: 24px; }
 .globe-controls label { flex-basis: 100%; }
}
.contact-directory { margin: 24px 0 40px; }
.contact-directory > div { border-top: 1px solid var(--line); padding-block: 12px; }
.contact-directory dt { font-size: 13px; font-weight: 600; }
.contact-directory dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.contact-directory a { display: inline-flex; min-height: 44px; align-items: center; color: var(--teal-dark); }

/* Earth origins: optional 3D, readable before loading, motion by choice. */
.origins-page { background: #071722; padding: 72px 0 80px; margin-bottom: 90px; color: #e5eceb; }
.origins-page header { margin-bottom: 44px; }
.origins-page h1 { color: #f7f0df; margin: 24px 0; }
.origins-page header > p { max-width: 650px; color: #bbced3; font-size: 19px; }
.origins-page .eyebrow, .origins-experience .eyebrow { color: #8cd5d1; }
.origins-free { color: #dcc795; font-size: 13px; }
.origins-experience { min-width: 0; background: #0a1e2a; border: 1px solid #34505c; border-radius: 16px; overflow: hidden; }
.origins-visual { position: relative; background: radial-gradient(ellipse at 45% 55%, #493027 0, #0a1d2b 47%, #050e19 90%); }
.origins-topline { position: absolute; top: 20px; left: 22px; right: 22px; display: flex; justify-content: space-between; gap: 12px; color: #afc9d2; font-size: 9px; letter-spacing: .13em; z-index: 1; pointer-events: none; }
.origins-canvas, .origins-poster { height: 370px; position: relative; }
.origins-canvas canvas { display: block; width: 100%; height: 100%; }
.origins-labels { position: absolute; inset: 0; pointer-events: none; }
.origins-labels svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.origins-labels line { stroke: #8fd0cc; stroke-width: 1; opacity: .8; }
.origins-labels span { position: absolute; white-space: nowrap; font: 500 11px/1.2 system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #9fdad5; text-shadow: 0 1px 3px #050e19; }
.origins-poster { overflow: hidden; background-image: radial-gradient(circle at 19% 20%,#b9d7e9 0 1px,transparent 1.5px),radial-gradient(circle at 83% 30%,#819caa 0 1px,transparent 1.5px),radial-gradient(circle at 35% 85%,#819caa 0 1px,transparent 1.5px); }
.poster-planet { position: absolute; width: 220px; height: 220px; border-radius: 50%; left: calc(50% - 110px); top: 76px; background: radial-gradient(circle at 30% 27%,#ffc77c 0, transparent 20%),radial-gradient(ellipse at 35% 40%,#ed9949,#a64328 42%,#592720 70%,#241923); box-shadow: inset -50px -23px 45px #030a12, inset 3px 2px 6px #ffe0a3,0 0 40px #dc652b33; transform: rotate(-22deg); }
.poster-orbit { position: absolute; width: 85%; height: 135px; left: 7.5%; top: 137px; border: 2px dotted #bc8a5966; border-radius: 50%; transform: rotate(-20deg); }
.poster-moon { position: absolute; width: 26px; height: 26px; border-radius: 50%; left: 80%; top: 99px; background: radial-gradient(circle at 20% 25%,#ded6be,#5d6770 70%,#101d26); }
.origins-controls { padding: 12px 22px 20px; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.origins-controls button { border: 1px solid #8cc6c9; background: #143745; color: #eafffa; padding: 12px 16px; min-height: 44px; cursor: pointer; border-radius: 6px; }
.origins-controls span { font-size: 11px; color: #b5c8ce; }
.origins-chapters { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid #34505c; border-bottom: 1px solid #34505c; }
.origins-chapters button { text-align: left; padding: 16px 12px; border: 0; border-right: 1px solid #34505c; color: #c5d8dd; background: transparent; cursor: pointer; font-size: 12px; min-height: 65px; }
.origins-chapters button span { display: block; color: #a4b9c5; font-size: 10px; margin-bottom: 8px; }
.origins-chapters button[aria-pressed=true] { background: #183e49; color: #fff0c9; box-shadow: inset 0 -2px #dfb96a; }
.origins-explanation { padding: 24px; }
.origins-explanation .eyebrow { font-size: 9px; letter-spacing: .1em; }
.origins-explanation h2 { font-size: 28px; color: #f7f0df; margin: 12px 0; }
.origins-explanation p { color: #c5d4da; font-size: 14px; }
.origins-explanation a { color: #92ded6; font-size: 12px; display: inline-flex; min-height: 44px; align-items: center; }
.origins-explanation details { color: #d1c8ac; font-size: 12px; margin-top: 8px; }
.origins-explanation summary { cursor: pointer; padding: 10px 0; }
.origins-explanation details p { font-size: 12px; }
.scene-fallback { min-height: 300px; padding: 100px 30px 30px; color: #deecef; }
.origins-page .origins-canvas, .origins-page .origins-poster { height: 470px; }
.origins-page .poster-planet { top: 120px; }
.origins-page .poster-orbit { top: 180px; }
.origins-page .origins-explanation { max-width: 850px; padding: 30px; }
.atlas-hero-inner { align-items: center; }
.atlas-hero-copy h1 { font-size: clamp(3rem,5.6vw,5.8rem); }
@media(max-width:700px) { .origins-page{padding-top:48px;} .origins-canvas,.origins-poster,.origins-page .origins-canvas,.origins-page .origins-poster{height:320px;} .origins-topline{font-size:8px;left:14px;right:14px;} .origins-chapters button{font-size:10px;padding:12px 8px;} .origins-explanation{padding:20px;} .origins-page .poster-planet{top:64px;} .origins-page .poster-orbit{top:125px;} }
.poster-chapter-0 .poster-planet { width: 80px; height: 80px; left: calc(50% - 40px); top: 145px; background: radial-gradient(circle at 35% 30%,#fff5c2,#f1a44b); box-shadow: 0 0 60px #eaaa6877; }
.poster-chapter-0 .poster-moon,.poster-chapter-1 .poster-moon,.poster-chapter-2 .poster-moon,.poster-chapter-2 .poster-orbit { display: none; }
.poster-chapter-2 .poster-planet { background: radial-gradient(circle,#ffdb99 0 29%,#dd663d 30% 63%,#633e31 64% 100%); box-shadow: 0 0 40px #dc652b22; }
.origins-explanation summary { color: #d1c8ac; }
.origins-source { border-block: 1px solid #34505c; padding-block: 6px; }
.origins-source summary { color: #92ded6; }
.origins-source a { line-height: 1.6; padding-block: 8px; }

.deep-time { margin: 0 auto 110px; }
.deep-time-heading { display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:end;margin-bottom:34px; }
.deep-time-heading h2 { font-size:clamp(2.5rem,5vw,4.8rem);line-height:.98;margin:14px 0 0;max-width:760px; }
.deep-time-heading p { max-width:560px;color:var(--muted);font-size:17px; }
.deep-time-workspace { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);background:#071722;color:#d9e5e5;border-radius:18px;overflow:hidden; }
.deep-time-visual { min-height:520px;padding:24px;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--ocean),#fff 12%),#071722 70%);display:flex;flex-direction:column; }
.deep-time-legend { display:flex;justify-content:space-between;gap:20px;color:#a8c0c5;font-size:10px;letter-spacing:.1em; }
.deep-time-visual svg { width:100%;max-height:420px;flex:1;filter:drop-shadow(0 20px 30px #0008); }
.deep-time-fragments ellipse { fill:var(--land);stroke:var(--glow);stroke-width:.6;transition:all 650ms cubic-bezier(.2,.8,.2,1); }
.deep-time-grid { fill:none;stroke:#d9eef1;stroke-width:.25;opacity:.24; }
.deep-time-visual-note { margin:0;color:#a9bdc2;font-size:12px;line-height:1.6; }
.deep-time-copy { padding:54px 42px;align-self:center; }
.deep-time-date { display:block;color:#e2c987;font-size:13px;font-weight:700;margin-bottom:14px; }
.deep-time-copy h3 { color:#fff4df;font-size:clamp(2rem,3vw,3.2rem);margin:18px 0; }
.deep-time-copy p { color:#c1d0d3; }
.evidence-status { display:inline-flex;padding:7px 10px;border:1px solid #6f9197;border-radius:999px;color:#d6e8e7;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase; }
.evidence-status--actively-debated { border-color:#d2b56e;color:#f0d99e; }
.deep-time-copy details { margin-top:28px;border-top:1px solid #34505c; }
.deep-time-copy summary { color:#8edbd3; }
.deep-time-source { display:grid;gap:5px;padding:14px 0;border-top:1px solid #27414b; }
.deep-time-source span { color:#9eb3b8;font-size:11px; }
.deep-time-source a { color:#9de6dc;line-height:1.5; }
.deep-time-controls { padding:26px 0; }
.deep-time-controls label { display:block;color:var(--navy);font-weight:700;margin-bottom:12px; }
.deep-time-controls input { width:100%;accent-color:var(--teal-dark); }
.deep-time-stops { display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:18px; }
.deep-time-stops button { min-height:72px;border:1px solid var(--line);background:transparent;color:var(--muted);padding:10px;text-align:left;cursor:pointer;font-size:11px; }
.deep-time-stops button span { display:block;color:var(--teal-dark);font-weight:800;margin-bottom:5px; }
.deep-time-stops button[aria-pressed=true] { background:var(--navy);color:white;border-color:var(--navy); }
.deep-time-stops button[aria-pressed=true] span { color:#f0d58f; }
.deep-time-key { margin:.5rem 0 0;font-size:.8rem;color:var(--muted); }
@media(max-width:820px){.deep-time-heading,.deep-time-workspace{grid-template-columns:1fr}.deep-time-heading{gap:16px}.deep-time-visual{min-height:390px}.deep-time-copy{padding:34px 24px}.deep-time-stops{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.deep-time-fragments ellipse{transition:none}}
/* Native-scrolling visual welcome. All content remains visible without animation support. */
.earth-welcome { min-height: min(820px,90svh); position: relative; isolation: isolate; overflow: clip; display: flex; flex-direction: column; justify-content: center; background: #092b34; color: #fff9ed; }
.welcome-stars { position: absolute; inset: -4%; z-index: -3; background: radial-gradient(ellipse at 75% 50%,#387c7870,transparent 60%),radial-gradient(circle at 20% 25%,#e4ce9b 0 1px,transparent 2px),radial-gradient(circle at 80% 70%,#c2dfd5 0 1px,transparent 2px); background-size: auto,173px 139px,227px 199px; }
.welcome-earth { position: absolute; width: min(940px,76vw); right: -9%; top: 50%; transform: translateY(-50%) rotate(-12deg); z-index: -2; }
.welcome-earth .hero-globe { display: block; width: 100%; aspect-ratio: 1; filter: drop-shadow(0 0 42px #72b7a744); }
.welcome-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#071e28 5%,#071e28eb 32%,#071e2840 70%,transparent); }
.welcome-copy { padding-block: 100px 120px; }
.welcome-copy .eyebrow { color:#e6c994; font-size:11px; }
.welcome-copy h1 { font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-weight:650; color:#fff9ed; font-size:clamp(3.5rem,6.8vw,6.7rem); letter-spacing:-.035em; line-height:1.04; margin:28px 0; }
.welcome-copy > p { color:#d0dfda; max-width:530px; font-size:18px; }
.welcome-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:30px; }
.welcome-actions .primary-action { background:#f0d29e; color:#15353b; border-radius:6px; }
.welcome-actions > a:last-child { color:#f5e5ca; min-height:48px; display:inline-flex; align-items:center; text-underline-offset:6px; font-size:14px; }
.welcome-copy .welcome-free { font-size:12px; margin-top:22px; }
.welcome-bottom { position:absolute; bottom:22px; left:0; right:0; display:flex; justify-content:space-between; align-items:center; gap:16px; color:#c4d6ce; font-size:10px; }
.journey-section { padding-block:92px; scroll-margin-top:24px; }
.journey-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:32px; }
.journey-heading h2 { margin:16px 0 0; }
.journey-heading > p { max-width:350px; margin:0; }
.journey-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.journey-card { border-radius:12px; overflow:clip; background:#fffbf3; border:1px solid #d7d4c5; text-decoration:none; transition:transform .25s ease,box-shadow .25s ease; }
.journey-card:hover { transform:translateY(-5px); box-shadow:0 16px 30px #153c3312; }
.journey-art { height:230px; overflow:clip; position:relative; background:#153b46; }
.journey-card-copy { padding:26px; }
.journey-card-copy > span { color:#67563d; font-size:10px; letter-spacing:.13em; }
.journey-card h3 { font-size:29px; margin:18px 0 14px; }
.journey-card p { font-size:14px; }
.journey-card strong { display:block; color:#075561; margin-top:24px; font-size:13px; }
.journey-origins .journey-art { background:radial-gradient(ellipse at 55% 60%,#985b3555,#102834 70%); }
.journey-sun { position:absolute; width:145px; height:145px; border-radius:50%; left:calc(50% - 72px); top:40px; background:radial-gradient(circle at 30% 30%,#ffe7a4,#d48a43 34%,#8b3e26 60%,#172a2c 85%); box-shadow:0 0 45px #f1b66930; }
.journey-dust { position:absolute; width:90%; height:90px; left:5%; top:82px; border:2px dotted #dcbb82; border-radius:50%; transform:rotate(-23deg); }
.journey-maps .map-stage { min-height:0; background:transparent; border:0; }
.journey-maps .map-svg { min-height:220px; }
.journey-teaching .journey-art { background:#eadbc0; }
.journey-teaching svg { width:100%; height:100%; object-fit:cover; }
.origins-feature { background:#12363b; padding-block:80px; color:#fff3de; }
.origins-feature-inner { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.origins-feature-copy .eyebrow { color:#d6bd88; }
.origins-feature-copy h2 { color:#fff0d8; margin:24px 0; font-size:clamp(2.5rem,4vw,4rem); }
.origins-feature-copy h2 em { color:#ebc791; font-weight:400; }
.origins-feature-copy p { color:#c6d8d1; }
.origins-feature-copy .text-action { color:#f2d5a2; }
@keyframes gentle-arrival { from { transform:translateY(22px); } to { transform:translateY(0); } }
@media(prefers-reduced-motion:no-preference) {
 @supports(animation-timeline:view()) {
  .journey-card, .origins-feature-copy, .home-scroll-section { animation:gentle-arrival linear both; animation-timeline:view(); animation-range:entry 0% entry 100%; }
 }
}
@media(prefers-reduced-motion:reduce) { .journey-card:hover { transform:none; } }
@media(max-width:900px) { .journey-grid{gap:14px;} .journey-card-copy{padding:20px;} .journey-card h3{font-size:24px;} .origins-feature-inner{grid-template-columns:1fr;gap:36px;} .welcome-earth{width:1000px;right:-470px;opacity:.7;} }
@media(max-width:600px) { .earth-welcome{min-height:760px;} .welcome-copy{padding-block:70px 150px;} .welcome-copy h1{font-size:3.65rem;} .welcome-copy > p{font-size:16px;} .welcome-copy .eyebrow{max-width:245px;line-height:1.7;} .welcome-earth{width:710px;right:-380px;top:37%;opacity:.45;} .welcome-shade{background:linear-gradient(90deg,#071e28e8,#071e2840);} .welcome-bottom{align-items:start;} .welcome-bottom span{max-width:125px;line-height:1.6;} .welcome-bottom button{max-width:160px;} .journey-heading{display:block;} .journey-heading > p{margin-top:22px;} .journey-grid{grid-template-columns:1fr;gap:24px;} .journey-art{height:230px;} .journey-section{padding-block:64px;} .journey-card h3{font-size:30px;} .origins-feature{padding-block:56px;} }
.latitude-lens { padding-block:80px; }
.latitude-lens > header { max-width:760px; }
.latitude-lens h2 { margin:20px 0; }
.latitude-workspace { margin:36px 0 22px; display:grid; grid-template-columns:1.5fr 1fr; background:#102f38; border-radius:18px; overflow:clip; color:#f6eddc; }
.latitude-diagram { padding:26px; align-self:center; }
.latitude-diagram svg { width:100%; }
.latitude-diagram p { color:#c6d9d2; font-size:12px; padding-inline:12px; }
.latitude-controls { background:#19414a; padding:34px; }
.latitude-controls .eyebrow { color:#e1c99f; }
.latitude-controls output { display:block; margin:20px 0 32px; }
.latitude-controls output strong { display:block; font:500 clamp(3.5rem,6vw,6rem)/1 ui-sans-serif,system-ui,sans-serif; letter-spacing:-.06em; color:#ffe0a6; }
.latitude-controls output span { display:block; margin-top:12px; color:#d0e0dc; font-size:13px; }
.latitude-controls label { display:flex; justify-content:space-between; font-size:13px; }
.latitude-controls input { width:100%; margin:20px 0; accent-color:#f6ce8e; min-height:28px; }
.latitude-presets { display:flex; gap:8px; }
.latitude-presets button { flex:1; background:transparent; color:#ecede0; border:1px solid #83a49f; border-radius:6px; min-height:44px; cursor:pointer; }
.latitude-presets button[aria-pressed=true] { background:#f3d6a3; color:#193a41; }
.latitude-controls p { color:#c8dbd4; font-size:13px; margin:24px 0 0; }
.lens-evidence { border-bottom:1px solid var(--line); padding-bottom:16px; }
.lens-evidence p { max-width:900px; font-size:14px; }
.lens-evidence a { display:inline-flex; align-items:center; min-height:44px; color:var(--teal-dark); }
@media(prefers-reduced-motion:no-preference) { .lens-area { transition:r .45s ease; } }
@media(max-width:760px) { .latitude-workspace{grid-template-columns:1fr;} .latitude-diagram{padding:14px;} .latitude-controls{padding:26px;} .latitude-lens{padding-block:56px;} }
.collection-section { padding-block:60px; border-block:1px solid var(--line); margin-block:40px; scroll-margin-top:24px; }
.collection-section h2 { margin:18px 0; }
.collection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-block:30px; }
.collection-grid article { padding:26px; background:#fffbf4; border:1px solid var(--line); border-radius:12px; }
.collection-index { display:block; color:#9a6f31; font:34px/1 Georgia,serif; margin-bottom:24px; }
.collection-grid .eyebrow { font-size:10px; }
.collection-grid h3 { font-size:25px; margin:16px 0; }
.collection-grid p { font-size:14px; }
.collection-grid a { display:inline-flex; min-height:44px; align-items:center; line-height:1.6; color:var(--teal-dark); font-size:13px; }
@media(max-width:650px) { .collection-grid { grid-template-columns:1fr; } }

.shop-page{padding-block:4rem}.shop-page header{max-width:850px;margin-bottom:3rem}.shop-page h1{font-size:clamp(2.7rem,5.5vw,5.3rem);line-height:1.07}.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.shop-card{display:flex;flex-direction:column;border:1px solid #ced8d4;border-radius:18px;overflow:hidden;background:#fffcf4}.shop-card img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#102d37;display:block}.shop-card>div{display:flex;flex:1;flex-direction:column;padding:1.8rem}.shop-card h2{font-size:2rem}.shop-faq{max-width:850px;margin-top:4rem}.shop-faq details{padding:1rem 0;border-bottom:1px solid #cbd2ce}.shop-faq summary{cursor:pointer;font-weight:600}@media(max-width:720px){.shop-grid{grid-template-columns:1fr}.shop-page{padding-block:2rem}}
.shop-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem;font-size:2.2rem;color:#164e56;margin:1rem 0}.shop-price>strong{font:inherit;font-weight:500}.shop-price small{font-size:.85rem;font-weight:400}.shop-pricing{padding:2rem;border:1px solid #cbd2ce;border-radius:16px;background:#eee8da;margin-bottom:2rem}.shop-pricing li{margin:.7rem 0}.shop-pricing p{max-width:900px}

.learning-panel,.curiosity-paths{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;padding:2.4rem;margin:2rem 0 4rem;background:#eee8da;border:1px solid #cbd4cd;border-radius:22px;align-items:center}.learning-panel h2,.curiosity-paths h2{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.1}.learning-tabs{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0}.learning-tabs button{background:#fffaf0;border:1px solid #6c8585;color:#153b44;padding:.7rem 1rem;border-radius:30px;cursor:pointer;font:inherit}.learning-tabs button[aria-pressed=true]{background:#174c55;color:#fff4da;border-color:#174c55}.evidence-art{background:#102e3a;color:#d0e3df;border-radius:16px;padding:1rem}.evidence-art svg{width:100%;display:block}.evidence-art text{fill:#f5edda;font:18px system-ui}.evidence-art p{font-size:.85rem;color:#c4d9d6}.growing-patch{transition:r .8s ease}.teacher-studio{grid-template-columns:.85fr 1.15fr;align-items:start}.teacher-studio iframe{width:100%;height:650px;border:0;border-radius:16px;background:#061722}.teacher-studio li{margin:1rem 0}.teaching-answer{padding:1rem;border-left:3px solid #b58b40;background:#fffaf0}.curiosity-paths figure{margin:0;overflow:hidden;border-radius:16px;background:#102e3a;color:#dce6dd}.curiosity-paths img{width:100%;display:block}.curiosity-paths figcaption{padding:1rem;font-size:.9rem}.curiosity-paths.in-view figure{animation:learning-arrive .8s ease both}.learning-small{font-size:.9rem}.welcome-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:4rem 0}.welcome-steps article{border-top:2px solid #ac8c4b;padding-top:1.5rem}.welcome-steps span{font-size:.8rem;letter-spacing:.12em;color:#39666b}.welcome-steps h2{font-size:2rem}.source-register summary{cursor:pointer;color:#165764;margin:1rem 0}@keyframes learning-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.learning-panel,.curiosity-paths,.teacher-studio{grid-template-columns:1fr;padding:1.4rem}.welcome-steps{grid-template-columns:1fr}.teacher-studio iframe{height:620px}}@media(prefers-reduced-motion:reduce){.growing-patch{transition:none}.curiosity-paths.in-view figure{animation:none}}@media print{.teacher-studio iframe,.learning-tabs{display:none}.learning-panel{display:block;break-inside:avoid}.teaching-answer{display:block}}
.evidence-conclusion{padding:1rem;border-left:3px solid #a47b35;background:#fffaf0}.method-chain{display:grid;grid-template-columns:1fr auto 1fr;gap:.7rem;align-items:center;padding:1.2rem;border-radius:16px;background:#102e3a;color:#d0e3df}.method-node{min-height:178px;padding:1rem;border:1px solid #52727a;border-radius:12px;background:#0b2530;opacity:1;transition:opacity .2s,border-color .2s,transform .2s}.method-node.is-active{opacity:1;border-color:#f0cc7f;transform:translateY(-3px);box-shadow:0 10px 30px #0003}.method-node>span{display:block;color:#9bc8c8;font-size:.65rem;letter-spacing:.12em}.method-node>strong,.method-node>small{display:block}.method-node>strong{margin-top:.7rem;color:#fff0d5}.method-node>small{margin-top:.25rem;color:#a9c1c3}.method-node svg{width:100%;height:76px;margin-top:.5rem}.method-node svg path{fill:none;stroke:#6e9da3;stroke-width:1}.method-node svg .method-shape{fill:#e2bd6c55;stroke:#f0cc7f;stroke-width:2}.method-formula{display:grid;place-items:center;height:86px;font:1rem Georgia,serif;color:#d4e5e3}.method-formula b{font-size:1.8rem;color:#f0cc7f}.method-pixels{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;height:86px;margin-top:.5rem}.method-pixels b{background:#6bb6bb}.method-pixels b:nth-child(3n){background:#d9b76f}.method-ratio{display:grid;place-items:center;height:86px;font:2.1rem Georgia,serif;color:#f0cc7f}.method-ratio small{font:italic .8rem system-ui;color:#bcd0d0}.method-chain>i{color:#f0cc7f;font-style:normal;font-size:1.2rem}.method-chain-note{grid-column:1/-1;margin:0;padding-top:1rem;border-top:1px solid #ffffff22;font-size:.85rem;color:#b9cdcf}@media(max-width:700px){.method-chain{grid-template-columns:1fr}.method-chain>i{transform:rotate(90deg);justify-self:center}.method-node{min-height:0}}
.shop-proof{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.5rem 0}.shop-proof span{background:#e2eae3;border-radius:30px;padding:.5rem .9rem;font-size:.85rem;color:#244e51}.shop-finder{scroll-margin-top:2rem;margin-bottom:2rem}.shop-note{border-left:3px solid #b59553;padding:.7rem 1rem;background:#eee8da;font-size:.92rem;margin:1rem 0 0}.shop-card details summary{cursor:pointer;color:#17515a;font-weight:600}.shop-card-actions{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;margin-top:auto;padding-top:1.5rem}.shop-card>a{display:block}.shop-card>a:focus-visible{outline:4px solid #bb933d;outline-offset:4px}
.shop-card--wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)}
.shop-card--wide>a{height:100%;background:#102d37}
.shop-card--wide>a img{height:100%;aspect-ratio:auto;object-fit:contain}
.shop-card video{width:100%;aspect-ratio:16/10;object-fit:contain;background:#102d37;display:block}
.shop-card--wide>a video{height:100%;aspect-ratio:auto;object-fit:contain}
.shop-delivery{margin-top:1rem;padding-top:1rem;border-top:1px solid #ced8d4}
.shop-delivery>strong{color:#154d55}
.shop-delivery p{font-size:.92rem;margin:.55rem 0}
.shop-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.shop-price-grid article{background:#fffaf0;border:1px solid #c8d2cb;border-radius:12px;padding:1.25rem}
.shop-price-grid strong,.shop-price-grid span{display:block}
.shop-price-grid strong{font:500 2rem/1.1 Georgia,serif;color:#164e56}
.shop-price-grid span{font-weight:700;margin:.5rem 0}
.shop-price-grid p{font-size:.9rem;margin:0}
@media(max-width:700px){.shop-price-grid{grid-template-columns:1fr}}
.shop-africa-demo{margin:4rem 0;padding:2rem;border:1px solid #b8c9c3;border-radius:18px;background:#fffcf4}
.shop-africa-demo h2{max-width:850px;margin:14px 0 12px}
.shop-africa-demo>p{max-width:820px;font-size:1.05rem}
.shop-africa-demo iframe{display:block;width:100%;height:clamp(650px,68vw,900px);margin-top:2rem;border:0;border-radius:12px;background:#071b27}
@media(max-width:820px){.shop-card--wide{display:flex;grid-column:auto}.shop-card--wide>a img{height:auto;aspect-ratio:16/10}.shop-africa-demo{padding:1rem}.shop-africa-demo iframe{height:720px}}
.shop-origins-demo{margin:4rem 0;padding:2rem;border-radius:18px;background:#071722;color:#e5eceb}
.shop-origins-demo-copy{max-width:760px;margin-bottom:2rem}
.shop-origins-demo-copy .eyebrow{color:#8cd5d1}
.shop-origins-demo-copy h2{margin:14px 0 12px;color:#f7f0df}
.shop-origins-demo-copy p{color:#bbced3;font-size:1.1rem}
.shop-origins-demo-copy .primary-action{margin-top:.75rem;background:#f2cf83;color:#082331}
.shop-origins-demo .origins-experience{background:#0a1e2a}
@media(max-width:820px){.shop-origins-demo{padding:1rem}.shop-origins-demo-copy{padding:.5rem}}
.shop-inside-demo{margin:4rem 0;padding:2rem;border-radius:18px;overflow:hidden}
.shop-inside-demo>header{max-width:850px;margin:0 0 2rem}
.shop-inside-demo>header h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1.05;color:#f9efd5;margin:1rem 0}
.shop-inside-demo>header p{max-width:700px;color:#b7ced0;font-size:1.2rem}
.shop-inside-demo .earth-explorer{width:100%;margin-top:2rem}
.method-chain{grid-template-columns:repeat(3,minmax(120px,1fr) auto) minmax(120px,1fr)}
@media(max-width:700px){.method-chain{grid-template-columns:1fr}}
@media(max-width:820px){.shop-inside-demo{padding:1rem}}
.inside-journey{background:radial-gradient(ellipse at 30% 35%,#183b46,#071b27 70%);color:#ecedde;padding:3rem 0 5rem}.inside-journey a{color:#e6c993}.inside-journey header>.eyebrow{display:block;margin-top:2rem;color:#9bc5c6}.inside-journey h1{font-size:clamp(2.7rem,6vw,5.6rem);line-height:1.05;margin:1rem 0}.inside-journey header p{max-width:650px;color:#b7ced0;font-size:1.2rem}.earth-explorer{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;margin-top:3rem}.cutaway-stage svg{width:100%;display:block;filter:drop-shadow(0 18px 32px #0005)}.cutaway-stage svg text{font:18px system-ui}.earth-layer-rings circle{transition:stroke .4s,stroke-width .4s}.layer-depth{margin:0 auto;padding:1rem 1.5rem;border-left:3px solid;max-width:350px;background:#ffffff08}.layer-depth span{display:block;font-size:.7rem;letter-spacing:.15em;color:#afd0d0}.layer-depth strong{font-size:1.2rem}.layer-choices{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 2rem}.layer-choices button{padding:.7rem 1rem;border:1px solid #5d8086;background:#102e3b;color:#f5eeda;border-radius:30px;cursor:pointer;font:inherit}.layer-choices button[aria-pressed=true]{background:#e8d5a5;color:#16313a}.layer-choices button span{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.layer-copy{animation:layer-reveal .5s ease}.layer-copy h2{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.15;color:#f9efd5}.layer-copy>p{font-size:1.1rem;color:#c9dada}.layer-state{letter-spacing:.04em}.earth-thought{border-left:2px solid #b59054;padding:.3rem 1rem;margin:1.5rem 0}.earth-thought span{font-size:.8rem;color:#e4c996}.earth-thought p{color:#b8ced0}.earth-evidence{margin-top:4rem;max-width:850px;padding-top:2rem;border-top:1px solid #4d7178}.earth-evidence h2{color:#f9efd5;font-size:2.4rem}.earth-evidence p{color:#bcd2d4}.earth-evidence summary{cursor:pointer;margin:1.5rem 0}.earth-evidence .text-button{color:#e7cd96}.evidence-reveal{padding:1.5rem;background:#ffffff08}.inside-journey .primary-action{background:#e6cc94;color:#12323c}@keyframes layer-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:850px){.earth-explorer{grid-template-columns:1fr;gap:1rem}.inside-journey{padding-top:2rem}}@media(prefers-reduced-motion:reduce){.layer-copy{animation:none}.earth-layer-rings circle{transition:none}}
.inside-journey h1{color:#f9efd5}.inside-journey .eyebrow{color:#a3ced0}.inside-journey summary{color:#e5d4ae}

/* Premium shop catalog */
.learning-jump{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}.learning-jump a{display:inline-flex;align-items:center;min-height:44px;padding:.55rem .85rem;border:1px solid #789293;border-radius:24px;color:#174f58;text-decoration:none;font-size:.85rem}.learning-jump a:hover{background:#174f58;color:#fff8e8}
.learning-missions{margin:5rem 0}.learning-missions>header{max-width:760px}.learning-missions>header h2{font-size:clamp(2.2rem,4vw,4rem);margin:.75rem 0}.learning-missions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.learning-missions article{display:flex;flex-direction:column;min-height:280px;padding:1.8rem;border:1px solid #c4d1cb;border-radius:16px;background:#fffaf0}.learning-missions article>span{color:#507276;font-size:.72rem;letter-spacing:.12em}.learning-missions h3{font-size:1.8rem;margin:1.1rem 0}.learning-missions article a{margin-top:auto;color:#145762;font-weight:700}
.fact-explorer{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:stretch;margin:5rem 0;padding:2rem;border-radius:22px;background:#0b2b35;color:#c9dcda}.fact-explorer h2{color:#fff0d2;font-size:clamp(2.5rem,4.5vw,4.6rem);line-height:1.02;margin:.8rem 0}.fact-explorer .eyebrow{color:#88c8c5}.fact-dots{display:flex;flex-direction:column;gap:.45rem;margin-top:1.5rem}.fact-dots button{display:flex;align-items:center;gap:.7rem;width:100%;padding:.65rem;background:transparent;border:1px solid #50747a;border-radius:7px;color:#c9dcda;text-align:left;cursor:pointer;font:inherit;font-size:.75rem;letter-spacing:.06em}.fact-dots button span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#153f49}.fact-dots button[aria-pressed=true]{background:#f1d394;color:#102f39;border-color:#f1d394}.fact-explorer article{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.3rem,4vw,3.5rem);border:1px solid #54767b;border-radius:16px;background:#102f39}.fact-explorer article h3{color:#fff3db;font:500 clamp(2rem,3.5vw,3.5rem)/1.08 Georgia,serif;margin:1rem 0}.fact-explorer article p{font-size:1.05rem}.fact-explorer blockquote{margin:1.4rem 0;padding:1rem 0 1rem 1.2rem;border-left:3px solid #edca82;color:#f0dcae;font:italic 1.2rem/1.5 Georgia,serif}.fact-explorer article .primary-action{align-self:flex-start;background:#f0cf89;color:#0b2b35}
@media(max-width:800px){.learning-missions>div,.fact-explorer{grid-template-columns:1fr}.fact-explorer{padding:1.2rem}.fact-dots{display:grid;grid-template-columns:repeat(3,1fr)}.fact-dots button{justify-content:center}.fact-dots button:not([aria-pressed=true]){font-size:0}.fact-dots button span{font-size:.75rem}.fact-explorer article{padding:1.4rem}}
@media(max-width:500px){.learning-missions>div{grid-template-columns:1fr}.learning-jump{display:grid;grid-template-columns:1fr 1fr}.fact-dots{grid-template-columns:repeat(2,1fr)}}

.shop-hero{max-width:none!important;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:3rem;align-items:end;padding-bottom:3.5rem;border-bottom:1px solid var(--line)}
.shop-hero>div>p{max-width:760px;font-size:1.12rem}.shop-hero aside{padding:2rem;background:#0d3039;color:#d7e4df;border-radius:18px}.shop-hero aside h2{margin:.8rem 0;font-size:clamp(1.8rem,3vw,2.6rem);color:#fff3da}.shop-hero aside p{color:#c4d6d3}.shop-hero aside .eyebrow{color:#91c9c6}.shop-hero aside a{color:#f0cf8d}
.shop-finder{padding:3.5rem 0 1.5rem}.shop-finder h2{margin:.6rem 0;font-size:clamp(2rem,3.5vw,3.5rem)}
.shop-card{position:relative;box-shadow:0 12px 35px #17373c0b}.shop-card>a{position:relative;overflow:hidden;background:#102d37}.shop-preview-label{position:absolute;right:1rem;bottom:1rem;padding:.5rem .75rem;border-radius:4px;background:#fff8e9e8;color:#153c45;font-size:.76rem;font-weight:700;backdrop-filter:blur(8px)}
.shop-card-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start}.shop-category{flex:none;padding:.3rem .55rem;border:1px solid #b8c8c1;border-radius:4px;color:#46666a;font-size:.7rem}.shop-description{font-size:1.04rem;min-height:4.8rem}.shop-specs{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #ced8d4;margin-top:1.2rem}.shop-specs>div{padding:1rem 1rem 1rem 0}.shop-specs>div+div{padding-left:1rem;border-left:1px solid #ced8d4}.shop-specs strong{display:block;color:#154d55;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.shop-specs p{margin:.5rem 0 0;font-size:.85rem}.shop-buy{margin-top:auto;padding-top:1.25rem}.shop-buy .shop-price{margin:.25rem 0 1rem}.shop-buy>small{display:block;margin-top:.75rem;color:#5a6c6e;line-height:1.5}.shop-download{width:100%;justify-content:center;text-align:center}
.shop-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}.shop-card:last-child:nth-child(odd)>a,.shop-card:last-child:nth-child(odd)>a video{height:100%}.shop-card:last-child:nth-child(odd)>a video{aspect-ratio:auto}
.shop-bundle{display:grid;grid-template-columns:1.35fr .65fr;gap:3rem;align-items:center;margin:4rem 0;padding:2.5rem;border-radius:18px;background:linear-gradient(135deg,#0a2933,#15444b);color:#d9e5df}.shop-bundle h2{margin:.75rem 0;color:#fff1d3;font-size:clamp(2.1rem,4vw,3.8rem)}.shop-bundle p{color:#c7d8d5}.shop-bundle .eyebrow{color:#83c6c5}.shop-bundle .shop-price{color:#f0cf86}.shop-bundle .primary-action{background:#f0cf86;color:#0b2c35}
.shop-licensing{padding:3rem;margin:4rem 0;border:1px solid #cbd2ce;border-radius:18px;background:#eee8da}.shop-licensing>h2,.shop-process>h2{font-size:clamp(2rem,3.5vw,3.4rem);margin:.7rem 0}.shop-license-note{max-width:900px;margin-top:1.5rem;font-size:.9rem}
.shop-process{margin:4rem 0}.shop-process ol{display:grid;grid-template-columns:repeat(4,1fr);padding:0;list-style:none;border-block:1px solid var(--line)}.shop-process li{display:flex;flex-direction:column;gap:.65rem;padding:1.5rem}.shop-process li+li{border-left:1px solid var(--line)}.shop-process strong{font-family:Georgia,serif;font-size:1.25rem;color:#164e56}.shop-process span{font-size:.9rem}.shop-faq{max-width:none}.shop-faq details{max-width:900px}
@media(max-width:900px){.shop-hero,.shop-bundle{grid-template-columns:1fr}.shop-process ol{grid-template-columns:1fr 1fr}.shop-process li:nth-child(3){border-left:0}.shop-process li:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:720px){.shop-card:last-child:nth-child(odd){grid-column:auto;display:flex}.shop-card:last-child:nth-child(odd)>a,.shop-card:last-child:nth-child(odd)>a video{height:auto}.shop-card:last-child:nth-child(odd)>a video{aspect-ratio:16/10}}
@media(max-width:600px){.shop-hero{gap:1.5rem}.shop-hero aside,.shop-licensing,.shop-bundle{padding:1.35rem}.shop-specs{grid-template-columns:1fr}.shop-specs>div+div{padding-left:0;border-left:0;border-top:1px solid #ced8d4}.shop-description{min-height:0}.shop-process ol{grid-template-columns:1fr}.shop-process li+li,.shop-process li:nth-child(3){border-left:0;border-top:1px solid var(--line)}}
.prediction-lab{margin:3rem 0 4rem;padding:2rem;border:1px solid #c7d3cb;border-radius:22px;background:#fffaf0}.prediction-lab h2{font-size:clamp(2.3rem,4vw,3.8rem);line-height:1.1}.prediction-lab header{max-width:760px}.prediction-workspace{display:grid;grid-template-columns:1fr 1.1fr;gap:2rem;align-items:start}.prediction-art{background:#102e3b;border-radius:18px;padding:1rem;color:#b8d4d3}.prediction-art svg{width:100%;display:block}.prediction-art text{fill:#efe8d2;font:17px system-ui}.prediction-art p{color:#b8d4d3;font-size:.85rem}.prediction-disk{transition:r .8s}.prediction-marker{transition:cx .8s}.prediction-workspace fieldset{border:0;padding:0;margin:0 0 1rem;min-width:0}.prediction-workspace legend{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.prediction-choice{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid #c7d3cb;border-radius:10px;margin:.6rem 0;cursor:pointer}.prediction-choice:has(input:checked){background:#e4eee7;border-color:#1e6165}.prediction-choice input{accent-color:#195862;width:18px;height:18px;flex-shrink:0}.prediction-lab button:disabled{opacity:.5;cursor:not-allowed}.prediction-answer{margin-top:1.5rem;border-top:2px solid #b59a61;padding-top:1.2rem}.prediction-answer h3{font-size:1.6rem}.prediction-keep{font-size:.9rem;background:#eee8da;padding:1rem}@media(max-width:800px){.prediction-workspace{grid-template-columns:1fr}.prediction-lab{padding:1.2rem}}@media(prefers-reduced-motion:reduce){.prediction-disk,.prediction-marker{transition:none}}

/* Publication-level model comparison; no reconstruction geometry is rendered. */
.reconstruction-evidence { padding:clamp(20px,4vw,44px);border:1px solid var(--line);border-radius:18px;background:#fffaf0;color:#29454b; }
.reconstruction-evidence header { max-width:760px; }
.reconstruction-evidence h3 { font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.12;margin:14px 0; }
.reconstruction-evidence h4 { font-size:1.25rem;line-height:1.4;margin:12px 0; }
.reconstruction-evidence a { color:#155a60;text-underline-offset:4px;overflow-wrap:anywhere; }
.reconstruction-evidence a:focus-visible,.reconstruction-evidence summary:focus-visible { outline:3px solid #155a60;outline-offset:5px; }
.reconstruction-context { padding:16px 0;border-block:1px solid var(--line);margin:24px 0; }
.reconstruction-models { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.reconstruction-models article { padding:24px;background:#ecf0e8;border:1px solid #becbc3;border-radius:10px; }
.reconstruction-models .eyebrow { color:#436369; }
.reconstruction-coverage { border-left:3px solid #516d5d;padding-left:12px;font-weight:700; }
.reconstruction-evidence dt { font-weight:700;margin-top:14px;font-size:.85rem; }
.reconstruction-evidence dd { margin:4px 0 0;line-height:1.6; }
.reconstruction-boundary { padding:20px;border-left:3px solid #997b36;background:#f1e9d7;margin:24px 0 18px; }
.reconstruction-register { margin-top:24px;border-top:1px solid var(--line); }
.reconstruction-register summary { cursor:pointer;padding:18px 0;min-height:44px;color:#155a60;font-weight:700; }
.reconstruction-register article { border-top:1px solid var(--line);padding:20px 0;scroll-margin-top:110px; }
.reconstruction-register article:target { border-left:3px solid #155a60;padding-left:16px; }
@media(max-width:700px){.reconstruction-models{grid-template-columns:1fr}.reconstruction-models article{padding:20px}.reconstruction-evidence{padding:20px}}
/* Keep teaching copy readable inside dark panels despite reading-page defaults. */
.teacher-page .fact-explorer p,.teacher-page .lesson-preview p{color:#c0d5d5}
.shop-code-preview{background:#092532}.shop-code-preview svg{width:100%;display:block}.shop-card .shop-code-preview{aspect-ratio:1000/620}.shop-finder p{min-height:3.4em}
.shop-code-preview svg{height:auto}
/* Keep descriptive navigation titles evenly grouped at tablet widths. */
@media (min-width:701px) and (max-width:1100px){
 .site-header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:0 12px;margin-top:8px}
 .site-header nav a{justify-content:center;white-space:normal;text-align:center}
}

.glossary-search{display:block;margin:0 0 28px}.glossary-search span{display:block;font-weight:600;margin-bottom:8px;color:#173944}
.glossary-search input{width:100%;max-width:560px;font:inherit;font-size:17px;padding:12px 14px;border:1px solid #9fb3ad;border-radius:10px;background:#fff}
.glossary-search input:focus-visible{outline:3px solid #167d77;outline-offset:2px}
.glossary-results ul{list-style:none;padding:0;display:grid;gap:10px}.glossary-results a{display:block;padding:12px 14px;border:1px solid #d7d4c5;border-radius:10px;background:#fffbf3;color:#173944;text-decoration:none}
.glossary-results small{display:block;font-size:12px;color:#30685f}.glossary-results strong{display:block}.glossary-results span{display:block;font-size:14px;color:#46625e}
.glossary-list{display:grid;gap:0;margin:0}.glossary-list>div{padding:14px 0;border-top:1px solid #d7d4c5;scroll-margin-top:24px}.glossary-list dt{font-weight:600;color:#173944}.glossary-list dd{margin:4px 0 0;line-height:1.6}.glossary-list a{color:#0b5561;white-space:nowrap}

.story-in-class{padding:40px 0 56px;border-bottom:1px solid #d7d4c5;scroll-margin-top:24px}
.story-in-class h2{font:500 clamp(1.9rem,3.2vw,2.8rem)/1.1 Georgia,serif;color:#173944;margin:12px 0}
.story-in-class>p{max-width:46em;line-height:1.7}
.story-in-class-table{overflow-x:auto;border:1px solid #c9d4cf;border-radius:12px;background:#fffbf3;margin:18px 0}
.story-in-class-table:focus-visible{outline:3px solid #167d77;outline-offset:3px}
.story-in-class table,.activity-table{width:100%;border-collapse:collapse;min-width:640px}
.story-in-class caption{text-align:left;padding:14px 16px 0;font-weight:600;color:#173944}
.story-in-class th,.story-in-class td,.activity-table th,.activity-table td{padding:11px 16px;border-top:1px solid #e1e6e1;text-align:left;vertical-align:top;line-height:1.5}
.story-in-class thead th,.activity-table thead th{border-top:0;font-size:14px}
.story-in-class tbody th{font-weight:600;white-space:nowrap}.story-in-class tbody th a{color:#0b5561}
.activity-formula{padding:12px 16px;border-left:3px solid #b59553;background:#eee8da;max-width:40em}
.activity-table{min-width:0;border:1px solid #c9d4cf;background:#fffbf3}
/* On phones the table fits the screen: fixed columns, smaller padding, and words may wrap, so the answer column stays visible. */
@media(max-width:520px){.activity-table{table-layout:fixed}.activity-table th,.activity-table td{padding:8px;font-size:14px;overflow-wrap:anywhere}}
.activity-blank{min-width:160px;height:44px}
.activity-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
@media print{.site-header,.site-footer,.activity-actions,.skip-link{display:none!important}.activity-page{padding:0}.activity-key{break-before:page}.activity-table{min-width:0}body{background:#fff}}

.legal-page section{margin:0 0 22px}.legal-page h2{font:500 1.35rem/1.3 Georgia,serif;color:#173944;margin:26px 0 8px}
.legal-page p,.legal-page li{line-height:1.7;max-width:44em}.legal-meta{font-size:14px;color:#46625e}
.legal-related{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.legal-related a{padding:6px 12px;border:1px solid #c9d4cf;border-radius:30px;color:#0b5561;text-decoration:none;font-size:14px}
.legal-related a[aria-current]{background:#0b2732;color:#fff4de;border-color:#0b2732}.legal-intro{font-weight:500}
.legal-contact{margin-top:32px;padding-top:16px;border-top:1px solid #d7d4c5;font-size:14px;color:#46625e}
/* Phone list of the words inside a picture (components/ArtKey.tsx). */
.art-key{display:none}
@media(max-width:600px){.art-key{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;list-style:none;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#1f5f63}.art-key li.is-sentence{flex-basis:100%;text-transform:none;letter-spacing:0;font-size:13px}.art-key li::before{content:'';display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#2f8f8f;vertical-align:middle}}

/* Home and navigation, October 11, 2026: Earth in One Day is the first door; Earth's Story is the deeper read. */
.welcome-actions .secondary-action { min-height:48px; display:inline-flex; align-items:center; padding:0 20px; border:1.5px solid #f0d29e99; border-radius:6px; color:#f5e5ca; font-size:15px; font-weight:600; text-decoration:none; transition:background .2s ease,border-color .2s ease; }
.welcome-actions .secondary-action:hover { background:#f0d29e1a; border-color:#f0d29e; }
.journey-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.journey-card h3 { font-size:25px; }
.journey-oneday .journey-card-copy strong { color:#9a5b00; }
@media(max-width:1100px) { .journey-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .journey-grid { grid-template-columns:1fr; } .journey-card h3 { font-size:28px; } }
.site-header nav a.nav-shop { min-height:40px; margin-left:8px; padding:0 18px; border:1.5px solid var(--gold); border-radius:999px; color:var(--navy); }
.site-header nav a.nav-shop:hover, .site-header nav a.nav-shop.active { background:#f0d29e; color:#15353b; box-shadow:none; }

/* Maps page, October 11, 2026: a dark opening with the Equal Earth to Mercator morph, a sticky section menu, and
   the map's actions together under the map. */
.maps-hero { background: radial-gradient(ellipse at 72% 38%, #12404d, #06131c 68%); color: #e9eef0; padding: 72px 0 68px; overflow: hidden; }
.maps-hero-inner { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 56px; align-items: center; }
.maps-hero .eyebrow { color: #8ed0c7; }
.maps-hero h1 { font: 500 clamp(2.6rem, 4.8vw, 4.5rem)/1.03 Georgia, serif; color: #fff4de; margin: 14px 0 18px; }
.maps-hero-copy > p { color: #c9d6db; font-size: 18px; line-height: 1.7; max-width: 34em; margin: 0; }
.maps-hero-actions { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; margin-top: 28px; }
.maps-hero .primary-action { background: #f0d29e; color: #15353b; border-radius: 6px; }
.maps-hero-link { color: #f5e5ca; font-weight: 600; font-size: 15px; text-underline-offset: 6px; min-height: 48px; display: inline-flex; align-items: center; }
.maps-hero-facts { display: flex; flex-wrap: wrap; gap: 20px 34px; margin: 36px 0 0; padding: 22px 0 0; list-style: none; border-top: 1px solid #ffffff1f; }
.maps-hero-facts li { display: grid; gap: 6px; max-width: 230px; }
.maps-hero-facts strong { font: 500 2.6rem/1 Georgia, serif; color: #f2b84b; }
.maps-hero-facts span { font-size: 13px; color: #a9bcc4; line-height: 1.5; }
.maps-hero-figure { margin: 0; }
.maps-hero-svg { display: block; width: 100%; height: auto; border-radius: 16px; background: #081d27; box-shadow: 0 30px 60px #00000066, 0 0 0 1px #ffffff14; }
.maps-hero-sphere { fill: #11384a; stroke: #5c8f97; stroke-width: 1; }
.maps-hero-grid { fill: none; stroke: #b9dedb24; stroke-width: .7; }
.maps-hero-land { fill: #3b5962; stroke: #6f8f95; stroke-width: .4; }
.maps-hero-africa { fill: #dba94d; stroke: #ffdfa1; stroke-width: 1; }
.maps-hero-greenland { fill: #59b9bd; stroke: #bff7f0; stroke-width: 1.2; }
.maps-hero-readout { display: grid; gap: 2px; margin: 14px 2px 0; min-height: 3em; font-size: 14px; color: #c9d6db; line-height: 1.5; }
.maps-hero-readout b { color: #fff4de; margin-right: 4px; }
.maps-hero-readout strong { color: #6fd0d4; font: 600 16px "SF Mono", Menlo, monospace; }
.maps-hero-figure figcaption { display: flex; align-items: center; gap: 14px; margin-top: 10px; font-size: 12px; color: #8fa6ae; }
.maps-hero-figure figcaption button { margin-left: auto; border: 1px solid #ffffff40; background: none; color: #e9eef0; border-radius: 999px; padding: 4px 12px; font-size: 12px; cursor: pointer; min-height: 32px; }
.maps-hero-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.maps-hero-pair .maps-hero-readout { font-size: 12px; }
.maps-hero-loading { aspect-ratio: 1000/610; display: grid; place-items: center; border-radius: 16px; background: #081d27; color: #a9bcc4; }
@media (max-width: 1000px) { .maps-hero-inner { grid-template-columns: 1fr; gap: 32px; } .maps-hero { padding: 48px 0; } }
@media (max-width: 600px) { .maps-hero-pair { grid-template-columns: 1fr; } .maps-hero-facts strong { font-size: 2rem; } }

.maps-nav { position: sticky; top: 0; z-index: 20; background: #f5f1e8f2; backdrop-filter: blur(6px); border-bottom: 1px solid #d7d4c5; }
.maps-nav ol { display: flex; gap: 4px; width: min(1320px, calc(100% - 48px)); margin: 0 auto; padding: 8px 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.maps-nav a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: 999px; color: #244e51; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background .2s ease, color .2s ease; }
.maps-nav a span { font-size: 11px; color: #67563d; letter-spacing: .08em; }
.maps-nav a:hover { background: #e7ece6; }
.maps-nav a[aria-current] { background: #0b2732; color: #fff4de; }
.maps-nav a[aria-current] span { color: #e9ba78; }
.maps-nav a:focus-visible { outline: 3px solid #167d77; outline-offset: 2px; }
#guide-heading, #lab-map-heading, #true-size, #latitude-lens, #reference-values, #maps-evidence { scroll-margin-top: 72px; }
.guided-investigation { margin-top: 56px; }
@media (max-width: 600px) { .maps-nav ol { width: calc(100% - 16px); } .maps-nav a { padding: 0 10px; font-size: 13px; } }

.map-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 16px; }
.map-actions .diagram-download { display: inline-flex; align-items: center; margin: 0; min-height: 44px; padding: 0 18px; border-radius: 6px; background: #ffffff10; color: #fff0d5; border: 1px solid #ffffff38; font: inherit; font-size: 14px; cursor: pointer; }
.map-actions .diagram-download:hover { background: #ffffff1f; }
.map-actions p { margin: 0; color: #c9d6db; font-size: 13px; }
.map-actions label { color: #c9d6db; font-size: 13px; }
.map-actions input { flex: 1 1 320px; min-height: 40px; padding: 8px 10px; border: 1px solid #829496; color: var(--navy); background: white; }
.map-svg--fade { animation: map-fade .6s ease both; }
@keyframes map-fade { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .map-svg--fade { animation: none; } }
/* One width for the whole Maps page, the same as the site header and footer, so every block lines up with the logo
   on the left and the Shop button on the right. */
.maps-page .content-width, .maps-page .lab-workspace, .maps-nav ol, .maps-hero-inner { width: min(1320px, calc(100% - 48px)); margin-inline: auto; }
.maps-page .guided-investigation { box-sizing: border-box; }
.maps-page .lab-workspace { margin-bottom: 96px; }
@media (max-width: 700px) { .maps-page .content-width, .maps-page .lab-workspace, .maps-nav ol, .maps-hero-inner { width: calc(100% - 28px); } }
/* One card style on the Maps page: rounded corners and a soft shadow, light or dark. */
.maps-page .guided-investigation { border-radius: 16px; border-color: #e1dccd; box-shadow: 0 18px 40px #0b273212; padding: 32px; }
.maps-page .guided-investigation .answer-options button, .maps-page .knowledge-check .answer-options button { border-radius: 8px; }
.maps-page .guided-investigation .primary-action { border-radius: 8px; }
.maps-page .lab-workspace { border-radius: 16px; box-shadow: 0 24px 48px #0b273229; }
.maps-page .map-stage { border-radius: 12px; }
.maps-page .projection-controls button { border-radius: 10px; }
.maps-page .evidence-panel { border-radius: 16px; }
@media (max-width: 700px) { .maps-page .guided-investigation { padding: 20px; } }
