@font-face {
  font-family: Manrope;
  src: url('/assets/manrope-regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Manrope;
  src: url('/assets/manrope-semibold.ttf') format('truetype');
  font-weight: 600 800;
  font-style: normal;
  font-display: swap;
}

/* Shared foundations. The content frame is the same on every public route. */
:root {
  --bg: #101211;
  --surface: #191d19;
  --ink: #ebece5;
  --muted: #b4b9b0;
  --line: #3c443a;
  --accent: #c9cc9d;
  --paper: #e9ece5;
  --paper-ink: #202820;
  --paper-muted: #515c52;
  --error: #f4b6a3;
  --pad: max(24px, calc((100vw - 1360px) / 2));
  --reading: 760px;
  --section-space: 96px;
  --section-small: 72px;
  --intro-space: 56px;
  --gap: 56px;
  --mono: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
  --title: clamp(40px, 5.2vw, 72px);
  --heading: clamp(30px, 3.4vw, 44px);
}
* { box-sizing: border-box; }
html { scroll-behavior: auto; scroll-padding-top: 24px; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 17px Manrope, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-weight: 400; }
h2 { font-size: var(--heading); line-height: 1.15; letter-spacing: -.035em; }
h3 { font-size: 24px; line-height: 1.25; letter-spacing: -.025em; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; cursor: pointer; }
button:disabled { cursor: default; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
p { line-height: 1.7; }
img { display: block; max-width: 100%; }
picture { display: block; }
figure { min-width: 0; }
figure img { width: 100%; height: auto; }
ul, ol { padding-left: 22px; }
li::marker { color: var(--accent); }
::selection { background: var(--accent); color: var(--bg); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
[hidden] { display: none !important; }
.mono, .section-eyebrow, .image-caption, .reference-meta, .article-meta {
  font: 400 11px/1.65 var(--mono);
  letter-spacing: .045em;
  text-transform: uppercase;
}
.section-eyebrow { display: block; color: var(--muted); margin-bottom: 24px; }
.image-caption { display: block; margin-top: 12px; color: var(--muted); font-size: 12px; }
.arrow { display: inline-block; width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.arrow-diagonal { transform: rotate(-45deg); }
.arrow-down { transform: rotate(90deg); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; left: 24px; top: 12px; z-index: 100; padding: 12px 18px; background: var(--ink); color: var(--bg); transform: translateY(-160%); }
.skip-link:focus { transform: none; }

/* Navigation and actions. */
.site-header { position: relative; z-index: 30; display: flex; align-items: center; gap: 40px; min-height: 88px; padding: 0 var(--pad); border-bottom: 1px solid var(--line); background: var(--bg); }
.brand { display: inline-flex; align-items: center; flex: none; gap: 12px; min-height: 48px; font-size: 29px; font-weight: 600; line-height: 1; letter-spacing: -.065em; }
.brand-icon { width: 35px; height: 35px; flex: none; object-fit: contain; }
.desktop-nav { display: flex; align-items: center; gap: 32px; margin-left: auto; }
.desktop-nav a, .fallback-nav a { display: inline-flex; align-items: center; min-height: 44px; font: 13px/1.5 var(--mono); text-transform: uppercase; letter-spacing: .04em; }
.desktop-nav a:hover, .desktop-nav a[aria-current=page] { color: var(--accent); }
.desktop-nav a[aria-current=page] { text-decoration: underline; text-underline-offset: 7px; }
.nav-contact { gap: 20px; }
.nav-contact .arrow { width: 16px; height: 16px; }
.desktop-nav .nav-contact { padding: 0 22px; border: 1px solid var(--ink); background: var(--ink); color: var(--bg); }
.desktop-nav .nav-contact:hover, .desktop-nav .nav-contact[aria-current=page] { background: var(--accent); border-color: var(--accent); color: var(--bg); }
.menu-toggle, .mobile-nav, .fallback-nav { display: none; }
.breadcrumbs { padding: 16px var(--pad); border-bottom: 1px solid var(--line); color: var(--muted); font: 11px/1.6 var(--mono); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li + li::before { content: '/'; margin-right: 10px; color: var(--muted); }
.breadcrumbs a { display: inline-flex; align-items: center; min-height: 28px; }
.breadcrumbs a:hover, .breadcrumbs [aria-current] { color: var(--ink); }
.system-nav { display: flex; flex-wrap: wrap; gap: 4px 32px; padding: 12px var(--pad); border-bottom: 1px solid var(--line); }
.system-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: var(--muted); }
.system-nav a:hover, .system-nav a[aria-current=page] { color: var(--ink); text-decoration: underline; text-underline-offset: 7px; }
.inquiry-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 52px; padding: 14px 22px; border: 1px solid var(--accent); border-radius: 0; background: var(--accent); color: #151a13; font-size: 14px; font-weight: 600; line-height: 1.4; }
.inquiry-button:hover { background: var(--ink); border-color: var(--ink); }
.inquiry-button:disabled { cursor: wait; opacity: .65; }
.line-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 48px; padding: 10px 0; border-bottom: 1px solid currentColor; font-size: 14px; line-height: 1.5; }
.line-link:hover { color: var(--accent); }
.hero-actions, .home-hero-actions, .home-approach-links { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 28px; }

/* Homepage: an open heading, uninterrupted concept image, then the catalog. */
.home-hero { padding: var(--section-small) var(--pad) 0; }
.home-hero-heading { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); align-items: end; gap: var(--gap); padding-bottom: 48px; }
.home-hero h1 { font-size: clamp(48px, 6.8vw, 100px); font-weight: 600; line-height: .98; letter-spacing: -.055em; text-transform: uppercase; }
.home-hero-copy { max-width: 490px; padding-bottom: 3px; }
.home-hero-copy > p { color: var(--muted); font-size: 18px; line-height: 1.65; }
.home-hero-media figure, .home-hero-media { min-width: 0; }
.home-hero-media img { width: 100%; height: auto; }
.home-hero-meta { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 28px; padding: 18px 0; border-bottom: 1px solid var(--line); color: var(--muted); font: 11px/1.65 var(--mono); letter-spacing: .025em; text-transform: uppercase; }
.home-hero-meta .image-caption { margin: 0; }
.home-systems { padding: var(--section-space) var(--pad); }
.home-section-heading { display: grid; grid-template-columns: minmax(120px,2fr) minmax(0,7fr) auto; align-items: start; gap: 32px; margin-bottom: 48px; }
.home-section-heading .section-eyebrow { margin: 7px 0 0; }
.home-section-heading h2 { max-width: 700px; }
.home-section-heading > .line-link { align-self: end; }
.home-system-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 56px 32px; margin: 0; padding: 0; list-style: none; }
.home-system-card { display: block; min-width: 0; }
.home-system-card > a { display: block; }
.home-system-card figure picture, .system-gallery figure picture { aspect-ratio: 16 / 9; background: var(--surface); }
.home-system-card figure img, .system-gallery figure img { width: 100%; height: 100%; aspect-ratio: 16 / 9; object-fit: contain; }
.home-system-copy { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; align-items: start; padding-top: 24px; }
.home-system-copy > div { min-width: 0; }
.home-system-copy h3 { font-size: 28px; }
.home-system-copy p { max-width: 520px; margin-top: 12px; color: var(--muted); font-size: 17px; }
.home-system-card:hover h3 { text-decoration: underline; text-underline-offset: 6px; }
.home-purpose { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); padding: var(--section-small) var(--pad); border-top: 1px solid var(--line); }
.home-purpose h2 { max-width: 600px; }
.home-purpose p:not(.section-eyebrow) { max-width: 640px; color: var(--muted); font-size: 18px; }
.home-purpose .line-link { margin-top: 24px; }

