:root {
  --bg: #F4F7F8;
  --bg-alt: #EDF2F4;
  --surface: #FFFFFF;
  --ink: #0B1825;
  --secondary: #52616B;
  --muted: #687781;
  --authority: #142B38;
  --border: #D4DDE2;
  --border-subtle: #E3E9EC;
  --blue: #215DFF;
  --blue-hover: #174ED1;
  --evidence: #278E8C;
  --evidence-light: #E3F4F2;
  --human: #A85A32;
  --human-light: #F5E9E2;
  --on-dark: #F4F8FA;
  --muted-dark: #BCC9CF;
  --shell: min(1280px, calc(100% - 56px));
  --sans: Inter, "Noto Sans SC", "Noto Sans Arabic", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  --ease-out: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 78px; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.62;
  font-weight: 400;
}
body.menu-open, body.signin-open, body.report-open { overflow: hidden; }
html[lang^="zh"] body { font-family: "Noto Sans SC", Inter, ui-sans-serif, system-ui, sans-serif; }
html[lang="ar"] body { font-family: "Noto Sans Arabic", Inter, ui-sans-serif, system-ui, sans-serif; }
a { color: inherit; }
button, input { font: inherit; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
.shell { width: var(--shell); margin-inline: auto; }
.mono {
  font-family: var(--mono);
  font-size: 12.5px;
  line-height: 1.46;
  letter-spacing: .065em;
}

:focus-visible {
  outline: 3px solid rgba(33, 93, 255, .32);
  outline-offset: 3px;
}
.skip-link {
  position: fixed;
  inset-block-start: 12px;
  inset-inline-start: 16px;
  z-index: 100;
  padding: 10px 14px;
  border-radius: 5px;
  background: var(--ink);
  color: white;
  transform: translateY(-160%);
  transition: transform 160ms var(--ease-out);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(244, 247, 248, .86);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(8px);
  transition: background-color 200ms ease, border-color 200ms ease, backdrop-filter 200ms ease;
}
.site-header.is-scrolled {
  background: rgba(244, 247, 248, .97);
  border-bottom-color: var(--border);
  backdrop-filter: blur(12px);
}
.header-inner {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.wordmark {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  text-decoration: none;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.035em;
  white-space: nowrap;
}
.wordmark span { color: var(--blue); font-size: 13px; letter-spacing: .04em; }
.brand-link { display: inline-flex; align-items: center; flex: 0 0 auto; text-decoration: none; }
.brand-logo { display: block; max-width: 100%; height: auto; object-fit: contain; }
.brand-logo-header { width: 210px; margin-block: -24px; }
.brand-logo-footer { width: 220px; margin-block: -34px; }
.brand-logo-report { width: 178px; margin-block: -28px; }
.desktop-nav { margin-inline-start: auto; display: flex; align-items: center; gap: 28px; }
.desktop-nav a, .nav-control {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border: 0;
  background: none;
  padding: 10px 0;
  text-decoration: none;
  font-size: 15px;
  font-weight: 550;
  letter-spacing: 0;
  cursor: pointer;
  transition: color 160ms ease;
}
.desktop-nav a:hover, .desktop-nav a:focus-visible, .nav-control:hover, .nav-control:focus-visible { color: var(--blue); }
.header-actions { display: flex; align-items: center; gap: 18px; }
.language-control { position: relative; }
.language-menu {
  position: absolute;
  inset-inline-end: 0;
  top: 48px;
  width: 168px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--surface);
  box-shadow: 0 14px 30px rgba(11, 24, 37, .10);
}
.language-menu button {
  display: block;
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  padding: 10px 12px;
  text-align: start;
  cursor: pointer;
}
.language-menu button:hover, .language-menu button:focus-visible, .language-menu button[aria-checked="true"] { background: #E8EEFF; color: var(--blue); }
.button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 11px 18px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 650;
  cursor: pointer;
  transition: transform 160ms ease, background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--blue); color: white; }
.button-primary:hover, .button-primary:focus-visible { background: var(--blue-hover); }
.button-secondary { background: transparent; color: var(--ink); border-color: var(--border); }
.button-secondary:hover, .button-secondary:focus-visible { border-color: var(--ink); }
.header-cta { min-height: 42px; padding: 9px 15px; }
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0 10px;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 6px;
  cursor: pointer;
}
.menu-toggle span { display: block; height: 1px; background: var(--ink); margin: 6px 0; transition: transform 180ms ease; }
.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); }

