/* Shared axes and a 13 / 21 / 34 / 55 / 89 / 144 spacing progression.
   Content remains in natural flow; the artwork adapts to the available height. */
:root {
  --space-detail: 13px;
  --space-small: 21px;
  --space-medium: 34px;
  --space-large: 55px;
  --space-section: clamp(89px, 10vw, 144px);
}

.nav { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.nav > .wordmark { justify-self: start; }
.nav-links { justify-self: center; }
.language-switch { justify-self: end; margin: 0; }
.language-switch a { min-width: 44px; }
.hero-copy .hero-description,
.investment-hero-copy .hero-description { margin-inline: auto; }
.section { padding-block: var(--space-section); }
.section-heading { gap: var(--space-large); }
/* Anchors align the section's first line, rather than its outer whitespace. */
.section[id] { scroll-margin-top: calc(21px - var(--space-section)); }
.intelligence-journey { scroll-margin-top: -107px; }

/* Equal outer rails keep the wordmark, statement and utility links on one grid. */
.footer { padding-block: 89px 55px; }
.footer-top,
.footer-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto) minmax(0, 1fr);
  align-items: center;
  gap: var(--space-medium);
}
.footer-top > .wordmark { justify-self: start; }
.footer-top > p { margin: 0; text-align: center; }
.footer-top > .back-top { justify-self: end; }
.footer-bottom { margin-top: 55px; padding-top: 21px; align-items: start; }
.footer-bottom > p { margin: 0; padding-top: 12px; line-height: 20px; }
.footer-bottom > p:last-child { text-align: right; }
.footer-access { display: flex; flex-direction: column; align-items: center; gap: 0; }
.footer-access > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 44px;
  margin: 0;
  padding: 0 21px;
  text-align: center;
  line-height: 1.5;
  transition: color .25s ease;
}
.footer-access > a > span { position: absolute; right: 0; font-size: 12px; }
.footer-access > .staff-entry { font-size: 11px; letter-spacing: .025em; color: #626d7d; }
.footer-access > a:hover { color: var(--blue); }
.footer-access > a:focus-visible { border-radius: 3px; outline-offset: 2px; }

@media (min-width: 701px) {
  .hero-premium, .investment-restored { padding-top: clamp(34px, 5svh, 89px); }
  .hero-premium h1, .investment-restored h1 { margin-top: 21px; }
  .hero-premium .hero-description, .investment-restored .hero-description { margin-top: 21px; }
  .signature-scene { margin-top: 0; }
  .signature-art { width: min(900px, 80vw, calc(clamp(220px, 100svh - 490px, 600px) * 1.5)); }
  .signature-caption { bottom: 34px; }
  .hero-premium .hero-bottom { margin-top: 0; }
  .hero-bottom { padding-block: 13px; }
  .investment-restored .audience { margin-top: 13px; }
  .investment-doc-link { display: flex; align-items: center; justify-content: center; margin-top: 8px; }
  .earth-hero { height: clamp(180px, calc(100svh - 605px), 440px); margin-top: 21px; }
  .earth-hero .earth-poster, .earth-hero .earth-live { width: min(1100px, 108%, calc(clamp(180px, 100svh - 605px, 440px) * 2.3)); }
  .journey-visual { top: calc(var(--header-height, 76px) + 21px); }
  .intelligence-stage, .allocation-stage { max-height: calc(100svh - var(--header-height, 76px) - 110px); }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .signature-caption { position: relative; inset: auto; margin-top: -13px; padding-bottom: 21px; gap: 34px; }
  .signature-caption > div { max-width: 45%; }
}
@media (min-width: 701px) and (max-height: 900px) {
  :root { --type-display: clamp(3rem, min(6vw, 8.5svh), 5.25rem); }
  html[lang=en] .hero-copy h1 { font-size: clamp(40px, min(5.2vw, 8.5svh), 80px); }
}
@media (min-width: 701px) and (max-height: 600px) {
  .journey-visual { position: relative; top: auto; }
  .intelligence-stage, .allocation-stage { max-height: none; }
}

@media (max-width: 700px) {
  .nav { grid-template-columns: minmax(0, 1fr) auto; gap: 0 21px; padding-top: 5px; min-height: 94px; }
  .nav > .wordmark { grid-area: 1 / 1; align-self: center; margin: 0; }
  .nav .language-switch { position: static; grid-area: 1 / 2; align-self: center; font-size: 10px; }
  .language-switch a { min-width: 44px; min-height: 44px; }
  .nav-links { grid-area: 2 / 1 / 3 / -1; align-self: center; gap: 34px; }
  .nav-links a { display: flex; align-items: center; min-height: 44px; padding-block: 8px; }
  .hero-premium, .investment-restored { padding-top: 55px; }
  .intelligence-journey { scroll-margin-top: -71px; }
  .hero-bottom { column-gap: 13px; row-gap: 8px; }
  .hero-bottom > span { flex: 1 1 125px; max-width: none; }
  .hero-actions { flex: 0 0 auto; gap: 13px; }
  .signature-caption { gap: 21px; }
  .signature-caption .micro-label { font-size: 10px; letter-spacing: .09em; }
  .signature-caption strong { font-size: 12px; }
  html[lang=en] .earth-hero { height: 180px; }
  .footer { padding-block: 55px 34px; }
  .footer-top { grid-template-columns: minmax(0, 1fr) auto; gap: 21px; }
  .footer-top > .wordmark { font-size: 2.4rem; }
  .footer-top > .back-top { grid-area: 1 / 2; }
  .footer-top > p { grid-area: 2 / 1 / 3 / -1; text-align: left; }
  .footer-bottom { grid-template-columns: 1fr; margin-top: 34px; padding-top: 21px; gap: 13px; }
  .footer-access { grid-row: 1; padding-bottom: 8px; }
  .footer-bottom > p, .footer-bottom > p:last-child { padding: 0; text-align: center; }
  .footer-bottom > p:last-child { font-size: 11px; }
}
@media (max-width: 700px) and (max-height: 760px) {
  .hero-premium, .investment-restored { padding-top: 34px; }
  .hero-premium h1, .investment-restored h1 { margin-top: 21px; }
  .hero-premium .hero-description, .investment-restored .hero-description { margin-top: 21px; }
  .signature-art { width: min(100%, 360px); }
  .earth-hero { height: 180px; }
}
@media (max-width: 359px) {
  .hero-bottom { align-items: flex-start; }
  .hero-bottom > span { flex-basis: 100%; }
  .hero-actions { width: 100%; justify-content: space-between; }
}
html[data-large-type="true"] .intelligence-stage,
html[data-large-type="true"] .allocation-stage { max-height: none; }
@media print {
  .staff-entry, .language-switch { display: none; }
  .footer { padding-block: 34px; }
}
.hero h1[tabindex="-1"]:focus,
.investment-hero h1[tabindex="-1"]:focus {
  /* Route announcements retain focus without framing the editorial heading. */
  outline: none;
}

/* Unpublished concept: First light. */
:root{--paper:#fbf9f5;--surface:#f2eee7;--ink:#25282b;--muted:#666660}
body{background:var(--paper)}
.site-header{background:#fbf9f5f2;border-bottom-color:#e5e0d8}
.hero-premium{background:radial-gradient(ellipse at 72% 48%,#ead9bf66,transparent 55%)}
.signature-scene::after{content:"";position:absolute;inset:8% 7% 14%;pointer-events:none;background:linear-gradient(115deg,transparent 22%,#edc48b38 46%,#fff4d938 54%,transparent 73%);mix-blend-mode:soft-light;border-radius:50%;animation:first-light 16s ease-in-out infinite alternate}
@keyframes first-light{from{opacity:.4;transform:translateX(-3%)}to{opacity:.9;transform:translateX(3%)}}
.investment-restored{background:radial-gradient(ellipse at 50% 88%,#dfb47b3d,transparent 55%),linear-gradient(#fbf9f5,#f5f0e7)}
.defense,.press{background:#f1eee8}.footer{background:#eee9e1}
.human-moment{position:relative;overflow:hidden;text-align:center;padding:clamp(110px,15vw,220px) 0;background:radial-gradient(ellipse 65% 43% at 50% 100%,#e4ba855c,transparent 90%),linear-gradient(#faf8f3,#f3eadc);color:#343936}
.human-moment .eyebrow{color:#88765f;font-size:.7rem;letter-spacing:.2em}
.human-moment h2{font-size:clamp(1.8rem,4vw,3.4rem);line-height:1.45;font-weight:480;margin-top:38px;letter-spacing:-.055em}
.human-answer{font-size:clamp(1.8rem,4vw,3.4rem);line-height:1.45;color:#8b7354;font-weight:480;letter-spacing:-.055em;margin-top:6px}
.human-note{margin:34px auto 0;font-size:1rem;line-height:2;color:#777369}
.human-horizon{display:block;width:min(400px,70%);height:1px;margin:70px auto 24px;background:linear-gradient(90deg,transparent,#b49368,transparent)}
.human-caption{font-family:Georgia,serif;font-style:italic;font-size:1rem;color:#88785f}
.investment-cta{background:#f0ebe2}
@media(max-width:700px){.human-moment{padding:112px 0}.human-moment h2,.human-answer{font-size:clamp(1.5rem,6.1vw,2.2rem)}.human-note{font-size:.875rem}.human-horizon{margin-top:48px}}
html[data-motion="off"] .signature-scene::after{animation:none}
@media(prefers-reduced-motion:reduce){.signature-scene::after{animation:none}}