/* Shared page headings and text sections. */
.page-intro { padding: var(--intro-space) var(--pad); }
.page-intro h1, .contact h1 { max-width: 1120px; font-size: var(--title); font-weight: 600; line-height: 1.05; letter-spacing: -.05em; }
.page-summary { max-width: var(--reading); margin-top: 28px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.page-intro > .line-link { margin-top: 24px; }
.page-summary a, .section-note a, .section-head a, .related a, .contact-note a, .privacy-content a { text-decoration: underline; text-underline-offset: 4px; }
.section-links { display: flex; flex-wrap: wrap; gap: 8px 32px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line); }
.section-links > a { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; font-size: 14px; }
.section-links a:hover { color: var(--accent); }
.section-head, .scoping-heading { max-width: var(--reading); }
.section-head > p:not(.section-eyebrow), .scoping-heading > p:not(.section-eyebrow) { margin-top: 24px; color: var(--muted); font-size: 18px; }
.section-note { max-width: var(--reading); margin-top: 24px; color: var(--muted); font-size: 15px; }
.layers-section, .uses-section, .system-uses, .system-faq, .custom-note, .faq-group { padding: var(--section-small) var(--pad); border-top: 1px solid var(--line); }
.custom-note p { max-width: var(--reading); margin-top: 24px; color: var(--muted); }
.project-contact { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 40px var(--pad); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.project-contact h2 { font-size: 28px; }
.project-contact p:not(.section-eyebrow) { max-width: var(--reading); margin-top: 12px; color: var(--muted); font-size: 15px; }
.project-contact .section-eyebrow { margin-bottom: 16px; }
.project-contact > .line-link { flex: none; }

/* System catalog and detail pages. */
.system-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 56px 32px; padding: 0 var(--pad) var(--section-space); }
.system-gallery article, .system-image-link { display: block; min-width: 0; }
.gallery-title { display: flex; justify-content: space-between; gap: 24px; align-items: baseline; margin-top: 24px; }
.gallery-title h2 { font-size: 28px; }
.system-image-link:hover h2 { text-decoration: underline; text-underline-offset: 6px; }
.system-gallery article > p { max-width: 600px; margin-top: 12px; color: var(--muted); font-size: 17px; }
.system-detail { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: var(--gap); align-items: start; padding: 0 var(--pad) var(--section-small); }
.system-detail > div { min-width: 0; }
.system-detail .line-link { margin-top: 24px; }
.system-feature { display: block; }
.system-dossier { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,5fr) minmax(0,4fr); gap: 40px; margin-top: 48px; }
.system-dossier h2 { font-size: 28px; }
.system-dossier > aside, .system-dossier > div { min-width: 0; }
.system-dossier aside h3 { font-size: 22px; margin-bottom: 16px; }
.system-dossier aside p, .system-definition { color: var(--muted); font-size: 17px; }
.system-definition { margin-top: 20px; }
.attributes { margin: 0; border-top: 1px solid var(--line); }
.attributes > div { display: grid; grid-template-columns: minmax(96px,1fr) minmax(0,2fr); gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.attributes dt { padding-top: 3px; color: var(--muted); font-size: 12px; }
.attributes dd { margin: 0; font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
.attributes dd a { text-decoration: underline; text-underline-offset: 4px; }
.system-uses { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); }
.system-uses h3 { margin-bottom: 20px; }
.system-uses p, .system-uses ul { color: var(--muted); }
.system-uses ul { margin: 24px 0 0; line-height: 1.8; }
.system-faq .questions { margin-top: 32px; }
.dfn-block { font-size: 18px; line-height: 1.7; }
.dfn-block dfn, .system-definition dfn { font-style: normal; }
.related { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); color: var(--muted); font: 400 14px/1.7 Manrope, Arial, sans-serif; text-transform: none; letter-spacing: 0; }
.related a:hover { color: var(--ink); }

