/* Shared editorial layer. Original shared CSS/JS remain byte-identical. */
@font-face{font-family:"Space Grotesk";src:url("../fonts/SpaceGrotesk-variable.ttf") format("truetype");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("../fonts/Figtree-variable.ttf") format("truetype");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../fonts/InstrumentSerif-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
body{--header-h:5.25rem}
.shell--wide{max-inline-size:92rem}
em{font-family:"Instrument Serif",Georgia,serif;font-weight:400}
.header{--ink:#f5f5f1;--ink-2:#c5c7cc;--bg:#111216;--line:#35373e;--accent-text:#9baaff;background:#111216;color:#f5f5f1;box-shadow:none;border-bottom:1px solid #36383e}
.header__inner{block-size:5.25rem}
.header__nav{margin-inline-start:auto}
.header__nav a{font-size:.72rem;letter-spacing:.035em}
.header__where{display:none}
.reveal,.rise>span{opacity:1;animation:none;translate:none;transform:none}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid var(--accent-text);outline-offset:4px}
[hidden]{display:none!important}
.field-help{font-size:.75rem;line-height:1.6;color:var(--ink-2);margin-block:.5rem 0}
.field-grid>.field-help{margin:0}
.field label{line-height:1.5}
.field--consent .consent{align-items:flex-start;line-height:1.5}
.field--consent input{flex:none;margin-block-start:.2rem}
.footer{padding-block:3rem;background:var(--bg);border-block-start:1px solid var(--line)}
.footer__legal{font-size:.7rem;line-height:1.7}
@media(max-width:47.99rem){body{--header-h:4.5rem}.header__inner{block-size:4.5rem}.header__nav a{font-size:.65rem}.footer{padding-block:2.5rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal,.rise>span{opacity:1!important;transform:none!important;translate:none!important}}

/* The compact navigation is genuinely two rows, never squeezed into one. */
@media(max-width:47.99rem){
  body{--header-h:6.75rem}
  .header__inner{display:grid;grid-template-columns:1fr auto;grid-template-rows:3.75rem 2.75rem;block-size:6.75rem;padding-block:0 .25rem;gap:0}
  .header .wordmark{grid-column:1;grid-row:1;justify-self:start}
  .header .switch{grid-column:2;grid-row:1;margin-inline-start:0}
  .header__nav{grid-column:1 / -1;grid-row:2;inline-size:100%;margin:0;display:flex;justify-content:space-between;gap:.75rem;padding:0;border:0}
  .header__nav a{min-block-size:2.75rem;display:inline-flex;align-items:center;font-size:.7rem}
}
.header,.header__inner{animation:none}

/* UX review, 24 October 2026: warm paper, deep ink, restrained existing blue.
   These are presentation colours, not a claim about conversion performance. */
:root {
  --paperus-paper: #ffffff;
  --paperus-paper-panel: #ffffff;
  --paperus-paper-raised: #ffffff;
  --paperus-deep: #102334;
  --paperus-deep-panel: #163047;
  --paperus-deep-raised: #213c52;
  --paperus-blue-light: #97baff;
  --paperus-blue-dark: #1d50b8;
  --bg: #102334; --surface: #163047; --raised: #213c52;
  --ink: #f8f2e8; --ink-2: #c3ced8; --ink-3: #b9c7d5;
  --line: #3c566b; --line-strong: #7b93a7;
  --accent-text: #97baff;
}
[data-theme="light"] {
  --bg: #ffffff; --surface: #ffffff; --raised: #ffffff;
  --ink: #16283a; --ink-2: #536172; --ink-3: #536172;
  --line: #d5c6af; --line-strong: #7b6f5f;
  --accent-text: #1d50b8;
}
.header {
  --bg: #102334; --raised: #213c52;
  --ink: #f8f2e8; --ink-2: #c3ced8; --ink-3: #b9c7d5;
  --line: #3c566b; --line-strong: #7b93a7; --accent-text: #97baff;
  background: #102334; color: #f8f2e8; border-color: #3c566b;
}
