@font-face {
  font-family:Manrope;
  src:url('../fonts/manrope-variable.ttf') format('truetype');
  font-weight:200 800;
  font-style:normal;
  font-display:swap
}
:root {
  --ink:#07131b;
  --deep:#040c12;
  --panel:#0b1b25;
  --ivory:#f4f1e8;
  --blue:#4dbcec;
  --muted:#b6c3cc;
  --line:#29404d;
  --amber:#eab270;
  --font:Manrope,'Segoe UI',sans-serif;
  color-scheme:dark
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:7rem
}
body {
  margin:0;
  background:var(--ink);
  color:var(--ivory);
  font-family:var(--font);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased
}
body:has(dialog[open]) {
  overflow:hidden
}
a {
  color:inherit;
  text-decoration:none
}
button,input {
  font:inherit
}
button,a,input,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer;
  color:inherit
}
button:disabled {
  cursor:default;
  opacity:.4
}
img {
  max-width:100%;
  display:block
}
svg {
  display:block
}
button svg,.button svg,.text-link svg {
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  flex-shrink:0
}
p,h1,h2,h3,figure {
  margin:0
}
p+p {
  margin-top:1rem
}
h1,h2,h3 {
  line-height:1.08
}
::selection {
  background:var(--blue);
  color:var(--ink)
}
:focus-visible {
  outline:3px solid var(--blue);
  outline-offset:6px;
  border-radius:2px
}
a:hover {
  color:var(--blue)
}
.container {
  width:min(1440px,calc(100% - 112px));
  margin-inline:auto
}
.section-space {
  padding-block:115px
}
.eyebrow {
  font-size:12px;
  letter-spacing:.22em;
  line-height:1.6;
  text-transform:uppercase;
  font-weight:600;
  color:var(--muted)
}
.status-dot {
  display:inline-block;
  width:5px;
  height:5px;
  background:var(--blue);
  border-radius:50%;
  vertical-align:middle;
  margin-right:10px
}
.button {
  min-height:51px;
  padding:15px 23px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  font-weight:700;
  font-size:14px;
  line-height:1.35;
  border:1px solid transparent;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
  letter-spacing:.01em
}
.button:hover {
  transform:translateY(-2px)
}
.button-primary {
  background:var(--blue);
  color:#04101a;
  border-color:var(--blue)
}
.button-primary:hover {
  background:#8edaff;
  border-color:#8edaff;
  color:#04101a
}
.button-outline {
  border-color:#5791aa;
  background:#07131b40;
  color:var(--ivory)
}
.button-outline:hover {
  border-color:var(--blue);
  background:#102936;
  color:var(--ivory)
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:18px;
  font-size:14px;
  font-weight:600;
  padding-block:10px;
  border-bottom:1px solid #608391
}
.text-link:hover {
  border-color:var(--blue)
}
.text-button {
  background:none;
  border:0;
  padding:12px 0;
  text-decoration:underline;
  text-underline-offset:5px;
  font-size:13px
}
.art-label {
  display:inline-block;
  font-size:10px;
  line-height:1.5;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#c4d0d5
}
.privacy-link {
  font-size:12px;
  text-decoration:underline;
  text-underline-offset:4px
}
.js-only {
  display:none
}
.has-js .js-only:not(.voyage) {
  display:inline-flex
}
.skip-link {
  position:fixed;
  left:16px;
  top:-100px;
  padding:12px 20px;
  background:var(--blue);
  color:var(--ink);
  z-index:1000
}
.skip-link:focus {
  top:16px
}
.site-header {
  position:absolute;
  inset:0 0 auto;
  z-index:10;
  min-height:110px;
  padding:18px 56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border-bottom:1px solid #a6b3b718
}
.brand {
  width:340px;
  flex-shrink:0
}
.brand>img {
  width:100%;
  height:auto
}
.brand-compact {
  display:none
}
.site-header nav {
  display:flex;
  align-items:center;
  gap:36px
}
.site-header nav>a {
  font-size:13px;
  font-weight:500
}
.site-header nav .button {
  font-size:12px;
  min-height:42px;
  padding:10px 18px;
  gap:18px
}
.site-header nav>a[aria-current] {
  color:var(--blue)
}
.hero {
  position:relative;
  min-height:850px;
  height:min(1000px,100svh);
  overflow:hidden;
  isolation:isolate;
  background:#07131b
}
.hero-art,.hero-shade {
  position:absolute;
  inset:0;
  z-index:-2
}
.hero-art img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center right
}
.has-js .hero-image {
  animation:hero-drift 32s ease-in-out infinite alternate;
  will-change:transform
}
.motion-paused .hero-image,.hero.is-offscreen .hero-image {
  animation-play-state:paused
}
.hero-shade {
  z-index:-1;
  background:linear-gradient(90deg,#030b12df 0%,#030b12af 26%,#030b1265 48%,#030b120d 76%),linear-gradient(0deg,#07131b 0%,transparent 22%,#07131b0a 70%,#07131b66 100%)
}
.hero-content {
  padding-top:192px;
  position:relative;
  z-index:1
}
.hero-eyebrow {
  color:#c9d5dd;
  margin-bottom:27px;
  font-size:11px;
  letter-spacing:.2em
}
.eyebrow-separator {
  padding-inline:15px;
  color:#5f7e8d
}
.hero h1 {
  font-size:clamp(58px,6.55vw,106px);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-.055em;
  max-width:1050px
}
.hero h1 span {
  display:block
}
.hero-subtitle {
  font-size:clamp(22px,2.8vw,42px);
  font-weight:400;
  letter-spacing:-.04em;
  line-height:1.3;
  margin-top:15px
}
.hero-description {
  font-size:16px;
  line-height:1.8;
  color:#d1d9de;
  margin-top:27px
}
.hero-actions {
  display:flex;
  gap:28px;
  align-items:center;
  margin-top:34px
}
.hero-actions .text-link {
  font-size:12px;
  border-bottom:0;
  gap:12px;
  letter-spacing:.02em
}
.hero-actions .text-link svg {
  width:17px
}
.hero-preview {
  font-size:11px;
  color:#b4c5ce;
  letter-spacing:.02em;
  margin-top:14px
}
.hero-meta {
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:24px
}
.motion-control {
  border:0;
  background:transparent;
  align-items:center;
  gap:8px;
  font-size:10px;
  color:#b9cbd4;
  padding:6px
}
.motion-control svg {
  width:12px;
  height:12px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.3
}
.hero-baseline {
  display:flex;
  align-items:center;
  gap:24px;
  position:absolute;
  bottom:38px;
  left:0;
  right:0;
  font-size:9px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#bbc9d0
}
.horizon-line {
  height:1px;
  flex:1;
  background:#d4e8ee3b
}
.section-intro {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:50px
}
.section-intro .eyebrow,.rebuild-copy>.eyebrow,.mystery-heading>.eyebrow {
  margin-bottom:25px
}
.section-intro h2,.rebuild-copy h2,.faq-section h2 {
  font-size:clamp(42px,5vw,76px);
  letter-spacing:-.055em;
  font-weight:800;
  line-height:1.02
}
.section-standfirst {
  font-size:21px;
  line-height:1.6;
  letter-spacing:-.025em;
  color:var(--muted);
  padding-bottom:5px;
  max-width:400px
}
.experience-disclosure {
  font-size:11px;
  color:#99aebc;
  margin-top:28px
}
.has-voyage .voyage {
  display:grid;
  grid-template-columns:1.25fr 1fr
}
.voyage {
  margin-top:22px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  min-height:492px
}
.voyage-art {
  position:relative;
  min-height:470px;
  overflow:hidden;
  background:radial-gradient(ellipse at 52% 40%,#19425366,transparent 63%),#071722
}
.voyage-grid {
  position:absolute;
  inset:0;
  background-image:linear-gradient(#2e54622b 1px,transparent 1px),linear-gradient(90deg,#2e54622b 1px,transparent 1px);
  background-size:50px 50px;
  mask-image:radial-gradient(ellipse,#000,transparent 75%)
}
.orbit {
  position:absolute;
  top:24%;
  width:70px;
  height:70px;
  border-radius:50%;
  border:1px solid #62b8d18a;
  background:radial-gradient(circle at 25% 25%,#4b869c,#173747 52%,#091923 75%);
  box-shadow:0 0 44px #4dbcec0f
}
.orbit span {
  position:absolute;
  top:85px;
  width:130px;
  left:50%;
  transform:translateX(-50%);
  font-size:11px;
  letter-spacing:.1em;
  text-align:center;
  white-space:nowrap;
  color:#c7d9e0
}
.orbit-earth {
  left:9%
}
.orbit-caligo {
  right:9%;
  background:radial-gradient(circle at 25% 25%,#d3c1a0,#64767c 52%,#112c3b 75%)
}
.orbit-caligo:after {
  content:'';
  position:absolute;
  left:-25px;
  right:-25px;
  height:21px;
  top:22px;
  border:1px solid #d3c1a08c;
  border-radius:50%;
  transform:rotate(-25deg)
}
.voyage-route {
  position:absolute;
  top:9%;
  left:0;
  width:100%;
  height:62%;
  fill:none;
  stroke:#4d85975c;
  stroke-width:1;
  stroke-dasharray:5 7
}
.route-return {
  opacity:.35
}
.voyage-ship {
  position:absolute;
  left:15%;
  top:21%;
  height:72px;
  width:34px;
  transform:translate(-50%,-50%) rotate(90deg);
  transition:left 1s ease,top 1s ease;
  filter:drop-shadow(0 0 12px #4dbcec22)
}
.ship-hull {
  position:absolute;
  width:18px;
  height:51px;
  top:12px;
  left:8px;
  background:#a3b2b9;
  clip-path:polygon(25% 0,75% 0,100% 100%,0 100%)
}
.ship-nose {
  position:absolute;
  width:18px;
  height:20px;
  top:0;
  left:8px;
  background:var(--ivory);
  clip-path:polygon(50% 0,100% 90%,0 90%)
}
.ship-pod {
  position:absolute;
  bottom:0;
  width:9px;
  height:34px;
  background:#526f7f;
  border-bottom:4px solid var(--amber)
}
.ship-pod-left {
  left:0
}
.ship-pod-right {
  right:0
}
.ship-drive {
  position:absolute;
  bottom:0;
  left:14px;
  width:6px;
  height:20px;
  background:var(--blue);
  box-shadow:0 0 13px #4dbcec77
}
.voyage[data-stage=arrival] .voyage-ship,.voyage[data-stage=rebuilding] .voyage-ship,.voyage[data-stage=rebuilt] .voyage-ship {
  left:85%;
  top:21%
}
.voyage[data-stage=returned] .voyage-ship {
  left:15%;
  top:21%;
  transform:translate(-50%,-50%) rotate(-90deg)
}
.voyage[data-stage=arrival] .ship-drive,.voyage[data-stage=rebuilding] .ship-drive,.voyage[data-stage=returned] .ship-drive {
  background:#344d5b;
  box-shadow:none
}
.voyage[data-stage=rebuilding] .ship-pod-left {
  transform:translateX(-6px)
}
.voyage[data-stage=rebuilding] .ship-pod-right {
  transform:translateX(6px)
}
.voyage[data-stage=rebuilding] .ship-drive {
  transform:translateY(12px)
}
.voyage[data-stage=returned] .route-return {
  stroke:var(--blue);
  opacity:.65
}
.voyage-annotation {
  position:absolute;
  bottom:140px;
  left:28px;
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8ca8b8
}
.system-readout {
  position:absolute;
  left:28px;
  right:28px;
  bottom:24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  padding-top:20px;
  border-top:1px solid #4b71804d
}
.system-readout>div {
  display:flex;
  flex-direction:column;
  gap:4px
}
.system-readout span {
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#94afbc
}
.system-readout strong {
  font-size:18px;
  color:var(--blue);
  font-weight:500
}
.system-readout strong[data-spent=true] {
  color:var(--amber)
}
.voyage-content {
  padding:26px 32px 30px 40px;
  display:flex;
  flex-direction:column;
  min-width:0
}
.voyage-chapters {
  list-style:none;
  padding:0;
  margin:0 0 39px;
  display:flex;
  justify-content:space-between;
  gap:12px
}
.voyage-chapters li {
  font-size:9px;
  color:#8da1ad;
  display:flex;
  flex-direction:column;
  gap:5px
}
.voyage-chapters li span {
  font-size:11px;
  letter-spacing:.15em
}
.voyage-chapters li[aria-current] {
  color:var(--blue)
}
.stage-copy>.eyebrow {
  font-size:9px;
  margin-bottom:17px
}
.stage-copy h3 {
  font-size:30px;
  letter-spacing:-.035em;
  line-height:1.12;
  max-width:440px
}
.stage-copy>p:not(.eyebrow) {
  font-size:13px;
  line-height:1.85;
  color:var(--muted);
  margin-top:18px
}
.stage-copy .stage-location {
  display:flex;
  gap:15px;
  font-size:9px!important;
  letter-spacing:.05em;
  text-transform:uppercase
}
.stage-location strong {
  font-weight:500;
  color:var(--ivory)
}
.voyage-controls {
  display:flex;
  align-items:center;
  gap:23px;
  padding-top:26px;
  margin-top:auto
}
.voyage-controls .button {
  font-size:11px;
  padding:14px 18px;
  gap:12px;
  min-height:45px
}
.voyage-controls .button svg {
  width:16px
}
.voyage-controls .text-button {
  font-size:10px;
  white-space:nowrap
}
.expedition-static {
  margin-top:30px;
  padding-left:25px
}
.expedition-static li {
  margin-block:25px
}
.expedition-static p {
  color:var(--muted);
  font-size:16px
}
.has-voyage .expedition-fallback {
  display:none
}
.rebuild-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center;
  padding-top:40px
}
.rebuild-figure {
  height:660px;
  position:relative;
  overflow:hidden;
  background:#10202a
}
.rebuild-figure img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:53% 50%
}
.rebuild-figure:after {
  content:'';
  position:absolute;
  inset:55% 0 0;
  background:linear-gradient(transparent,#02080dbf)
}
.rebuild-figure figcaption {
  position:absolute;
  bottom:24px;
  left:25px;
  right:15px;
  z-index:2;
  font-size:9px
}
.figure-index {
  position:absolute;
  top:22px;
  left:24px;
  font-size:9px;
  line-height:1.7;
  letter-spacing:.18em;
  background:#07131bba;
  padding:9px 12px
}
.rebuild-copy h2 {
  font-size:clamp(40px,4.9vw,72px)
}
.section-body {
  font-size:16px;
  color:var(--muted);
  line-height:1.85;
  margin-top:25px
}
.requirements {
  margin-top:30px;
  border-top:1px solid var(--line)
}
details {
  border-bottom:1px solid var(--line)
}
summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  gap:20px;
  min-height:70px;
  padding:20px 0;
  font-size:15px;
  line-height:1.5;
  font-weight:500
}
summary::-webkit-details-marker {
  display:none
}
.requirement-number {
  font-size:10px;
  color:#90a8b6;
  letter-spacing:.1em
}
.detail-plus,summary>span:last-child {
  margin-left:auto;
  flex-shrink:0;
  font-weight:400;
  color:var(--blue)
}
details[open] summary .detail-plus {
  transform:rotate(45deg)
}
.requirements details>div {
  padding:0 0 27px 34px
}
.requirements h3 {
  font-size:16px;
  line-height:1.5;
  font-weight:500
}
.requirements p {
  font-size:13px;
  color:var(--muted);
  line-height:1.85;
  margin-top:9px
}
.design-note {
  margin-top:24px;
  color:#95a9b5;
  font-size:10px;
  line-height:1.8
}
.mystery-section {
  background:var(--deep);
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:740px;
  padding-block:135px
}
.mystery-glow {
  position:absolute;
  z-index:-1;
  width:900px;
  height:900px;
  border-radius:50%;
  left:8%;
  top:-10%;
  background:radial-gradient(ellipse,#153a4833,transparent 65%);
  border:1px solid #608a9920
}
.mystery-glow:before,.mystery-glow:after {
  content:'';
  position:absolute;
  inset:60px;
  border:1px solid #608a9920;
  border-radius:50%
}
.mystery-glow:after {
  inset:130px
}
.mystery-layout {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  align-items:center;
  gap:110px
}
.mystery-heading h2 {
  font-size:clamp(44px,5.7vw,84px);
  letter-spacing:-.05em;
  font-weight:800;
  line-height:1
}
.mystery-heading h2 em {
  font-style:normal;
  color:var(--blue)
}
.mystery-heading>p:not(.eyebrow) {
  margin-top:30px;
  font-size:16px;
  line-height:1.9;
  color:var(--muted)
}
.mystery-heading>.art-label {
  margin-top:28px;
  font-size:9px
}
.expedition-record {
  background:#0c1b25b0;
  border:1px solid #3e5e6c99;
  padding:30px;
  position:relative
}
.expedition-record:before {
  content:'';
  position:absolute;
  top:-1px;
  left:-1px;
  width:35px;
  height:2px;
  background:var(--blue)
}
.record-header {
  display:flex;
  align-items:center;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#b5c8d3;
  border-bottom:1px solid var(--line);
  padding-bottom:22px
}
.record-header>span:last-child {
  margin-left:auto
}
.expedition-record>h3 {
  font-size:29px;
  font-weight:500;
  letter-spacing:-.04em;
  margin-top:25px
}
.expedition-record>p:not(.record-header):not(.record-footer) {
  font-size:13px;
  color:var(--muted);
  line-height:1.9;
  margin-top:18px;
  margin-bottom:20px
}
.expedition-record summary {
  font-size:12px;
  gap:15px;
  min-height:63px
}
.expedition-record details>p {
  font-size:12px;
  line-height:1.9;
  color:var(--muted);
  padding:0 0 23px
}
.record-footer {
  font-size:8px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#7d9aa9;
  margin-top:25px
}
.journal-section .section-intro {
  margin-bottom:45px
}
.journal-feature {
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  gap:80px;
  align-items:center;
  padding:55px 0;
  transition:background .2s
}
.journal-feature:hover {
  color:inherit;
  background:#0c1e28
}
.journal-number {
  font-size:70px;
  font-weight:800;
  line-height:1;
  color:#a5bdc4;
  letter-spacing:-.07em;
  position:relative;
  min-height:210px;
  overflow:hidden;
  padding-left:20px;
  padding-top:35px
}
.journal-number span {
  display:block;
  font-size:11px;
  letter-spacing:.3em;
  font-weight:400;
  margin-bottom:12px;
  color:#9db7c6
}
.journal-number svg {
  position:absolute;
  right:5px;
  bottom:0;
  width:85%;
  height:130px;
  z-index:0;
  fill:none;
  stroke:#4dbcec4d;
  stroke-width:1
}
.journal-number svg circle {
  fill:var(--blue);
  stroke:var(--blue)
}
.journal-feature>div:last-child {
  padding-right:25px
}
.journal-feature h3,.journal-feature h2 {
  font-size:32px;
  line-height:1.2;
  letter-spacing:-.04em;
  font-weight:600;
  margin-top:20px
}
.journal-feature p:not(.eyebrow) {
  font-size:14px;
  color:var(--muted);
  line-height:1.9;
  margin-top:17px
}
.journal-feature .text-link {
  margin-top:22px;
  font-size:12px;
  color:var(--blue)
}
.faq-section {
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:110px;
  padding-top:20px
}
.faq-section .eyebrow {
  margin-bottom:25px
}
.faq-list {
  border-top:1px solid var(--line)
}
.faq-list summary {
  font-size:14px;
  gap:25px;
  min-height:78px
}
.faq-list details>p {
  font-size:13px;
  line-height:1.9;
  color:var(--muted);
  padding:0 40px 28px 0
}
.return-section {
  position:relative;
  isolation:isolate;
  min-height:820px;
  display:flex;
  align-items:center;
  overflow:hidden
}
.return-section picture,.return-shade {
  position:absolute;
  inset:0;
  z-index:-2
}
.return-section picture img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center right
}
.return-shade {
  z-index:-1;
  background:linear-gradient(90deg,#030b12eb,#030b12ad 40%,#030b1233 85%),linear-gradient(0deg,#07131b 0%,transparent 18%,transparent 65%,#07131b 100%)
}
.return-content {
  padding-block:85px;
  position:relative
}
.return-content>.eyebrow {
  margin-bottom:27px
}
.return-content h2 {
  font-size:clamp(70px,9vw,135px);
  font-weight:800;
  line-height:.92;
  letter-spacing:-.065em
}
.return-content h2 span {
  color:var(--blue)
}
.return-standfirst {
  font-size:27px;
  font-weight:400;
  letter-spacing:-.04em;
  margin-top:28px
}
.return-description {
  font-size:15px;
  line-height:1.85;
  color:#d2dde3;
  margin-top:15px;
  margin-bottom:27px
}
.signup-preview-note {
  font-size:11px;
  line-height:1.7;
  color:#c1cfd7;
  margin-top:18px
}
.return-content>.privacy-link {
  display:inline-block;
  margin-top:10px;
  color:#c1cfd7;
  font-size:10px
}
.return-art-label {
  position:absolute;
  right:0;
  bottom:85px;
  max-width:200px;
  font-size:9px
}
.site-footer {
  padding:55px 56px 28px;
  border-top:1px solid #6e87932b;
  background:var(--deep)
}
.footer-top,.footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px
}
.footer-brand {
  width:300px
}
.footer-brand>img {
  width:100%;
  height:auto
}
.footer-top>p {
  font-size:12px;
  color:#acbdc7;
  line-height:1.8
}
.footer-bottom {
  padding-top:35px;
  margin-top:30px;
  border-top:1px solid var(--line)
}
.footer-bottom>p {
  font-size:10px;
  color:#9bb1bf
}
.footer-bottom>p span {
  display:inline-block;
  margin-left:20px;
  color:#829eae
}
.footer-bottom nav {
  display:flex;
  gap:25px;
  font-size:10px;
  color:#c0cfd6
}
.local-footnote {
  color:#8ba4b3;
  font-size:9px;
  letter-spacing:.03em;
  margin-top:20px
}
.inner-page .site-header {
  position:relative;
  background:var(--ink)
}
.page-intro {
  padding-top:85px;
  padding-bottom:65px;
  border-bottom:1px solid var(--line)
}
.page-intro h1 {
  font-size:clamp(46px,6vw,90px);
  letter-spacing:-.055em;
  font-weight:800;
  margin-top:25px;
  max-width:1000px
}
.page-intro>.lead {
  font-size:20px;
  line-height:1.7;
  letter-spacing:-.02em;
  color:var(--muted);
  max-width:750px;
  margin-top:30px
}
.page-intro .art-label {
  margin-top:25px
}
.article-wrap {
  max-width:760px;
  width:calc(100% - 56px);
  margin:auto;
  padding-block:70px 100px
}
.article-wrap section+section {
  margin-top:45px
}
.article-wrap h2 {
  font-size:29px;
  letter-spacing:-.035em;
  margin-bottom:20px;
  font-weight:600
}
.article-wrap p {
  font-size:16px;
  line-height:1.95;
  color:#bfccd4
}
.article-wrap p+p {
  margin-top:20px
}
.article-metadata {
  font-size:11px;
  color:var(--muted);
  display:flex;
  gap:25px;
  margin-top:28px;
  flex-wrap:wrap
}
.article-back {
  margin-bottom:40px;
  display:inline-flex;
  font-size:12px;
  color:var(--blue);
  border-bottom:1px solid #467b91
}
.article-wrap>.button {
  margin-top:50px
}
.journal-list {
  padding-block:35px 100px
}
.journal-list .journal-feature {
  border-top:0
}
.privacy-notice {
  padding:20px;
  border-left:2px solid var(--blue);
  background:#102432;
  color:#d1dee6!important;
  margin-bottom:40px
}
dialog {
  background:#091b27;
  color:var(--ivory);
  border:1px solid #436171;
  padding:50px 45px 38px;
  width:min(560px,calc(100% - 32px));
  max-height:90svh;
  overflow:auto;
  box-shadow:0 30px 120px #0009
}
dialog::backdrop {
  background:#02070ddd;
  backdrop-filter:blur(8px)
}
dialog .eyebrow {
  font-size:10px;
  margin-top:18px;
  margin-bottom:22px
}
dialog h2 {
  font-size:44px;
  letter-spacing:-.05em;
  line-height:1.05
}
dialog>p:not(.eyebrow) {
  font-size:14px;
  line-height:1.8;
  color:var(--muted);
  margin-top:22px
}
.dialog-close {
  position:absolute;
  right:17px;
  top:12px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  background:none;
  border:0;
  font-size:30px;
  font-weight:200
}
.dialog-planet {
  width:72px;
  height:72px
}
.preview-message {
  padding:22px;
  border-left:2px solid var(--blue);
  background:#12304488;
  margin-block:30px
}
.tiny-label {
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--blue)
}
.preview-message h3 {
  font-size:17px;
  line-height:1.4;
  margin-top:9px
}
.preview-message p {
  font-size:12px;
  line-height:1.9;
  color:var(--muted);
  margin-top:13px
}
dialog>.button {
  width:100%;
  font-size:12px
}
dialog>.privacy-link {
  display:block;
  margin-top:20px;
  text-align:center;
  color:var(--muted)
}
@keyframes hero-drift {
  from {
    transform:scale(1.015) translateX(0)
  }
  to {
    transform:scale(1.055) translateX(-.5%)
  }
}
@media(min-width:1700px) {
  .hero-content {
    padding-top:210px
  }
  .hero h1 {
    font-size:110px
  }
  .hero-subtitle {
    font-size:44px
  }
}
@media(max-width:1200px) {
  .container {
    width:calc(100% - 80px)
  }
  .site-header {
    padding-inline:40px;
    min-height:100px
  }
  .brand {
    width:285px
  }
  .site-header nav {
    gap:25px
  }
  .hero-content {
    padding-top:180px
  }
  .hero {
    min-height:800px
  }
  .hero h1 {
    font-size:7vw
  }
  .hero-subtitle {
    font-size:3.1vw
  }
  .rebuild-section {
    gap:50px
  }
  .rebuild-figure {
    height:590px
  }
  .mystery-layout {
    gap:60px
  }
  .voyage-content {
    padding-inline:28px
  }
  .voyage-controls {
    gap:16px;
    flex-wrap:wrap
  }
  .voyage-chapters {
    margin-bottom:30px
  }
  .stage-copy h3 {
    font-size:26px
  }
  .voyage-content .stage-copy>p:not(.eyebrow) {
    font-size:12px
  }
  .mystery-section {
    padding-block:110px
  }
  .journal-feature {
    gap:60px
  }
  .faq-section {
    gap:70px
  }
  .site-footer {
    padding-inline:40px
  }
}
@media(max-width:900px) {
  .container {
    width:calc(100% - 56px)
  }
  .site-header {
    padding-inline:28px
  }
  .brand {
    width:265px
  }
  .site-header nav {
    gap:20px
  }
  .site-header nav>a {
    font-size:11px
  }
  .site-header nav .button {
    padding:10px 15px;
    gap:12px
  }
  .site-header nav .button svg {
    display:none
  }
  .hero {
    min-height:780px
  }
  .hero-content {
    padding-top:170px
  }
  .hero h1 {
    font-size:7.5vw
  }
  .hero-subtitle {
    font-size:3.6vw
  }
  .hero-shade {
    background:linear-gradient(90deg,#030b12e8,#030b12b0 45%,#030b1222),linear-gradient(0deg,#07131b,transparent 25%,#07131b44 100%)
  }
  .section-space {
    padding-block:85px
  }
  .section-intro {
    gap:35px
  }
  .section-standfirst {
    font-size:17px
  }
  .has-voyage .voyage {
    grid-template-columns:1fr
  }
  .voyage-art {
    min-height:370px
  }
  .voyage-content {
    padding:30px;
    min-height:400px
  }
  .voyage-chapters {
    max-width:450px
  }
  .voyage-controls {
    flex-wrap:nowrap;
    margin-top:20px
  }
  .stage-copy h3 {
    max-width:600px;
    font-size:30px
  }
  .voyage-content .stage-copy>p:not(.eyebrow) {
    font-size:14px
  }
  .rebuild-section {
    gap:35px;
    padding-top:20px
  }
  .rebuild-figure {
    height:630px
  }
  .rebuild-copy h2 {
    font-size:39px
  }
  .section-body {
    font-size:14px
  }
  .requirements summary {
    font-size:13px;
    gap:12px
  }
  .requirements details>div {
    padding-left:25px
  }
  .mystery-layout {
    grid-template-columns:1fr 1fr;
    gap:40px
  }
  .mystery-heading h2 {
    font-size:45px
  }
  .mystery-heading>p:not(.eyebrow) {
    font-size:14px
  }
  .expedition-record {
    padding:24px
  }
  .journal-feature {
    gap:35px
  }
  .journal-feature h3 {
    font-size:28px
  }
  .journal-number {
    font-size:55px;
    padding-left:0
  }
  .faq-section {
    grid-template-columns:.8fr 1.2fr;
    gap:40px
  }
  .faq-list summary {
    font-size:13px
  }
  .return-section {
    min-height:760px
  }
  .return-content h2 {
    font-size:100px
  }
  .footer-bottom {
    align-items:flex-start
  }
  .footer-bottom>p span {
    display:block;
    margin:5px 0 0
  }
  .footer-bottom nav {
    flex-wrap:wrap;
    max-width:280px;
    gap:12px 20px;
    justify-content:flex-end
  }
  .site-footer {
    padding-inline:28px
  }
}
@media(max-width:650px) {
  html {
    scroll-padding-top:24px
  }
  .container {
    width:calc(100% - 40px)
  }
  .site-header {
    padding:21px 20px;
    min-height:80px;
    gap:12px;
    border-bottom:0
  }
  .brand {
    width:auto;
    max-width:calc(100% - 95px)
  }
  .brand>img {
    display:none
  }
  .brand-compact {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    letter-spacing:.14em;
    line-height:1;
    white-space:nowrap;
    font-weight:400
  }
  .brand-compact img {
    width:32px;
    height:32px
  }
  .brand-compact>span {
    color:var(--blue);
    margin-left:-5px;
    font-size:18px;
    font-weight:300
  }
  .site-header nav>a:not(.header-cta) {
    display:none
  }
  .site-header nav .button {
    font-size:10px;
    min-height:37px;
    padding:9px 12px;
    border-color:#4e899f
  }
  .hero {
    height:auto;
    min-height:850px;
    padding-bottom:200px
  }
  .hero-content {
    padding-top:145px
  }
  .hero-art img {
    object-position:center center
  }
  .hero-shade {
    background:linear-gradient(90deg,#030b12d9 0%,#030b12ab 55%,#030b1244),linear-gradient(0deg,#07131b 0%,transparent 25%,transparent 80%,#07131b66 100%)
  }
  .hero-eyebrow {
    font-size:8px;
    letter-spacing:.13em;
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:27px
  }
  .hero-eyebrow .status-dot {
    margin-right:3px;
    width:4px;
    height:4px
  }
  .eyebrow-separator {
    padding-inline:4px
  }
  .hero h1 {
    font-size:clamp(41px,10vw,65px);
    letter-spacing:-.055em;
    line-height:1.02
  }
  .hero h1 span:nth-child(2) {
    max-width:490px
  }
  .hero-subtitle {
    font-size:26px;
    max-width:360px;
    line-height:1.25;
    margin-top:20px;
    letter-spacing:-.04em
  }
  .hero-description {
    font-size:14px;
    line-height:1.85;
    max-width:335px;
    margin-top:24px
  }
  .hero-description br {
    display:none
  }
  .hero-actions {
    display:flex;
    align-items:stretch;
    flex-direction:column;
    gap:13px;
    margin-top:29px;
    max-width:355px
  }
  .hero-actions .button {
    width:100%;
    justify-content:space-between;
    min-height:55px;
    font-size:12px;
    padding-inline:19px
  }
  .hero-actions .text-link {
    font-size:11px;
    align-self:flex-start;
    min-height:44px;
    padding-block:8px;
    gap:12px
  }
  .hero-preview {
    font-size:9px;
    line-height:1.7;
    max-width:320px;
    margin-top:8px
  }
  .hero-meta {
    margin-top:20px;
    gap:17px;
    flex-wrap:wrap
  }
  .hero-meta .art-label {
    font-size:8px;
    letter-spacing:.12em
  }
  .motion-control {
    font-size:9px;
    padding:8px;
    min-height:30px
  }
  .hero-baseline {
    font-size:7px;
    letter-spacing:.1em;
    gap:15px;
    bottom:28px
  }
  .hero-baseline>span:first-child {
    max-width:190px
  }
  .section-space {
    padding-block:70px
  }
  .eyebrow {
    font-size:9px;
    letter-spacing:.18em
  }
  .section-intro {
    display:block
  }
  .section-intro .eyebrow {
    margin-bottom:24px
  }
  .section-intro h2,.faq-section h2 {
    font-size:44px
  }
  .section-standfirst {
    font-size:16px;
    margin-top:25px;
    line-height:1.7
  }
  .experience-disclosure {
    font-size:10px;
    line-height:1.9;
    max-width:350px;
    margin-top:25px
  }
  .voyage {
    margin-top:20px
  }
  .voyage-art {
    min-height:315px
  }
  .orbit {
    height:50px;
    width:50px;
    top:22%
  }
  .orbit span {
    top:64px;
    font-size:9px
  }
  .orbit-caligo:after {
    top:16px;
    height:17px;
    left:-19px;
    right:-19px
  }
  .voyage-route {
    top:4%;
    height:58%
  }
  .voyage-ship {
    width:26px;
    height:56px;
    top:18%
  }
  .ship-hull {
    width:14px;
    left:6px;
    height:40px;
    top:10px
  }
  .ship-nose {
    width:14px;
    height:17px;
    left:6px
  }
  .ship-pod {
    width:7px;
    height:27px
  }
  .ship-drive {
    width:4px;
    height:16px;
    left:11px
  }
  .voyage[data-stage=arrival] .voyage-ship,.voyage[data-stage=rebuilding] .voyage-ship,.voyage[data-stage=rebuilt] .voyage-ship,.voyage[data-stage=returned] .voyage-ship {
    top:18%
  }
  .voyage-annotation {
    bottom:127px;
    left:20px;
    font-size:8px
  }
  .system-readout {
    left:20px;
    right:20px;
    bottom:24px;
    gap:15px;
    padding-top:15px
  }
  .system-readout span {
    font-size:8px;
    line-height:1.8;
    letter-spacing:.08em
  }
  .system-readout strong {
    font-size:17px
  }
  .voyage-content {
    padding:26px 20px 25px;
    min-height:480px
  }
  .voyage-chapters {
    gap:10px;
    margin-bottom:31px
  }
  .voyage-chapters li {
    font-size:9px
  }
  .voyage-chapters li span {
    font-size:10px
  }
  .stage-copy>.eyebrow {
    font-size:9px
  }
  .stage-copy h3 {
    font-size:29px;
    line-height:1.15
  }
  .voyage-content .stage-copy>p:not(.eyebrow) {
    font-size:14px;
    line-height:1.9
  }
  .stage-copy .stage-location {
    font-size:9px!important;
    line-height:1.8;
    flex-wrap:wrap;
    gap:5px 15px
  }
  .voyage-controls {
    display:flex;
    align-items:stretch;
    flex-direction:column;
    gap:8px;
    padding-top:25px;
    margin-top:auto
  }
  .voyage-controls .button {
    font-size:12px;
    min-height:51px;
    padding:16px 13px;
    justify-content:space-between
  }
  .voyage-controls .text-button {
    font-size:11px;
    align-self:flex-start;
    min-height:42px
  }
  .rebuild-section {
    display:flex;
    flex-direction:column;
    gap:40px;
    padding-top:10px
  }
  .rebuild-figure {
    width:100%;
    height:440px
  }
  .rebuild-figure figcaption {
    font-size:8px;
    bottom:20px;
    left:20px
  }
  .rebuild-copy h2 {
    font-size:44px
  }
  .rebuild-copy .eyebrow {
    margin-bottom:23px
  }
  .section-body {
    font-size:16px;
    margin-top:23px
  }
  .requirements {
    margin-top:25px
  }
  .requirements summary {
    font-size:15px;
    min-height:76px;
    gap:18px
  }
  .requirements details>div {
    padding-left:34px
  }
  .requirements p {
    font-size:14px
  }
  .requirements h3 {
    font-size:16px
  }
  .design-note {
    font-size:10px;
    line-height:1.9
  }
  .mystery-section {
    padding-block:80px
  }
  .mystery-layout {
    grid-template-columns:1fr;
    gap:45px
  }
  .mystery-heading h2 {
    font-size:clamp(42px,12vw,65px)
  }
  .mystery-heading>p:not(.eyebrow) {
    font-size:16px;
    margin-top:25px
  }
  .mystery-heading>.art-label {
    font-size:8px;
    line-height:1.8;
    max-width:320px
  }
  .mystery-glow {
    width:700px;
    height:700px;
    left:-270px;
    top:-80px
  }
  .expedition-record {
    padding:24px
  }
  .record-header {
    font-size:8px;
    letter-spacing:.09em
  }
  .expedition-record>h3 {
    font-size:27px
  }
  .expedition-record>p:not(.record-header):not(.record-footer) {
    font-size:14px
  }
  .expedition-record summary {
    font-size:13px;
    min-height:70px
  }
  .expedition-record details>p {
    font-size:14px
  }
  .record-footer {
    font-size:8px;
    letter-spacing:.04em
  }
  .journal-section .section-intro .text-link {
    margin-top:25px;
    font-size:12px
  }
  .journal-section .section-intro {
    margin-bottom:35px
  }
  .journal-feature {
    grid-template-columns:1fr;
    gap:25px;
    padding:30px 0 35px
  }
  .journal-number {
    font-size:65px;
    min-height:200px;
    max-width:380px;
    padding-left:15px
  }
  .journal-feature>div:last-child {
    padding-right:5px
  }
  .journal-feature h3,.journal-feature h2 {
    font-size:29px;
    margin-top:20px
  }
  .journal-feature p:not(.eyebrow) {
    font-size:15px
  }
  .journal-feature .text-link {
    font-size:12px;
    margin-top:20px
  }
  .faq-section {
    grid-template-columns:1fr;
    gap:32px;
    padding-top:0
  }
  .faq-section h2 br {
    display:none
  }
  .faq-section h2 {
    font-size:38px
  }
  .faq-section .eyebrow {
    margin-bottom:20px
  }
  .faq-list summary {
    font-size:15px;
    min-height:82px;
    gap:20px
  }
  .faq-list details>p {
    font-size:14px;
    padding-right:5px
  }
  .return-section {
    min-height:760px
  }
  .return-section picture img {
    object-position:57% center
  }
  .return-shade {
    background:linear-gradient(90deg,#030b12d9,#030b1299),linear-gradient(0deg,#07131b,transparent 30%,#07131b 100%)
  }
  .return-content {
    padding-block:85px 125px
  }
  .return-content>.eyebrow {
    font-size:9px;
    letter-spacing:.15em;
    max-width:300px
  }
  .return-content h2 {
    font-size:clamp(68px,20vw,105px)
  }
  .return-standfirst {
    font-size:24px;
    max-width:320px;
    line-height:1.4
  }
  .return-description {
    font-size:16px;
    line-height:1.8;
    margin-top:15px
  }
  .return-content>.button {
    width:100%;
    justify-content:space-between;
    max-width:355px;
    font-size:12px;
    min-height:55px
  }
  .signup-preview-note {
    font-size:11px;
    line-height:1.8;
    margin-top:20px
  }
  .return-content>.privacy-link {
    font-size:11px;
    margin-top:13px
  }
  .return-art-label {
    position:static;
    display:block;
    margin-top:34px;
    font-size:8px;
    max-width:none
  }
  .site-footer {
    padding:38px 20px 25px
  }
  .footer-top {
    align-items:flex-start;
    flex-direction:column;
    gap:14px
  }
  .footer-brand {
    width:250px
  }
  .footer-top>p {
    font-size:12px;
    line-height:1.7
  }
  .footer-bottom {
    flex-direction:column;
    align-items:flex-start;
    margin-top:25px;
    padding-top:25px;
    gap:22px
  }
  .footer-bottom>p {
    font-size:10px
  }
  .footer-bottom>p span {
    font-size:9px;
    display:block;
    margin:7px 0 0
  }
  .footer-bottom nav {
    justify-content:flex-start;
    max-width:none;
    font-size:11px;
    gap:16px 20px
  }
  .local-footnote {
    font-size:9px;
    line-height:1.8;
    margin-top:23px
  }
  .inner-page .site-header {
    min-height:85px;
    padding-block:18px
  }
  .page-intro {
    padding-top:55px;
    padding-bottom:45px
  }
  .page-intro h1 {
    font-size:43px;
    line-height:1.08;
    margin-top:22px
  }
  .page-intro>.lead {
    font-size:17px;
    line-height:1.8;
    margin-top:25px
  }
  .article-metadata {
    font-size:10px;
    line-height:1.8;
    gap:10px;
    margin-top:25px
  }
  .article-wrap {
    width:calc(100% - 40px);
    padding-block:45px 75px
  }
  .article-wrap h2 {
    font-size:26px;
    line-height:1.3
  }
  .article-wrap p {
    font-size:16px;
    line-height:1.9
  }
  .article-wrap section+section {
    margin-top:38px
  }
  .journal-list {
    padding-block:15px 65px
  }
  dialog {
    padding:32px 25px 28px;
    width:calc(100% - 28px)
  }
  dialog h2 {
    font-size:38px
  }
  .dialog-planet {
    width:60px;
    height:60px
  }
  .dialog-close {
    right:10px;
    top:7px
  }
  .preview-message {
    padding:18px;
    margin-block:25px
  }
  .preview-message p {
    font-size:13px
  }
  dialog>.button {
    font-size:11px;
    padding:15px;
    gap:10px
  }
  .privacy-link {
    min-height:28px
  }
}
@media(max-width:359px) {
  .brand-compact {
    font-size:10px;
    gap:5px
  }
  .brand-compact img {
    width:28px;
    height:28px
  }
  .brand-compact>span {
    font-size:16px;
    margin-left:-3px
  }
  .site-header nav .button {
    font-size:9px;
    padding:9px
  }
  .hero-eyebrow {
    font-size:7px;
    gap:4px;
    letter-spacing:.1em
  }
  .hero h1 {
    font-size:36px
  }
  .hero-subtitle {
    font-size:23px
  }
  .hero-content {
    padding-top:125px
  }
  .hero-actions .button {
    font-size:11px;
    gap:10px
  }
  .hero-meta {
    gap:5px
  }
  .hero-meta .art-label {
    font-size:7px
  }
  .system-readout span {
    font-size:7px
  }
  .voyage-content {
    padding-inline:16px
  }
  .voyage-controls .button {
    font-size:10px
  }
  .stage-copy h3 {
    font-size:27px
  }
  .rebuild-copy h2,.section-intro h2 {
    font-size:39px
  }
  .faq-section h2 {
    font-size:33px
  }
  .record-header {
    font-size:7px
  }
  .return-content>.eyebrow {
    font-size:8px
  }
}
.voyage-art::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#071722ed,#0717229c),url('../media/earth-1280.webp') center/cover;
  opacity:.6
}
.voyage[data-stage=arrival] .voyage-art::before,.voyage[data-stage=rebuilt] .voyage-art::before {
  background-image:linear-gradient(0deg,#071722ed,#0717229c),url('../media/hero-1280.webp')
}
.voyage[data-stage=rebuilding] .voyage-art::before {
  background-image:linear-gradient(0deg,#071722ed,#0717229c),url('../media/rebuild-1280.webp')
}
@media(max-width:650px) {
  .voyage-art::before {
    background-image:linear-gradient(0deg,#071722ed,#0717229c),url('../media/earth-768.webp')
  }
  .voyage[data-stage=arrival] .voyage-art::before,.voyage[data-stage=rebuilt] .voyage-art::before {
    background-image:linear-gradient(0deg,#071722ed,#0717229c),url('../media/hero-768.webp')
  }
  .voyage[data-stage=rebuilding] .voyage-art::before {
    background-image:linear-gradient(0deg,#071722ed,#0717229c),url('../media/rebuild-768.webp')
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
  .hero-image {
    transform:none!important
  }
}
@media print {
  .site-header,.site-footer,.hero-art,.hero-shade,.motion-control,dialog,.return-section,.js-only {
    display:none!important
  }
  body {
    background:white;
    color:black
  }
  .container {
    width:100%
  }
  .hero {
    height:auto;
    min-height:0;
    padding:0
  }
  .hero-content {
    padding:0
  }
  .section-space {
    padding-block:25px
  }
  .hero h1 {
    font-size:36px
  }
  .expedition-fallback {
    display:block!important
  }
  .expedition-static p {
    color:black
  }
  .art-label {
    color:black
  }
}
/* Public body text and essential disclosure remain readable at every size. */
.hero .hero-eyebrow {
  margin-bottom: 12px;
}
.hero-source {
  margin-bottom: 16px;
}
.return-art-label {
  width: fit-content;
  padding: 10px 12px;
  background: #061019e6;
  border-left: 1px solid #4dbcec70;
}
.voyage-annotation {
  font-size: 11px;
  right: 28px;
}
html.motion-paused {
  scroll-behavior: auto;
}
.motion-paused .voyage-ship {
  transition: none;
}
.stage-copy>p:not(.eyebrow),.voyage-content .stage-copy>p:not(.eyebrow),.requirements p,.expedition-record>p:not(.record-header):not(.record-footer),.expedition-record details>p,.journal-feature p:not(.eyebrow),.faq-list details>p,.preview-message p {
  font-size:16px
}
.stage-copy .stage-location {
  font-size:11px!important
}
.art-label,.hero-meta .art-label,.rebuild-figure figcaption,.mystery-heading>.art-label,.return-art-label,.local-footnote {
  font-size:11px
}
.hero-preview,.experience-disclosure,.design-note,.signup-preview-note {
  font-size:12px
}
.record-footer {
  font-size:10px
}
.voyage-content {
  min-height:515px
}
@media(max-width:650px) {
  .hero .hero-description {
    max-width: 285px;
  }
  .hero .hero-description br {
    display: initial;
  }
  .hero-description,.requirements summary,.faq-list summary {
    font-size:16px
  }
  .hero-actions .button,.voyage-controls .button,.return-content>.button {
    font-size:14px
  }
  .voyage-content {
    min-height:560px
  }
  .hero-meta {
    align-items:center;
    gap:10px
  }
  .hero-meta .art-label {
    letter-spacing:.08em
  }
  .system-readout span {
    font-size:10px
  }
  .hero-meta .motion-control {
    font-size:11px
  }
  .hero {
    min-height:900px
  }
  .return-art-label {
    font-size:11px
  }
}

/* Keep the motion control and horizon in separate normal-flow rows, including enlarged text. */
.hero { display:flex; flex-direction:column; height:auto; min-height:max(850px,min(1000px,100svh)); padding-bottom:0; }
.hero-content { flex:none; padding-bottom:36px; }
.hero-baseline { position:static; flex:none; margin-top:auto; padding-bottom:38px; }
.hero-meta .motion-control { min-height:44px; padding:10px 0; font-size:12px; }
.gallery-intro { padding-top:80px; padding-bottom:62px; }
.gallery-intro h1 { font-size:clamp(54px,7.5vw,112px); line-height:1.02; letter-spacing:-.055em; margin-top:24px; }
.gallery-intro h1 span { color:var(--blue); }
.gallery-intro-bottom { display:grid; grid-template-columns:1fr 1fr; gap:10%; margin-top:40px; }
.gallery-intro-bottom>p:first-child { font-size:22px; max-width:440px; }
.gallery-disclosure { color:#aabdc7; font-size:14px; line-height:1.8; max-width:440px; }
.gallery-entry { border-top:1px solid #8bafc33b; padding-top:22px; margin-bottom:90px; }
.gallery-entry-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:22px; font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:#aec4d0; }
.gallery-index { color:var(--blue); }
.gallery-image { display:block; position:relative; background:#20292e; overflow:hidden; }
.gallery-image img { display:block; width:100%; height:auto; }
.gallery-enlarge { position:absolute; bottom:20px; right:20px; background:#07131bea; border:1px solid #b1c8d444; padding:12px 16px; font-size:12px; color:#e2eaf0; }
.gallery-image:hover .gallery-enlarge,.gallery-image:focus-visible .gallery-enlarge { background:#244355; }
.gallery-entry figcaption { display:grid; grid-template-columns:1fr 1fr; gap:10%; padding-top:28px; }
.gallery-entry h2 { font-size:clamp(32px,4vw,54px); letter-spacing:-.045em; }
.gallery-entry h2,.gallery-entry figcaption p { overflow-wrap:anywhere; }
.gallery-entry figcaption p:first-child { white-space:pre-line; }
.gallery-entry figcaption p { color:#c2cfd7; font-size:16px; line-height:1.8; }
.gallery-entry figcaption .gallery-credit { font-size:12px; color:#8ca5b5; margin-top:16px; }
.gallery-follow { padding-bottom:100px; }
.gallery-follow h2 { font-size:clamp(26px,4vw,48px); margin:15px 0 24px; letter-spacing:-.035em; }
.gallery-empty { padding:70px 0; }
@media(max-width:700px) {
 .hero { min-height:900px; }
 .hero-baseline { padding-bottom:28px; }
 .gallery-intro { padding-top:50px; padding-bottom:40px; }
 .gallery-intro-bottom,.gallery-entry figcaption { grid-template-columns:1fr; gap:22px; }
 .gallery-intro-bottom>p:first-child { font-size:19px; }
 .gallery-entry { margin-bottom:55px; }
 .gallery-entry-heading { flex-wrap:wrap; gap:8px; font-size:10px; }
 .gallery-enlarge { right:10px; bottom:10px; padding:10px; }
}
@media(max-width:650px) {
 .site-header nav>a.gallery-nav { display:inline-flex; font-size:12px; }
 .site-header nav { gap:12px; }
 .site-header .header-cta { padding:10px; }
}
