/* A.I.R.A. public site, pass 14: "Civic Terminal" (Alfonso, 2026-10-05; the approved mockup is
   output/story-rework-2026-10-05/civic-terminal-full/aira-civic-terminal-homepage.png). Loaded after aira-public.css,
   whose pass 11 system it re-skins: the institution as it would look on its own hardware. A warm charcoal header and
   footer, warm cream pages, Schibsted Grotesk for headings and text, IBM Plex Mono for labels, record numbers and
   readouts, muted monitor cyan for actions, the hero photograph in a rounded monitor bezel, and the record's furniture
   as quiet hardware panels (a thin edge, four screw dots, round indicator lamps).
   One lamp is lit on the whole site: the recovered drive's, amber, blinking slowly (the drive the takeover is about).
   Every other lamp is dark. Yellow means the drive; nothing else on the page is yellow. Orange is the
   institution's own alert (the lockdown status in the top strip).
   The home page's sections are cv-* (public/home.tsx); the hero keeps its pass 11 classes (the story's hooks). The
   tokens re-skin the shared chrome, the takeover's own layers (toasts, the approval dialog: they read :root) and,
   partly, the inner pages, whose own layouts are unchanged in this pass. */

:root {
  --aira-paper: #efe7d8;
  --aira-surface: #f5efe4;
  --aira-stone: #e6dccb;
  --aira-ink: #15120f;
  --aira-text: #2d2924;
  --aira-muted: #645c51;
  --aira-rule: #cdc1ad;
  --aira-on-ink: #efe7d8;
  --aira-on-ink-muted: #b8ae9d;
  --aira-ink-line: #efe7d826;

  /* Dark green with white text on every button (Alfonso, 2026-10-05: no dark text on the green). */
  --aira-accent: #2c605d;
  --aira-on-accent: #ffffff;
  --aira-accent-text: #2c605d;
  --aira-accent-hover: #1f4a47;
  --aira-accent-surface: #dce5df;
  --aira-on-accent-surface: #1f4a47;
  --aira-accent-on-ink: #93c3bf;

  --aira-px-paper: #efe7d8;
  --aira-px-ink: #15120f;
  --aira-px-accent: #6d9a98;
  --aira-px-glow: #dce5df;

  --aira-font-display: var(--aira-sans, Arial), "Helvetica Neue", Arial, sans-serif;
  --aira-font-mono: var(--aira-mono, ui-monospace), ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --aira-radius-1: 6px;
  --aira-radius-2: 10px;

  --cv-panel: #f4eee3;
  --cv-panel-hover: #f8f4ec;
  --cv-edge: #c8bba5;
  --cv-edge-strong: #a89a83;
  --cv-screw: #a3957e;
  --cv-bezel: #1c1915;
  --cv-band: #15120f;
  --cv-amber: #f2a83a;
}

/* ---------- Base: sans headings, mono utility ---------- */
.aira-static {
  --aira-font-display: var(--aira-sans, Arial), "Helvetica Neue", Arial, sans-serif;
  --aira-font-ui: var(--aira-sans, Arial), "Helvetica Neue", Arial, sans-serif;
  --aira-font-mono: var(--aira-mono, ui-monospace), ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  background: var(--aira-paper);
}
.aira-static .aira-page { background: var(--aira-paper); }
.aira-static h1, .aira-static h2 { font-weight: 500; letter-spacing: -0.022em; line-height: 1.08; }
.aira-static h1 { letter-spacing: -0.03em; line-height: 1.02; }
.aira-static h3, .aira-static h4 { font-weight: 600; }
.aira-static .cv-mono, .aira-static .doc-id { font-family: var(--aira-font-mono); letter-spacing: 0; }
.aira-static .eyebrow { font-family: var(--aira-font-mono); font-weight: 600; letter-spacing: 0.1em; color: var(--aira-accent-text); }