.hero { padding: 72px 0 0; border-bottom: 1px solid var(--border); overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: start; }
.hero-copy { grid-column: 1 / span 7; padding: 26px 0 68px; }
.eyebrow, .section-number {
  margin: 0 0 22px;
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.46;
  font-weight: 500;
  letter-spacing: .075em;
  text-transform: uppercase;
  color: var(--blue);
}
h1 {
  max-width: 760px;
  margin-bottom: 24px;
  font-size: clamp(48px, 5vw, 60px);
  line-height: 1.04;
  letter-spacing: -.035em;
  font-weight: 640;
}
.hero-lede {
  max-width: 68ch;
  margin-bottom: 32px;
  color: var(--secondary);
  font-size: 18px;
  line-height: 1.64;
}
.hero-actions { display: flex; align-items: center; gap: 26px; }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 8px 0;
  color: var(--ink);
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  font-size: 15px;
  font-weight: 600;
  transition: color 170ms ease;
}
.text-link span { transition: transform 180ms ease; }
.text-link:hover, .text-link:focus-visible { color: var(--blue); }
.text-link:hover span, .text-link:focus-visible span { transform: translateX(3px); }
.principle { display: flex; align-items: center; gap: 10px; margin: 30px 0 0; font-size: 14px; font-weight: 600; }
.principle span { position: relative; width: 22px; height: 3px; background: var(--evidence); }
.principle span::after { content: ""; position: absolute; inset-block: 0; inset-inline-end: 0; width: 50%; background: var(--human); }
.requirement-index { grid-column: 9 / span 4; border-top: 2px solid var(--ink); padding-top: 14px; }
.index-rule { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--border); color: var(--muted); }
.index-item { padding: 24px 0 18px 20px; border-inline-start: 2px solid var(--blue); transition: opacity 220ms ease, border-color 180ms ease; }
.index-number { color: var(--blue); font-weight: 600; }
.index-item h2 { margin: 13px 0 28px; font-size: 26px; line-height: 1.2; letter-spacing: -.025em; font-weight: 600; }
.index-item dl { margin: 0; }
.index-item dl div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-top: 1px solid var(--border); }
.index-item dt { color: var(--secondary); font-size: 13px; }
.index-item dd { margin: 0; font-size: 14px; font-weight: 550; }
.signal { display: inline-block; width: 8px; height: 8px; margin-inline-end: 8px; border-radius: 50%; }
.signal-evidence { background: var(--evidence); }
.signal-human { background: var(--human); }
.human-status, .review-owner { color: #874625; }
.index-queue { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 10px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); color: var(--muted); }
.index-queue button { min-width: 0; min-height: 44px; padding: 10px 4px; border: 0; text-align: center; border-inline-end: 1px solid var(--border); background: transparent; color: inherit; font: inherit; letter-spacing: 0; cursor: pointer; }
.index-queue button:last-child { border-inline-end: 0; }
.index-queue [aria-current="true"] { color: var(--blue); background: #E8EEFF; font-weight: 600; }

.workspace-preview {
  position: relative;
  isolation: isolate;
  grid-column: 1 / -1;
  background: var(--surface);
  border: 1px solid var(--border);
  border-bottom: 0;
  border-radius: 7px 7px 0 0;
  box-shadow: 0 18px 46px rgba(11, 24, 37, .07);
}
.workspace-preview::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -84px 7% -12px;
  background: radial-gradient(circle at 50% 54%, rgba(39, 142, 140, .075), rgba(33, 93, 255, .03) 38%, transparent 72%);
  pointer-events: none;
}
.workspace-bar { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.workspace-bar > div:first-child { display: flex; align-items: baseline; gap: 20px; }
.workspace-label { color: var(--muted); }
.workspace-bar strong { font-size: 16px; }
.workspace-state { font-size: 13px; font-weight: 600; color: #874625; transition: color 180ms ease; }
.workspace-flow { display: grid; grid-template-columns: 1.25fr 42px 1.1fr 42px 1.05fr 42px 1.05fr 42px 1fr; padding: 22px 18px 20px; min-height: 224px; }
.flow-record {
  position: relative;
  padding: 18px;
  border: 1px solid var(--border);
  background: #FAFCFC;
  transition: opacity 220ms ease, border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}
.flow-record:focus-visible, .flow-record:hover { border-color: var(--blue); background: white; transform: translateY(-1px); }
.record-step { display: block; color: var(--muted); }
.record-id { display: block; margin-top: 22px; color: var(--blue); font-weight: 600; }
.flow-record h3 { margin: 10px 0 16px; font-size: 16px; line-height: 1.42; font-weight: 600; }
.flow-record p { margin: 0; color: var(--secondary); font-size: 13px; line-height: 1.5; }
.evidence-record { border-top: 3px solid var(--evidence); }
.review-record { border-top: 3px solid var(--human); }
.evidence-line { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px solid var(--border); }
.evidence-line:last-child { border-bottom: 0; }
.evidence-line span { color: #1F716F; }
.evidence-line strong { font-size: 13px; }
.evidence-line em { color: var(--secondary); font-size: 12px; font-style: normal; }
.review-owner { color: #874625 !important; }
.flow-connector { display: grid; place-items: center; color: var(--muted); transition: opacity 220ms ease; }
.flow-connector span { display: block; position: relative; width: 100%; height: 1px; background: var(--border); transition: background-color 200ms ease; }
.flow-connector span::after { content: ""; position: absolute; inset-inline-end: -1px; top: -3px; width: 7px; height: 7px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.workspace-preview.trace-active .evidence-connector { color: var(--evidence); }
.workspace-preview.trace-active .review-connector { color: var(--human); }
.workspace-preview.trace-active .risk-connector, .workspace-preview.trace-active .output-connector { color: var(--blue); }
.workspace-preview.trace-active .flow-connector span { background: currentColor; }
.workspace-preview.trace-active .requirement-record, .workspace-preview.trace-active .risk-record, .workspace-preview.trace-active .output-record { border-color: rgba(33, 93, 255, .55); }
.workspace-preview.trace-active .evidence-record { border-color: rgba(39, 142, 140, .72); }
.workspace-preview.trace-active .review-record { border-color: rgba(168, 90, 50, .72); }
.workspace-foot { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 8px 18px; border-top: 1px solid var(--border); background: #F8FAFA; }
.workspace-foot span { color: var(--muted); }
.workspace-foot button { min-height: 44px; border: 0; background: none; color: var(--blue); font-size: 13px; font-weight: 600; cursor: pointer; transition: color 160ms ease; }
.workspace-foot button:hover { color: var(--blue-hover); }

.process-section, .capabilities-section, .output-section, .governance-section { padding: 112px 0; }
.section-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.section-heading { grid-column: 1 / span 5; }
.section-heading h2, .authority-section h2, .cta-grid h2 {
  margin: 0;
  font-size: clamp(38px, 3.6vw, 44px);
  line-height: 1.11;
  letter-spacing: -.025em;
  font-weight: 620;
}
.process-trace { grid-column: 7 / -1; position: relative; padding-inline-start: 46px; }
.trace-line { position: absolute; inset-inline-start: 12px; top: 13px; bottom: 22px; width: 1px; background: var(--border); transform-origin: top; }
.trace-line::before { content: ""; position: absolute; top: 0; inset-inline-start: -3px; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.trace-stage { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: baseline; gap: 10px; padding: 0 0 25px; }
.trace-stage::before { content: ""; position: absolute; inset-inline-start: -37px; top: 8px; width: 10px; height: 1px; background: var(--border); }
.trace-stage span { color: var(--muted); }
.trace-stage strong { font-size: 17px; font-weight: 600; }
.trace-stage small { color: var(--secondary); font-size: 13px; }
.trace-stage.evidence-stage strong { color: #1F716F; }
.trace-stage.human-stage { margin: 0 -18px 25px; padding: 16px 18px; border: 1px solid rgba(168, 90, 50, .42); background: var(--human-light); }
.trace-stage.human-stage::before { inset-inline-start: -19px; background: var(--human); }
.trace-stage.human-stage strong { color: #874625; }

.capabilities-section { background: var(--bg-alt); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.capability-heading { max-width: 700px; margin-bottom: 56px; }
.capability-rows { border-top: 2px solid var(--ink); }
.capability-row { display: grid; grid-template-columns: 72px 1.3fr 1fr; gap: 34px; align-items: center; padding: 36px 0; border-bottom: 1px solid var(--border); transition: transform 180ms ease, border-color 180ms ease; }
.capability-row:hover { transform: translateY(-1px); border-bottom-color: #B9C6CD; }
.capability-number { color: var(--muted); }
.capability-row h3 { margin-bottom: 9px; font-size: 28px; line-height: 1.2; letter-spacing: -.025em; font-weight: 600; }
.capability-row p { max-width: 68ch; margin-bottom: 0; color: var(--secondary); font-size: 17px; line-height: 1.62; }
.capability-detail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--border); background: var(--surface); }
.capability-detail > * { min-height: 48px; display: grid; place-items: center; border-inline-end: 1px solid var(--border); font-size: 13px; }
.capability-detail > *:last-child { border-inline-end: 0; }
.capability-detail .mono { grid-column: 1 / -1; min-height: 34px; border-inline-end: 0; border-bottom: 1px solid var(--border); color: var(--muted); }
.capability-detail strong { color: var(--blue); }
.evidence-detail strong { color: #1F716F; }
.human-detail strong { color: #874625; }

.authority-section { padding: 80px 0; background: var(--authority); color: var(--on-dark); }
.authority-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.authority-grid > div:first-child { grid-column: 1 / span 6; }
.authority-section .section-number { color: var(--muted-dark); }
.authority-section h2 { max-width: 680px; }
.authority-copy { grid-column: 8 / -1; padding-top: 42px; }
.authority-copy > p { color: var(--muted-dark); font-size: 17px; }
.authority-checkpoint { display: grid; grid-template-columns: 5px minmax(0, 1fr); gap: 18px; align-items: stretch; margin-top: 24px; }
.checkpoint-mark { background: var(--human); transform-origin: top; }
.authority-checkpoint p { margin: 0; font-size: 21px; line-height: 1.45; font-weight: 550; }

.output-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: start; }
.output-heading { grid-column: 1 / span 4; position: sticky; top: 110px; }
.output-heading > p:last-child { margin-top: 26px; color: #874625; font-weight: 600; }
.decision-package { grid-column: 6 / -1; border: 1px solid var(--border); background: var(--surface); box-shadow: 0 16px 42px rgba(11, 24, 37, .06); transition: transform 180ms ease, border-color 180ms ease; }
.decision-package:hover { transform: translateY(-1px); border-color: #B9C6CD; }
.decision-package header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 28px; border-bottom: 1px solid var(--border); }
.decision-package header .mono { color: var(--muted); }
.decision-package h3 { margin: 8px 0 0; font-size: 25px; line-height: 1.2; letter-spacing: -.025em; font-weight: 600; }
.package-status { padding-inline-start: 15px; border-inline-start: 3px solid var(--human); color: #874625; font-size: 13px; font-weight: 600; }
.package-fields { margin: 0; }
.package-fields div { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 28px; padding: 22px 28px; border-bottom: 1px solid var(--border); }
.package-fields dt { color: var(--secondary); font-size: 13px; }
.package-fields dd { margin: 0; font-size: 15px; font-weight: 550; }
.evidence-text { color: #1F716F; }
.decision-package footer { display: flex; justify-content: space-between; gap: 20px; padding: 18px 28px; background: #F8FAFA; }
.decision-package footer span { color: var(--muted); }
.decision-package footer strong { color: #874625; font-size: 13px; }

.governance-section { background: var(--bg-alt); border-top: 1px solid var(--border); }
.governance-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.governance-heading { grid-column: 1 / span 5; }
.boundary-list { grid-column: 7 / -1; border-top: 2px solid var(--ink); }
.boundary-list > div { display: grid; grid-template-columns: 48px 1.1fr 1.4fr; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--border); }
.boundary-list .mono { color: var(--muted); }
.boundary-list strong { font-size: 16px; }
.boundary-list p { margin: 0; color: var(--secondary); font-size: 14px; }
.boundary-list .boundary-stop { border-bottom-color: rgba(168, 90, 50, .52); }
.boundary-stop strong { color: #874625; }

.cta-section { padding: 82px 0; border-top: 1px solid var(--border); }
.cta-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: center; }
.cta-grid h2 { grid-column: 1 / span 8; max-width: 880px; }
.cta-actions { grid-column: 10 / -1; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.site-footer { padding: 44px 0; background: #E5EBED; border-top: 1px solid var(--border); }
.footer-grid { display: grid; grid-template-columns: 1.2fr 2fr auto; gap: 40px; align-items: start; }
.footer-grid p { margin: 8px 0 0; color: var(--secondary); font-size: 14px; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.site-footer nav a, .site-footer nav button { min-height: 36px; padding: 2px 0; border: 0; background: none; color: var(--secondary); text-decoration: none; font-size: 13px; cursor: pointer; transition: color 160ms ease; }
.site-footer nav a:hover, .site-footer nav button:hover { color: var(--blue); }
.footer-note { color: var(--muted); text-align: end; }
.footer-links { min-width: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.footer-links nav { display: grid; align-content: start; gap: 4px; }
.footer-links a { min-width: 0; overflow-wrap: anywhere; }
.footer-links nav > strong { margin-bottom: 6px; color: #88a5c8; font-size: 11px; letter-spacing: .1em; }

.legal-hero { padding: 72px 0 42px; background: #f3f6fa; border-bottom: 1px solid var(--border); }
.legal-shell { max-width: 940px; }
.legal-hero h1 { max-width: 780px; margin: 14px 0 16px; font-size: clamp(42px, 6vw, 68px); line-height: 1.04; letter-spacing: -.045em; }
.legal-hero .hero-lede { max-width: 690px; margin: 0; color: var(--secondary); font-size: 18px; line-height: 1.65; }
.legal-anchor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin-top: 38px; border-top: 1px solid var(--border); }
.legal-anchor a { padding: 13px 0; border-bottom: 1px solid var(--border); color: #355b84; text-decoration: none; font-size: 14px; }
.legal-anchor a:hover { color: var(--blue); }
.legal-body { padding-top: 42px; padding-bottom: 80px; }
.legal-body > section { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 18px; padding: 30px 0; border-bottom: 1px solid var(--border); scroll-margin-top: 100px; }
.legal-body > section > .mono { padding-top: 6px; color: #6d84a0; font-size: 12px; }
.legal-body h2 { margin: 0 0 12px; font-size: clamp(22px, 3vw, 30px); line-height: 1.2; }
.legal-copy { max-width: 72ch; color: var(--secondary); font-size: 16px; line-height: 1.75; }
.legal-copy a { color: var(--blue); }
.legal-copy .faq-list { max-width: none; margin-top: 8px; }
.legal-copy .faq-list p { font-size: 15px; }
.not-found { min-height: calc(100vh - 250px); display: grid; align-items: center; padding: 80px 0; background: #f3f6fa; }
.not-found h1 { max-width: 760px; margin: 16px 0; font-size: clamp(44px, 7vw, 74px); line-height: 1.02; letter-spacing: -.05em; }
.not-found p:not(.eyebrow) { color: var(--secondary); font-size: 18px; }
.not-found nav { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

.carousel-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: var(--muted);
}
.workspace-foot .carousel-controls,
.decision-package footer .carousel-controls { margin-top: 0; margin-inline-start: auto; }
.carousel-control {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 44px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}
.carousel-control:hover, .carousel-control:focus-visible { border-color: var(--blue); color: var(--blue); background: #F8FAFF; }
.carousel-status { min-width: 52px; text-align: center; color: var(--muted); font-family: var(--mono); font-size: 12.5px; letter-spacing: .05em; }
.carousel-item { transition: opacity 220ms ease, transform 220ms ease, border-color 180ms ease, background-color 180ms ease; }
.carousel-item:not(.is-carousel-current) { opacity: .72; }
.carousel-item.is-carousel-current { opacity: 1; }
.index-item.is-switching { opacity: 0; transform: translateY(4px); }
.flow-record.is-carousel-current { transform: translateY(-1px); border-color: var(--blue); background: var(--surface); }
.evidence-record.is-carousel-current { border-color: var(--evidence); }
.review-record.is-carousel-current { border-color: var(--human); }
.workspace-preview[data-carousel-step="0"] .flow-connector { opacity: .25; }
.workspace-preview[data-carousel-step="1"] .evidence-connector,
.workspace-preview[data-carousel-step="2"] .evidence-connector,
.workspace-preview[data-carousel-step="2"] .risk-connector,
.workspace-preview[data-carousel-step="3"] .evidence-connector,
.workspace-preview[data-carousel-step="3"] .risk-connector,
.workspace-preview[data-carousel-step="3"] .review-connector,
.workspace-preview[data-carousel-step="4"] .flow-connector { opacity: 1; }
.workspace-preview[data-carousel-step="1"] .risk-connector,
.workspace-preview[data-carousel-step="1"] .review-connector,
.workspace-preview[data-carousel-step="1"] .output-connector,
.workspace-preview[data-carousel-step="2"] .review-connector,
.workspace-preview[data-carousel-step="2"] .output-connector,
.workspace-preview[data-carousel-step="3"] .output-connector { opacity: .25; }
.trace-stage.is-carousel-current,
.capability-row.is-carousel-current,
.package-fields > div.is-carousel-current,
.boundary-list > div.is-carousel-current { background: rgba(33, 93, 255, .045); }
.trace-stage.evidence-stage.is-carousel-current { background: var(--evidence-light); }
.trace-stage.human-stage.is-carousel-current { background: var(--human-light); }
.capability-row:nth-of-type(2).is-carousel-current { background: rgba(39, 142, 140, .055); }
.capability-row:nth-of-type(3).is-carousel-current,
.boundary-stop.is-carousel-current { background: rgba(168, 90, 50, .055); }
.capability-rows > .carousel-controls,
.boundary-list > .carousel-controls { display: flex; justify-content: flex-end; }
.boundary-list > .carousel-controls { grid-template-columns: none; gap: 8px; padding: 16px 0 0; border-bottom: 0; }
.decision-package footer { flex-wrap: wrap; }

.signin-dialog { width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 24px); margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--ink); box-shadow: 0 30px 80px rgba(11, 24, 37, .24); }
.signin-dialog::backdrop { background: rgba(11, 24, 37, .55); backdrop-filter: blur(3px); }
.signin-panel { display: grid; padding: 0; }
.signin-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 24px 18px; border-bottom: 1px solid var(--border); }
.signin-panel header .mono, .step-label { color: var(--muted); }
.signin-panel h2 { margin: 8px 0 0; font-size: 27px; line-height: 1.2; letter-spacing: -.025em; font-weight: 600; }
.dialog-close { width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border: 1px solid var(--border); border-radius: 6px; background: transparent; font-size: 27px; cursor: pointer; transition: border-color 160ms ease, color 160ms ease; }
.dialog-close:hover { border-color: var(--ink); }
.concept-notice { margin: 0; padding: 10px 24px; background: #E8EEFF; color: var(--blue-hover); font-size: 13px; font-weight: 600; }
.signin-step { min-height: 0; display: grid; align-content: center; gap: 12px; padding: 18px 24px; }
.signin-step label { min-width: 0; display: grid; gap: 4px; font-size: 14px; font-weight: 600; }
.signin-step input { width: 100%; min-width: 0; min-height: 44px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 5px; background: white; color: var(--ink); font-size: 16px; transition: border-color 160ms ease, box-shadow 160ms ease; }
.signin-step input:focus { outline: 0; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(33, 93, 255, .18); }
.signin-step h3 { margin: 0; font-size: 23px; line-height: 1.2; font-weight: 600; }
.signin-step p { margin-bottom: 0; color: var(--secondary); }
.signin-secondary-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 14px; }
.recovery-link { min-height: 44px; display: inline-flex; align-items: center; justify-content: flex-start; padding: 0; border: 0; background: none; color: var(--blue); text-decoration: none; cursor: pointer; }
.signin-panel > footer { display: flex; justify-content: space-between; gap: 16px; padding: 11px 24px; border-top: 1px solid var(--border); color: var(--secondary); font-size: 12.5px; }
.toast { position: fixed; inset-inline-end: 24px; bottom: 24px; z-index: 80; max-width: 380px; padding: 14px 16px; background: var(--ink); color: white; border-radius: 6px; box-shadow: 0 12px 30px rgba(11, 24, 37, .22); font-size: 14px; }

/* Motion is added only after JavaScript confirms the user's preference. */
.js-motion .hero-copy > .eyebrow,
.js-motion .hero-copy > h1,
.js-motion .hero-copy > .hero-lede,
.js-motion .hero-copy > .hero-actions,
.js-motion .hero-copy > .principle,
.js-motion .requirement-index,
.js-motion .workspace-preview {
  opacity: 0;
  transform: translateY(10px);
}
.js-motion .hero.is-visible .hero-copy > .eyebrow,
.js-motion .hero.is-visible .hero-copy > h1,
.js-motion .hero.is-visible .hero-copy > .hero-lede,
.js-motion .hero.is-visible .hero-copy > .hero-actions,
.js-motion .hero.is-visible .hero-copy > .principle,
.js-motion .hero.is-visible .requirement-index,
.js-motion .hero.is-visible .workspace-preview {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 360ms var(--ease-out), transform 360ms var(--ease-out);
}
.js-motion .hero.is-visible .hero-copy > h1 { transition-delay: 55ms; }
.js-motion .hero.is-visible .hero-copy > .hero-lede { transition-delay: 110ms; }
.js-motion .hero.is-visible .hero-copy > .hero-actions { transition-delay: 165ms; }
.js-motion .hero.is-visible .hero-copy > .principle { transition-delay: 220ms; }
.js-motion .hero.is-visible .requirement-index { transition-delay: 165ms; }
.js-motion .hero.is-visible .workspace-preview { transition-delay: 275ms; }
.js-motion .reveal-group { opacity: 0; transform: translateY(14px); }
.js-motion .reveal-group.is-visible { opacity: 1; transform: translateY(0); transition: opacity 360ms var(--ease-out), transform 360ms var(--ease-out); }
.js-motion .process-trace .trace-line { transform: scaleY(0); }
.js-motion .process-trace.is-visible .trace-line { transform: scaleY(1); transition: transform 520ms var(--ease-out) 80ms; }
.js-motion .process-trace .trace-stage { opacity: 0; transform: translateY(10px); }
.js-motion .process-trace.is-visible .trace-stage { opacity: 1; transform: translateY(0); transition: opacity 340ms var(--ease-out), transform 340ms var(--ease-out); transition-delay: calc(110ms + var(--stage-order, 0) * 60ms); }
.js-motion .authority-grid .checkpoint-mark { transform: scaleY(0); }
.js-motion .authority-grid.is-visible .checkpoint-mark { transform: scaleY(1); transition: transform 400ms var(--ease-out) 120ms; }

html[dir="rtl"] .flow-connector span::after { inset-inline-end: auto; inset-inline-start: -1px; transform: rotate(225deg); }

@media (max-width: 1100px) {
  :root { --shell: min(100% - 40px, 980px); }
  .desktop-nav { gap: 18px; }
  .header-actions { gap: 13px; }
  .workspace-flow { grid-template-columns: 1fr 28px 1fr 28px 1fr; }
  .review-connector, .output-connector { display: none; }
  .review-record, .output-record { margin-top: 16px; }
  .review-record { grid-column: 2 / span 1; }
  .output-record { grid-column: 4 / span 1; }
  .capability-row { grid-template-columns: 56px 1fr; }
  .capability-detail { grid-column: 2; }
}

@media (max-width: 900px) {
  .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .desktop-nav, .desktop-only { display: none !important; }
  .menu-toggle { display: block; }
  .mobile-menu { background: var(--surface); border-top: 1px solid var(--border); }
  .mobile-nav { display: grid; padding-top: 18px; padding-bottom: 24px; }
  .mobile-nav > a:not(.button) { min-height: 48px; display: flex; align-items: center; border-bottom: 1px solid var(--border); text-decoration: none; font-weight: 600; }
  .mobile-language { padding: 16px 0; }
  .mobile-language > span { display: block; margin-bottom: 10px; color: var(--secondary); font-size: 13px; }
  .language-options { display: flex; flex-wrap: wrap; gap: 8px; }
  .language-options button { min-width: 48px; min-height: 44px; border: 1px solid var(--border); border-radius: 5px; background: transparent; cursor: pointer; }
  .language-options button.is-active { border-color: var(--blue); color: var(--blue); background: #E8EEFF; }
  .mobile-nav .button { margin-top: 10px; }
  .hero { padding-top: 44px; }
  .hero-copy { grid-column: 1 / span 8; }
  .requirement-index { grid-column: 9 / -1; }
  h1 { font-size: 46px; }
  .workspace-flow { grid-template-columns: 1fr 28px 1fr; }
  .risk-connector { display: none; }
  .risk-record { grid-column: 1; margin-top: 16px; }
  .review-record { grid-column: 3; margin-top: 16px; }
  .output-record { grid-column: 1; margin-top: 16px; }
  .section-heading, .process-trace, .authority-grid > div:first-child, .authority-copy, .output-heading, .decision-package, .governance-heading, .boundary-list { grid-column: 1 / -1; }
  .process-trace, .authority-copy, .decision-package, .boundary-list { margin-top: 52px; }
  .output-heading { position: static; }
  .capability-row { grid-template-columns: 48px 1fr; }
  .boundary-list > div { grid-template-columns: 42px minmax(0, 1fr); }
  .boundary-list p { grid-column: 2; }
  .cta-grid h2 { grid-column: 1 / span 8; }
  .cta-actions { grid-column: 9 / -1; }
  .footer-grid { grid-template-columns: 1fr 2fr; }
  .footer-note { grid-column: 1 / -1; text-align: start; }
}

@media (max-width: 640px) {
  .not-found { min-height: calc(100vh - 210px); padding: 58px 0; }
  .not-found nav { align-items: stretch; flex-direction: column; }
  .legal-hero { padding: 48px 0 30px; }
  .legal-anchor { grid-template-columns: 1fr; margin-top: 28px; }
  .legal-body { padding-top: 18px; padding-bottom: 50px; }
  .legal-body > section { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; padding: 24px 0; }
  .footer-links { grid-template-columns: 1fr 1fr; }
  .brand-logo-header { width: 174px; margin-block: -19px; }
  .brand-logo-footer { width: 190px; margin-block: -28px; }
  :root { --shell: calc(100% - 24px); }
  html { scroll-padding-top: 68px; }
  body { font-size: 16px; line-height: 1.64; }
  .header-inner { min-height: 64px; }
  .hero { padding-top: 24px; }
  .hero-grid { gap: 0; }
  .hero-copy, .requirement-index { grid-column: 1 / -1; }
  .hero-copy { padding: 18px 0 40px; }
  .eyebrow { margin-bottom: 16px; }
  h1 { font-size: clamp(36px, 9vw, 42px); line-height: 1.05; }
  .hero-lede { font-size: 16px; line-height: 1.64; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 8px; }
  .hero-actions .button { width: 100%; }
  .hero-actions .text-link { justify-content: center; min-height: 48px; }
  .principle { margin-top: 22px; }
  .requirement-index { margin-bottom: 28px; }
  .index-item { padding-inline-start: 14px; }
  .index-item h2 { font-size: 23px; }
  .index-item dl div { grid-template-columns: 95px minmax(0, 1fr); }
  .workspace-preview { grid-column: 1 / -1; margin-inline: -12px; border-inline: 0; border-radius: 0; }
  .workspace-preview::before { inset-inline: 0; }
  .workspace-bar { align-items: flex-start; padding: 14px 16px; }
  .workspace-bar > div:first-child { display: grid; gap: 4px; }
  .workspace-state { max-width: 112px; text-align: end; }
  .workspace-flow { position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr); padding: 20px 16px; }
  .workspace-flow::before { content: ""; grid-column: 1; grid-row: 1 / span 5; width: 1px; margin-inline-start: 8px; background: var(--border); }
  .flow-record { grid-column: 2 !important; margin: 0 0 14px !important; padding: 16px; }
  .flow-record::before { content: ""; position: absolute; inset-inline-start: -18px; top: 22px; width: 10px; height: 1px; background: var(--border); }
  .flow-connector { display: none !important; }
  .workspace-foot { align-items: flex-start; flex-direction: column; padding: 12px 16px; }
  .workspace-foot button { width: 100%; min-height: 44px; text-align: start; }
  .workspace-foot .carousel-controls { width: 100%; justify-content: flex-end; margin-inline-start: 0; }
  .workspace-foot .carousel-control { width: 44px; text-align: center; }
  .process-section, .capabilities-section, .output-section, .governance-section { padding: 68px 0; }
  .section-heading h2, .authority-section h2, .cta-grid h2 { font-size: clamp(30px, 8.5vw, 34px); line-height: 1.12; }
  .process-trace { margin-top: 44px; padding-inline-start: 37px; }
  .trace-stage { grid-template-columns: 38px minmax(0, 1fr); padding-bottom: 24px; }
  .trace-stage small { grid-column: 2; }
  .trace-stage.human-stage { margin-inline-start: -9px; margin-inline-end: 0; }
  .capability-heading { margin-bottom: 38px; }
  .capability-row { grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding: 28px 0; }
  .capability-row h3 { font-size: 23px; }
  .capability-row p { font-size: 16px; }
  .capability-detail { grid-column: 1 / -1; }
  .authority-section { padding: 64px 0; }
  .authority-copy { margin-top: 38px; padding-top: 0; }
  .authority-checkpoint p { font-size: 19px; }
  .output-heading p:last-child { margin-top: 20px; }
  .decision-package { margin-top: 36px; }
  .decision-package header { display: grid; padding: 22px; }
  .package-status { padding: 10px 0 0; border-inline-start: 0; border-top: 3px solid var(--human); }
  .package-fields div { grid-template-columns: 1fr; gap: 7px; padding: 18px 22px; }
  .decision-package footer { display: grid; padding: 16px 22px; }
  .boundary-list { margin-top: 40px; }
  .boundary-list > div { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 20px 0; }
  .cta-section { padding: 64px 0; }
  .cta-grid h2, .cta-actions { grid-column: 1 / -1; }
  .cta-actions { margin-top: 26px; }
  .cta-actions .button { width: 100%; }
  .cta-actions .text-link { min-height: 48px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .site-footer nav { display: grid; grid-template-columns: 1fr 1fr; }
  .site-footer nav a, .site-footer nav button { min-height: 44px; text-align: start; }
  .footer-note { grid-column: auto; }
  .carousel-controls { margin-top: 12px; }
  .signin-dialog { width: calc(100% - 12px); max-height: calc(100dvh - 12px); }
  .signin-panel > header { padding: 16px 18px 14px; }
  .signin-panel h2 { font-size: 23px; }
  .signin-step { gap: 10px; padding: 14px 18px; }
  .concept-notice { padding: 8px 18px; }
  .signin-secondary-actions { flex-wrap: wrap; gap: 0 16px; }
  .signin-panel > footer { padding: 9px 18px; }
  .toast { inset-inline: 16px; bottom: 16px; max-width: none; }
}

@media (max-height: 620px) {
  .signin-dialog { max-height: calc(100dvh - 8px); }
  .signin-panel > header { padding-block: 10px; }
  .signin-panel h2 { margin-top: 4px; font-size: 21px; }
  .concept-notice { padding-block: 6px; }
  .signin-step { gap: 7px; padding-block: 9px; }
  .signin-panel > footer { padding-block: 6px; }
}

/* Slide view: overlapping grid cells reserve space for every slide so the
   page does not jump when short and long content alternate. */
.carousel-viewport.is-carousel-viewport {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  isolation: isolate;
  overflow: hidden;
  padding: 0;
  gap: 0;
  border: 0;
}
.carousel-viewport.is-carousel-viewport > .carousel-item {
  grid-area: 1 / 1 !important;
  min-width: 0;
  margin: 0 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(24px);
  transition: opacity 260ms ease, transform 260ms var(--ease-out), visibility 0s linear 260ms;
}
.carousel-viewport.is-carousel-viewport > .carousel-item.is-carousel-current {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
  transition-delay: 0s;
}
.carousel-control:disabled { opacity: .5; cursor: default; }
.review-slides .index-item { padding-inline-end: 8px; }
.workspace-bar { flex-wrap: wrap; }
.workspace-bar .carousel-controls { margin: 0; margin-inline-start: auto; }
.workspace-flow.is-carousel-viewport { margin: 20px; min-height: 236px; }
.workspace-flow.is-carousel-viewport::before,
.workspace-flow.is-carousel-viewport > .flow-connector,
.workspace-flow.is-carousel-viewport > .flow-record::before { display: none !important; }
.workspace-flow.is-carousel-viewport > .flow-record { display: grid; align-content: center; gap: 8px; padding: 28px; }
.workspace-flow.is-carousel-viewport .record-id { margin-top: 0; }
.workspace-flow.is-carousel-viewport h3 { max-width: 64ch; margin: 0; font-size: 23px; }
.workspace-flow.is-carousel-viewport p { font-size: 16px; }
.workspace-flow.is-carousel-viewport .evidence-line { max-width: 680px; grid-template-columns: 90px 1fr auto; gap: 16px; }
.workspace-flow.is-carousel-viewport .evidence-line strong { font-size: 16px; }
.workspace-foot { flex-wrap: wrap; gap: 12px 24px; }
.trace-carousel { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 20px; }
.trace-summary { display: flex; align-items: center; gap: 12px; }
.trace-viewport { min-width: 126px; }
.trace-token { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--blue) !important; font-weight: 600; }
.trace-carousel .carousel-controls { margin: 0; }
.workspace-foot .carousel-control { width: 44px; border: 1px solid var(--border); background: var(--surface); font-size: 16px; text-align: center; }
.process-trace[data-carousel-ready] { padding-inline-start: 0; }
.process-trace[data-carousel-ready] .trace-line,
.process-trace[data-carousel-ready] .trace-stage::before { display: none; }
.process-trace .carousel-viewport > .trace-stage { min-height: 210px; grid-template-columns: 48px minmax(0, 1fr); align-content: center; padding: 24px; border: 1px solid var(--border); gap: 12px; }
.process-trace .carousel-viewport > .trace-stage > strong { font-size: 26px; line-height: 1.2; }
.process-trace .carousel-viewport > .trace-stage > small { grid-column: 2; font-size: 16px; }
.capability-rows .carousel-viewport > .capability-row { min-height: 242px; padding: 32px 24px; }
.capability-row .capability-detail > :not(.mono) { font-size: 14px; }
.package-fields.is-carousel-viewport > div { min-height: 180px; grid-template-columns: 1fr; align-content: center; gap: 16px; }
.package-fields.is-carousel-viewport dt { font-size: 14px; }
.package-fields.is-carousel-viewport dd { font-size: 18px; }
.boundary-list .carousel-viewport > div { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-content: center; min-height: 220px; gap: 12px; padding: 24px; border-bottom: 1px solid var(--border); }
.boundary-list .carousel-viewport strong { font-size: 23px; line-height: 1.25; }
.boundary-list .carousel-viewport p { grid-column: 2; font-size: 16px; }
.process-trace > .carousel-controls,
.requirement-index > .carousel-controls { display: flex; justify-content: flex-end; }

@media (max-width: 640px) {
  .workspace-bar .carousel-controls { width: 100%; justify-content: flex-end; }
  .workspace-flow.is-carousel-viewport { margin: 12px; min-height: 264px; }
  .workspace-flow.is-carousel-viewport > .flow-record { padding: 20px; }
  .workspace-flow.is-carousel-viewport h3 { font-size: 20px; }
  .workspace-flow.is-carousel-viewport .evidence-line { grid-template-columns: 1fr; gap: 4px; padding: 8px 0; }
  .trace-carousel { width: 100%; justify-content: space-between; }
  .workspace-foot .trace-carousel .carousel-controls { width: auto; }
  .workspace-foot > button { width: auto; }
  .capability-rows .carousel-viewport > .capability-row { padding: 24px 16px; }
  .process-trace .carousel-viewport > .trace-stage,
  .boundary-list .carousel-viewport > div { padding: 20px; grid-template-columns: 30px minmax(0, 1fr); }
}

@media (max-height: 500px) and (min-width: 600px) {
  .signin-dialog { width: min(720px, calc(100% - 16px)); }
  .signin-step[data-signin-step="credentials"] { grid-template-columns: 1fr 1fr; column-gap: 20px; }
  .signin-panel > header { align-items: center; padding-block: 8px; }
  .signin-panel h2 { font-size: 22px; }
  .signin-step { padding-block: 8px; }
}

/* Keep the full process legible while the selected detail moves. */
.step-rail, .boundary-list > .step-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: 0 0 16px;
  border: 0;
}
.step-rail button {
  flex: 1 1 120px;
  min-width: 0;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 5px;
  background: var(--surface);
  color: var(--secondary);
  font-size: 13px;
  line-height: 1.4;
  text-align: start;
  cursor: pointer;
}
.step-rail button:hover { border-color: var(--blue); }
.step-rail button[aria-current="true"] { background: #E8EEFF; border-color: var(--blue); color: var(--blue); font-weight: 650; }
.workspace-preview > .step-rail { margin: 16px 20px 0; }
.workspace-preview > .step-rail button { flex-basis: 160px; }
.workspace-flow.is-carousel-viewport { min-height: 228px; margin-block: 12px 16px; }
.workspace-flow.is-carousel-viewport > .flow-record { padding: 22px 24px; }
.risk-note { border-inline-start: 3px solid var(--human); padding-inline-start: 12px; color: #874625 !important; }
.workspace-foot .text-link { font-size: 14px; }
.process-section, .capabilities-section, .output-section, .value-section, .governance-section { padding: 68px 0; }
.hero { padding-top: 44px; }
.hero-copy { padding-top: 20px; padding-bottom: 44px; }
.capability-heading { margin-bottom: 32px; }
.process-trace .carousel-viewport > .trace-stage { min-height: 155px; padding: 20px; }
.capability-rows .carousel-viewport > .capability-row { min-height: 0; padding-block: 22px; }
.boundary-list .carousel-viewport > div { min-height: 170px; padding-block: 20px; }
.capability-rows, .boundary-list { padding-top: 16px; }
.index-queue button { white-space: nowrap; }
.index-rule { align-items: center; }
.index-rule .mono { font-size: 12px; }
.package-overview { margin: 0; padding: 6px 24px; }
.package-overview > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--border-subtle); }
.package-overview dt { font-size: 13px; color: var(--secondary); }
.package-overview dd { margin: 0; font-size: 15px; }
.package-detail-label { margin: 18px 24px 12px; color: var(--muted); }
.decision-package > .step-rail { margin: 0 24px 12px; }
.decision-package > .step-rail button { flex-basis: 95px; }
.package-fields.is-carousel-viewport > div { min-height: 170px; gap: 12px; padding: 20px 24px; }
.package-fields.is-carousel-viewport dd { font-size: 16px; }
.decision-package header { padding: 22px 24px; flex-wrap: wrap; gap: 16px; }
.decision-package footer { align-items: center; padding: 12px 24px; gap: 12px; }
.decision-package footer > strong { font-size: 12px; }
.language-menu { width: 205px; }
.language-menu button:disabled, .language-options button:disabled { color: var(--muted); background: var(--bg-alt); cursor: default; }
.mobile-language small { display: block; margin-top: 8px; color: var(--secondary); font-size: 12px; }
.cta-note { color: var(--secondary); font-size: 13px; }
.report-dialog { width: min(840px, calc(100% - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 1px solid var(--border); border-radius: 8px; color: var(--ink); background: var(--surface); overscroll-behavior: contain; }
.report-dialog::backdrop { background: rgba(11, 24, 37, .65); }
.report-dialog > header { display: flex; justify-content: space-between; gap: 20px; padding: 24px; border-bottom: 1px solid var(--border); }
.report-dialog h2 { margin: 8px 0 0; font-size: 26px; line-height: 1.25; }
.report-notice { margin: 0; padding: 14px 24px; background: var(--human-light); color: #874625; font-size: 14px; }
.report-body { padding: 0 24px; }
.report-body section { padding: 20px 0; border-bottom: 1px solid var(--border); }
.report-body h3 { margin: 0 0 8px; font-size: 18px; }
.report-body p { margin: 0; white-space: pre-line; font-size: 16px; color: var(--secondary); }
.report-dialog > footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 24px; font-size: 14px; }

@media (max-width: 1000px) {
  .hero-copy, .requirement-index { grid-column: 1 / -1; }
  .hero-copy { max-width: 760px; padding-bottom: 24px; }
  .requirement-index { margin-bottom: 24px; }
  .index-item dl div { grid-template-columns: 112px minmax(0, 1fr); }
  .index-item h2 { margin-bottom: 20px; }
}
@media (max-width: 900px) {
  .mobile-menu { max-height: calc(100dvh - 73px); overflow-y: auto; overscroll-behavior: contain; }
  .process-trace, .decision-package, .boundary-list { margin-top: 28px; }
}
@media (max-width: 640px) {
  .hero { padding-top: 20px; }
  .hero-copy { padding-top: 10px; padding-bottom: 28px; }
  .mobile-menu { max-height: calc(100dvh - 65px); }
  .process-section, .capabilities-section, .output-section, .governance-section { padding: 48px 0; }
  .workspace-preview > .step-rail { margin: 12px 12px 0; }
  .workspace-preview > .step-rail button { flex-basis: 130px; }
  .workspace-flow.is-carousel-viewport { min-height: 292px; }
  .workspace-flow.is-carousel-viewport > .flow-record { padding: 18px; }
  .workspace-foot { gap: 4px; }
  .package-overview { padding-inline: 18px; }
  .package-overview > div { grid-template-columns: 1fr; gap: 4px; padding-block: 10px; }
  .decision-package > .step-rail { margin-inline: 18px; }
  .package-fields.is-carousel-viewport > div { min-height: 235px; padding: 18px; }
  .package-detail-label { margin-inline: 18px; }
  .report-dialog > header, .report-notice, .report-dialog > footer { padding: 16px; }
  .report-body { padding-inline: 16px; }
  .report-dialog h2 { font-size: 22px; }
}

/* Product illustrations are semantic diagrams and readable UI, kept in sync
   with the same fictional requirement record as the review workspace. */
.icon-definitions { position: absolute; overflow: hidden; pointer-events: none; }
.ui-icon { width: 24px; height: 24px; flex: 0 0 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.hero { background: radial-gradient(ellipse at 88% 15%, #dfe9fc 0, transparent 47%), var(--bg); }
.hero-grid { align-items: center; column-gap: 44px; row-gap: 44px; }
.hero-copy { grid-column: 1 / span 6; padding: 18px 0 30px; }
.hero-copy h1 { font-size: clamp(42px, 4.05vw, 56px); line-height: 1.08; max-width: 18ch; letter-spacing: -.04em; }
.hero-lede { max-width: 50ch; font-size: 17px; }
.review-console { grid-column: 7 / -1; padding: 22px; background: #0c1c30; border: 1px solid #253c55; border-radius: 14px; color: #f5f8fc; box-shadow: 0 24px 60px -18px #233c5b52; }
.console-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.console-heading > span:first-child { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; }
.console-heading > .mono { color: #a9bcd3; font-size: 12px; letter-spacing: .02em; }
.console-heading .ui-icon { color: #8aafff; width: 20px; height: 20px; flex-basis: 20px; }
.source-excerpt { background: #f7faff; color: #183452; padding: 14px 18px; border-radius: 6px; border-inline-start: 3px solid #709cff; }
.source-excerpt > div { display: flex; justify-content: space-between; gap: 12px; color: #526882; }
.source-excerpt .mono { font-size: 12px; }
.source-excerpt p { margin: 10px 0 0; min-height: 48px; font-size: 15px; line-height: 1.6; }
.source-excerpt mark { color: inherit; background: #e2ebff; box-decoration-break: clone; -webkit-box-decoration-break: clone; padding: 2px 0; }
.hero-route { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 20px 0; padding: 0; }
.hero-route li { position: relative; display: grid; justify-items: center; gap: 5px; font-size: 12px; color: #b9cbe0; }
.hero-route li::after { content: ''; position: absolute; height: 1px; background: #49698e; top: 12px; inset-inline-start: calc(50% + 22px); inset-inline-end: calc(-50% + 22px); }
.hero-route li:last-child::after { display: none; }
.hero-route li:nth-child(2) { color: #75d1c2; }
.hero-route li:nth-child(3) { color: #efb68a; }
.review-console .index-rule { color: #9fb4cd; border-color: #2d435c; padding-bottom: 10px; }
.review-console .index-rule .mono { font-size: 12px; letter-spacing: .025em; }
.review-console .index-item { padding-block: 14px 8px; padding-inline: 14px 0; border-color: #79a3ff; }
.review-console .index-number { color: #8eb3ff; }
.review-console .index-item h2 { font-size: 23px; margin: 10px 0 16px; min-height: 55px; }
.review-console .index-item dl div { padding: 8px 0; grid-template-columns: 100px minmax(0, 1fr); border-color: #2d435c; }
.review-console .index-item dt { color: #a9bed5; }
.review-console .index-item dd { color: #e2ebf6; }
.review-console .index-item dd.human-status { color: #efb68a; }
.review-console .signal-human { background: #efb68a; }
.review-console .index-queue { border-color: #334b67; color: #a9bed5; }
.review-console .index-queue button { border-color: #334b67; }
.review-console .index-queue button[aria-current="true"] { color: #fff; background: #2859c7; }
.review-console .carousel-controls { margin-top: 12px; }
.review-console .carousel-control { background: #142b45; color: #dfebfa; border-color: #36516f; }
.review-console .carousel-control:hover { background: #214365; }
.review-console .carousel-status { color: #b3c6df; }
.workspace-preview { margin-top: 2px; border-radius: 10px 10px 0 0; }
.workspace-bar { background: #f9fbff; border-radius: 10px 10px 0 0; }
.workspace-preview > .step-rail { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; padding: 12px 0; margin: 16px 24px 0; isolation: isolate; }
.workspace-preview > .step-rail::before, .workspace-preview > .step-rail::after { content: ''; position: absolute; z-index: -1; top: 50%; inset-inline-start: 4%; height: 2px; width: 92%; background: #d4dfe9; }
.workspace-preview > .step-rail::after { width: calc(var(--trace-progress, 0%) * .92); background: #527ff4; transition: width 500ms var(--ease-out); }
.workspace-preview > .step-rail button { display: grid; grid-template-columns: 26px minmax(0, 1fr); align-content: center; gap: 6px 10px; min-height: 102px; padding: 14px; background: #f7f9fc; border-color: #ccd8e5; border-radius: 8px; transition: background 240ms ease, border-color 240ms ease, box-shadow 240ms ease; }
.workspace-preview > .step-rail button .ui-icon { grid-row: span 2; align-self: center; color: #577598; }
.trace-node-label { font-size: 13px; font-weight: 500; }
.workspace-preview > .step-rail button strong { font-size: 14px; font-weight: 600; color: #294764; }
.workspace-preview > .step-rail button[aria-current="true"] { background: #ecf2ff; border-color: #527ff4; box-shadow: 0 0 0 3px #215dff0a; }
.workspace-preview > .step-rail button[aria-current="true"] .ui-icon { color: #215dff; }
.workspace-preview > .step-rail button:nth-child(3)[aria-current="true"] { background: #fff5ec; border-color: #c58a5e; }
.workspace-preview > .step-rail button:nth-child(3)[aria-current="true"] .ui-icon { color: #a85a32; }
.workspace-flow.is-carousel-viewport > .flow-record { border-radius: 6px; }
.capabilities-section { background: #eaf0f6; border-block: 1px solid #dce5ee; }
.capability-rows { border-top: 0; padding-top: 0; }
.capability-rows .carousel-viewport > .capability-row { grid-template-columns: 40px minmax(0, .9fr) minmax(0, 1.1fr); gap: 28px; min-height: 380px; padding: 28px; background: #f9fbfe; border: 1px solid #d4deea; border-radius: 10px; }
.capability-number { align-self: start; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #cad7e9; border-radius: 7px; background: #fff; color: #426491; }
.capability-visual { display: grid; align-content: center; margin: 0; padding: 24px; background: #edf3fb; border: 1px solid #dce5f0; border-radius: 9px; min-width: 0; }
.capability-visual figcaption { margin-top: 14px; color: #596c80; font-size: 13px; line-height: 1.5; }
.visual-kicker { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: .04em; color: #506785; }
.visual-kicker .ui-icon { width: 18px; height: 18px; flex-basis: 18px; }
.visual-document { background: white; padding: 16px; border: 1px solid #cbd9ea; border-radius: 5px; box-shadow: 0 7px 18px #18375408; }
.capability-visual .visual-document p { margin-top: 10px; font-size: 15px; line-height: 1.6; color: #213e5c; }
.visual-document mark { background: #e1ebff; color: inherit; padding: 2px 0; }
.extraction-bridge { color: #517feb; text-align: center; font-size: 22px; line-height: 28px; }
.extracted-record { display: grid; grid-template-columns: auto 1fr; gap: 7px 12px; background: #fff; border: 1px solid #7c9cdf; border-inline-start: 3px solid #4f77d8; padding: 14px 16px; border-radius: 5px; font-size: 14px; }
.extracted-record .mono { align-self: center; color: #2455b8; font-size: 12px; }
.extracted-record strong { font-weight: 600; }
.visual-condition { padding: 10px 12px; background: #fff4e9; color: #8b4d22; border: 1px solid #e9cfb8; border-radius: 4px; font-size: 14px; line-height: 1.45; }
.extracted-record .visual-condition { grid-column: 1 / -1; margin-top: 3px; padding: 6px 8px; font-size: 13px; }
.evidence-visual { background: #edf6f4; border-color: #d2e6e1; }
.evidence-nodes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.evidence-nodes > div { display: grid; gap: 7px; padding: 14px; border: 1px solid #b5d5cd; background: #fff; border-radius: 5px; font-size: 14px; }
.evidence-nodes .mono { color: #24736b; font-size: 12px; }
.evidence-join { display: block; width: 100%; height: 40px; fill: none; stroke: #4b9b8e; stroke-width: 1.5; }
.evidence-target { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 10px; border: 1px solid #7db9ad; background: #fff; border-radius: 5px; font-size: 14px; color: #235a52; }
.evidence-target > span { color: #446c65; font-size: 13px; }
.evidence-visual > .visual-condition { margin-top: 16px; }
.review-visual { background: #f7f1eb; border-color: #e4d8cb; }
.review-gate { display: flex; align-items: center; gap: 14px; padding: 16px; border: 1px solid #dcc8b5; background: #fff; border-radius: 5px; }
.review-gate > .ui-icon { width: 36px; height: 36px; flex-basis: 36px; color: #a36a38; }
.review-gate > div { display: grid; gap: 5px; }
.review-gate strong { color: #69421f; font-size: 16px; }
.review-gate .visual-kicker { color: #926941; }
.review-visual dl { margin: 12px 0 0; padding: 0 14px; background: white; border: 1px solid #dfd4c9; border-radius: 5px; }
.review-visual dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid #ebe3dc; font-size: 14px; }
.review-visual dl > div:last-child { border: 0; }
.review-visual dt { color: #665a4d; }
.review-visual dd { margin: 0; color: #8d5a2e; text-align: end; }
.is-carousel-current .capability-visual { animation: visual-arrival 500ms var(--ease-out) both; }
@keyframes visual-arrival { from { opacity: .35; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.output-section { background: radial-gradient(ellipse at 78% 38%, #dee8f3, transparent 65%), #f1f5f9; }
.output-heading > p { color: #87512e; }
.report-contents { list-style: none; padding: 22px 0 0; margin: 24px 0 0; border-top: 1px solid #ccd8e4; }
.report-contents li { display: flex; align-items: center; gap: 14px; padding: 12px 0; font-size: 15px; color: #455c74; }
.report-contents .ui-icon { color: #426995; }
.decision-package { border-radius: 4px; border-top: 4px solid #345a96; box-shadow: 0 18px 42px -12px #2e496634, 6px 6px 0 0 #edf2f7, 7px 7px 0 0 #cdd8e4; }
.report-masthead { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px 16px; border-bottom: 1px solid #e0e7ef; }
.report-masthead > .mono { font-size: 12px; color: #61748b; text-align: end; line-height: 1.6; letter-spacing: .035em; }
.report-masthead .wordmark { font-size: 20px; }
.decision-package > header { background: #f7f9fc; }
.decision-package > header .mono { color: #416086; }
.decision-package .package-status { background: #fff3e7; border-color: #e7d0b7; color: #87512e; }
.package-overview > div:first-child { margin: 14px 0 2px; padding: 14px; background: #eef4ff; border: 1px solid #d4e1f8; border-radius: 4px; }
.package-overview dt { font-size: 14px; }
.governance-section { background: #fff; }
.boundary-list .carousel-viewport > div { background: #f2f6fb; border-radius: 8px; }
.button:hover { transform: translateY(-2px); box-shadow: 0 5px 13px #18385814; }

@media (max-width: 1100px) {
  .hero-grid { column-gap: 28px; }
  .hero-copy h1 { font-size: 46px; }
  .review-console { padding: 18px; }
  .console-heading > .mono { max-width: 88px; text-align: end; }
  .capability-rows .carousel-viewport > .capability-row { gap: 20px; grid-template-columns: 34px minmax(0, .9fr) minmax(0, 1.1fr); }
  .capability-visual { padding: 18px; }
  .workspace-preview > .step-rail { gap: 18px; }
  .workspace-preview > .step-rail button { grid-template-columns: 1fr; gap: 6px; }
  .workspace-preview > .step-rail button .ui-icon { grid-row: auto; }
}
@media (max-width: 1000px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-copy, .review-console { grid-column: 1 / -1; }
  .hero-copy { padding-bottom: 0; max-width: 760px; }
  .hero-copy h1 { max-width: 24ch; }
  .review-console { margin-bottom: 0; }
  .console-heading > .mono { max-width: none; }
  .source-excerpt p { min-height: 48px; }
  .review-console .index-item h2 { min-height: 0; }
  .capability-rows .carousel-viewport > .capability-row { grid-template-columns: 34px minmax(0, 1fr); }
  .capability-visual { grid-column: 2; }
}
@media (max-width: 640px) {
  .hero-grid { row-gap: 30px; }
  .hero-copy h1 { font-size: clamp(36px, 9.5vw, 44px); max-width: 20ch; }
  .hero-copy { padding-bottom: 0; }
  .review-console { padding: 16px 12px; border-radius: 10px; }
  .console-heading { align-items: start; gap: 8px; }
  .console-heading > span:first-child { font-size: 14px; gap: 6px; }
  .console-heading > .mono { max-width: 84px; font-size: 12px; }
  .source-excerpt { padding: 12px; }
  .source-excerpt p { font-size: 14px; min-height: 4.8em; }
  .review-console .index-rule { align-items: start; gap: 10px; }
  .review-console .index-rule > :last-child { text-align: end; max-width: 128px; }
  .review-console .index-item { padding-left: 10px; }
  .review-console .index-item h2 { font-size: 22px; }
  .review-console .index-item dl div { grid-template-columns: 86px minmax(0, 1fr); gap: 8px; }
  .review-console .index-item dd { font-size: 14px; }
  .workspace-bar { gap: 8px; }
  .workspace-state { max-width: none; white-space: nowrap; text-align: start; }
  .workspace-preview > .step-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 10px 12px 0; gap: 12px; padding: 8px 0; }
  .workspace-preview > .step-rail::before, .workspace-preview > .step-rail::after { display: none; }
  .workspace-preview > .step-rail button { min-height: 122px; padding: 12px; }
  .workspace-preview > .step-rail button strong { font-size: 13px; }
  .capability-rows .carousel-viewport > .capability-row { padding: 20px 14px; gap: 16px 12px; }
  .capability-visual { grid-column: 1 / -1; padding: 14px; }
  .capability-number { width: 30px; height: 30px; }
  .visual-kicker { letter-spacing: 0; }
  .extracted-record { grid-template-columns: 1fr; padding: 12px; }
  .evidence-nodes { gap: 10px; }
  .evidence-nodes > div { padding: 10px; }
  .evidence-target { flex-wrap: wrap; gap: 8px; }
  .evidence-target > span { width: 100%; text-align: center; }
  .review-gate { gap: 10px; padding: 12px; }
  .review-gate strong { font-size: 15px; }
  .review-visual dl { padding-inline: 10px; }
  .review-visual dl > div { font-size: 13px; gap: 8px; }
  .report-contents { margin-top: 20px; padding-top: 12px; }
  .report-contents li { font-size: 14px; }
  .report-masthead { padding: 18px; align-items: start; flex-wrap: wrap; }
  .report-masthead > .mono { font-size: 12px; max-width: 145px; }
  .report-masthead .wordmark { font-size: 17px; }
  .package-overview > div:first-child { margin-block: 12px 0; }
}

/* The same review canvas, evidence accents and human-decision accents now
   carry through the complete page and its existing preview dialogs. */
.workspace-flow.is-carousel-viewport > .flow-record { grid-template-columns: 76px minmax(0, 1fr); align-items: center; column-gap: 24px; padding: 26px; }
.record-body { display: grid; gap: 9px; min-width: 0; }
.record-symbol { display: grid; place-items: center; width: 72px; height: 80px; border: 1px solid #cbd9ee; border-radius: 12px; background: #eaf1fd; color: #3866ba; }
.record-symbol .ui-icon { width: 36px; height: 36px; }
.evidence-record .record-symbol { background: #e6f3ee; color: #29756c; border-color: #bbd9ce; }
.review-record .record-symbol { background: #fbede0; color: #a1693a; border-color: #e5ccb6; }
.output-record .record-symbol { background: #e8edf5; color: #375471; border-color: #cbd7e5; }
.record-body .evidence-line { max-width: none; }
.process-section { background: #f7f9fc; }
.process-section .section-grid { display: block; }
.process-section .section-heading { max-width: 800px; }
.process-trace { margin: 32px 0 0; padding: 0; }
.process-trace > .step-rail { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin-bottom: 18px; }
.process-trace > .step-rail button { min-height: 62px; padding: 12px; font-size: 14px; background: #edf2f8; border-color: #d2ddeb; border-radius: 7px; }
.process-trace > .step-rail button[aria-current="true"] { background: #16355a; border-color: #16355a; color: #fff; }
.process-trace .carousel-viewport > .trace-stage { display: grid; grid-template-columns: 90px minmax(0, 1fr); align-items: center; gap: 30px; min-height: 190px; padding: 24px 28px; border: 1px solid #cad8e9; border-radius: 10px; background: #edf3fb; }
.process-symbol { display: grid; justify-items: center; gap: 12px; padding: 18px 12px; border: 1px solid #d5e1f2; border-radius: 9px; background: #fff; color: #426fab; }
.process-symbol .ui-icon { width: 40px; height: 40px; }
.process-symbol .process-number { display: grid; place-items: center; width: 30px; height: 24px; border-radius: 5px; background: #e9f0fd; color: #3b629b; font-size: 12px; }
.process-copy { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; min-width: 0; }
.process-copy > strong, .process-copy > small { grid-column: 1; }
.trace-stage .process-copy > strong { font-size: 28px; color: #183c62; }
.trace-stage .process-copy > small { font-size: 16px; color: #5a7087; }
.review-example { min-width: 0; padding: 20px; background: #fff; border: 1px solid #cddbeb; border-radius: 7px; box-shadow: 0 8px 18px #19385a06; }
.review-example .example-heading { display: block; margin-bottom: 10px; color: #59718e; font-size: 12px; }
.review-example dl { margin: 0; }
.review-example dl > div { display: grid; grid-template-columns: 100px minmax(0, 1fr); align-items: baseline; gap: 16px; padding: 10px 0; border-top: 1px solid #e1e8f0; }
.review-example dt { color: #60748a; font-size: 13px; }
.review-example dd { margin: 0; color: #23425f; font-size: 15px; line-height: 1.55; }
.process-trace .carousel-viewport > .human-stage { background: #f7efe7; border-color: #dfcdbb; }
.human-stage .process-symbol { color: #9c6635; border-color: #e7d4c2; }
.process-trace .carousel-viewport > .evidence-stage { background: #eaf4f0; border-color: #bed9cf; }
.evidence-stage .process-symbol { color: #287464; border-color: #cce3da; }
.is-carousel-current .review-example { animation: visual-arrival 450ms var(--ease-out) both; }
.authority-section { background: #0c1c30; border-block: 1px solid #213951; }
.authority-grid { align-items: center; gap: 32px; }
.authority-grid > div:first-child { grid-column: 1 / span 5; }
.authority-section .section-number { color: #91b4ea; }
.authority-intro { color: #b6c8df; font-size: 17px; line-height: 1.6; margin: 26px 0 16px; }
.authority-principle { margin: 0; padding-inline-start: 18px; border-inline-start: 3px solid #d29b70; font-size: 18px; line-height: 1.6; color: #ecf2fa; }
.authority-board { grid-column: 7 / -1; margin: 0; padding: 24px; border: 1px solid #344b65; border-radius: 12px; background: #142941; }
.authority-board figcaption { margin-bottom: 20px; color: #a8bed9; font-size: 12px; }
.authority-node { display: flex; align-items: center; gap: 16px; padding: 18px; border: 1px solid #3c5572; border-radius: 7px; background: #0e2137; }
.authority-node > .ui-icon { color: #86ace3; width: 28px; height: 28px; flex-basis: 28px; }
.authority-node > div { display: grid; gap: 5px; }
.authority-node > div > span { font-size: 13px; color: #abc1dc; }
.authority-node strong { font-size: 16px; color: #f1f6fd; font-weight: 550; }
.authority-node small { font-size: 13px; color: #e8c6aa; line-height: 1.5; }
.authority-tag { margin-inline-start: auto; padding: 4px 8px; border: 1px solid #415c7d; border-radius: 4px; color: #b4c9e3; font-size: 12px; }
.authority-link { margin: 4px 0; text-align: center; color: #91afd4; font-size: 22px; line-height: 26px; }
.authority-node.authority-gate { background: #3b2d25; border-color: #af815c; }
.authority-gate > .ui-icon, .authority-gate > div > span { color: #f0b88c; }
.package-fields.is-carousel-viewport > div { grid-template-columns: 1fr; align-content: center; padding: 22px 24px; background: #f0f5fc; gap: 14px; }
.package-fields dt { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #3d628c; }
.package-fields dt .ui-icon { color: #5278a7; width: 22px; height: 22px; flex-basis: 22px; }
.package-fields.is-carousel-viewport dd { font-weight: 400; line-height: 1.65; color: #29445e; }
.governance-section { background: #f3f6fa; }
.governance-grid { align-items: center; }
.governance-key { display: flex; align-items: start; gap: 16px; padding-top: 24px; margin-top: 28px; border-top: 1px solid #ccd9e7; }
.governance-key > .ui-icon { width: 36px; height: 36px; flex-basis: 36px; color: #3f6aa1; }
.governance-key strong { font-size: 16px; color: #26486b; }
.governance-key p { margin: 8px 0 0; color: #5b7189; font-size: 16px; line-height: 1.6; }
.boundary-list { padding: 20px; background: #0c1c30; border: 1px solid #263f5b; border-radius: 12px; box-shadow: 0 16px 36px -14px #203c5b38; }
.boundary-list > .step-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 18px; }
.boundary-list > .step-rail button { min-height: 48px; background: #182f4a; border-color: #334e6e; color: #b7cbe5; font-size: 13px; }
.boundary-list > .step-rail button[aria-current="true"] { color: #fff; background: #2859b7; border-color: #608be1; }
.boundary-list .carousel-viewport > div { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 18px; min-height: 260px; padding: 20px; border: 1px solid #2a4563; border-radius: 8px; background: #152d47; }

.value-section { background: #fff; border-top: 1px solid #dce5ee; }
.value-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: start; }
.value-heading { grid-column: 1 / span 6; }
.value-heading > p { max-width: 60ch; color: var(--secondary); }
.value-heading > small { display: block; margin-top: 20px; color: var(--muted); font: 12.5px/1.5 var(--mono); letter-spacing: .035em; }
.measurement-list { grid-column: 8 / -1; list-style: none; margin: 0; padding: 18px 24px; background: #f9fbfe; border: 1px solid #d4deea; border-radius: 10px; }
.measurement-list li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--border-subtle); }
.measurement-list li:last-child { border-bottom: 0; }
.measurement-list .mono { color: #426491; }
.measurement-list strong { font-size: 16px; color: #26486b; }
.boundary-list .control-title { display: flex; align-items: center; gap: 14px; min-width: 0; }
.control-symbol { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; border-radius: 8px; background: #213f61; border: 1px solid #41628a; color: #aacafb; }
.control-title > div { display: grid; gap: 4px; }
.boundary-list .control-title .mono { font-size: 12px; color: #8faed5; }
.boundary-list .control-title strong { font-size: 21px; line-height: 1.3; color: #edf4ff; }
.boundary-list .carousel-viewport p { grid-column: 1; color: #b4c9e3; font-size: 16px; line-height: 1.6; }
.boundary-list .review-example { padding: 16px; background: #f4f8ff; border-color: #c4d4e9; box-shadow: none; }
.boundary-list .review-example .mono { color: #587392; font-size: 12px; }
.boundary-list .review-example dl > div { grid-template-columns: 95px minmax(0, 1fr); gap: 12px; }
.boundary-list > .carousel-controls { display: flex; justify-content: end; margin: 16px 0 0; padding: 0; border: 0; }
.boundary-list .carousel-control { color: #d7e8ff; background: #19334f; border-color: #385776; }
.boundary-list .carousel-status { color: #b0c6e0; }
.boundary-list .carousel-viewport > .boundary-stop { border-color: #986f4f; }
.boundary-stop .control-symbol { color: #efb587; background: #433329; border-color: #9f785b; }
.cta-section { padding: 40px 0; background: #e9f0f8; border-top: 1px solid #d2dfed; }
.cta-grid { padding: 38px 40px; border-radius: 12px; background: #102640; box-shadow: 0 18px 40px -18px #203a5c55; color: #f3f7fe; }
.cta-grid h2 { grid-column: 1 / span 8; font-size: clamp(30px, 3vw, 40px); max-width: 820px; }
.cta-actions { grid-column: 10 / -1; align-items: stretch; }
.cta-actions .text-link { color: #d7e7ff; justify-content: center; }
.cta-actions .cta-note { color: #acbfd8; text-align: center; }
.closing-route { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; list-style: none; padding: 0 0 24px; margin: 0 0 4px; gap: 16px; border-bottom: 1px solid #365170; }
.closing-route li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #c0d3ed; }
.closing-route li + li::before { content: '→'; margin-inline: 4px 10px; color: #6f92bc; }
.closing-route .ui-icon { color: #92b5ea; width: 22px; height: 22px; flex-basis: 22px; }
.closing-route li:nth-child(3) .ui-icon { color: #ecb38b; }
.site-footer { background: #0a1a2d; border-top: 1px solid #243d59; color: #eff5fe; }
.site-footer .wordmark span { color: #8db6ff; }
.footer-grid p, .site-footer nav a, .site-footer nav button { color: #a9c0dc; }
.site-footer nav a:hover, .site-footer nav button:hover { color: #fff; }
.footer-note { color: #88a5c8; }
.signin-panel > header, .report-dialog > header { background: #102640; color: #f0f6ff; }
.signin-panel > header .mono, .report-dialog > header .mono { color: #a7c4ed; }
.signin-panel > header .dialog-close, .report-dialog > header .dialog-close { background: #1b3859; color: #e1eeff; border-color: #416184; }
.signin-panel input { border-color: #c3d2e3; border-radius: 5px; background: #f8faff; }
.report-body { counter-reset: report-section; }
.report-body section { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 6px 14px; }
.report-body section::before { counter-increment: report-section; content: counter(report-section, decimal-leading-zero); grid-column: 1; grid-row: 1 / span 2; font: 12px var(--mono); color: #5479aa; padding-top: 4px; }
.report-body h3, .report-body p { grid-column: 2; }
.report-body h3 { color: #214871; }
.report-body section:nth-child(2) { background: #f0f5ff; margin-inline: -12px; padding-inline: 12px; border-radius: 5px; }

@media (max-width: 1100px) {
  .process-trace > .step-rail { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .process-trace > .step-rail button:last-child { grid-column: span 2; }
  .process-trace .carousel-viewport > .trace-stage { grid-template-columns: 76px minmax(0, .7fr) minmax(0, 1.3fr); gap: 20px; padding: 22px; }
  .review-example dl > div { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; }
  .authority-tag { display: none; }
  .boundary-list { padding: 16px; }
  .boundary-list .carousel-viewport > div { padding: 18px; }
  .boundary-list > .step-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cta-grid { padding: 32px; }
  .cta-actions { grid-column: 9 / -1; }
}
@media (max-width: 900px) {
  .value-grid { grid-template-columns: minmax(0, 1fr); }
  .value-heading, .measurement-list { grid-column: 1; }
  .authority-grid { grid-template-columns: minmax(0, 1fr); }
  .authority-grid > div:first-child, .authority-board { grid-column: 1 / -1; }
  .authority-board { margin-top: 0; }
  .boundary-list { margin-top: 28px; }
  .boundary-list > .step-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .process-trace .carousel-viewport > .trace-stage { grid-template-columns: 64px minmax(0, 1fr); }
  .process-trace .review-example { grid-column: 1 / -1; }
  .process-copy { align-self: center; }
  .cta-grid { grid-template-columns: minmax(0, 1fr); }
  .cta-grid h2, .cta-actions { grid-column: 1 / -1; }
  .cta-actions { max-width: 340px; width: 100%; }
}
@media (max-width: 640px) {
  .workspace-flow.is-carousel-viewport > .flow-record { grid-template-columns: 36px minmax(0, 1fr); gap: 14px; padding: 18px 14px; align-items: start; }
  .record-symbol { width: 36px; height: 44px; border-radius: 6px; }
  .record-symbol .ui-icon { width: 22px; height: 22px; }
  .record-body { gap: 8px; }
  .process-trace { margin-top: 24px; }
  .process-trace > .step-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-trace > .step-rail button { min-height: 48px; padding: 10px; font-size: 13px; }
  .process-trace .carousel-viewport > .trace-stage { grid-template-columns: 50px minmax(0, 1fr); gap: 16px; padding: 18px 14px; }
  .process-symbol { padding: 12px 6px; gap: 8px; }
  .process-symbol .ui-icon { width: 28px; height: 28px; }
  .trace-stage .process-copy > strong { font-size: 24px; }
  .trace-stage .process-copy > small { font-size: 14px; }
  .review-example { padding: 14px; }
  .review-example dl > div { grid-template-columns: 1fr; gap: 4px; padding-block: 8px; }
  .review-example dd { font-size: 14px; }
  .authority-grid { gap: 24px; }
  .authority-intro { margin-top: 22px; font-size: 16px; }
  .authority-principle { font-size: 16px; }
  .authority-board { padding: 16px; }
  .authority-node { padding: 14px 12px; gap: 12px; }
  .authority-node strong { font-size: 15px; }
  .authority-node > .ui-icon { width: 24px; height: 24px; flex-basis: 24px; }
  .package-fields.is-carousel-viewport > div { padding: 18px; }
  .governance-key { padding-top: 20px; margin-top: 22px; }
  .boundary-list { padding: 12px; }
  .boundary-list > .step-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .boundary-list .carousel-viewport > div { padding: 16px 12px; gap: 14px; }
  .boundary-list .control-title { gap: 10px; }
  .control-symbol { width: 38px; height: 44px; flex-basis: 38px; }
  .boundary-list .control-title strong { font-size: 19px; }
  .boundary-list .review-example { padding: 12px; }
  .boundary-list .review-example dl > div { grid-template-columns: 1fr; gap: 4px; }
  .cta-section { padding-block: 32px; }
  .cta-grid { padding: 24px 20px; gap: 22px; }
  .closing-route { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; padding-bottom: 20px; }
  .closing-route li { font-size: 13px; gap: 8px; }
  .closing-route li + li::before { display: none; }
  .cta-grid h2 { font-size: 30px; }
  .footer-grid { gap: 24px; }
  .report-body section { grid-template-columns: 22px minmax(0, 1fr); gap: 6px 10px; }
}


/* Language-aware type and direction; grid columns mirror through dir naturally. */
html[lang="ar"] { --sans: "Noto Sans Arabic", Tahoma, sans-serif; --mono: "Noto Sans Arabic", Tahoma, sans-serif; }
html[lang^="zh"] { --sans: "Noto Sans SC", sans-serif; --mono: "Noto Sans SC", sans-serif; }
html[lang="ru"] { --mono: Inter, "Segoe UI", sans-serif; }
html[lang="ar"] .mono, html[lang^="zh"] .mono { letter-spacing: 0; }
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3 { letter-spacing: 0; line-height: 1.5; }
html[lang="ar"] .process-copy > strong { line-height: 1.5; }
.wordmark, .index-queue, .index-number, .record-id, .carousel-status, [data-visual="clause"], [data-visual="requirement"], [data-selected-requirement] { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] [data-carousel-previous], html[dir="rtl"] [data-carousel-next] { transform: scaleX(-1); }
html[dir="rtl"] .closing-route li + li::before { content: '←'; }
html[dir="rtl"] .signin-panel input { direction: ltr; text-align: start; }
.language-menu button { min-height: 44px; }
.language-options { flex-wrap: wrap; }
.language-options button { flex: 1 0 auto; }
html:not([lang="en"]) .desktop-nav { gap: 18px; }
html:not([lang="en"]) .header-actions { gap: 14px; }
html:not([lang="en"]) .nav-control, html:not([lang="en"]) .desktop-nav a { font-size: 14px; }
html:not([lang="en"]) .header-cta { padding-inline: 16px; font-size: 14px; }
html:not([lang="en"]) .trace-stage .process-copy > strong { overflow-wrap: anywhere; }
html:not([lang="en"]) .step-rail button { overflow-wrap: anywhere; }
html:not([lang="en"]) .console-heading > .mono { max-width: 135px; }
@media (min-width: 901px) and (max-width: 1120px) {
  html:not([lang="en"]) .desktop-nav { gap: 10px; }
  html:not([lang="en"]) .header-actions { gap: 10px; }
  html:not([lang="en"]) .header-inner { gap: 15px; }
  html:not([lang="en"]) .wordmark { font-size: 18px; }
}
@media (max-width: 640px) {
  html:not([lang="en"]) .review-console .index-rule > :last-child { max-width: 145px; }
  html:not([lang="en"]) .console-heading > .mono { max-width: 105px; }
  html:not([lang="en"]) .signin-panel > header h2 { font-size: 21px; }
  html:not([lang="en"]) .signin-panel .concept-notice { font-size: 12px; }
  html:not([lang="en"]) .signin-panel > header { padding-block: 12px; }
  html:not([lang="en"]) .signin-panel > footer { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
  .js-motion .hero-copy > *, .js-motion .requirement-index, .js-motion .workspace-preview,
  .js-motion .reveal-group, .js-motion .process-trace .trace-stage {
    opacity: 1 !important;
    transform: none !important;
  }
  .js-motion .process-trace .trace-line, .js-motion .authority-grid .checkpoint-mark { transform: none !important; }
  .carousel-viewport.is-carousel-viewport > .carousel-item:not(.is-carousel-current) { opacity: 0 !important; }
}

@media print {
  @page { size: A4; margin: 12mm; }
  * { print-color-adjust: exact !important; -webkit-print-color-adjust: exact !important; }
  html, body { width: auto; min-height: 0; background: white; font-size: 10pt; line-height: 1.45; overflow: visible; }
  .shell { width: 100%; }
  .skip-link, .site-header, .mobile-menu, .hero-actions, .workspace-foot button, .carousel-controls, .step-rail, .cta-actions, .signin-dialog, .report-dialog, .toast { display: none !important; }
  .hero, .process-section, .capabilities-section, .output-section, .value-section, .governance-section, .authority-section, .cta-section { padding: 9mm 0; }
  .hero { padding-top: 0; overflow: visible; }
  .hero-grid, .section-grid, .authority-grid, .output-grid, .governance-grid, .cta-grid { display: block; }
  .hero-copy { padding: 0 0 7mm; }
  h1 { max-width: 170mm; margin-bottom: 5mm; font-size: 30pt; line-height: 1.04; }
  .hero-lede { margin-bottom: 0; font-size: 11pt; }
  .section-heading h2, .authority-section h2, .cta-grid h2 { font-size: 22pt; line-height: 1.12; }
  .requirement-index, .workspace-preview, .section-heading, .process-trace, .authority-copy, .decision-package, .boundary-list { margin-top: 6mm; }
  .workspace-preview { border: 1px solid var(--border); border-radius: 0; box-shadow: none; }
  .workspace-preview::before { display: none; }
  .workspace-flow { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2.5mm; min-height: 0; padding: 4mm; }
  .flow-record { padding: 3mm; transform: none !important; }
  .flow-record h3 { font-size: 9pt; }
  .flow-record p, .evidence-line em { font-size: 8pt; }
  .flow-connector { display: none; }
  .process-trace { padding-inline-start: 8mm; }
  .trace-stage { padding-bottom: 4mm; }
  .capability-heading { margin-bottom: 6mm; }
  .capability-row { grid-template-columns: 10mm minmax(0, 1fr) 62mm; gap: 5mm; padding: 5mm 0; transform: none !important; }
  .capability-row h3 { font-size: 15pt; }
  .capability-row p { font-size: 9.5pt; }
  .authority-section { background: var(--authority) !important; color: var(--on-dark) !important; }
  .authority-copy { padding-top: 0; }
  .output-heading { position: static; }
  .decision-package { box-shadow: none; transform: none !important; }
  .decision-package header { padding: 5mm; }
  .package-fields div { padding: 4mm 5mm; }
  .decision-package footer { padding: 4mm 5mm; }
  .boundary-list > div { padding: 4mm 0; }
  .cta-section { padding-bottom: 5mm; break-after: avoid-page; }
  .site-footer { padding: 6mm 0; break-before: avoid-page; }
  .site-footer nav { display: none; }
  .footer-grid { display: flex; justify-content: space-between; gap: 12mm; }
  .footer-note { text-align: end; }
  h1, h2, h3, .section-number, .eyebrow { break-after: avoid-page; page-break-after: avoid; }
  p { orphans: 3; widows: 3; }
  .requirement-index, .workspace-preview, .capability-row, .authority-section, .decision-package, .boundary-list > div, .cta-section, .site-footer { break-inside: avoid-page; page-break-inside: avoid; }
  .js-motion .hero-copy > *, .js-motion .requirement-index, .js-motion .workspace-preview,
  .js-motion .reveal-group, .js-motion .process-trace .trace-stage { opacity: 1 !important; transform: none !important; }
  .js-motion .process-trace .trace-line, .js-motion .authority-grid .checkpoint-mark { transform: none !important; }
  .carousel-item { opacity: 1 !important; transform: none !important; }
  .carousel-viewport.is-carousel-viewport { display: block; overflow: visible; }
  .carousel-viewport.is-carousel-viewport > .carousel-item { visibility: visible; min-height: 0; pointer-events: auto; margin-bottom: 3mm !important; }
  .trace-carousel, .trace-viewport.is-carousel-viewport { display: flex; gap: 3mm; }
}

/* V21 public information architecture */
.sub-hero { padding: 86px 0 72px; border-bottom: 1px solid var(--border); background: var(--bg); }
.sub-hero-grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(260px, 4fr); gap: 72px; align-items: end; }
.sub-hero h1 { max-width: 930px; margin-bottom: 24px; font-size: clamp(42px, 5.4vw, 76px); line-height: 1.02; letter-spacing: -.055em; }
.sub-hero .hero-lede { max-width: 760px; color: var(--secondary); font-size: 19px; line-height: 1.65; }
.sub-hero-note { padding: 28px; border: 1px solid #294356; border-radius: 8px; background: var(--authority); color: var(--on-dark); }
.sub-hero-note .mono { color: #87a9bd; }
.sub-hero-note p { margin: 28px 0 0; font-size: 19px; line-height: 1.5; }
.sub-section { padding: 76px 0; border-bottom: 1px solid var(--border); }
.sub-section:nth-child(odd) { background: var(--bg-alt); }
.sub-section-heading { display: grid; grid-template-columns: 3fr 9fr; gap: 24px; margin-bottom: 38px; }
.sub-section-heading h2 { max-width: 850px; margin: 0; font-size: clamp(30px, 3.5vw, 52px); line-height: 1.08; letter-spacing: -.045em; }
.sub-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--border); background: var(--border); }
.sub-card { min-height: 220px; padding: 30px; background: var(--surface); }
.sub-card h3 { margin: 18px 0 12px; font-size: 23px; line-height: 1.2; }
.sub-card p { margin: 0; color: var(--secondary); }
.sub-list { margin: 0 0 0 calc(25% + 6px); padding: 0; border-top: 1px solid var(--border); list-style: none; }
.sub-list li { display: grid; grid-template-columns: 72px 1fr; gap: 14px; align-items: center; min-height: 72px; border-bottom: 1px solid var(--border); }
.sub-list li .mono { color: var(--blue); }
.sample-record { overflow: hidden; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); box-shadow: 0 20px 50px rgba(11,24,37,.07); }
.sample-banner { display: flex; justify-content: space-between; gap: 24px; padding: 18px 24px; background: var(--authority); color: var(--on-dark); }
.sample-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
.sample-grid > section { min-height: 220px; padding: 28px; border-inline-end: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.sample-grid > section:nth-child(even) { border-inline-end: 0; }
.sample-grid > section:nth-last-child(-n+2) { border-bottom: 0; }
.sample-grid h3 { margin: 22px 0 10px; font-size: 22px; line-height: 1.35; }
.sample-grid p, .sample-grid small { color: var(--secondary); }
.ref-row { display: grid; grid-template-columns: 80px 1fr auto; gap: 12px; padding: 15px 0; border-bottom: 1px solid var(--border-subtle); }
.ref-row em { color: var(--evidence); font-style: normal; }
.sample-record > footer { padding: 18px 24px; border-top: 1px solid var(--border); background: #fbfcfd; color: var(--secondary); }
.sub-callout, .authority-strip { margin-inline-start: calc(25% + 6px); max-width: 850px; padding: 30px; border-inline-start: 4px solid var(--blue); background: var(--surface); }
.authority-strip { border-inline-start-color: var(--human); background: var(--authority); color: var(--on-dark); }
.authority-strip h3 { margin-bottom: 12px; font-size: 28px; line-height: 1.25; }
.authority-strip p { margin: 0; color: var(--muted-dark); }
.pending-link { display: block; margin-top: 18px; color: var(--muted); font-size: 14px; }
.process-table { border: 1px solid var(--border); background: var(--surface); }
.process-head, .process-table article { display: grid; grid-template-columns: 1.1fr repeat(4, 1fr); }
.process-head { background: var(--authority); color: var(--on-dark); }
.process-head span { padding: 14px 16px; border-inline-end: 1px solid #294356; font-family: var(--mono); font-size: 12px; letter-spacing: .04em; }
.process-table article { border-bottom: 1px solid var(--border); }
.process-table article:last-child { border-bottom: 0; }
.process-table article h3, .process-table article div { margin: 0; padding: 20px 16px; border-inline-end: 1px solid var(--border); font-size: 15px; line-height: 1.5; }
.process-table article h3 { display: flex; gap: 12px; font-size: 17px; }
.process-table article h3 .mono { color: var(--blue); }
.process-table article div:last-child { border-inline-end: 0; }
.resource-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.resource-card { min-height: 300px; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); text-decoration: none; transition: transform 180ms var(--ease-out), border-color 180ms ease; }
.resource-card:hover { transform: translateY(-3px); border-color: var(--blue); }
.resource-card h3 { margin: 34px 0 14px; font-size: 25px; line-height: 1.2; }
.resource-card p { color: var(--secondary); }
.resource-card strong { margin-top: auto; color: var(--blue); font-size: 15px; }
.boundary-note { margin: 24px 0 0; color: var(--muted); }
.faq-list { margin-inline-start: calc(25% + 6px); border-top: 1px solid var(--border); }
.faq-list details { border-bottom: 1px solid var(--border); }
.faq-list summary { min-height: 72px; display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; cursor: pointer; font-weight: 650; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--blue); font-size: 24px; transition: transform 160ms ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 760px; padding: 0 44px 24px 0; color: var(--secondary); }
.method-pair { margin: 0 0 30px calc(25% + 6px); display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.method-pair article { padding: 28px; border: 1px solid var(--border); background: var(--surface); }
.method-pair .mono { color: var(--blue); }
.method-pair h3 { margin: 32px 0 0; }
.table-wrap { overflow-x: auto; border: 1px solid var(--border); background: var(--surface); }
.pilot-table { width: 100%; min-width: 760px; border-collapse: collapse; text-align: start; }
.pilot-table th, .pilot-table td { padding: 16px; border-inline-end: 1px solid var(--border); border-bottom: 1px solid var(--border); text-align: start; }
.pilot-table thead th { background: var(--authority); color: var(--on-dark); font-family: var(--mono); font-size: 12px; letter-spacing: .04em; }
.pilot-table tbody td { color: var(--muted); font-style: italic; }
.sub-cta { padding: 64px 0; background: var(--authority); color: var(--on-dark); }
.sub-cta .shell { display: grid; grid-template-columns: 8fr 4fr; gap: 48px; align-items: end; }
.sub-cta h2 { max-width: 820px; margin: 14px 0 0; font-size: clamp(30px,4vw,50px); line-height: 1.08; letter-spacing: -.04em; }
.sub-cta-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.sub-cta .text-link { color: var(--on-dark); }

@media (max-width: 1000px) {
  .sub-hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .sub-hero-note { max-width: 620px; }
  .process-head { display: none; }
  .process-table article { grid-template-columns: 1fr 1fr; }
  .process-table article h3 { grid-column: 1 / -1; background: var(--bg-alt); }
  .process-table article div::before { content: attr(data-label); display: block; margin-bottom: 8px; color: var(--muted); font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
  .resource-grid { grid-template-columns: 1fr; }
  .resource-card { min-height: 220px; }
}
@media (max-width: 720px) {
  .sub-hero { padding: 54px 0 48px; }
  .sub-hero h1 { font-size: clamp(38px,12vw,54px); }
  .sub-section { padding: 52px 0; }
  .sub-section-heading { grid-template-columns: 1fr; gap: 10px; }
  .sub-card-grid, .sample-grid, .method-pair { grid-template-columns: 1fr; }
  .sub-card { min-height: auto; }
  .sub-list, .sub-callout, .authority-strip, .faq-list, .method-pair { margin-inline-start: 0; }
  .sample-grid > section { min-height: auto; border-inline-end: 0; border-bottom: 1px solid var(--border); }
  .sample-grid > section:nth-last-child(2) { border-bottom: 1px solid var(--border); }
  .process-table article { grid-template-columns: 1fr; }
  .process-table article h3 { grid-column: auto; }
  .process-table article h3, .process-table article div { border-inline-end: 0; border-bottom: 1px solid var(--border-subtle); }
  .sub-cta .shell { grid-template-columns: 1fr; gap: 32px; }
}