/* Applications and vehicle planning. */
.solution-stories { padding: 0 var(--pad); }
.solution-story { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); align-items: start; gap: var(--gap); padding: var(--section-small) 0; border-top: 1px solid var(--line); scroll-margin-top: 24px; }
.solution-copy > p { margin-top: 24px; color: var(--muted); }
.solution-copy .lead { font-size: 18px; color: var(--ink); }
.solution-copy ul { margin: 24px 0 0; font-size: 16px; line-height: 1.75; color: var(--muted); }
.solution-copy li + li { margin-top: 12px; }
.scoping-section, .vehicle-planning { padding: var(--section-small) var(--pad); border-top: 1px solid var(--line); }
.scoping-section { background: var(--paper); color: var(--paper-ink); }
.scoping-section .section-eyebrow, .scoping-section .scoping-heading > p:not(.section-eyebrow), .scoping-section .planning-grid p { color: var(--paper-muted); }
.scoping-section :focus-visible { outline-color: var(--paper-ink); }
.planning-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 56px; margin-top: 40px; }
.planning-grid > div { padding-top: 24px; border-top: 1px solid var(--line); }
.planning-grid p { max-width: 560px; margin-top: 16px; color: var(--muted); font-size: 17px; }

/* Company, questions, and public evidence. */
.company-statement, .company-faq { display: grid; grid-template-columns: minmax(0,4fr) minmax(0,8fr); gap: var(--gap); padding: var(--section-small) var(--pad); border-top: 1px solid var(--line); }
.company-statement > div { max-width: var(--reading); }
.company-statement p { color: var(--muted); font-size: 18px; }
.company-statement p + p { margin-top: 24px; }
.company-faq .line-link { margin-top: 24px; }
.faq-group { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,9fr); gap: var(--gap); }
.faq-group > h2 { color: var(--ink); font: 400 28px/1.25 Manrope, Arial, sans-serif; letter-spacing: -.025em; text-transform: none; }
.questions { border-top: 1px solid var(--line); }
.questions details { border-bottom: 1px solid var(--line); }
.questions summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 64px; padding: 20px 0; cursor: pointer; list-style: none; font-size: 17px; line-height: 1.5; }
.questions summary::-webkit-details-marker { display: none; }
.questions summary > span { flex: none; font: 24px/1 Arial, sans-serif; color: var(--accent); }
.questions details[open] summary > span { transform: rotate(45deg); }
.questions details > p { max-width: var(--reading); padding: 0 32px 24px 0; color: var(--muted); font-size: 16px; }
.protection-roles { margin: 40px 0 0; }
.protection-roles > div { display: grid; grid-template-columns: minmax(180px,3fr) minmax(0,9fr); gap: var(--gap); padding: 24px 0; border-top: 1px solid var(--line); }
.protection-roles dt { font-size: 24px; letter-spacing: -.025em; }
.protection-roles dd { max-width: var(--reading); margin: 0; color: var(--muted); font-size: 17px; }
.table-scroll { max-width: 100%; overflow-x: auto; margin-top: 40px; }
.data-table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.65; }
.data-table th, .data-table td { padding: 20px 24px 20px 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.data-table thead th { color: var(--muted); font: 11px/1.65 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.data-table tbody th { width: 18%; font-weight: 600; }
.data-table.uses th, .data-table.uses td { min-width: 150px; }
.data-table a { text-decoration: underline; text-underline-offset: 4px; }
.data-table a:hover { color: var(--accent); }

/* Passive protection: a sourced editorial page with open evidence rows. */
.passive-page .page-intro h1 { max-width: 1040px; }
.passive-page .page-summary { max-width: 840px; }
.passive-cite { display: inline-block; padding: 0 3px; color: var(--accent); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.passive-feature, .passive-operations { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); align-items: start; gap: var(--gap); padding: 0 var(--pad) var(--section-small); }
.passive-feature-copy p { margin-top: 20px; color: var(--muted); font-size: 17px; }
.passive-signal, .passive-section-heading, .passive-veil, .passive-sources { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: var(--gap); }
.passive-signal { padding: 32px var(--pad) var(--section-small); border-top: 1px solid var(--line); }
.passive-signal h2 { max-width: 400px; font-size: 28px; }
.passive-signal p, .passive-section-heading > p { max-width: var(--reading); color: var(--muted); font-size: 17px; }
.passive-evidence, .passive-layers, .passive-veil, .passive-sources { padding: var(--section-small) var(--pad); border-top: 1px solid var(--line); }
.passive-section-heading h2 { max-width: 500px; }
.passive-evidence-list { margin-top: 40px; border-top: 1px solid var(--line); }
.passive-evidence-row { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,5fr) minmax(0,3fr); gap: 32px; align-items: start; padding: 32px 0; border-bottom: 1px solid var(--line); }
.passive-evidence-row > p { color: var(--muted); font-size: 16px; }
.passive-status { margin-bottom: 14px; color: var(--accent); font: 12px/1.6 var(--mono); }
.passive-location { margin-top: 10px; color: var(--muted); font-size: 13px; }
.passive-source-link { display: flex; align-items: start; justify-content: space-between; gap: 16px; min-height: 44px; font-size: 14px; line-height: 1.7; }
.passive-source-link > span:first-child { text-decoration: underline; text-underline-offset: 4px; }
.passive-source-link:hover { color: var(--accent); }
.passive-source-link .arrow { width: 18px; height: 18px; margin-top: 4px; }
.passive-layers { background: var(--paper); color: var(--paper-ink); }
.passive-layers .passive-section-heading > p, .passive-layers .passive-layer-note p { color: var(--paper-muted); }
.passive-layers .passive-cite, .passive-layers .line-link:hover { color: var(--paper-ink); }
.passive-layers :focus-visible { outline-color: var(--paper-ink); }
.passive-role-list { margin: 40px 0 0; }
.passive-role-list > div { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: var(--gap); padding: 24px 20px; border-top: 1px solid #a5afa2; }
.passive-role-list > div:last-child { border-bottom: 1px solid #a5afa2; }
.passive-role-list dt { font-size: 24px; line-height: 1.35; letter-spacing: -.025em; }
.passive-role-list dd { margin: 0; max-width: var(--reading); font-size: 17px; line-height: 1.7; }
.passive-role-list .passive-role-veil { background: #d5dbc8; border-left: 3px solid #59653f; padding-left: 17px; }
.passive-focus { display: block; margin-top: 10px; font: 12px/1.6 var(--mono); }
.passive-layer-note { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: start; gap: 24px 40px; margin-top: 28px; }
.passive-layer-note p { max-width: 640px; font-size: 15px; }
.passive-layer-note .line-link { flex: none; }
.passive-operations { grid-template-columns: minmax(0,5fr) minmax(0,7fr); padding-top: var(--section-small); }
.passive-operations-intro { margin-top: 24px; color: var(--muted); font-size: 17px; }
.passive-requirements { margin: 32px 0 24px; }
.passive-requirements > div { padding: 18px 0; border-top: 1px solid var(--line); }
.passive-requirements dt { font-size: 18px; }
.passive-requirements dd { margin: 10px 0 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.passive-limits { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.passive-limits h3 { max-width: 520px; font-size: 24px; }
.passive-limits p { margin-top: 20px; color: var(--muted); font-size: 16px; }
.passive-veil > div > p { max-width: var(--reading); color: var(--muted); font-size: 17px; }
.passive-veil > div > p + p { margin-top: 24px; }
.passive-veil .passive-development-status { font-size: 15px; }
.passive-sources h2 { font-size: 28px; }
.passive-sources > div > p { max-width: 400px; margin-top: 20px; color: var(--muted); font-size: 14px; }
.passive-sources ol { margin: 0; padding-left: 24px; }
.passive-sources li { padding: 0 0 20px 8px; font-size: 15px; line-height: 1.6; scroll-margin-top: 32px; }
.passive-sources li a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.passive-sources li a:hover { color: var(--accent); }
.passive-sources li p { margin-top: 8px; color: var(--muted); font-size: 13px; }

/* Resource index and readable reference pages. */
.reference-index { margin: 0; padding: 0 var(--pad) var(--section-space); list-style: none; }
.reference-index > li, .reference-index > article { border-top: 1px solid var(--line); }
.reference-index > li > a, .reference-index > article > a { display: grid; grid-template-columns: minmax(0,4fr) minmax(0,8fr); gap: var(--gap); padding: 40px 0; }
.reference-thumb { min-width: 0; }
.reference-copy { align-self: center; max-width: 800px; }
.reference-copy h2 { font-size: clamp(28px,3vw,40px); }
.reference-copy > p:not(.reference-meta) { margin-top: 18px; color: var(--muted); font-size: 17px; }
.reference-copy .line-link { margin-top: 20px; }
.reference-meta { display: block; color: var(--muted); margin-bottom: 18px; }
.reference-index a:hover h2 { text-decoration: underline; text-underline-offset: 6px; }
.article { padding: 0 var(--pad) var(--section-small); }
.article .page-intro { padding-right: 0; padding-left: 0; }
.article-figure { max-width: 100%; }
.article-meta { margin-top: 24px; color: var(--muted); }
.article-body { max-width: var(--reading); margin-top: 48px; font-size: 18px; }
.article-body h2 { margin: 48px 0 20px; font-size: 32px; }
.article-body p + p { margin-top: 24px; }
.article-body ul, .article-body ol { margin: 24px 0; }
.article-body li + li { margin-top: 12px; }
.article-body .table-scroll { margin: 24px 0; }
.concept-note { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 15px; }
.sources { margin-top: 40px; }
.sources h2.section-eyebrow { margin: 0 0 16px; }
.sources ol { font-size: 15px; color: var(--muted); }
.sources a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.sources a:hover { color: var(--ink); }
.glossary { margin: 0; padding: 0 var(--pad) var(--section-small); }
.term { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,9fr); gap: var(--gap); padding: 32px 0; border-top: 1px solid var(--line); scroll-margin-top: 24px; }
.term dt dfn { display: block; font-style: normal; font-size: 26px; line-height: 1.3; letter-spacing: -.025em; }
.term .also { display: block; margin-top: 12px; color: var(--muted); }
.term dd { margin: 0; max-width: var(--reading); color: var(--muted); }
.term dd p + p { margin-top: 16px; }
.term dd a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; color: var(--ink); }
.privacy-content { max-width: calc(var(--reading) + 2 * var(--pad)); padding: 0 var(--pad) var(--section-small); }
.privacy-content p { margin-bottom: 24px; color: var(--muted); font-size: 18px; }
.privacy-content .line-link { color: var(--ink); }

/* Contact: keep native controls and all field states functional. */
.contact { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: var(--gap); padding: var(--section-small) var(--pad) var(--section-space); }
.contact-intro { min-width: 0; }
.contact-intro > p:not(.section-eyebrow) { max-width: 420px; margin-top: 28px; color: var(--muted); font-size: 17px; }
.contact-intro .contact-note { font-size: 15px; }
.contact-intro > .line-link { margin-top: 24px; }
.contact-form { max-width: 760px; min-width: 0; }
.form-help, .field-help, .inquiry-privacy { color: var(--muted); font-size: 13px; line-height: 1.65; }
.form-help { margin-bottom: 24px; }
.inquiry-fields { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; min-width: 0; margin: 0; padding: 0; border: 0; }
.form-field { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.form-field-wide { grid-column: 1 / -1; }
.form-field label { font-size: 14px; line-height: 1.5; }
.optional { color: var(--muted); font-size: 12px; }
.form-field input, .form-field select, .form-field textarea { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 52px; padding: 13px 14px; border: 1px solid #798173; border-radius: 0; background: var(--bg); color: var(--ink); font: 400 16px/1.5 Manrope, Arial, sans-serif; box-shadow: none; }
.form-field select { color-scheme: dark; padding-right: 32px; }
.form-field textarea { min-height: 160px; resize: vertical; }
.form-field input:disabled, .form-field select:disabled, .form-field textarea:disabled { opacity: .7; }
.form-field input:user-invalid, .form-field select:user-invalid, .form-field textarea:user-invalid { border-color: var(--error); }
.field-help { margin-top: -2px; font-size: 12px; }
.quote-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.inquiry-privacy { margin-top: 24px; }
.inquiry-privacy a { display: inline-flex; align-items: center; min-height: 44px; margin-left: 6px; text-decoration: underline; text-underline-offset: 4px; }
.inquiry-privacy a:hover { color: var(--ink); }
.inquiry-submit { min-width: 220px; margin-top: 20px; }
.form-status { min-height: 1.7em; margin-top: 18px; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.form-status[data-state=success] { color: var(--accent); }
.form-status[data-state=error] { color: var(--error); }

/* Printable capability overview. */
.cs-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 24px var(--pad); border-bottom: 1px solid var(--line); color: var(--muted); }
.cs-print { min-height: 44px; padding: 10px 18px; }
.cs-sheet { max-width: 850px; margin: 48px auto 72px; padding: 48px; background: #fbfaf6; color: #151a13; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.cs-sheet :focus-visible { outline-color: #304326; }
.cs-sheet a { text-decoration: underline; text-underline-offset: 3px; }
.cs-sheet p + p { margin-top: 12px; }
.cs-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid #6e776a; }
.cs-top h1 { font-size: 36px; line-height: 1.08; letter-spacing: -.035em; }
.cs-top > p { font-size: 13px; }
.cs-company { margin-top: 12px; font-weight: 600; }
.cs-block { padding: 20px 0; border-bottom: 1px solid #cdcfc5; }
.cs-block h2 { color: #4e5c42; margin-bottom: 12px; }
.cs-block ul { margin: 0; padding-left: 18px; }
.cs-block li + li { margin-top: 8px; }
.cs-block li::marker { color: #4e5c42; }
.cs-foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #6e776a; color: #4e5c42; font-size: 12px; }

/* Public footer. */
.site-footer { padding: 56px var(--pad) 28px; background: #0b0d0c; }
.footer-main { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,9fr); align-items: start; gap: var(--gap); padding-bottom: 48px; }
.footer-identity { min-width: 0; }
.footer-main p { max-width: 400px; margin-top: 20px; color: var(--muted); font-size: 15px; }
.footer-brand { font-size: 26px; }
.footer-brand .brand-icon { width: 32px; height: 32px; }
.footer-email { display: flex; flex-direction: column; align-items: start; gap: 12px; }
.footer-email > span { color: var(--muted); font-size: 13px; }
.footer-email > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 26px; letter-spacing: -.025em; overflow-wrap: anywhere; }
.footer-email > a:hover { text-decoration: underline; text-underline-offset: 6px; }
.footer-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.footer-nav > nav, .footer-nav > div { min-width: 0; display: flex; flex-direction: column; align-items: start; }
.footer-nav h2 { margin-bottom: 16px; color: var(--muted); font: 11px/1.65 var(--mono); text-transform: uppercase; letter-spacing: .04em; }
.footer-nav a { max-width: 100%; overflow-wrap: anywhere; display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); font-size: 14px; line-height: 1.5; }
.footer-nav a:hover { color: var(--accent); }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding-top: 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }

/* Private inbox and receipt-page rules are preserved from the working site. */
.inbox-shell{max-width:1180px;padding:80px 32px;margin:auto;min-height:100svh}.inbox-brand{font:12px var(--mono);letter-spacing:.08em;color:var(--accent)}.inbox-shell h1{font-size:clamp(40px,6vw,72px);letter-spacing:-.05em;margin:60px 0 24px}.inbox-shell>p,.inbox-heading p{max-width:650px;color:var(--muted);font-size:14px;line-height:1.8}.inbox-action{display:inline-flex;padding:16px 22px;border:1px solid var(--line);font-size:13px;margin:24px 0}.inbox-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.inbox-heading h1{margin-top:25px}.inbox-list{margin-top:40px}.inbox-item{border-top:1px solid var(--line);padding:32px 0}.inbox-meta{display:flex;justify-content:space-between;gap:20px;font:10px var(--mono);color:var(--muted)}.inbox-meta strong{color:var(--accent)}.inbox-item h2{font-size:24px;margin:22px 0 12px}.inbox-item>a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.inbox-item>p{font-size:13px;line-height:1.8;margin-top:18px}.inbox-message{white-space:pre-wrap;overflow-wrap:anywhere;max-width:850px}.inbox-reference{font-size:9px!important;color:var(--muted)}.privacy-shell{max-width:850px}.privacy-shell>p{margin:24px 0}@media(max-width:760px){.inbox-shell{padding:48px 24px}.inbox-heading,.inbox-meta{display:block}.inbox-meta time{display:block;margin-top:12px}.inbox-item h2{font-size:21px}}

.inbox-actions{display:flex;flex-wrap:wrap;gap:12px}.inbox-actions .inbox-action{margin:12px 0}

/* Tablet: the complete primary navigation stays available. */
@media (max-width: 1050px) {
  :root { --gap: 32px; }
  .site-header { gap: 28px; }
  .desktop-nav { gap: 24px; }
  .desktop-nav .nav-contact { padding-inline: 16px; }
  .home-hero-heading { grid-template-columns: minmax(0,7fr) minmax(0,5fr); }
  .home-hero-copy > p { font-size: 17px; }
  .home-section-heading { grid-template-columns: minmax(0,1fr) auto; gap: 20px; }
  .home-section-heading .section-eyebrow { grid-column: 1 / -1; margin: 0; }
  .system-dossier { grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 32px; }
  .system-dossier > aside { grid-column: 2; }
  .reference-index > li > a, .reference-index > article > a { grid-template-columns: minmax(0,4fr) minmax(0,7fr); }
}

@media (max-width: 960px) {
  .passive-feature, .passive-operations { grid-template-columns: 1fr; }
  .passive-evidence-row { grid-template-columns: minmax(0,4fr) minmax(0,7fr); gap: 24px; }
  .passive-evidence-row .passive-source-link { grid-column: 2; }
}

/* Phone: preserve source order, readable media, and native form targets. */
@media (max-width: 760px) {
  :root { --section-space: 48px; --section-small: 48px; --intro-space: 40px; --gap: 28px; }
  .site-header { min-height: 76px; gap: 24px; }
  .brand { font-size: 27px; gap: 10px; }
  .brand-icon { width: 32px; height: 32px; }
  .desktop-nav { display: none; }
  .menu-toggle { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 44px; height: 48px; margin-left: auto; padding: 4px; border: 0; background: transparent; }
  .menu-toggle span { width: 23px; height: 1px; background: var(--ink); }
  .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-nav:not([hidden]) { display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; padding: 12px 24px 24px; border-bottom: 1px solid var(--line); background: var(--bg); }
  .mobile-nav a { display: flex; align-items: center; min-height: 52px; padding: 14px 0; border-bottom: 1px solid var(--line); font: 13px/1.5 var(--mono); text-transform: uppercase; letter-spacing: .025em; }
  .mobile-nav a[aria-current=page], .mobile-nav .nav-contact { color: var(--accent); }
  .breadcrumbs { padding-block: 12px; }
  .home-hero-heading { grid-template-columns: 1fr; gap: 28px; padding-bottom: 32px; }
  .home-hero h1 { font-size: clamp(48px,10.8vw,76px); line-height: 1.02; }
  .home-hero-copy { max-width: 520px; }
  .home-hero-copy > p { font-size: 17px; }
  .home-hero-meta { display: block; padding-block: 16px; }
  .home-hero-meta > :not(:first-child) { margin-top: 6px; }
  .home-section-heading { display: block; margin-bottom: 32px; }
  .home-section-heading .section-eyebrow { margin-bottom: 16px; }
  .home-section-heading > .line-link { margin-top: 16px; }
  .home-system-grid, .system-gallery { grid-template-columns: 1fr; gap: 40px; }
  .home-system-copy { padding-top: 20px; }
  .home-system-copy h3, .gallery-title h2 { font-size: 26px; }
  .home-system-copy p { font-size: 16px; }
  .home-purpose { grid-template-columns: 1fr; }
  .home-purpose p:not(.section-eyebrow) { font-size: 17px; }
  .page-summary { font-size: 17px; margin-top: 24px; }
  .section-links { display: flex; flex-direction: column; gap: 0; margin-top: 28px; padding-top: 16px; }
  .section-links > a { width: 100%; }
  .section-head > p:not(.section-eyebrow), .scoping-heading > p:not(.section-eyebrow) { font-size: 17px; }
  .project-contact { display: block; padding-block: 32px; }
  .project-contact > .line-link { margin-top: 20px; }
  .project-contact h2 { font-size: 26px; }
  .system-detail, .system-dossier, .system-uses, .solution-story, .company-statement, .company-faq, .faq-group { display: grid; grid-template-columns: 1fr; }
  .system-feature { display: block; }
  .system-dossier { margin-top: 32px; }
  .system-dossier > aside { grid-column: auto; }
  .attributes > div { grid-template-columns: minmax(88px,1fr) minmax(0,2fr); gap: 16px; }
  .gallery-title { margin-top: 20px; }
  .system-gallery article > p { font-size: 16px; }
  .solution-copy .lead { font-size: 17px; }
  .planning-grid { grid-template-columns: 1fr; gap: 28px; margin-top: 32px; }
  .company-statement p { font-size: 17px; }
  .faq-group > h2 { margin-bottom: 0; }
  .questions summary { font-size: 16px; }
  .questions details > p { padding-right: 12px; }
  .protection-roles > div, .term { grid-template-columns: 1fr; gap: 16px; }
  .passive-signal, .passive-section-heading, .passive-veil, .passive-sources, .passive-role-list > div, .passive-evidence-row { grid-template-columns: 1fr; gap: 20px; }
  .passive-signal { padding-block: 32px; }
  .passive-evidence-row .passive-source-link { grid-column: auto; }
  .passive-evidence-row { padding-block: 28px; }
  .passive-role-list > div { padding-block: 22px; }
  .passive-role-list dt { font-size: 22px; }
  .passive-role-list dd { font-size: 16px; }
  .passive-layer-note .line-link { flex: 0 1 auto; }
  .passive-status { margin-bottom: 10px; }
  .passive-source-link { justify-content: flex-start; }
  .passive-sources ol { margin-top: 8px; }
  .data-table { font-size: 14px; }
  .reference-index > li > a, .reference-index > article > a { grid-template-columns: 1fr; gap: 24px; padding-block: 32px; }
  .reference-copy h2 { font-size: 28px; }
  .reference-copy > p:not(.reference-meta) { font-size: 16px; }
  .article-body { margin-top: 32px; font-size: 17px; }
  .article-body h2 { margin-top: 36px; font-size: 28px; }
  .privacy-content p { font-size: 17px; }
  .contact { grid-template-columns: 1fr; gap: 40px; }
  .contact-intro > p:not(.section-eyebrow) { margin-top: 24px; }
  .inquiry-fields, .quote-fields { grid-template-columns: 1fr; }
  .inquiry-submit { width: 100%; }
  .inquiry-privacy a { margin-left: 0; }
  .cs-toolbar { padding-block: 20px; }
  .cs-sheet { margin: 24px 0 48px; padding: 32px 24px; font-size: 14px; }
  .cs-top { flex-direction: column; align-items: flex-start; }
  .cs-top h1 { font-size: 32px; }
  .site-footer { padding-top: 40px; }
  .footer-main { display: block; padding-bottom: 32px; }
  .footer-email { margin-top: 28px; gap: 8px; }
  .footer-email > a { font-size: 22px; }
  .footer-nav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 32px; }
  .footer-nav > :last-child { grid-column: 1 / -1; }
  .footer-nav h2 { margin-bottom: 10px; }
  .footer-nav a { font-size: 13px; }
  .footer-bottom { font-size: 11px; }
}

@media print {
  @page { size: Letter; margin: .5in; }
  :root { --pad: 0px; --ink: #000; --muted: #333; --line: #bbb; --accent: #333; --bg: #fff; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .site-header, .site-footer, .skip-link, .breadcrumbs, .system-nav, .project-contact, .cs-toolbar, .hero-actions, .home-hero-actions, .contact-form { display: none !important; }
  .home-hero, .home-systems, .home-purpose, .page-intro, .system-detail, .system-uses, .company-statement, .company-faq, .contact { display: block; padding: 24px 0; }
  .home-hero-heading, .system-dossier, .system-gallery, .solution-story { display: block; }
  .home-hero h1, .page-intro h1, .contact h1 { font-size: 36pt; }
  .solution-story, .system-gallery article, .cs-block { break-inside: avoid; }
  .system-gallery article { margin-bottom: 24px; }
  .scoping-section { background: #fff; color: #000; }
  .passive-feature, .passive-signal, .passive-operations, .passive-veil, .passive-sources, .passive-section-heading, .passive-role-list > div { display: block; }
  .passive-feature, .passive-signal, .passive-evidence, .passive-layers, .passive-operations, .passive-veil, .passive-sources { padding: 24px 0; }
  .passive-layers { background: #fff; color: #000; }
  .passive-page .section-links { display: none; }
  .passive-feature-copy, .passive-operations-media { margin-top: 24px; }
  .passive-evidence-row, .passive-role-list > div, .passive-limits { break-inside: avoid; }
  .cs-sheet { max-width: none; margin: 0; padding: 0; font-size: 11.5px; background: #fff; color: #000; }
  .cs-sheet p { line-height: 1.5; }
  .cs-block { padding-block: 12px; }
  .cs-foot { font-size: 9px; }
}