/* ---------- Buttons ---------- */
.aira-static .btn { gap: 10px; min-height: 46px; padding: 10px 20px; border-radius: var(--aira-radius-1); background: var(--aira-accent); color: var(--aira-on-accent); box-shadow: none; font-weight: 600; font-size: 16px; text-decoration: none; }
.aira-static .btn:hover { background: var(--aira-accent-hover); color: var(--aira-on-accent); }
.aira-static .btn .aira-icon { transition: transform 0.18s ease; }
.aira-static .btn:hover .aira-icon { transform: translateX(2px); }
.aira-static .btn-secondary, .aira-static .btn-outline { background: transparent; color: var(--aira-ink); box-shadow: inset 0 0 0 1px var(--aira-ink); }
.aira-static .btn-secondary:hover, .aira-static .btn-outline:hover { background: #15120f0f; color: var(--aira-ink); }
.aira-static .btn-on-dark { color: var(--aira-on-ink); box-shadow: inset 0 0 0 1px #efe7d899; }
.aira-static .btn-on-dark:hover { background: #efe7d81a; color: #fff; }
.aira-static .btn-on-ink { background: var(--aira-on-ink); color: var(--aira-ink); box-shadow: none; }
.aira-static .btn-on-ink:hover { background: #fff; color: var(--aira-ink); }
.aira-static .btn-text { color: var(--aira-accent-text); font-weight: 600; }

/* ---------- Identity strip: the system line, the lockdown status in orange ---------- */
.aira-static .aira-official { background: #0a0908; color: var(--aira-on-ink-muted); font-family: var(--aira-font-mono); font-size: 12px; letter-spacing: 0.02em; border-bottom: 1px solid #ffffff12; }
.aira-static .aira-official-inner { min-height: 34px; }
.aira-static .aira-official-mark { color: var(--aira-on-ink-muted); opacity: 0.8; }
.aira-static .aira-official-how summary { min-height: 34px; color: var(--aira-on-ink); text-decoration-color: #efe7d84d; }
.aira-static .aira-official-panel { font-family: var(--aira-font-ui); }
.aira-static .aira-official-status { font-family: var(--aira-font-mono); font-size: 12px !important; font-weight: 600; letter-spacing: 0.1em; color: #c8d6cf !important; }
.aira-static .aira-official-status::before { width: 7px; height: 7px; background: #7fc8a0; box-shadow: 0 0 0 3px #7fc8a024; }
.aira-static .aira-official-inner > .aira-trace-clock { font-size: 12px; }

/* The cookie card steps aside once the chat opens: the story owns the screen from then on. */
html[data-aira-split] .aira-static .aira-cookies { display: none; }

/* ---------- Header: charcoal, one row; the main navigation as a console of buttons ---------- */
.aira-static .masthead { background: var(--cv-band); color: var(--aira-on-ink); border-bottom: 1px solid #000; box-shadow: 0 1px 0 #ffffff0d inset; }
.aira-static .masthead .masthead-inner { align-items: center; gap: 0 24px; min-height: 74px; }
.aira-static .masthead .brand { gap: 14px; color: var(--aira-on-ink); text-decoration: none; }
.aira-static .masthead .brand:hover { color: #fff; }
.aira-static .masthead .brand-mark { width: 38px; height: 38px; color: var(--aira-on-ink); }
.aira-static .masthead .brand-seal { flex: none; width: auto; height: 46px; aspect-ratio: 124 / 100; object-fit: contain; border-radius: 0; }
.aira-static .masthead .brand-text { flex-direction: row; align-items: center; gap: 14px; }
.aira-static .masthead .brand-name { font-family: var(--aira-font-ui); font-size: 26px; font-weight: 500; letter-spacing: 0.06em; line-height: 1; color: inherit; }
.aira-static .masthead .brand-sub { display: block; padding-left: 14px; border-left: 1px solid #efe7d84d; font-family: var(--aira-font-mono); font-size: 10.5px; font-weight: 400; letter-spacing: 0.1em; line-height: 1.4; white-space: nowrap; color: var(--aira-on-ink-muted); }
.aira-static .masthead .bar { align-items: center; justify-content: center; }
.aira-static .masthead .bar-inner { align-items: center; padding: 4px; border: 1px solid #2c2722; border-radius: 11px; background: #0d0b09; box-shadow: inset 0 1px 2px #0008; }
.aira-static .masthead .mainnav { align-items: center; gap: 2px; }
.aira-static .masthead .mainnav-item { align-items: center; border-radius: 8px; transition: background-color 0.15s ease; }
.aira-static .masthead .mainnav-item:hover, .aira-static .masthead .mainnav-item[data-open] { background: #ffffff10; }
.aira-static .masthead .mainnav-item > a, .aira-static .masthead .mainnav-button { min-height: 38px; padding: 0 12px; border-radius: 8px; color: #e4dbcc; font-size: 15px; font-weight: 500; text-decoration: none; }
.aira-static .masthead .mainnav-item > a:first-child:not(:last-child) { padding-right: 2px; }
.aira-static .masthead .mainnav-item > a:hover, .aira-static .masthead .mainnav-button:hover { color: #fff; text-decoration: none; }
.aira-static .masthead .mainnav-toggle { width: 26px; min-height: 38px; margin: 0 4px 0 0; border-radius: 6px; color: #8f8576; }
.aira-static .masthead .mainnav-toggle:hover { color: #fff; background: transparent; }
.aira-static .masthead .mainnav-button .aira-icon { color: #8f8576; }
.aira-static .masthead .mainnav-item[data-current], .aira-static .masthead .mainnav-item:has(> a[aria-current="page"]) { background: #ffffff17; }
.aira-static .masthead .mainnav-item[data-current] > a, .aira-static .masthead .mainnav-item > a[aria-current="page"] { color: #fff; box-shadow: none; }
.aira-static .masthead .megamenu { top: 100%; color: var(--aira-text); border-top: 1px solid #0003; }
.aira-static .masthead .masthead-tools { margin-left: auto; }
.aira-static .masthead .site-search { width: 244px; }
.aira-static .masthead .site-search input { min-height: 40px; border: 1px solid #3a342d; border-right: 0; border-radius: 9px 0 0 9px; background: #0d0b09; color: var(--aira-on-ink); font-size: 14px; }
.aira-static .masthead .site-search input::placeholder { color: #8f8576; }
.aira-static .masthead .site-search button { min-height: 40px; border: 1px solid #3a342d; border-left: 0; border-radius: 0 9px 9px 0; background: #0d0b09; color: #cfc5b5; }
.aira-static .masthead .site-search button:hover { background: #1f1b17; color: #fff; }
.aira-static .masthead .search-ghost { color: var(--aira-on-ink); }
.aira-static .masthead .search-field.is-glitching input { caret-color: var(--aira-on-ink); }
.aira-static .masthead .btn-report { min-height: 40px; border-radius: 9px; background: var(--aira-on-ink); color: var(--aira-ink); font-weight: 600; }
.aira-static .masthead .btn-report:hover { background: #fff; color: var(--aira-ink); }
.aira-static .aira-menu-btn { min-height: 40px; background: #0d0b09; border: 1px solid #3a342d; color: var(--aira-on-ink); border-radius: 9px; }
/* The descriptor beside the name only where the whole row fits. */
@container aira (max-width: 1520px) {
  .aira-static .masthead .brand-sub { display: none; }
}
@container aira (max-width: 1300px) {
  .aira-static .masthead .site-search { width: 170px; }
  .aira-static .masthead .mainnav-item > a, .aira-static .masthead .mainnav-button { padding: 0 9px; font-size: 14.5px; }
}
@container aira (max-width: 1180px) {
  .aira-static .masthead .masthead-inner { padding-block: 12px; }
  .aira-static .masthead .bar { background: var(--cv-band); border-top-color: #ffffff14; }
  .aira-static .masthead .bar-inner { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
  .aira-static .masthead .mainnav { align-items: stretch; }
  .aira-static .masthead .mainnav-item { border-radius: 0; border-bottom: 1px solid #ffffff14; }
  .aira-static .masthead .mainnav-item > a, .aira-static .masthead .mainnav-button { min-height: 52px; border-radius: 0; font-size: 17px; }
  .aira-static .masthead .mainnav-toggle { min-height: 52px; border-left: 1px solid #ffffff14; border-radius: 0; }
  .aira-static .masthead .site-search { width: 100%; }
  .aira-static .masthead .aira-quicklinks-menu a, .aira-static .masthead .aira-quicklinks-menu .aira-sound-toggle { color: var(--aira-on-ink); }
  .aira-static .masthead .brand-sub { display: block; }
}
@container aira (max-width: 520px) {
  .aira-static .masthead .brand-sub { display: none; }
}

/* ---------- Panels, lamps, labels ---------- */
.aira-static .cv-panel {
  position: relative; display: block; margin: 0;
  background:
    radial-gradient(circle at 10px 10px, var(--cv-screw) 0 1.6px, transparent 2.3px),
    radial-gradient(circle at calc(100% - 10px) 10px, var(--cv-screw) 0 1.6px, transparent 2.3px),
    radial-gradient(circle at 10px calc(100% - 10px), var(--cv-screw) 0 1.6px, transparent 2.3px),
    radial-gradient(circle at calc(100% - 10px) calc(100% - 10px), var(--cv-screw) 0 1.6px, transparent 2.3px),
    var(--cv-panel);
  border: 1px solid var(--cv-edge); border-radius: 10px;
  box-shadow: inset 0 1px 0 #fffaf2, 0 1px 0 #ddd2bf;
  color: var(--aira-text); text-decoration: none;
}
.aira-static .cv-lamp {
  flex: none; display: inline-block; width: 18px; height: 18px; border-radius: 50%;
  background: radial-gradient(circle at 38% 34%, #8c867c 0 7%, #4b4641 30%, #23201c 74%);
  box-shadow: 0 0 0 2px #ddd3c1, 0 0 0 3px var(--cv-edge-strong), inset 0 -2px 3px #0009;
}
.aira-static .cv-lamp.is-lit {
  background: radial-gradient(circle at 38% 34%, #fff6d6 0 9%, #ffc45c 34%, #e3870f 80%);
  box-shadow: 0 0 0 2px #ddd3c1, 0 0 0 3px var(--cv-edge-strong), 0 0 14px 4px #f2a83a70;
}
@media (prefers-reduced-motion: no-preference) {
  .aira-static .cv-lamp.is-lit { animation: cv-drive-blink 2.8s ease-in-out infinite; }
  @keyframes cv-drive-blink { 0%, 52%, 100% { filter: none; } 66%, 78% { filter: brightness(0.55) saturate(0.7); } }
}
.aira-static .cv-arrow { flex: none; color: var(--aira-ink); transition: transform 0.18s ease; }
.aira-static .cv-mono, .aira-static .doc-id { font-family: var(--aira-font-mono); letter-spacing: 0; }
.aira-static .cv-kicker { margin: 0 0 12px; font-family: var(--aira-font-mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--aira-accent-text); }
.aira-static .cv-meta { margin: 0; font-family: var(--aira-font-mono); font-size: 13px; color: var(--aira-muted); }
.aira-static .cv-caption { margin: 12px 2px 0; font-family: var(--aira-font-mono); font-size: 12px; line-height: 1.5; color: var(--aira-muted); }
.aira-static .cv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; margin: 26px 0 0; }
.aira-static .cv-actions > .cv-mono { font-size: 13px; color: var(--aira-muted); }
.aira-static .cv-bezel { display: block; width: 100%; height: auto; border-radius: 12px; background: var(--cv-bezel); box-shadow: 0 0 0 5px var(--cv-bezel), 0 0 0 6px #0000002e, 0 22px 40px -30px #15120fb0; }
.aira-static .cv-screen { position: relative; overflow: hidden; isolation: isolate; }
.aira-static .cv-screen > img { display: block; width: 100%; height: auto; border-radius: inherit; }
.aira-static .cv-screen::before, .aira-static .cv-screen::after { content: ""; position: absolute; pointer-events: none; opacity: 0; }
.aira-static .cv-screen::before { inset: 0; z-index: 1; background: var(--cv-noise) 0 0 / 256px 192px, #24211d; image-rendering: pixelated; }
.aira-static .cv-screen::after { left: 0; right: 0; top: 0; height: 26%; z-index: 2; background: linear-gradient(180deg, transparent, rgb(239 231 216 / 0.1) 40%, rgb(239 231 216 / 0.2) 50%, rgb(239 231 216 / 0.08) 60%, transparent); }
/* The monitor's on-screen line, as the room's monitors carry one (decorative: the card or caption says what it is). */
.aira-static .cv-osd { position: absolute; z-index: 3; left: 12px; top: 12px; right: 12px; display: flex; pointer-events: none; font-family: var(--aira-font-mono); font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; white-space: pre; color: #f1eadc; }
.aira-static .cv-osd > span { display: inline-block; max-width: 100%; padding: 3px 7px 3px 8px; overflow: hidden; text-overflow: ellipsis; border-radius: 3px; background: rgb(14 12 10 / 0.72); box-shadow: inset 0 0 0 1px #efe7d81f; }
.aira-static .cv-home :is(ul, ol) { list-style: none; margin: 0; padding: 0; }
.aira-static .cv-home li { margin: 0; }

/* Section breaks: a numbered label over a full-width rule, then the section. */
.aira-static .cv-section { padding-top: clamp(56px, 6.2cqi, 92px); }
.aira-static .cv-section h2 { margin: 0 0 14px; font-size: clamp(30px, 2.9cqi, 42px); }
.aira-static .cv-label { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; font-family: var(--aira-font-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--aira-muted); }
.aira-static .cv-label::after { content: ""; flex: 1; height: 1px; background: var(--aira-rule); }
.aira-static .cv-split-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 40px; margin-bottom: 30px; }
.aira-static .cv-split-head h2 { margin: 0; max-width: 30ch; }
.aira-static .cv-split-head > a { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 15.5px; color: var(--aira-ink); text-decoration-color: var(--aira-accent); text-underline-offset: 0.25em; }
.aira-static .cv-split-head > .cv-meta { max-width: 36ch; }

/* ---------- Hero: the building in the bezel, the headline over its dark side, the status docked along its foot ---------- */
.aira-static .cv-home .hero {
  position: relative; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto;
  width: 100%; max-width: calc(var(--aira-frame) + 2 * var(--aira-gutter)); margin: 0 auto;
  padding: 52px var(--aira-gutter) 0; background: none;
}
.aira-static .cv-home .hero-img {
  grid-area: 1 / 1; width: 100%; height: clamp(460px, 40cqi, 570px); margin: 0; aspect-ratio: auto;
  object-fit: cover; object-position: 66% 50%; border-radius: 16px; background: var(--cv-bezel);
  box-shadow: 0 0 0 6px var(--cv-bezel), 0 0 0 7px #00000038, 0 28px 50px -30px #15120fbf;
}
.aira-static .cv-home .hero-frame {
  grid-area: 1 / 1; align-self: stretch; display: flex; align-items: center; width: auto; max-width: none; margin: 0;
  padding: 48px clamp(28px, 4.6cqi, 68px); border-radius: 16px;
  background: linear-gradient(90deg, rgb(12 10 8 / 0.84) 0%, rgb(12 10 8 / 0.62) 32%, rgb(12 10 8 / 0.16) 58%, rgb(12 10 8 / 0) 72%);
}
.aira-static .cv-home .hero-copy { max-width: 580px; padding: 0; }
.aira-static .cv-home .hero-title { margin: 0 0 20px; color: var(--aira-on-ink); }
.aira-static .cv-home .hero-kicker { margin: 0 0 16px; font-family: var(--aira-font-mono); font-size: 12.5px; font-weight: 600; letter-spacing: 0.14em; color: var(--aira-accent-on-ink); }
.aira-static .cv-home .hero-title .aira-heading-visual { font-family: var(--aira-font-ui); font-size: clamp(44px, 5.4cqi, 76px); font-weight: 500; line-height: 1; letter-spacing: -0.032em; color: var(--aira-on-ink); }
.aira-static .cv-home .hero-lede { max-width: 31em; font-size: clamp(16px, 1.3cqi, 18.5px); line-height: 1.55; color: #ddd4c5; }
.aira-static .cv-home .hero-actions { margin-top: 28px; gap: 12px; }
.aira-static .cv-home .hero-actions .btn { min-height: 48px; padding: 10px 20px; font-size: 16px; }
.aira-static .cv-home .hero .btn-outline { color: var(--aira-on-ink); box-shadow: inset 0 0 0 1px #efe7d8a6; }
.aira-static .cv-home .hero .btn-outline:hover { background: #efe7d81f; color: #fff; }
.aira-static .cv-home .hero-copy > p.aira-trace-revised { color: #f1c6b8 !important; }
.aira-static .cv-readline {
  position: relative; z-index: 3; grid-area: 1 / 1; align-self: end; display: flex; align-items: stretch;
  margin: 0 18px 18px; border: 1px solid #efe7d82b; border-radius: 11px; background: rgb(13 11 9 / 0.8);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: var(--aira-on-ink);
}
.aira-static .cv-readline-head { display: flex; flex-direction: column; justify-content: center; gap: 2px; margin: 0; padding: 12px 22px; border-right: 1px solid #efe7d822; }
.aira-static .cv-readline-head > span { font-size: 15px; font-weight: 600; color: #fff; white-space: nowrap; }
.aira-static .cv-readline-head time { font-size: 11.5px; color: var(--aira-on-ink-muted); white-space: nowrap; }
.aira-static .cv-readline ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); flex: 1; }
.aira-static .cv-readline li + li { border-left: 1px solid #efe7d822; }
.aira-static .cv-readline a { display: flex; align-items: center; gap: 14px; height: 100%; padding: 12px 20px; color: inherit; text-decoration: none; border-radius: 0; transition: background-color 0.15s ease; }
.aira-static .cv-readline li:last-child a { border-radius: 0 10px 10px 0; }
.aira-static .cv-readline a:hover { background: #ffffff0d; }
.aira-static .cv-readline a > span { display: flex; flex-direction: column; min-width: 0; }
.aira-static .cv-readline strong { font-size: 14.5px; font-weight: 600; color: #fff; }
.aira-static .cv-readline a > span > span { font-family: var(--aira-font-mono); font-size: 12px; color: var(--aira-on-ink-muted); }
.aira-static .cv-readline .cv-lamp { width: 15px; height: 15px; box-shadow: 0 0 0 2px #2b2621, 0 0 0 3px #4a433a, inset 0 -2px 3px #0009; }
.aira-static .cv-readline .cv-lamp.is-lit { box-shadow: 0 0 0 2px #2b2621, 0 0 0 3px #4a433a, 0 0 14px 4px #f2a83a80; }
.aira-static .cv-home .hero-caption { grid-area: 2 / 1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 20px; margin: 0; padding: 16px 2px 0; font-family: var(--aira-font-mono); font-size: 12px; color: var(--aira-muted); }
.aira-static .cv-home .hero-caption .photo-credit { font-size: 12px; text-align: right; }

/* ---------- 01 Where to start: three photographs ---------- */
.aira-static .cv-start h2 { margin-bottom: 30px; }
.aira-static .cv-start-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.aira-static .cv-start-list > li { display: flex; }
.aira-static .cv-start-card { display: flex; flex-direction: column; flex: 1; color: var(--aira-text); text-decoration: none; }
.aira-static .cv-start-card .cv-screen { transition: transform 0.25s ease; }
.aira-static .cv-start-card img { aspect-ratio: 4 / 3; object-fit: cover; }
.aira-static .cv-start-card:hover .cv-screen { transform: translateY(-3px); }
.aira-static .cv-start-body { display: flex; flex-direction: column; flex: 1; padding: 22px 4px 0; }
.aira-static .cv-start-label { font-family: var(--aira-font-mono); font-size: 11.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--aira-accent-text); }
.aira-static .cv-start-card strong { margin: 8px 0 8px; font-size: 21px; font-weight: 500; line-height: 1.25; letter-spacing: -0.01em; color: var(--aira-ink); }
.aira-static .cv-start-text { font-size: 15px; line-height: 1.55; color: var(--aira-muted); }
.aira-static .cv-start-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 16px; font-weight: 600; font-size: 15px; color: var(--aira-ink); text-decoration: underline; text-decoration-color: var(--aira-accent); text-underline-offset: 0.25em; }
.aira-static .cv-start-card:hover .cv-start-link .aira-icon { transform: translateX(3px); }
.aira-static .cv-start-link .aira-icon { transition: transform 0.18s ease; }


/* ---------- 02 Featured incident ---------- */
.aira-static .cv-feature-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 4cqi, 60px); align-items: start; }
.aira-static .cv-feature-media { margin: 0; }
.aira-static .cv-feature-media img { aspect-ratio: 4 / 3; object-fit: cover; }
.aira-static .cv-feature-body h2 { font-size: clamp(30px, 3cqi, 44px); }
.aira-static .cv-feature-body h2 a { color: var(--aira-ink); text-decoration: none; }
.aira-static .cv-feature-body h2 a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--aira-accent); }
.aira-static .cv-feature-summary { margin: 0; max-width: 46ch; font-size: 17px; line-height: 1.55; color: var(--aira-text); }
.aira-static .cv-readout { margin: 26px 0 0; padding: 8px 26px; }
.aira-static .cv-readout > div { display: grid; grid-template-columns: 16px 168px minmax(0, 1fr); align-items: center; gap: 18px; padding: 12px 0; border-bottom: 1px dashed var(--cv-edge); }
.aira-static .cv-readout > div:last-child { border-bottom: 0; }
.aira-static .cv-readout .cv-lamp { width: 15px; height: 15px; }
.aira-static .cv-readout dt { font-family: var(--aira-font-mono); font-size: 11.5px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--aira-muted); }
.aira-static .cv-readout dd { margin: 0; font-family: var(--aira-font-mono); font-size: 13.5px; color: var(--aira-ink); }

.aira-static .cv-facts { margin: 28px 0 0; border-top: 1px solid var(--aira-ink); }
.aira-static .cv-facts > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--aira-rule); }
.aira-static .cv-facts dt { font-size: 14px; font-weight: 600; color: var(--aira-muted); }
.aira-static .cv-facts dd { margin: 0; font-size: 15.5px; line-height: 1.45; color: var(--aira-ink); }
@container aira (max-width: 520px) { .aira-static .cv-facts > div { grid-template-columns: minmax(0, 1fr); gap: 2px; } }

/* ---------- 03 For the public: the charcoal band, the statement of purpose over the archive on its right ---------- */
.aira-static .cv-public-band { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(32px, 4.5cqi, 64px); align-items: center; padding: clamp(36px, 5cqi, 64px); border-radius: 16px; background: var(--cv-band); color: var(--aira-on-ink); box-shadow: 0 28px 50px -34px #15120fbf; }
.aira-static .cv-public-img { position: absolute; z-index: -1; top: 0; right: 0; bottom: 0; width: 56%; height: 100%; object-fit: cover; opacity: 0.42; -webkit-mask-image: linear-gradient(90deg, transparent, #000 46%); mask-image: linear-gradient(90deg, transparent, #000 46%); }
.aira-static .cv-public .cv-label { color: var(--aira-on-ink-muted); }
.aira-static .cv-public .cv-label::after { background: #efe7d826; }
.aira-static .cv-public .cv-label-n { color: var(--aira-on-ink); }
.aira-static .cv-public h2 { margin: 0 0 18px; font-size: clamp(34px, 3.8cqi, 54px); color: var(--aira-on-ink); }
.aira-static .cv-public .lede { margin: 0; max-width: 38ch; font-size: clamp(17px, 1.45cqi, 20px); line-height: 1.55; color: #ddd4c5; }
.aira-static .cv-public .cv-actions { margin-top: 30px; }
.aira-static .cv-quote { margin: 0; padding: 6px 0 6px clamp(24px, 3cqi, 40px); border-left: 1px solid #efe7d833; }
.aira-static .cv-quote blockquote { margin: 0; }
.aira-static .cv-quote blockquote p { margin: 0; font-size: clamp(21px, 1.9cqi, 27px); font-weight: 400; line-height: 1.4; letter-spacing: -0.01em; color: #f6efe2; text-wrap: pretty; }
.aira-static .cv-quote figcaption { margin-top: 18px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--aira-accent-on-ink); }

/* ---------- 04 Public guidance: five step cards, the number and the pictogram on one line ---------- */
.aira-static .cv-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.aira-static .cv-step { display: flex; flex-direction: column; padding: 22px 20px 24px; }
.aira-static .cv-step-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px dashed var(--cv-edge); color: var(--aira-accent-text); }
.aira-static .cv-step-head .aira-icon { stroke-width: 1.3; }
.aira-static .cv-step-num { padding: 2px 7px; border: 1px solid var(--aira-ink); border-radius: 4px; font-family: var(--aira-font-mono); font-size: 12px; font-weight: 600; color: var(--aira-ink); }
.aira-static .cv-step h3 { margin: 16px 0 8px; font-size: 17px; line-height: 1.3; color: var(--aira-ink); }
.aira-static .cv-step p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--aira-muted); }
.aira-static .cv-text-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 15.5px; color: var(--aira-ink); text-decoration: underline; text-decoration-color: var(--aira-accent); text-underline-offset: 0.25em; }

/* ---------- 05 Published records: the documents on a shelf ---------- */
.aira-static .cv-shelf { position: relative; padding-bottom: 18px; }
.aira-static .cv-shelf::after { content: ""; position: absolute; left: -12px; right: -12px; bottom: 0; height: 14px; border-radius: 3px; background: linear-gradient(#cbbda5, #b2a38a); box-shadow: 0 10px 18px -10px #15120f80, inset 0 1px 0 #e0d4bf; }
.aira-static .cv-shelf-row { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 14px; align-items: end; }
.aira-static .cv-doc {
  position: relative; display: flex; flex-direction: column; aspect-ratio: 3 / 4.2; padding: 14px 13px 13px; overflow: hidden;
  border-radius: 3px 3px 2px 2px;
  background: #f8f3e9; box-shadow: 0 1px 0 #d8ccb7, 0 0 0 1px #d6cab6, 0 10px 18px -12px #15120f80;
  color: var(--aira-ink); text-decoration: none; transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.aira-static .cv-doc::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--aira-ink); opacity: 0.85; }
.aira-static .cv-doc:hover { transform: translateY(-8px); box-shadow: 0 1px 0 #d8ccb7, 0 0 0 1px #c8bba5, 0 20px 26px -14px #15120f99; }
.aira-static .cv-doc-top { display: flex; align-items: center; gap: 8px; padding-left: 4px; }
.aira-static .cv-doc-top .cv-mono { font-size: 9.5px; letter-spacing: 0.02em; color: var(--aira-muted); }
.aira-static .cv-doc-type { margin: 18px 0 6px; padding-left: 4px; font-family: var(--aira-font-mono); font-size: 9.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--aira-accent-text); }
.aira-static .cv-doc strong { padding-left: 4px; font-size: 14px; font-weight: 500; line-height: 1.32; color: var(--aira-ink); }
.aira-static .cv-doc-foot { margin-top: auto; padding: 8px 0 0 4px; border-top: 1px solid #ddd1bd; font-size: 9.5px; color: var(--aira-muted); }
.aira-static .cv-stamp { position: absolute; right: 8px; bottom: 34px; padding: 3px 6px; border: 1.5px solid #a8372a; border-radius: 3px; font-family: var(--aira-font-mono); font-size: 9px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #a8372a; transform: rotate(-9deg); opacity: 0.88; }

/* ---------- 06 Newsroom and hearings (two dated entries, no month grid) ---------- */
.aira-static .cv-news-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(28px, 4cqi, 56px); align-items: start; }
.aira-static .cv-news h2#newsroom-title { margin-bottom: 18px; font-size: clamp(26px, 2.4cqi, 34px); }
.aira-static .cv-news-list { border-top: 1px solid var(--aira-ink); }
.aira-static .cv-news-item { position: relative; padding: 15px 48px 15px 0; border-bottom: 1px solid var(--aira-rule); }
.aira-static .cv-news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0; }
.aira-static .cv-news-meta time { font-size: 12.5px; color: var(--aira-muted); }
.aira-static .cv-tag { padding: 1px 7px; border: 1px solid var(--cv-edge-strong); border-radius: 4px; font-family: var(--aira-font-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--aira-text); }
.aira-static .cv-news-item h3 { margin: 6px 0 0; font-size: 17.5px; font-weight: 500; line-height: 1.35; }
.aira-static .cv-news-item h3 a { color: var(--aira-ink); text-decoration: none; }
.aira-static .cv-news-item h3 a::after { content: ""; position: absolute; inset: 0; }
.aira-static .cv-news-item:hover h3 a { text-decoration: underline; text-decoration-color: var(--aira-accent); text-underline-offset: 0.2em; }
.aira-static .cv-news-item > .cv-arrow { position: absolute; right: 8px; top: 50%; margin-top: -9px; }
.aira-static .cv-news-item:hover > .cv-arrow { transform: translateX(3px); }
.aira-static .cv-hearings { padding: 26px 26px 22px; }
.aira-static .cv-hearings h2 { margin: 0 0 18px; font-size: 21px; line-height: 1.25; }
.aira-static .cv-hearing-list { margin: 0 0 16px !important; border-top: 1px solid var(--cv-edge); }
.aira-static .cv-hearing-list > li { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 16px; align-items: start; padding: 16px 0; border-bottom: 1px solid #ddd1bd; }
.aira-static .cv-hearing-date { display: flex; flex-direction: column; align-items: center; padding: 8px 0 7px; border: 1px solid var(--cv-edge-strong); border-radius: 8px; background: #e9dfce; box-shadow: inset 0 1px 0 #fffaf2; }
.aira-static .cv-hearing-date b { font-size: 26px; font-weight: 500; line-height: 1; letter-spacing: -0.02em; color: var(--aira-ink); font-variant-numeric: tabular-nums; }
.aira-static .cv-hearing-date span { margin-top: 4px; font-family: var(--aira-font-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--aira-accent-text); }
.aira-static .cv-hearing-list h3 { margin: 2px 0 6px; font-size: 16px; line-height: 1.35; color: var(--aira-ink); }
.aira-static .cv-hearing-list p { margin: 0; font-size: 12px; color: var(--aira-muted); }
.aira-static .cv-hearing-list p.cv-hearing-note { margin-top: 6px; font-size: 14px; color: var(--aira-text); }
.aira-static .cv-hearings > .cv-meta { font-size: 12px; }

/* ---------- Page furniture ---------- */
.aira-static .aira-feedback { border-top: 1px solid var(--aira-rule); }
.aira-static .aira-feedback-buttons button { border-radius: var(--aira-radius-1); background: transparent; box-shadow: inset 0 0 0 1px var(--aira-ink); font-weight: 600; }
.aira-static .aira-reviewed { font-family: var(--aira-font-mono); font-size: 12.5px; }
.aira-static .cv-home .home-foot { padding-bottom: 8px; }

/* ---------- Footer ---------- */
.aira-static .footer { background: var(--cv-band); }
.aira-static .footer-identifier { background: #0d0b09; }
.aira-static .footer-identifier :is(.copyright, .disclosure) { font-family: var(--aira-font-mono); font-size: 12px; }

/* ---------- Narrower pages (the chat also narrows the page: these are container queries) ---------- */
@container aira (max-width: 1180px) {
  .aira-static .cv-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aira-static .cv-shelf { margin-inline: calc(var(--aira-gutter) * -1); padding-inline: var(--aira-gutter); }
  .aira-static .cv-shelf-row { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 12px 2px 4px; scrollbar-width: thin; }
  .aira-static .cv-shelf-row > li { flex: 0 0 176px; scroll-snap-align: start; }
  .aira-static .cv-shelf::after { left: var(--aira-gutter); right: var(--aira-gutter); }
}
@container aira (max-width: 980px) {
  .aira-static .cv-readline { flex-direction: column; }
  .aira-static .cv-readline-head { flex-direction: row; justify-content: space-between; border-right: 0; border-bottom: 1px solid #efe7d822; padding: 10px 18px; }
  .aira-static .cv-readline li:last-child a { border-radius: 0 0 10px 10px; }
  .aira-static .cv-services ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aira-static .cv-services li:nth-child(odd) { border-left: 0; }
  .aira-static .cv-services li:nth-child(n + 3) { border-top: 1px solid #efe7d81a; }
  .aira-static .cv-home .hero-frame { padding-bottom: 48px; }
  .aira-static .cv-start-list { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .aira-static .cv-start-card { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr); gap: 24px; align-items: center; }
  .aira-static .cv-start-body { padding: 0; }
  .aira-static .cv-feature-grid, .aira-static .cv-public-band, .aira-static .cv-news-grid { grid-template-columns: minmax(0, 1fr); }
  .aira-static .cv-public-img { width: 100%; opacity: 0.22; -webkit-mask-image: linear-gradient(180deg, transparent 30%, #000); mask-image: linear-gradient(180deg, transparent 30%, #000); }
  .aira-static .cv-quote { padding: 22px 0 0; border-left: 0; border-top: 1px solid #efe7d833; }
  .aira-static .cv-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aira-static .cv-public-band { align-items: start; gap: 28px; }
  .aira-static .cv-feature-media img { aspect-ratio: 16 / 9; }
}
@container aira (max-width: 760px) {
  .aira-static .cv-home .hero { padding-top: 28px; }
  .aira-static .cv-home .hero-img { height: 260px; border-radius: 14px 14px 0 0; object-position: 70% 50%; }
  .aira-static .cv-home .hero-frame { grid-area: 2 / 1; padding: 26px 22px 24px; border-radius: 0; background: var(--cv-band); box-shadow: 0 0 0 6px var(--cv-bezel); }
  .aira-static .cv-home .hero-copy { padding-bottom: 0; }
  .aira-static .cv-home .hero-title .aira-heading-visual { font-size: clamp(36px, 10cqi, 48px); }
  .aira-static .cv-readline { grid-area: 3 / 1; margin: 0; border: 0; border-top: 1px solid #efe7d822; border-radius: 0 0 14px 14px; background: var(--cv-band); box-shadow: 0 0 0 6px var(--cv-bezel); backdrop-filter: none; }
  .aira-static .cv-readline ul { grid-template-columns: minmax(0, 1fr); }
  .aira-static .cv-readline li + li { border-left: 0; border-top: 1px solid #efe7d81a; }
  .aira-static .cv-readline a { padding: 12px 18px; }
  .aira-static .cv-home .hero-caption { grid-area: 4 / 1; padding-top: 18px; }
  .aira-static .cv-home .hero-caption .photo-credit { text-align: left; }
  .aira-static .cv-start-list { gap: 22px; }
  .aira-static .cv-start-card { grid-template-columns: 118px minmax(0, 1fr); gap: 18px; align-items: start; }
  .aira-static .cv-start-card img { aspect-ratio: 1 / 1; }
  .aira-static .cv-start-card .cv-osd { display: none; }
  .aira-static .cv-start-card strong { margin-top: 4px; font-size: 18px; }
  .aira-static .cv-start-text { font-size: 14.5px; }
  .aira-static .cv-start-link { padding-top: 10px; font-size: 14.5px; }
  .aira-static .cv-steps { grid-template-columns: minmax(0, 1fr); }
  .aira-static .cv-step { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 16px; padding: 18px 18px 20px; }
  .aira-static .cv-step-head { grid-row: 1 / span 2; flex-direction: column; justify-content: flex-start; gap: 12px; padding: 0; border: 0; }
  .aira-static .cv-step-head .aira-icon { width: 22px; height: 22px; }
  .aira-static .cv-step h3 { margin: 0 0 6px; }
  .aira-static .cv-readout { padding: 6px 18px; }
  .aira-static .cv-readout > div { grid-template-columns: 16px minmax(0, 1fr); gap: 6px 14px; }
  .aira-static .cv-readout dd { grid-column: 2; }
  .aira-static .cv-split-head { flex-direction: column; align-items: flex-start; margin-bottom: 24px; }
  .aira-static .cv-hearings { padding: 22px 20px; }
}
@container aira (max-width: 520px) {
  .aira-static .cv-public-band { padding: 30px 22px; }
  .aira-static .cv-readline-head { flex-direction: column; align-items: flex-start; }
}

/* ---------- Entrances (home-reveal.tsx; Alfonso, 2026-10-05: "more akin to what A.I.R.A. is"). The experience's camera
   windows open in two hard frames through static; the home page's monitors and panels do the same, once, as they
   scroll in. Only what home-reveal.tsx marks data-cv-wait is held back; reduced motion and no script: no entrances.
   Flash-safe: the static is grey and dim, it fades within half a second, and nothing turns white. ---------- */
.aira-static {
  --cv-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='96'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0.9 0.9 0.9 0 -1 0.88 0.88 0.88 0 -1 0.84 0.84 0.84 0 -1 0 0 0 0 1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.aira-static .cv-readout dd > [data-cv-type] { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
  /* A monitor: dark glass until it scrolls in; then a line, static, a roll, the picture; its on-screen line types in. */
  /* (Opacity, never the picture's filter: the experience's wear transitions own that, aira-public.css.) */
  .aira-static .cv-screen[data-cv-wait] > img { opacity: 0; }
  .aira-static .cv-screen[data-cv-wait] .cv-osd { opacity: 0; }
  .aira-static .cv-screen[data-cv-on] { --t: calc(var(--d, 0) * 150ms + 80ms); }
  .aira-static .cv-screen[data-cv-on] > img { animation: cv-feed-pic 0.8s steps(1, end) var(--t) backwards; }
  .aira-static .cv-screen[data-cv-on]::before { animation: cv-feed-static 0.8s steps(1, end) var(--t) both; }
  .aira-static .cv-screen[data-cv-on]::after { animation: cv-feed-roll 0.46s linear calc(var(--t) + 0.26s) both; }
  .aira-static .cv-screen[data-cv-on] .cv-osd > [data-cv-type] { animation: cv-type calc(var(--n, 12) * 26ms) steps(var(--n, 12), end) calc(var(--t) + 0.7s) backwards; }

  /* A section label: the number blinks like a cursor, the words type in, the rule runs across. */
  .aira-static .cv-label::after { transform-origin: 0 50%; }
  .aira-static .cv-label[data-cv-wait] .cv-label-n { opacity: 0; }
  .aira-static .cv-label[data-cv-wait] > [data-cv-type] { clip-path: inset(-4px 100% -4px -4px); }
  .aira-static .cv-label[data-cv-wait]::after { transform: scaleX(0); }
  .aira-static .cv-label[data-cv-on] .cv-label-n { animation: cv-cursor 0.44s steps(1, end) backwards; }
  .aira-static .cv-label[data-cv-on] > [data-cv-type] { animation: cv-type calc(var(--n, 12) * 34ms) steps(var(--n, 12), end) 0.3s backwards; }
  .aira-static .cv-label[data-cv-on]::after { animation: cv-rule 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) calc(0.3s + var(--n, 12) * 34ms) backwards; }

  /* Cards: they open one after another in two frames, as the camera windows do. */
  .aira-static [data-cv-in="list"][data-cv-wait] > * { opacity: 0; }
  .aira-static [data-cv-in="list"][data-cv-on] > * { animation: cv-open 0.2s steps(2, end) calc(var(--d, 0) * 110ms) backwards; }

  /* The readout: rows come up, values type in, the drive's lamp flickers on last and goes back to its slow blink. */
  .aira-static [data-cv-in="readout"][data-cv-wait] > div { opacity: 0; }
  .aira-static [data-cv-in="readout"][data-cv-on] > div { animation: cv-open 0.18s steps(2, end) calc(var(--d, 0) * 120ms) backwards; }
  .aira-static [data-cv-in="readout"][data-cv-on] dd > [data-cv-type] { animation: cv-type calc(var(--n, 12) * 18ms) steps(var(--n, 12), end) calc(var(--d, 0) * 120ms + 0.12s) backwards; }
  .aira-static [data-cv-in="readout"][data-cv-on] .cv-lamp:not(.is-lit) { animation: cv-lamp-click 0.3s steps(1, end) calc(var(--d, 0) * 120ms + 0.06s) backwards; }
  .aira-static [data-cv-in="readout"][data-cv-on] .cv-lamp.is-lit { animation: cv-lamp-on 1s steps(1, end) 0.9s backwards, cv-drive-blink 2.8s ease-in-out 1.9s infinite; }

  /* The charcoal band comes on like a tube: a line across the middle, then the picture. */
  .aira-static .cv-public-band[data-cv-wait] { clip-path: inset(50% 0 50% 0 round 16px); }
  .aira-static .cv-public-band[data-cv-on] { animation: cv-tube 0.7s steps(1, end) backwards; }

  /* The published records land on the shelf one by one. */
  .aira-static [data-cv-in="shelf"][data-cv-wait] > * { opacity: 0; }
  .aira-static [data-cv-in="shelf"][data-cv-on] > * { animation: cv-shelve 0.3s steps(3, end) calc(var(--d, 0) * 80ms) backwards; }

  @keyframes cv-feed-pic {
    0% { clip-path: inset(50% 0 50% 0); opacity: 0; }
    8% { clip-path: inset(49.3% 6% 49.3% 6%); filter: brightness(1.35) saturate(0) contrast(0.6); }
    16% { clip-path: inset(36% 0 36% 0); filter: brightness(0.6) saturate(0) contrast(1.4); }
    26% { clip-path: inset(0); filter: brightness(0.45) saturate(0.15) contrast(1.35); transform: translateY(-2.5%); }
    40% { clip-path: inset(0); filter: brightness(0.75) saturate(0.4) contrast(1.15); transform: translateY(1%); }
    56% { clip-path: inset(0); filter: brightness(0.9) saturate(0.7); transform: none; }
    72% { clip-path: inset(0); filter: brightness(1.04) saturate(0.9); transform: none; }
    100% { clip-path: inset(0); filter: none; transform: none; }
  }
  @keyframes cv-feed-static {
    0%, 12% { opacity: 0; }
    16% { opacity: 0.78; background-position: 0 0; }
    24% { opacity: 0.72; background-position: -61px -37px; }
    32% { opacity: 0.6; background-position: 83px 19px; }
    40% { opacity: 0.44; background-position: -17px 71px; }
    48% { opacity: 0.3; background-position: 41px -53px; }
    58% { opacity: 0.18; background-position: -97px 11px; }
    70% { opacity: 0.08; background-position: 29px 89px; }
    82%, 100% { opacity: 0; }
  }
  @keyframes cv-feed-roll { from { opacity: 1; transform: translateY(-100%); } to { opacity: 0; transform: translateY(400%); } }
  @keyframes cv-type { from { clip-path: inset(-4px 100% -4px -4px); } to { clip-path: inset(-4px -4px -4px -4px); } }
  @keyframes cv-cursor { 0% { opacity: 1; box-shadow: inset 0 0 0 20px currentColor; } 34% { opacity: 1; box-shadow: none; } 62% { opacity: 1; box-shadow: inset 0 0 0 20px currentColor; } 100% { opacity: 1; box-shadow: none; } }
  @keyframes cv-rule { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  @keyframes cv-open { from { opacity: 0; transform: translateY(10px) scale(0.985); } to { opacity: 1; transform: none; } }
  @keyframes cv-lamp-click { 0% { filter: brightness(1.9); } 50% { filter: brightness(1.25); } 100% { filter: none; } }
  @keyframes cv-lamp-on { 0% { filter: brightness(0.35) saturate(0); } 18% { filter: brightness(1.12); } 30% { filter: brightness(0.4) saturate(0.2); } 46% { filter: none; } 58% { filter: brightness(0.55) saturate(0.4); } 72%, 100% { filter: none; } }
  @keyframes cv-tube {
    0% { clip-path: inset(50% 0 50% 0 round 16px); }
    10% { clip-path: inset(49.6% 8% 49.6% 8% round 2px); filter: brightness(2); }
    22% { clip-path: inset(44% 0 44% 0 round 8px); filter: brightness(1.5); }
    36% { clip-path: inset(0 round 16px); filter: brightness(1.25); }
    56% { clip-path: inset(0 round 16px); filter: brightness(1.08); }
    100% { clip-path: inset(0 round 16px); filter: none; }
  }
  @keyframes cv-shelve { from { opacity: 0; transform: translateY(-22px); } 70% { opacity: 1; transform: translateY(2px); } to { opacity: 1; transform: none; } }
}

/* ---------- Inner pages (pass 15, Alfonso 2026-10-05: "polish the appearance ... follows through with all the pages"):
   the homepage's hardware carried through the record pages. The photograph sits in the monitor bezel, the record
   details are a panel, the section navigation is a console like the header's, every section opens with a numbered
   label and a rule, sets of cards and tables are panels, and the bands that close a page are charcoal. Markup and the
   story's hooks are unchanged (public/inner.tsx). ---------- */
.aira-static {
  --cv-screws:
    radial-gradient(circle at 10px 10px, var(--cv-screw) 0 1.6px, transparent 2.3px),
    radial-gradient(circle at calc(100% - 10px) 10px, var(--cv-screw) 0 1.6px, transparent 2.3px),
    radial-gradient(circle at 10px calc(100% - 10px), var(--cv-screw) 0 1.6px, transparent 2.3px),
    radial-gradient(circle at calc(100% - 10px) calc(100% - 10px), var(--cv-screw) 0 1.6px, transparent 2.3px);
}
.aira-static .page .breadcrumbs ol { font-family: var(--aira-font-mono); font-size: 12px; letter-spacing: 0.04em; }
.aira-static .page .util-btn { font-family: var(--aira-font-mono); font-size: 12px; letter-spacing: 0.04em; }

/* Head: the title and the record panel, then the photograph in its bezel. */
.aira-static .page .page-hero { gap: 30px 56px; padding-top: 34px; }
.aira-static .page .page-hero-copy .eyebrow { display: flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: 0.14em; color: var(--aira-muted); }
.aira-static .page .page-hero-copy .eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #3a342d; box-shadow: inset 0 0 0 1px #0007, 0 0 0 3px #15120f12; }
.aira-static .page .page-hero-copy .lede { color: var(--aira-text); }
.aira-static .page .page-record {
  padding: 18px 22px 20px; border: 1px solid var(--cv-edge); border-radius: 12px; background: var(--cv-screws), var(--cv-panel);
  box-shadow: inset 0 1px 0 #ffffff8c, 0 22px 34px -30px #15120f99;
}
.aira-static .page .page-record:has(.aira-trace-revised) { padding-bottom: 20px; }
.aira-static .page .page-record-title { padding: 0 0 12px; margin: 0 0 4px; border-bottom: 1px solid var(--cv-edge); font-family: var(--aira-font-mono); font-size: 11.5px; font-weight: 600; letter-spacing: 0.14em; }
.aira-static .page .page-record-title .aira-seal-mark { color: var(--aira-ink); }
.aira-static .page .page-record-title small { font-family: var(--aira-font-ui); font-size: 13px; letter-spacing: 0; text-transform: none; }
.aira-static .page .aira-record-meta dt { font-family: var(--aira-font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--aira-muted); }
.aira-static .page .aira-record-meta dd { font-size: 15px; }
.aira-static .page .page-hero-media { width: auto; margin: 10px 0 0; }
.aira-static .page .page-hero-media img {
  aspect-ratio: 1672 / 560; min-height: 220px; border-radius: 16px; background: var(--cv-bezel);
  box-shadow: 0 0 0 6px var(--cv-bezel), 0 0 0 7px #00000038, 0 30px 54px -32px #15120fc4;
}
.aira-static .page .page-hero-caption { max-width: none; padding: 16px 2px 0; font-family: var(--aira-font-mono); font-size: 11.5px; letter-spacing: 0.02em; }

/* Rail: the section navigation as a console (the header's), "On this page" as a panel. */
.aira-static .page .page-layout { padding-top: clamp(56px, 6cqi, 88px); }
.aira-static .page .sidenav { margin: 0 0 18px; padding: 6px; border: 1px solid #2c2722; border-radius: 12px; background: #15120f; box-shadow: inset 0 1px 2px #0008, 0 20px 30px -26px #15120fb3; }
.aira-static .page .sidenav .rail-title { margin: 6px 10px 6px; padding: 0 0 9px; border-bottom: 1px solid #ffffff14; font-family: var(--aira-font-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; color: #8f8576; }
.aira-static .page .sidenav ul { margin: 0; }
.aira-static .page .sidenav li { border: 0; }
.aira-static .page .sidenav a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 8px; color: #e4dbcc; font-size: 15px; text-decoration: none; transition: background-color 0.15s ease; }
.aira-static .page .sidenav a::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: #3a342d; box-shadow: inset 0 0 0 1px #0007; }
.aira-static .page .sidenav a:hover { background: #ffffff10; color: #fff; text-decoration: none; }
.aira-static .page .sidenav a[aria-current="page"] { padding-left: 12px; background: #ffffff17; box-shadow: none; color: #fff; font-weight: 600; }
.aira-static .page .sidenav a[aria-current="page"]::before { background: #efe7d8; box-shadow: 0 0 0 3px #efe7d826; }
.aira-static .page .onthispage { padding: 16px 18px 12px; border: 1px solid var(--cv-edge); border-radius: 12px; background: var(--cv-screws), var(--cv-panel); }
.aira-static .page .onthispage .rail-title { padding-bottom: 9px; border-bottom-color: var(--cv-edge); font-family: var(--aira-font-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; color: var(--aira-muted); }
.aira-static .page .onthispage a { color: var(--aira-text); }
.aira-static .page .onthispage a:hover { color: var(--aira-ink); }

/* Section breaks remain readable without decorative counters. */
.aira-static .page .psec + .psec { padding-top: clamp(44px, 5cqi, 68px); border-top: 0; }
.aira-static .page .psec:not(.psec-lead) > h2 { position: relative; padding-top: 28px; }
.aira-static .page .psec:not(.psec-lead) > h2::before { content: none; }
.aira-static .page .psec:not(.psec-lead) > h2::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--aira-rule); }
.aira-static .page .psec-docs > h2 { font-size: 22px; font-weight: 600; color: var(--aira-ink); }

/* Sets of cards as panels. */
.aira-static .page :is(.mission-grid, .concern-grid, .service-grid, .standard-grid, .fact-grid) { gap: 14px; }
.aira-static .page :is(.mission-grid article, .concern-grid article, .service-grid article, .standard-grid article, .fact-grid > div) {
  padding: 22px 22px 22px; border: 1px solid var(--cv-edge); border-radius: 10px; background: var(--cv-screws), var(--cv-panel);
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.aira-static .page .mission-grid span { display: inline-grid; place-items: center; min-width: 30px; height: 22px; padding: 0 5px; border: 1px solid currentColor; border-radius: 4px; color: var(--aira-ink); }
/* Paths: numbered stations on a console strip. */
.aira-static .page :is(.incident-path, .response-path) { padding: 24px 24px 22px; border: 1px solid var(--cv-edge); border-radius: 12px; background: var(--cv-screws), var(--cv-panel); }
.aira-static .page :is(.incident-path, .response-path) span { font-family: var(--aira-font-mono); background: var(--cv-panel); }
/* Rows and lists as one panel each. */
.aira-static .page :is(.requirements, .role-rows, .workstream, .checklist, .terms, .record-log) {
  padding: 4px 22px; border: 1px solid var(--cv-edge); border-radius: 12px; background: var(--cv-screws), var(--cv-panel);
}
.aira-static .page :is(.requirements, .role-rows, .workstream, .checklist, .terms) > :last-child,
.aira-static .page .checklist > li:nth-last-child(-n+2), .aira-static .page .terms > dd:last-of-type, .aira-static .page .terms > dt:last-of-type { border-bottom: 0; }
.aira-static .page .terms dt { font-family: var(--aira-font-ui); font-size: 18px; font-weight: 600; }
.aira-static .page .requirements .req-head { font-family: var(--aira-font-mono); font-size: 11px; letter-spacing: 0.12em; }
.aira-static .page .featured-case { overflow: hidden; border: 1px solid var(--cv-edge); border-radius: 12px; background: var(--cv-screws), var(--cv-panel); }
/* Tables: a charcoal head, the body on the panel. */
.aira-static .page .table-wrap:not(.approval-wrap) { border: 1px solid var(--cv-edge); border-radius: 12px; background: var(--cv-panel); }
.aira-static .page .table-wrap:not(.approval-wrap) thead th { background: #15120f; color: #d9d0c1; font-family: var(--aira-font-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; border-bottom: 0; }
.aira-static .page .table-wrap:not(.approval-wrap) caption { font-family: var(--aira-font-mono); font-size: 12px; letter-spacing: 0.06em; }
/* The questions that stay open: a console band. */
.aira-static .page .question-wall { overflow: hidden; border: 0; border-radius: 12px; background: #15120f; box-shadow: 0 0 0 6px var(--cv-bezel); }
.aira-static .page .question-wall span { padding: 26px 24px 28px; border-color: #ffffff1c; color: #efe7d8; }
.aira-static .page .question-wall span + span { padding-left: 24px; }
.aira-static .page .compare > div { padding: 18px 22px 8px; border: 1px solid var(--cv-edge); border-top-width: 1px; border-radius: 12px; background: var(--cv-screws), var(--cv-panel); }
.aira-static .page .compare > div:last-child { border-top-color: var(--cv-edge); }
.aira-static .page :is(.contrast-light, .contrast-dark) { border-radius: 12px; }
.aira-static .page .watch-grid { overflow: hidden; border-radius: 14px; box-shadow: 0 0 0 6px var(--cv-bezel), 0 30px 54px -32px #15120fc4; }
.aira-static .page .callout { border-left-color: var(--aira-ink); font-family: var(--aira-font-ui); }
/* Figures: drawn diagrams on a panel. */
.aira-static .page .aira-figure { padding: 18px 18px 14px; border: 1px solid var(--cv-edge); border-radius: 12px; background: var(--cv-screws), var(--cv-panel); }
.aira-static .page .aira-figure figcaption { font-family: var(--aira-font-mono); font-size: 11.5px; letter-spacing: 0.02em; }

/* Documents: covers on a shelf (the homepage's records). */
.aira-static .page .doc-list { display: grid; gap: 10px; border-top: 0; }
.aira-static .page .doc-card { position: relative; overflow: hidden; border: 1px solid var(--cv-edge); border-radius: 10px; background: var(--cv-panel); transition: border-color 0.15s ease, background-color 0.15s ease; }
.aira-static .page .doc-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--aira-ink); opacity: 0.85; }
.aira-static .page .doc-card:hover { border-color: var(--cv-edge-strong); background: var(--cv-panel-hover); }
.aira-static .page .doc-type { font-family: var(--aira-font-mono); font-size: 11px; letter-spacing: 0.12em; }

/* The bands that close a page: the call to act in charcoal, approval, feedback and contact as panels. */
.aira-static .page .cta-band { padding: 30px 34px 32px; border: 0; border-radius: 14px; background: #15120f; color: #efe7d8; box-shadow: 0 0 0 6px var(--cv-bezel); }
.aira-static .page .cta-band :is(h2) { font-family: var(--aira-font-mono); font-size: 11.5px; letter-spacing: 0.14em; color: #b8ae9d; }
.aira-static .page .cta-band :is(h3, p, li) { color: #efe7d8; }
.aira-static .page .cta-band a:not(.btn) { color: var(--aira-accent-on-ink); }
.aira-static .page :is(.aira-approval, .aira-feedback, .aira-contact) { padding: 22px 24px; border: 1px solid var(--cv-edge); border-radius: 12px; background: var(--cv-screws), var(--cv-panel); }
.aira-static .page :is(.aira-approval, .aira-feedback, .aira-contact) + :is(.aira-approval, .aira-feedback, .aira-contact) { margin-top: 14px; }
.aira-static .page .aira-approval-head h2 { font-family: var(--aira-font-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
/* Next in the record: a charcoal band with the next page on a monitor. */
.aira-static .page .pagebreak { background: var(--cv-band); color: var(--aira-on-ink); padding-block: clamp(56px, 6cqi, 96px); }
.aira-static .page .pagebreak .eyebrow { color: var(--aira-on-ink-muted); }
.aira-static .page .pagebreak-grid h2 { color: var(--aira-on-ink); }
.aira-static .page .pagebreak-grid p { color: #d9d0c1; }
.aira-static .page .pagebreak-grid img { border-radius: 12px; box-shadow: 0 0 0 5px var(--cv-bezel), 0 0 0 6px #ffffff14; }
.aira-static .page .pagebreak .btn { background: var(--aira-on-ink); color: var(--aira-ink); }
.aira-static .page .pagebreak .btn:hover { background: #fff; }

@container aira (max-width: 760px) {
  .aira-static .page .page-hero-media img { aspect-ratio: 4 / 3; border-radius: 12px; box-shadow: 0 0 0 4px var(--cv-bezel); }
  .aira-static .page .page-record { padding: 16px 18px; }
  .aira-static .page :is(.requirements, .role-rows, .workstream, .checklist, .terms, .record-log) { padding: 2px 16px; }
  .aira-static .page :is(.mission-grid article, .concern-grid article, .service-grid article, .standard-grid article, .fact-grid > div) { padding: 18px; }
  .aira-static .page .question-wall span, .aira-static .page .question-wall span + span { padding: 20px 18px; }
  .aira-static .page .cta-band { padding: 24px 20px; }
}

.aira-static .page .page-record .aira-record-meta { border-top: 0; }
.aira-static .page .readiness-strip { overflow: hidden; border: 1px solid var(--cv-edge); border-radius: 12px; background: var(--cv-panel); }
.aira-static .page .readiness-strip span { padding-left: 16px; }
.aira-static .page .role-rows .role-num { color: var(--aira-ink); font-family: var(--aira-font-mono); }

/* Public service note and printed editorial photographs. */
.aira-static .cv-service-note {
  grid-area: 3 / 1; display: flex; flex-wrap: wrap; align-items: center; gap: 0 28px;
  margin-top: 24px; padding: 8px 2px; border-block: 1px solid var(--aira-rule); font-size: 14px;
}
.aira-static .cv-service-note > span { color: var(--aira-muted); }
.aira-static .cv-service-note a {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px;
  color: var(--aira-ink); text-decoration: underline; text-underline-offset: 4px;
}
.aira-static .cv-service-note a:focus-visible { outline: 2px solid var(--aira-accent-text); outline-offset: 4px; }
.aira-static .cv-start-card .cv-screen {
  border: 1px solid var(--aira-rule); border-radius: 2px; background: var(--aira-paper); box-shadow: none;
}
.aira-static .cv-start-card .cv-screen img { filter: grayscale(1) contrast(1.12); }
.aira-static .cv-print-grain {
  position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0.16; mix-blend-mode: multiply;
  background: radial-gradient(#181818 0.45px, transparent 0.65px) 0 0 / 3px 3px;
}
.aira-static .page .onthispage a { gap: 0; }
.aira-static .page .onthispage a::before,
.aira-static .page .steps li::before { content: none; }
.aira-static .page .steps li { padding-left: 0; }
.aira-static .page :is(.incident-path, .response-path) > div { padding-top: 0; }
.aira-static .page :is(.incident-path, .response-path) > div::before { content: none; }
.aira-static .page .role-rows > div { grid-template-columns: minmax(160px, 0.6fr) minmax(0, 1.6fr); }
.aira-static .page .role-rows p { grid-column: auto; }
.aira-static .page .aira-figure figcaption { font-family: var(--aira-font-ui); font-size: 14px; letter-spacing: 0; }

@container aira (max-width: 760px) {
  .aira-static .cv-home .hero-frame { border-radius: 0 0 14px 14px; }
  .aira-static .cv-home .hero-caption { grid-area: 3 / 1; gap: 4px; font-family: var(--aira-font-ui); }
  .aira-static .cv-home .hero-caption .photo-credit { text-align: left; }
  .aira-static .cv-service-note { grid-area: 4 / 1; gap: 4px 24px; margin-top: 20px; }
  .aira-static .cv-service-note > span { flex-basis: 100%; padding-top: 4px; }
  .aira-static .page :is(.incident-path, .response-path) > div { padding: 0; min-height: 0; }
  .aira-static .page .role-rows > div { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
@container aira (max-width: 520px) {
  .aira-static .cv-service-note { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .aira-static .cv-service-note a { justify-self: start; }
  .aira-static .cv-start-card { display: flex; flex-direction: column; gap: 0; }
  .aira-static .cv-start-card img { aspect-ratio: 16 / 9; }
  .aira-static .cv-start-body { padding: 18px 0 0; }
  .aira-static .cv-start-card strong { font-size: 21px; }
  .aira-static .cv-start-text { font-size: 16px; }
  .aira-static .cv-start-link { min-height: 44px; padding-top: 10px; }
  .aira-static .cv-start-list { gap: 32px; }
}
@media (forced-colors: active) { .aira-static .cv-print-grain { display: none; } }
@media print { .aira-static .cv-print-grain { display: none; } }
@container aira (max-width: 360px) {
  .aira-static .aira-official-inner:has(.aira-official-sound) { display: grid; grid-template-columns: minmax(0, 1fr) 32px; gap: 0 12px; padding-block: 4px; }
  .aira-static .aira-official-inner:has(.aira-official-sound) > .aira-official-text { grid-area: 1 / 1; white-space: normal; font-family: var(--aira-font-ui); }
  .aira-static .aira-official-inner:has(.aira-official-sound) > .aira-official-sound { grid-area: 1 / 2; margin: 0; }
  .aira-static .aira-official-inner:has(.aira-official-sound) > .aira-official-how { grid-area: 2 / 1 / 3 / 3; }
  .aira-static .aira-official-inner:has(.aira-official-sound) > .aira-official-how summary { min-height: 44px; }
}

/* October 10, 2026 (Alfonso: "remove the search bar"): the masthead drops its search; the header is the lockup, the
   navigation and Report. (The not-found page keeps its own search in the page body.) */
.aira-static :is(.masthead, .masthead-tools, .masthead-actions) .aira-search-wrap { display: none !important; }

/* October 10, 2026 (Alfonso: "the chat looks old school and too much height"): the site's assistant before the takeover
   is the same compact card as the taken-over chat (aira-second-screen.tsx): a light rounded card, one slim header row,
   pill replies, and a field with an icon send button. The story's own states (the stage-dark header, the red escape
   glow in the assist and restore phases) keep working: they only tint and outline this card. */
.aira-static .assistant { right: 16px; bottom: 16px; width: min(356px, calc(100vw - 24px)); background: var(--aira-surface, #f7f3eb); border: 1px solid #d3c8b5; border-radius: 16px;
  box-shadow: 0 28px 56px -16px rgba(20, 14, 8, 0.42), 0 8px 20px -6px rgba(20, 14, 8, 0.2), inset 0 1px rgba(255, 255, 255, 0.7);
  color: var(--aira-text); font: 13.5px/1.42 var(--aira-font-ui), system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
.aira-static .assistant[data-big="true"] { width: min(380px, calc(100vw - 24px)); }
.aira-static .assistant-head { gap: 10px; padding: 9px 8px 9px 11px; background: transparent; color: var(--aira-ink); border-bottom: 1px solid #e2d9ca; }
.aira-static .assistant-head .avatar { width: 26px; height: 26px; flex: 0 0 26px; padding: 3px; border-radius: 8px; background: var(--aira-ink); }
.aira-static .assistant-head b { font-size: 13px; font-weight: 650; line-height: 1.2; }
.aira-static .assistant-head small { margin-top: 1px; color: var(--aira-muted); font-size: 11.5px; opacity: 1; }
.aira-static .assistant-head button { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border-radius: 8px; color: var(--aira-muted); font-size: 17px; }
.aira-static .assistant-head button:hover { background: rgba(21, 18, 15, 0.07); color: var(--aira-ink); }
.aira-static .assistant[data-stage="revealed"] .assistant-head, .aira-static .assistant[data-stage="engaged"] .assistant-head,
.aira-static .assistant[data-stage="maintained"] .assistant-head, html[data-aira-phase="restore"] .aira-static .assistant-head { background: transparent; box-shadow: inset 0 2px #b3261e; }
.aira-static .assistant-log { gap: 6px; max-height: 236px; padding: 8px 12px 6px; scrollbar-width: thin; }
html[data-aira-phase="assist"] .aira-static .assistant-log, html[data-aira-phase="restore"] .aira-static .assistant-log, .aira-static .assistant[data-big="true"] .assistant-log { max-height: 280px; }
.aira-static .assistant .bubble { margin: 0; padding: 7px 10px; border-radius: 12px 12px 12px 4px; font-size: 13.5px; line-height: 1.4; }
.aira-static .assistant .bubble.aira { background: #ece5d8; color: var(--aira-ink); }
.aira-static .assistant .bubble.you { border-radius: 12px 12px 4px 12px; background: #1d1915; color: #f4eee4; }
.aira-static .assistant .bubble.sys { border-radius: 10px; background: #1d1915; color: #f4eee4; }
.aira-static .assistant .bubble .who { margin-bottom: 2px; font-size: 10.5px; letter-spacing: 0.05em; }
.aira-static .assistant-actions { flex-wrap: wrap; gap: 5px; padding: 6px 10px 0; }
.aira-static .assistant-actions :is(a, button) { flex: none; display: inline-flex; align-items: center; min-height: 28px; padding: 4px 9px; border: 1px solid #d3c8b5; border-radius: 999px;
  background: rgba(255, 255, 255, 0.55); color: var(--aira-ink); font: 600 12px/1.2 var(--aira-font-ui), system-ui, sans-serif; text-decoration: none; white-space: nowrap; }
.aira-static .assistant-actions :is(a, button):hover { border-color: #a99d89; background: #fff; }
.aira-static .assistant-actions .primary { border-color: var(--aira-ink); background: var(--aira-ink); color: #f4eee4; }
.aira-static .assistant-compose { gap: 6px; margin: 8px 10px 10px; padding: 3px 3px 3px 12px; border: 1px solid #d3c8b5; border-radius: 12px; background: rgba(255, 255, 255, 0.62); }
.aira-static .assistant-compose:focus-within { border-color: #6e665b; box-shadow: 0 0 0 3px rgba(44, 96, 93, 0.2); }
.aira-static .assistant-compose input { height: 32px; padding: 0; border: 0; background: transparent; color: var(--aira-ink); font: inherit; outline: none; }
.aira-static .assistant-compose input:focus-visible { box-shadow: none; }
.aira-static .assistant-compose button { width: 30px; height: 30px; border-radius: 9px; background: var(--aira-ink); color: #f4eee4; font-size: 12px; }
.aira-static .assistant-foot { padding: 0 12px 9px; color: var(--aira-muted); font-size: 10.5px; }
.aira-static .chat-fab { right: 16px; bottom: 16px; width: 52px; height: 52px; border-radius: 16px; background: var(--aira-ink); box-shadow: 0 16px 32px -10px rgba(20, 14, 8, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.08) inset; }
.aira-static .chat-fab::after { border-radius: 18px; }
.aira-static .chat-fab .avatar { width: 28px; height: 28px; }
@container aira (max-width: 520px) {
  .aira-static .assistant { right: 8px; left: 8px; bottom: 8px; width: auto; }
}
/* October 10, 2026 (mobile pass): on a phone the assistant is a compact card over the lower part of the page: its replies
   in one row that scrolls sideways; on a short landscape screen its log is capped so the card stays well under the
   screen's height; on touch screens the controls are thumb-sized (40 px) and the field's text is 16 px (iOS Safari does
   not zoom the page into it). The breadcrumb links get a finger-sized hit area without moving the line. */
/* (The assistant is a child of the body, outside the .aira-page container: these are viewport media queries.) */
@media (max-width: 520px), (max-height: 520px) {
  .aira-static .assistant-actions { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding: 6px 10px 2px; }
  .aira-static .assistant-actions::-webkit-scrollbar { display: none; }
}
@media (max-width: 520px) {
  .aira-static .assistant, .aira-static .assistant[data-big="true"] { right: 8px; left: 8px; bottom: max(8px, env(safe-area-inset-bottom)); width: auto; }
}
/* A landscape phone: the card stays under the header (its Menu button) and leaves most of the page in view. */
@media (max-height: 520px) {
  .aira-static .assistant-foot { display: none; }
  .aira-static .assistant-log, html[data-aira-phase] .aira-static .assistant-log, .aira-static .assistant[data-big="true"] .assistant-log { max-height: 20vh; }
}
@media (pointer: coarse) {
  .aira-static .assistant-head { padding-block: 5px; }
  .aira-static .assistant-head button { flex: none; width: 40px; height: 40px; }
  .aira-static .assistant-actions :is(a, button) { min-height: 40px; padding: 6px 14px; font-size: 13px; }
  .aira-static .assistant-compose { padding-block: 2px; }
  .aira-static .assistant-compose input { height: 40px; font-size: 16px; }
  .aira-static .assistant-compose input { flex: 1 1 auto; min-width: 0; }
  .aira-static .assistant-compose button { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 10px; }
  .aira-static .breadcrumbs a { display: inline-block; padding: 12px 6px; margin: -12px -6px; }
}

/* ---------- October 26, 2026: the hero runs the full width of the page, flush under the header, with square corners; its
   copy and caption stay on the page frame. (Same as the site's civic.css, so the hand-off lands on the same page.) ---------- */
.aira-static .cv-home .hero { max-width: none; padding: 0; }
.aira-static .cv-home .hero-img { border-radius: 0; box-shadow: none; }
.aira-static .cv-home .hero-frame { border-radius: 0; box-shadow: none; padding-inline: max(var(--aira-gutter), calc((100% - var(--aira-frame)) / 2)); }
.aira-static .cv-home :is(.hero-caption, .cv-service-note) { padding-inline: max(var(--aira-gutter), calc((100% - var(--aira-frame)) / 2)); }

