: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; }
.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; }

.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) {
  .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) {
  :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, .governance-section { padding: 76px 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: 190px; padding-block: 24px; }
.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, .75fr) minmax(0, 1.25fr); align-items: center; gap: 30px; min-height: 270px; padding: 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: 340px; padding: 20px; border: 1px solid #2a4563; border-radius: 8px; background: #152d47; }
.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: 56px 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) {
  .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, .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; }
}

/* V8 refinement: preserve composition; wrap translated labels and improve prose. */
.console-heading > .mono { min-width: 0; overflow-wrap: anywhere; }
.console-heading > span:first-child { min-width: 0; }
.package-fields.is-carousel-viewport dd { font-family: var(--sans); letter-spacing: normal; }
.capability-visual figcaption .mono { font-size: 12px; letter-spacing: .02em; }
@media (max-width: 640px) {
  .hero-route { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hero-route li { min-width: 0; }
  .hero-route li > span { max-width: 100%; overflow-wrap: anywhere; hyphens: auto; text-align: center; }
  .review-console .index-item dt { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
}

/* V11: tools within the accepted V10 visual system. */
.resource-shortcuts {display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:24px;border-top:1px solid var(--border);padding-top:16px}
.resource-shortcuts .text-link,.data-entry {color:#2855a0;font-size:14px;text-align:start}
.footer-meta {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;grid-column:1/-1}
.footer-meta .text-link {font-size:14px}
.report-actions,.source-links,.draft-actions {display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.report-actions .button {font-size:14px}
.source-links {margin:16px 24px 0;padding-bottom:16px;border-bottom:1px solid #dce3ec}
.source-links button,.source-inline {border:1px solid #c8d5e5;border-radius:5px;background:#f0f5fc;color:#234f88;padding:9px 12px;font:inherit;font-size:14px;min-height:44px;text-align:start;cursor:pointer}
.evidence-line .source-inline {grid-column:1/-1;justify-self:start}
.source-links button:hover,.source-inline:hover {background:#e2ecff;border-color:#487ce7}
.report-proof {margin:22px 24px 0;padding:22px;border:1px solid #c5d9d5;background:#edf6f3;border-radius:8px;display:grid;gap:14px}
.proof-line {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.proof-line span {font-size:14px;color:#415c65}
.proof-line b {font-size:21px;color:#153f43;direction:ltr;unicode-bidi:isolate}
.proof-track {height:9px;background:#d6e6e3;border-radius:5px;overflow:hidden}
.proof-value {display:block;width:60%;height:100%;background:#387f72;border-radius:5px}
.report-proof p {margin:0;font-size:14px;color:#315a50}
.demo-dialog {max-width:620px}
.demo-content {padding:24px}
.demo-content > p {margin:0 0 18px;color:#4f6275;line-height:1.6}
.demo-form {display:grid;gap:10px}
.demo-form label,.demo-form select,.demo-form textarea,.demo-draft textarea {font:inherit;font-size:16px}
.demo-form label {color:#18304b;font-weight:550}
.demo-form select,.demo-form textarea,.demo-draft textarea {width:100%;min-height:44px;background:#f8fafc;border:1px solid #bfcddd;border-radius:5px;padding:10px 12px;color:#1b304a}
.demo-form textarea,.demo-draft textarea {resize:vertical}
.demo-form .button {margin-top:4px}
.demo-draft {margin-top:20px;padding-top:16px;border-top:1px solid #dce3ec}
.demo-draft p {color:#234f88;font-size:14px;line-height:1.6}
.demo-draft textarea {margin:10px 0;min-height:120px}
.demo-content .demo-note {font-size:13px;margin:18px 0 6px}
.contact-address {color:#2855a0;text-decoration:underline}
.source-dialog {max-width:700px}
.report-body mark {background:#e4eeff;color:#173b66;padding:2px 4px}
:is(button,a,input,textarea,select):focus-visible {outline:3px solid #376de0;outline-offset:3px}
@media(max-width:640px) {
  .hero-copy h1 {font-size:clamp(30px,8.1vw,34px);max-width:none;line-height:1.12;margin-bottom:18px;overflow-wrap:normal}
  .hero-copy .eyebrow {margin-bottom:16px}
  .hero-lede {margin-bottom:20px;line-height:1.5}
  .hero-copy .principle {margin-top:18px}
  .hero-grid {row-gap:22px}
  .hero-copy {padding-top:4px}
  .authority-grid h2,.output-heading h2 {font-size:30px;line-height:1.17}
  html[lang="ar"] .hero-copy h1 {line-height:1.5}
  .report-actions {width:100%}.report-actions .button {flex:1 1 auto}
  .report-proof {padding:16px;margin:16px 12px 0}
  .source-links {margin-inline:12px}
  .demo-content {padding:16px}
  .draft-actions > * {flex:1 1 100%}
}
@media print {.resource-shortcuts,.data-entry,.footer-meta,.source-links,.demo-dialog,.source-dialog,.data-dialog {display:none!important}}

button.text-link {border:0;background:transparent;font-family:inherit;cursor:pointer;text-align:start}
.report-body > .report-proof {grid-template-columns:1fr}
.report-body .report-proof > * {grid-column:1}
.proof-line b {white-space:nowrap}

/* V12: progressive clause explanation within the existing capability panel. */
.clause-animation {align-content:start}
.clause-animation .visual-document p {margin-bottom:0}
.clause-animation [data-clause-fragment] {border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-color 450ms ease}
.clause-animation[data-step="1"] [data-clause-fragment="1"],
.clause-animation[data-step="3"] [data-clause-fragment="1"] {background:#dce8ff}
.clause-animation[data-step="2"] [data-clause-fragment="2"] {background:#dcefe9}
.clause-connector {height:30px;display:grid;justify-items:center;align-content:start}
.clause-connector > span {width:2px;height:23px;background:#7392c6;transform-origin:top;transition:transform 500ms ease}
.clause-connector svg {width:12px;height:8px;margin-top:-2px;fill:none;stroke:#7392c6;stroke-width:2}
.clause-animation[data-step="0"] .clause-connector > span {transform:scaleY(0)}
.clause-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.clause-fields > div {min-width:0;padding:12px;background:#f8fafd;border:1px solid #ced9e7;border-radius:5px;transition:background-color 450ms ease,border-color 450ms ease,box-shadow 450ms ease}
.clause-fields dt {display:flex;align-items:baseline;gap:8px;color:#516980;font-size:14px;line-height:1.4}
.clause-fields dt .mono {font-size:12px;color:#6b83a2}
.clause-fields dd {margin:7px 0 0;font-size:15px;line-height:1.5;color:#254361;overflow-wrap:anywhere}
.clause-fields > .is-extracted {background:#fff;border-color:#7294cd;box-shadow:inset 3px 0 #477ad1}
.clause-fields > .clause-gap {grid-column:1/-1}
.clause-fields > .clause-gap.is-extracted {background:#fff5eb;border-color:#d4aa83;box-shadow:inset 3px 0 #b57b45}
.clause-gap.is-extracted dd {color:#805024}
.clause-playback {display:grid;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid #cbd8e8}
.clause-playback[hidden] {display:none}
.clause-playback > span {font-size:13px;line-height:1.5;color:#536c87}
.clause-playback > div {display:flex;flex-wrap:wrap;gap:8px}
.clause-playback button {min-height:40px;padding:8px 11px;font:inherit;font-size:14px;color:#284e7f;background:#fff;border:1px solid #adc2de;border-radius:5px;cursor:pointer}
.clause-playback button:hover:not(:disabled) {background:#e0ebfc;border-color:#5f87c2}
.clause-playback button:disabled {opacity:.5;cursor:default}
.clause-playback button:focus-visible {outline:3px solid #245bf3;outline-offset:3px}
html[dir="rtl"] .clause-fields > .is-extracted {box-shadow:inset -3px 0 #477ad1}
html[dir="rtl"] .clause-fields > .clause-gap.is-extracted {box-shadow:inset -3px 0 #b57b45}
@media (prefers-reduced-motion:no-preference) {
  .js-motion .reveal-group {transform:translateY(18px)}
  .js-motion .reveal-group.is-visible {transform:translateY(0);transition-duration:500ms}
  .js-motion :is(.output-grid,.authority-grid,.governance-grid,.cta-grid).reveal-group > * {opacity:0;transform:translateY(10px)}
  .js-motion :is(.output-grid,.authority-grid,.governance-grid,.cta-grid).reveal-group.is-visible > * {opacity:1;transform:translateY(0);transition:opacity 500ms var(--ease-out),transform 500ms var(--ease-out);transition-delay:80ms}
  .js-motion :is(.output-grid,.authority-grid,.governance-grid,.cta-grid).reveal-group.is-visible > :nth-child(2) {transition-delay:170ms}
  .js-motion .section-heading.reveal-group h2 {opacity:0;transform:translateY(8px)}
  .js-motion .section-heading.reveal-group.is-visible h2 {opacity:1;transform:translateY(0);transition:opacity 500ms ease 100ms,transform 500ms var(--ease-out) 100ms}
}
@media (max-width:640px) {
  .clause-fields {grid-template-columns:1fr}
  .clause-fields > div {padding:10px 12px}
  .clause-playback button {min-height:44px}
}
@media (prefers-reduced-motion:reduce) {
  .clause-animation *, .clause-animation *::before {transition:none !important;animation:none !important}
  .clause-connector > span {transform:none !important}
  .clause-playback > div {display:none}
}
@media print {
  .clause-playback {display:none}
  .clause-connector > span {transform:none !important}
  .js-motion :is(.output-grid,.authority-grid,.governance-grid,.cta-grid).reveal-group > *,
  .js-motion .section-heading.reveal-group h2 {opacity:1 !important;transform:none !important}
}

/* V13: put the customer benefit directly below the headline. */
.hero-copy {padding-top:0}
.hero-copy h1 {font-size:clamp(40px,3.8vw,52px);max-width:20ch}
.hero-value {margin-top:24px;padding:18px;background:#fff;border:1px solid #cbd9eb;border-top:3px solid #2c63d7;border-radius:8px;box-shadow:0 8px 24px #2847690a}
.value-heading h2 {margin:0;font-size:22px;line-height:1.2;letter-spacing:-.025em;color:#102b4d}
.value-heading p {margin:6px 0 0;font-size:15px;line-height:1.45;color:#405d7a}
.value-source {display:flex;align-items:center;gap:10px;margin-top:15px;padding:10px 12px;border-radius:4px;background:#eff4fb;color:#294d76}
.value-source .ui-icon {width:20px;height:20px;flex-basis:20px}
.value-source p {margin:0;font-size:14px;line-height:1.4}
.value-source .mono {font-size:12px;white-space:nowrap;margin-inline-end:5px}
.value-path {position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:16px 0 0}
.value-path::before,.value-path::after {content:'';position:absolute;z-index:-1;height:2px;top:17px;inset-inline-start:18px;width:calc(66.6667% + 8px);background:#d5e0ec}
.value-path::after {background:#4a79ce;transform:scaleX(var(--value-progress,1));transform-origin:left;transition:transform 600ms ease}
.hero-value[data-value-step="0"],.hero-value[data-value-step="1"] {--value-progress:0}
.hero-value[data-value-step="2"] {--value-progress:.5}
.hero-value[data-value-step="3"] {--value-progress:1}
.value-path li {min-width:0}
.value-node {display:grid;place-items:center;width:36px;height:36px;border:1px solid #bfcfe2;border-radius:50%;background:#f7faff;color:#5d7899;transition:background-color 450ms ease,color 450ms ease,border-color 450ms ease}
.value-node .ui-icon {width:20px;height:20px}
.value-path h3 {font-size:16px;line-height:1.3;letter-spacing:-.02em;color:#213f61;margin:10px 0 6px}
.value-path p {font-size:14px;line-height:1.45;color:#516780;margin:0}
.value-path li:first-child.is-emphasized .value-node {background:#fff0e0;border-color:#c28a55;color:#895622}
.value-path li:nth-child(2).is-emphasized .value-node {background:#e6f3ef;border-color:#5c9b8b;color:#276956}
.value-path li:nth-child(3).is-emphasized .value-node {background:#e5edff;border-color:#698bd2;color:#2859ad}
.value-footer {display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #dde5ef;margin-top:16px;padding-top:10px}
.value-footer > span {font-size:12px;line-height:1.4;color:#5c7088}
.value-footer button {flex:0 0 auto;padding:5px 0;border:0;border-bottom:1px solid #809abe;background:none;color:#345783;font:inherit;font-size:12px;line-height:1.5;cursor:pointer}
.value-footer button[hidden] {display:none}
.value-footer button:focus-visible {outline:3px solid #245bf3;outline-offset:4px}
.hero-value + .hero-actions {margin-top:22px}
.hero-copy .principle {margin-top:18px}
html[dir="rtl"] .value-path::after {transform-origin:right}
@media(max-width:1000px) {
  .hero-copy {max-width:none}
  .hero-value {max-width:760px}
}
@media(max-width:640px) {
  .hero-copy h1 {font-size:clamp(29px,7.8vw,34px);max-width:none}
  .hero-value {padding:14px;margin-top:18px}
  .value-heading h2 {font-size:21px}
  .value-source {margin-top:10px;padding:8px 10px}
  .value-path {grid-template-columns:1fr;gap:13px;margin-top:14px}
  .value-path li {display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px}
  .value-node {width:34px;height:34px}
  .value-path h3 {font-size:16px;margin:0 0 3px}
  .value-path p {font-size:14px}
  .value-path::before,.value-path::after {width:2px;height:calc(100% - 34px);top:17px;inset-inline-start:16px}
  .value-path::after {transform:scaleY(var(--value-progress,1));transform-origin:top}
  html[dir="rtl"] .value-path::after {transform-origin:top}
  .value-footer {margin-top:12px;gap:8px}
  .value-footer button {min-height:40px}
  .hero-value + .hero-actions {margin-top:18px}
}
@media(prefers-reduced-motion:reduce) {
  .value-path::after,.value-node {transition:none !important}
}
@media print {
  .value-footer button {display:none}
  .value-path::after {transform:none}
  .hero-value {break-inside:avoid;box-shadow:none}
}

/* KİK market context: constant values and comparable zero-baseline bars.
   Motion highlights the evidence; it never cycles through invented statistics. */
.market-kicker {display:flex;justify-content:space-between;gap:12px;margin:16px 0 12px;padding-top:12px;border-top:1px solid #dce5f0;font-size:12px;line-height:1.4;color:#4a6482}
.market-kicker .mono {font-size:11px;white-space:nowrap}
.market-charts {display:grid;grid-template-columns:1.2fr 1fr;gap:20px}
.market-charts figure {margin:0;min-width:0}
.market-charts figcaption {font-size:13px;line-height:1.35;font-weight:600;color:#294969;min-height:36px}
.market-bar-row {margin-top:9px}
.market-bar-row > div:first-child {display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:5px}
.market-bar-row .mono {font-size:12px;color:#5a7189}
.market-bar-row strong {font-size:20px;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#254362}
.market-bar-row.is-latest strong {color:#245ed0}
.market-track {height:11px;border-radius:3px;background:#edf2f8;overflow:hidden}
.market-track > span {position:relative;display:block;width:var(--bar-share);height:100%;background:#9aafd1;border-radius:3px;overflow:hidden}
.is-latest .market-track > span {background:#346ddb}
.market-track > span::after {content:'';position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(90deg,transparent,#ffffff88,transparent);animation:market-sweep 9.5s ease-in-out infinite;animation-play-state:paused}
.market-cancellations {padding-inline-start:20px;border-inline-start:1px solid #dce5f0}
.market-ring {width:96px;height:96px;position:relative;margin:4px auto 0}
.market-ring svg {position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:8}
.ring-track {stroke:#e9edf4}
.ring-value {stroke:#be753a;stroke-linecap:butt}
.market-ring strong {position:absolute;inset:0;display:grid;place-items:center;font-size:24px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.05em;color:#92531f}
.market-cancellations p {margin:3px 0 0;text-align:center;font-size:11px;line-height:1.4;color:#5c6c80}
.market-cancellations p strong {font-size:13px;color:#8a501e}
.market-scope {margin:9px 0 0;font-size:11px;line-height:1.4;color:#5a708b}
.market-competition {display:flex;align-items:center;gap:10px;background:#edf4f9;border-radius:4px;margin-top:10px;padding:8px 10px}
.market-competition > strong {flex:0 0 auto;font-size:23px;letter-spacing:-.04em;color:#276757;font-variant-numeric:tabular-nums}
.market-competition > span {font-size:12px;line-height:1.35;color:#3d5c6d}
.market-sources {margin-top:9px;font-size:12px;line-height:1.5;color:#4b6583}
.market-sources summary {cursor:pointer;text-decoration:underline;text-underline-offset:3px;color:#345d8c;width:fit-content;padding:3px 0}
.market-sources summary:focus-visible {outline:3px solid #245bf3;outline-offset:3px}
.market-methodology {padding:6px 10px;background:#f4f7fc;border-inline-start:2px solid #b0c5e1;margin-top:8px}
.market-methodology p {margin:8px 0;font-size:12px;line-height:1.55}
.market-methodology a,.value-footer a {color:#345d8c;text-decoration:underline;text-underline-offset:3px}
.value-footer > a {font-size:11px;line-height:1.45}
.value-approach {margin:12px 0 0;padding-top:12px;border-top:1px solid #dce5f0;font-size:12px;font-weight:600;color:#405d7a}
.hero-value .value-path {margin-top:10px;gap:10px}
.hero-value .value-path h3 {font-size:13px;margin:7px 0 0;line-height:1.35;letter-spacing:-.01em}
.hero-value .value-footer {margin-top:10px}
.hero-value[data-value-motion="playing"] .market-track > span::after {animation-play-state:running}
.hero-value[data-value-motion="playing"] .market-ring {animation:market-ring-emphasis 9.5s ease-in-out infinite}
@keyframes market-sweep {0%,8% {transform:translateX(-110%)}30%,100% {transform:translateX(110%)}}
@keyframes market-ring-emphasis {0%,30%,65%,100% {filter:none}45% {filter:drop-shadow(0 0 5px #be753a44)}}
@media(max-width:640px) {
 .market-charts {gap:12px}
 .market-cancellations {padding-inline-start:12px}
 .market-charts figcaption {font-size:12px;min-height:34px}
 .market-bar-row strong {font-size:20px}
 .market-ring {width:90px;height:90px}
 .market-ring strong {font-size:23px}
 .hero-value .value-path {grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
 .hero-value .value-path li {display:block}
 .hero-value .value-path::before,.hero-value .value-path::after {width:calc(66.6667% + 6px);height:2px;top:16px;inset-inline-start:17px}
 .hero-value .value-path::after {transform:scaleX(var(--value-progress,1));transform-origin:left}
 html[dir="rtl"] .hero-value .value-path::after {transform-origin:right}
 .value-footer {flex-wrap:wrap}
 .value-footer button {font-size:11px;min-height:40px}
}
@media(prefers-reduced-motion:reduce) {
 .market-track > span::after {display:none}
 .hero-value .market-ring {animation:none !important}
}
@media print {
 .market-track > span::after {display:none}
 .market-ring {animation:none !important}
 .market-sources > * {display:block}
}
.market-kicker .mono {direction:ltr;unicode-bidi:isolate}

/* V15: lead with the customer's task; show market evidence as supporting context. */
.hero-copy h1 {max-width:18ch;font-size:clamp(38px,3.7vw,50px);line-height:1.08}
.hero-lead {max-width:55ch;font-size:17px;line-height:1.65;color:#49617a;margin:18px 0 0}
.hero-copy > .hero-actions {margin-top:22px}
.hero-value {margin-top:27px;padding:19px 18px 13px;background:linear-gradient(135deg,#fff,#f6f9ff)}
.value-heading h2 {font-size:20px;line-height:1.3}
.value-heading p {font-size:12px;letter-spacing:.01em;color:#617691}
.hero-value .value-path {margin-top:18px;gap:12px}
.hero-value .value-path h3 {font-size:13px;line-height:1.4;margin:10px 0 6px}
.hero-value .value-path p {font-size:13px;line-height:1.5;color:#556d85}
.hero-value .value-path li {padding-bottom:8px;border-bottom:2px solid transparent;transition:border-color 450ms ease}
.hero-value .value-path li.is-emphasized {border-color:#81a4df}
.hero-value .value-path li:nth-child(2).is-emphasized {border-color:#c28a55}
.hero-value .value-path li:nth-child(2).is-emphasized .value-node {background:#fff0e0;border-color:#c28a55;color:#895622}
.hero-value .value-footer {margin-top:8px;padding-top:9px}
.value-footer > span {font-size:11px;max-width:34ch}
.market-panel {grid-column:1/-1;min-width:0;padding:28px 30px 20px;border:1px solid #cedcec;border-radius:10px;background:linear-gradient(115deg,#f7faff,#fff);box-shadow:0 10px 36px #19365306}
.market-heading {display:flex;align-items:center;justify-content:space-between;gap:24px}
.market-heading .eyebrow {font-size:11px;margin:0 0 7px}
.market-heading h2 {margin:0;font-size:clamp(22px,2.3vw,29px);line-height:1.25;letter-spacing:-.035em;color:#163655}
.motion-control {padding:9px 0;border:0;border-bottom:1px solid #879fbc;background:none;font:inherit;font-size:12px;line-height:1.5;color:#365c86;cursor:pointer;white-space:nowrap}
.motion-control[hidden] {display:none}
.motion-control:focus-visible {outline:3px solid #245bf3;outline-offset:4px}
.market-panel .market-kicker {margin:20px 0 18px;font-size:13px}
.market-panel .market-charts {grid-template-columns:1.3fr 1fr 1fr;gap:32px}
.market-panel .market-charts figcaption {font-size:14px;min-height:40px}
.market-panel .market-bar-row {margin-top:14px}
.market-panel .market-bar-row strong {font-size:30px}
.market-panel .market-track {height:16px;border-radius:4px;background:linear-gradient(to right,#cfdbef var(--bar-share),#edf2f8 var(--bar-share))}
.market-panel .ring-reference {stroke:#dab795}
html[dir="rtl"] .market-panel .market-track {background:linear-gradient(to left,#cfdbef var(--bar-share),#edf2f8 var(--bar-share))}
.market-panel .market-track > span {border-radius:4px}
.market-panel .market-track > span::after {display:none}
.market-panel .market-cancellations {padding-inline-start:30px}
.market-panel .market-ring {width:128px;height:128px;margin:0 auto}
.market-panel .market-ring strong {font-size:31px}
.market-panel .market-cancellations p {font-size:12px;margin-top:6px}
.market-panel .market-cancellations p strong {font-size:15px}
.market-panel .market-competition {display:block;padding:0 0 0 0;padding-inline-start:30px;border-inline-start:1px solid #dce5f0;background:transparent;border-radius:0;margin:0}
.competition-number {display:flex;align-items:center;min-height:115px;position:relative;overflow:hidden}
.competition-number strong {color:#266a5e;font-size:70px;line-height:1;letter-spacing:-.07em;font-variant-numeric:tabular-nums}
.market-competition > p {font-size:13px;line-height:1.5;color:#4a6b70;margin:10px 0 0;max-width:26ch}
.market-panel .market-scope {margin-top:18px;font-size:12px}
.market-panel .market-sources {font-size:12px;margin-top:12px}
.market-caveat {font-size:12px;color:#61758c;line-height:1.6;margin:12px 0 0}
/* Ratios and number labels remain fixed. Only the strokes reveal and hold. */
.market-panel[data-market-motion] .market-track > span {animation:market-bar-draw 6s cubic-bezier(.22,.7,.25,1) infinite;transform-origin:left;animation-play-state:paused}
.market-panel[data-market-motion] .is-latest .market-track > span {animation-name:market-bar-draw-latest}
.market-panel[data-market-motion] .ring-value {animation:market-ring-draw 6s ease-in-out infinite;animation-play-state:paused}
.market-panel[data-market-motion] .competition-number strong {animation:market-number-emphasis 6s ease-in-out infinite;animation-play-state:paused}
.market-panel[data-market-motion="playing"] :is(.market-track > span,.ring-value,.competition-number strong) {animation-play-state:running}
.market-panel[data-market-motion="static"] :is(.market-track > span,.ring-value,.competition-number strong) {animation:none}
html[dir="rtl"] .market-panel .market-track > span {transform-origin:right}
@keyframes market-bar-draw {0%,100% {transform:scaleX(0)}40%,65% {transform:scaleX(1)}}
@keyframes market-bar-draw-latest {0%,8%,100% {transform:scaleX(0)}50%,72% {transform:scaleX(1)}}
@keyframes market-ring-draw {0%,12%,100% {stroke-dasharray:0 100}55%,75% {stroke-dasharray:15.874836716154658 100}}
@keyframes market-number-emphasis {0%,100% {color:#266a5e;transform:translateY(0)}50% {color:#123e34;transform:translateY(-3px)}}
@media(max-width:1000px) {
 .hero-copy h1 {max-width:22ch}
 .hero-lead {max-width:64ch}
 .market-panel .market-charts {gap:20px}
 .market-panel .market-cancellations,.market-panel .market-competition {padding-inline-start:20px}
 .competition-number strong {font-size:58px}
}
@media(max-width:640px) {
 .hero-copy h1 {font-size:clamp(29px,7.8vw,36px);max-width:none}
 .hero-lead {font-size:15px;line-height:1.6;margin-top:15px}
 .hero-copy > .hero-actions {margin-top:18px;gap:14px}
 .hero-value {padding:15px 13px 10px;margin-top:24px}
 .value-heading h2 {font-size:19px}
 .hero-value .value-path {gap:9px}
 .hero-value .value-path h3 {font-size:12px}
 .hero-value .value-path p {font-size:12px}
 .value-footer > span {max-width:none;flex:1 1 150px}
 .market-panel {padding:21px 16px 18px}
 .market-heading {display:block}
 .market-heading h2 {font-size:24px}
 .market-heading .motion-control {min-height:44px;margin-top:6px}
 .market-panel .market-charts {grid-template-columns:1fr;gap:23px}
 .market-panel .market-charts figcaption {min-height:0;font-size:14px}
 .market-panel .market-cancellations,.market-panel .market-competition {padding:20px 0 0;border-inline-start:0;border-top:1px solid #dce5f0}
 .market-panel .market-cancellations {display:grid;grid-template-columns:1fr 112px;gap:8px 14px;align-items:center}
 .market-panel .market-cancellations figcaption {align-self:end}
 .market-panel .market-cancellations p {text-align:start;align-self:start;margin:0}
 .market-panel .market-ring {grid-column:2;grid-row:1/3;width:112px;height:112px}
 .market-panel .market-competition {display:grid;grid-template-columns:1fr auto;gap:8px 15px;align-items:center}
 .market-panel .market-competition figcaption {align-self:end}
 .competition-number {grid-column:2;grid-row:1/3;min-height:90px;overflow:visible}
 .competition-number strong {font-size:50px}
 .market-competition > p {margin:0;font-size:12px;align-self:start}
 .market-panel .market-kicker {font-size:12px;gap:8px}
}
@media(prefers-reduced-motion:reduce) {
 .market-panel :is(.market-track > span,.ring-value,.competition-number strong) {animation:none !important}
 .hero-value .value-path li {transition:none}
}
@media print {
 .market-panel :is(.market-track > span,.ring-value,.competition-number strong) {animation:none !important}
 .motion-control {display:none}
}

/* V16 — a readable product demonstration leads the commercial story. */
.hero {padding-top:54px}
.hero-grid {column-gap:40px;row-gap:52px;align-items:center}
.hero-copy {grid-column:1/span 5;padding:12px 0 18px;min-width:0}
.hero-copy h1 {max-width:13ch;font-size:clamp(42px,4.2vw,62px);line-height:1.08;letter-spacing:-.047em;margin-bottom:0}
.hero-accent {color:#245cf2}
.hero-promise {font-size:24px;line-height:1.35;letter-spacing:-.025em;font-weight:600;color:#18395a;margin:22px 0 0}
.hero-lead {font-size:17px;line-height:1.7;max-width:45ch;margin:18px 0 0}
.hero-copy > .hero-actions {margin-top:28px;flex-wrap:wrap;gap:18px}
.buyer-benefits {list-style:none;padding:0;margin:32px 0 0;display:grid;gap:17px}
.buyer-benefits li {display:grid;grid-template-columns:22px 1fr;gap:13px;align-items:start;font-size:16px;line-height:1.5;color:#2b4663;max-width:40ch}
.buyer-benefits .ui-icon {width:22px;height:22px;color:#315ac0;margin-top:2px}
.hero-copy .principle {margin-top:30px;font-size:13px}
.bid-story {grid-column:6/-1;min-width:0;border:1px solid #bacce5;border-radius:13px;background:#fff;box-shadow:0 20px 55px #1536571b,0 2px 8px #1536570a;overflow:hidden;text-align:start}
.bid-window-bar {display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0c1e33;color:#cfdbec;padding:15px 24px;font-size:12px;line-height:1.5}
.bid-brand {font-size:16px;font-weight:650;color:#fff;letter-spacing:-.025em;white-space:nowrap}
.bid-brand b {font-size:12px;color:#8eb6ff;margin-inline-start:3px}
.bid-overview {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:23px 24px 19px}
.bid-kicker {margin:0 0 6px;color:#5b7190;font-size:12px;letter-spacing:.12em;font-weight:600}
.bid-overview h2 {font-size:28px;line-height:1.15;letter-spacing:-.04em;margin:0;color:#112f4c}
.bid-open {display:inline-flex;align-items:center;gap:6px;background:#fff3df;color:#815009;padding:7px 9px;border-radius:5px;border:1px solid #f0d4a6;font-size:13px;line-height:1.4;font-weight:600;max-width:160px}
.bid-open .ui-icon {width:17px;height:17px;flex:0 0 17px}
.bid-matrix {width:calc(100% - 48px);margin:0 24px;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.5;color:#2e4764}
.bid-matrix th,.bid-matrix td {padding:11px 10px;text-align:start;vertical-align:middle;border-bottom:1px solid #e3eaf3;overflow-wrap:break-word}
.bid-matrix th:first-child {padding-inline-start:0;width:34%}
.bid-matrix th:last-child {width:24%}
.bid-matrix th:last-child,.bid-matrix td:last-child {padding-inline-end:0;text-align:end}
.bid-matrix thead th {color:#647890;font-size:12px;font-weight:500;padding-top:8px;padding-bottom:8px}
.bid-matrix tbody th {font-weight:600;color:#263f5c}
.bid-matrix small {display:block;color:#6b7e98;font-size:12px;margin-top:2px;direction:ltr;unicode-bidi:isolate}
.bid-status {font-size:12px;font-weight:600;display:inline-block;padding:3px 8px;border-radius:4px;line-height:1.4}
.bid-status.linked {background:#e9f1ff;color:#315c9d}
.bid-status.open {background:#fff0d6;color:#885713}
.bid-risk-row {background:#fffaf0;transition:background 300ms ease}
.bid-story[data-bid-step="2"] .bid-risk-row {background:#ffedcb}
.bid-story[data-bid-step="1"] .bid-matrix tbody tr:not(.bid-risk-row) {background:#f0f5ff}
.bid-matrix-note {margin:9px 24px 17px;color:#6a7b90;font-size:12px;line-height:1.5}
.bid-steps {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:1px solid #dce5f1;padding:0 16px;background:#f7f9fd}
.bid-steps button {position:relative;display:flex;gap:7px;align-items:center;justify-content:center;border:0;border-bottom:3px solid transparent;padding:14px 3px 12px;background:transparent;color:#61748d;font:inherit;font-size:13px;line-height:1.4;min-width:0;cursor:pointer}
.bid-steps .mono {font-size:12px;color:#879ab4}
.bid-steps button[aria-pressed="true"] {border-bottom-color:#3068ec;color:#194cba;background:#eef3fe;font-weight:650}
.bid-steps button[aria-pressed="true"] .mono {color:#3068ec}
.bid-steps button:focus-visible {outline:3px solid #245bf3;outline-offset:-3px}
.bid-scenes {display:grid;background:linear-gradient(120deg,#f7faff,#fff)}
.bid-scene {grid-area:1/1;visibility:hidden;opacity:0;pointer-events:none;padding:22px 24px 24px;transition:opacity 360ms ease;min-height:226px}
.bid-scene.is-active {visibility:visible;opacity:1;pointer-events:auto}
.bid-scene-label {display:flex;align-items:center;gap:9px;color:#345b87;font-size:13px;line-height:1.5;font-weight:600}
.bid-scene-label .ui-icon {width:20px;height:20px;flex:0 0 20px}
.bid-scene-label > .mono {margin-inline-start:auto;font-size:12px;white-space:nowrap}
.bid-scene blockquote {margin:19px 0 14px;padding:0 0 0 14px;padding-inline-start:14px;border-inline-start:3px solid #4c7be0;color:#1b3656;font-size:19px;line-height:1.5;font-weight:500;letter-spacing:-.018em}
.bid-scene > p {font-size:14px;line-height:1.6;margin:14px 0 0;color:#526b86}
.bid-scene h3 {margin:20px 0 0;font-size:23px;line-height:1.3;letter-spacing:-.028em;color:#173859}
.bid-gap-scene {background:linear-gradient(120deg,#fff7e7,#fffdf9)}
.bid-gap-scene h3 {color:#7e4d12}
.bid-gap-scene .bid-scene-label {color:#946021}
.bid-evidence-pair {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:18px}
.bid-evidence-pair > div {padding:12px;border:1px solid #cfdcef;border-radius:5px;background:white}
.bid-evidence-pair .mono {display:block;color:#6d84a6;font-size:12px;margin-bottom:4px}
.bid-evidence-pair strong {font-size:15px;line-height:1.5;color:#24466f}
.bid-evidence-pair > span {color:#6888b9;font-size:18px}
.bid-owner {margin:16px 0 0;display:grid;gap:12px}
.bid-owner > div {display:grid;grid-template-columns:120px 1fr;gap:14px}
.bid-owner dt {font-size:12px;line-height:1.5;color:#67809c}
.bid-owner dd {margin:0;font-size:14px;line-height:1.5;font-weight:500;color:#203e60}
.bid-output-scene {background:#102941}
.bid-output-scene .bid-scene-label {color:#96bafa}
.bid-output-scene h3 {color:#fff}
.bid-output-scene > p {color:#bed0e3}
.bid-report-link {display:inline-flex;align-items:center;gap:18px;color:#b7d1ff;font-size:14px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;margin-top:14px}
.bid-report-link:focus-visible {outline:3px solid #fff;outline-offset:4px}
.bid-playback {position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px 15px;border-top:1px solid #dfe7f2;font-size:12px;line-height:1.5;color:#667c96;background:white}
.bid-playback button {background:none;border:0;border-bottom:1px solid #91a4c0;color:#42668d;font:inherit;font-size:12px;padding:5px 0;cursor:pointer;white-space:nowrap}
.bid-playback button[hidden] {display:none}
.bid-playback button:focus-visible {outline:3px solid #245bf3;outline-offset:3px}
.bid-progress {position:absolute;bottom:0;inset-inline-start:0;height:3px;background:#326ae9;width:calc((var(--bid-step,0) + 1) * 20%);transition:width 350ms ease}
.bid-story[data-bid-step="0"] {--bid-step:0}.bid-story[data-bid-step="1"] {--bid-step:1}.bid-story[data-bid-step="2"] {--bid-step:2}.bid-story[data-bid-step="3"] {--bid-step:3}.bid-story[data-bid-step="4"] {--bid-step:4}
.buyer-outcomes {grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:35px 0 0;border-top:1px solid #cedbea}
.buyer-outcomes-heading {grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.buyer-outcomes-heading .eyebrow {margin:0;font-size:12px}
.buyer-outcomes h2 {font-size:28px;line-height:1.25;letter-spacing:-.035em;color:#1c3a59;margin:0}
.buyer-outcomes article {display:grid;grid-template-columns:36px 1fr;gap:13px}
.outcome-index {font-size:13px;color:#456fbb;padding-top:3px}
.buyer-outcomes h3 {font-size:18px;line-height:1.3;color:#1f3d5c;margin:0 0 9px;letter-spacing:-.018em}
.buyer-outcomes article p {font-size:15px;line-height:1.65;color:#536c86;margin:0}
.review-explorer {grid-column:1/-1;border-top:1px solid #ccd9e9;padding:22px 0 30px;width:100%;margin-top:-24px}
.review-explorer summary {font-size:15px;color:#31547f;cursor:pointer;padding:8px 0;width:fit-content}
.review-explorer summary:focus-visible {outline:3px solid #245bf3;outline-offset:4px}
.review-explorer .review-console {max-width:760px;margin:20px auto 0}
.market-support {padding-bottom:56px}
@media (max-width:1100px) {
 .hero-grid {column-gap:26px}
 .hero-copy h1 {font-size:46px}
 .bid-overview {padding:20px 18px 17px}
 .bid-overview h2 {font-size:25px}
 .bid-matrix {width:calc(100% - 36px);margin-inline:18px}
 .bid-matrix th,.bid-matrix td {padding-inline:6px;font-size:13px}
 .bid-steps button {flex-direction:column;gap:2px;font-size:13px}
 .bid-scene {padding:20px 18px;min-height:252px}
 .bid-playback {padding-inline:18px}
}
@media (max-width:900px) {
 .hero {padding-top:38px}
 .hero-grid {grid-template-columns:1fr;row-gap:34px}
 .hero-copy,.bid-story,.workspace-preview,.buyer-outcomes,.review-explorer {grid-column:1/-1}
 .hero-copy {padding:0;max-width:740px}
 .hero-copy h1 {font-size:clamp(38px,6.8vw,54px);max-width:19ch}
 .hero-lead {max-width:61ch}
 .buyer-benefits {grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:26px}
 .buyer-benefits li {display:block;font-size:14px}
 .buyer-benefits .ui-icon {display:block;margin:0 0 10px}
 .hero-copy .principle {margin-top:22px}
 .bid-matrix th,.bid-matrix td {font-size:14px}
 .bid-steps button {flex-direction:row;gap:8px}
 .bid-scene {min-height:245px}
 .buyer-outcomes {gap:22px}
 .buyer-outcomes article {display:block}
 .outcome-index {display:block;margin-bottom:12px}
 .buyer-outcomes-heading {display:block}
 .buyer-outcomes h2 {margin-top:10px}
}
@media (max-width:540px) {
 .hero {padding-top:30px}
 .hero-copy h1 {font-size:clamp(36px,9vw,45px);max-width:16ch}
 .hero-promise {font-size:22px;margin-top:16px}
 .hero-lead {font-size:16px;line-height:1.65;margin-top:17px}
 .hero-copy > .hero-actions {margin-top:24px}
 .buyer-benefits {grid-template-columns:1fr;gap:12px;margin-top:24px}
 .buyer-benefits li {display:grid;grid-template-columns:20px 1fr;gap:11px;font-size:14px;max-width:none}
 .buyer-benefits .ui-icon {width:20px;height:20px;margin:0}
 .bid-story {border-radius:9px}
 .bid-window-bar {padding:13px 15px;gap:10px;font-size:12px}
 .bid-brand {font-size:15px}
 .bid-overview {padding:20px 15px 17px;align-items:start;flex-wrap:wrap;gap:12px}
 .bid-overview h2 {font-size:27px}
 .bid-open {font-size:12px;max-width:none}
 .bid-matrix {width:calc(100% - 30px);margin-inline:15px}
 .bid-matrix thead th {font-size:12px}
 .bid-matrix th:first-child {width:33%}
 .bid-matrix th:last-child {width:25%}
 .bid-matrix th,.bid-matrix td {font-size:14px;padding-inline:5px;line-height:1.55}
 .bid-status {font-size:12px;padding:3px 4px}
 .bid-matrix small {font-size:12px}
 .bid-matrix-note {margin:10px 15px 17px;font-size:12px}
 .bid-steps {padding-inline:5px}
 .bid-steps button {flex-direction:column;gap:4px;font-size:12px;padding:12px 2px 10px}
 .bid-steps .mono {font-size:12px}
 .bid-scene {padding:20px 15px;min-height:276px}
 .bid-scene-label {font-size:12px;gap:7px;align-items:start}
 .bid-scene-label > .mono {font-size:12px}
 .bid-scene blockquote {font-size:18px;line-height:1.6;margin-top:18px}
 .bid-scene h3 {font-size:22px}
 .bid-scene > p {font-size:14px;line-height:1.65}
 .bid-owner > div {grid-template-columns:1fr;gap:4px}
 .bid-owner {gap:12px}
 .bid-owner dt {font-size:12px}
 .bid-owner dd {font-size:14px}
 .bid-evidence-pair {gap:7px}
 .bid-evidence-pair > div {padding:10px 8px}
 .bid-evidence-pair strong {font-size:14px}
 .bid-playback {padding:11px 15px 14px;font-size:12px;align-items:start}
 .bid-playback button {font-size:12px;min-height:35px}
 .buyer-outcomes {grid-template-columns:1fr;gap:24px;padding-top:27px}
 .buyer-outcomes article {display:grid;grid-template-columns:30px 1fr;gap:12px}
 .buyer-outcomes-heading {margin-bottom:4px}
 .buyer-outcomes h2 {font-size:27px}
 .buyer-outcomes article p {font-size:15px}
 .review-explorer {margin-top:0;padding-bottom:20px}
 .review-explorer summary {font-size:14px}
 .market-support {padding-bottom:36px}
}
@media (prefers-reduced-motion:reduce) {
 .bid-story *, .bid-story *::before,.bid-story *::after {animation:none !important;transition:none !important}
}
@media print {
 .bid-story {box-shadow:none;break-inside:avoid}
 .bid-scene {grid-area:auto;visibility:visible !important;opacity:1 !important;min-height:0;break-inside:avoid}
 .bid-steps,.bid-playback,.review-explorer {display:none}
 .buyer-outcomes {grid-template-columns:repeat(3,1fr)}
 .hero-copy h1 {font-size:36px}
}

.bid-matrix .sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.bid-story .mono {direction:ltr;unicode-bidi:isolate}

/* V17 — one visual language, with motion attached to the review itself. */
@media screen {
  :root {--secondary:#485e73;--muted:#52687c;--navy:#10263e;--paper:#f5f8fc;--teal:#18766e;--amber:#8b581b}
  h1,h2,h3 {text-wrap:balance}
  .hero {background:radial-gradient(ellipse at 95% 10%,#e0e9fc 0,transparent 47%),linear-gradient(180deg,#f5f8fc,#edf3f9)}
  .process-section {background:linear-gradient(180deg,#edf3f9 0,#f8fafd 130px,#f8fafd 100%)}
  .capabilities-section {background:linear-gradient(180deg,#f8fafd,#edf3f9 160px,#edf3f9)}
  .authority-section {background:radial-gradient(ellipse at 80% 30%,#1b3b58 0,transparent 65%),var(--navy);border-color:#29445e}
  .output-section {background:radial-gradient(ellipse at 90% 38%,#e0eaf5,transparent 60%),#f5f8fc}
  .governance-section {background:linear-gradient(180deg,#f5f8fc,#edf3f9)}
  .cta-section {background:linear-gradient(180deg,#f4f7fa,#e7eff8)}
  .site-footer {background:var(--navy)}
  .hero-lead,.buyer-outcomes article p,.capability-row p,.governance-key p {color:#465f78}
  .section-heading h2,.authority-section h2 {letter-spacing:-.035em;line-height:1.16}
  .eyebrow,.section-number {letter-spacing:.085em}
  .market-heading .eyebrow {font-size:12px}
  .review-example dt,.package-overview dt,.bid-owner dt {font-size:14px;color:#4f6780}
  .visual-kicker,.capability-visual figcaption,.review-example .example-heading {color:#49617e}
  .bid-story {--review-accent:#285de1;--review-wash:#eaf0ff}
  .bid-story[data-bid-step="1"] {--review-accent:#18766e;--review-wash:#e4f3ee}
  .bid-story[data-bid-step="2"],.bid-story[data-bid-step="3"] {--review-accent:#986021;--review-wash:#fff0d7}
  .bid-story[data-bid-step="4"] {--review-accent:#244d73;--review-wash:#e8eff7}
  .bid-window-bar,.bid-output-scene {background:var(--navy)}
  .bid-kicker {color:#4f637c;letter-spacing:.09em}
  .bid-matrix th,.bid-matrix td {position:relative;transition:background-color 450ms ease,color 450ms ease,box-shadow 450ms ease}
  .bid-matrix th:first-child {padding-inline-start:10px}
  .bid-matrix th:last-child,.bid-matrix td:last-child {padding-inline-end:10px}
  .bid-matrix thead th {font-size:13px;color:#52677f;font-weight:500}
  .bid-matrix small {color:#516b8a}
  .bid-matrix .bid-status.linked {background:#e4f3ee;color:#17685f}
  .bid-story[data-bid-step="1"] .bid-matrix tbody tr:not(.bid-risk-row) {background:transparent}
  .bid-story[data-bid-step="0"] .bid-matrix tbody th,
  .bid-story[data-bid-step="1"] .bid-matrix tbody tr:not(.bid-risk-row) td,
  .bid-story[data-bid-step="2"] .bid-matrix .bid-risk-row > *,
  .bid-story[data-bid-step="3"] .bid-matrix .bid-risk-row th,
  .bid-story[data-bid-step="4"] .bid-matrix tbody td:last-child {background:var(--review-wash);box-shadow:inset 0 -2px var(--review-accent)}
  .bid-story[data-bid-step="0"] .bid-matrix tbody th::after,
  .bid-story[data-bid-step="1"] .bid-matrix tbody tr:not(.bid-risk-row) td:nth-child(2)::after,
  .bid-story[data-bid-step="2"] .bid-matrix .bid-risk-row td:nth-child(2)::after,
  .bid-story[data-bid-step="3"] .bid-matrix .bid-risk-row th::after,
  .bid-story[data-bid-step="4"] .bid-matrix tbody td:last-child::after {
    content:"";position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--review-accent);transform-origin:left;
    animation:bid-scan-line 3s ease-in-out infinite;animation-play-state:paused;pointer-events:none;
  }
  .bid-table-footer {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 24px 17px}
  .bid-table-footer .bid-matrix-note {margin:0;color:#53697f;max-width:37ch}
  .bid-phase {display:flex;align-items:center;gap:7px;color:var(--review-accent);font-size:12px;font-weight:600;white-space:nowrap}
  .bid-phase .mono {font-size:12px;font-weight:400;color:#526b84}
  .bid-motion-dot {width:6px;height:6px;border-radius:50%;background:var(--review-accent);animation:bid-dot 3s ease-in-out infinite;animation-play-state:paused}
  .bid-steps button {color:#4f657d}
  .bid-steps .mono {color:#586f8a}
  .bid-steps button[aria-pressed="true"] {background:var(--review-wash);border-color:var(--review-accent);color:var(--review-accent)}
  .bid-steps button[aria-pressed="true"] .mono {color:var(--review-accent)}
  .bid-steps button[aria-pressed="true"]::after {content:"";position:absolute;inset-inline:0;bottom:-3px;height:3px;background:var(--review-accent);transform-origin:left;animation:bid-step-time 3s linear both;animation-play-state:paused}
  .bid-scene-label {font-size:14px}
  .bid-scene > p {font-size:15px;color:#49627c}
  .bid-output-scene > p {color:#cad9e9}
  .bid-owner dd {font-size:15px}
  .bid-playback {padding-block:8px;color:#52697f;align-items:center}
  .bid-progress {background:var(--review-accent)}
  .bid-story[data-bid-motion="playing"] .bid-matrix *::after,
  .bid-story[data-bid-motion="playing"] .bid-motion-dot,
  .bid-story[data-bid-motion="playing"] .bid-steps button::after {animation-play-state:running}
  .bid-story[data-bid-motion="static"] .bid-matrix *::after,
  .bid-story[data-bid-motion="static"] .bid-motion-dot,
  .bid-story[data-bid-motion="static"] .bid-steps button::after {animation:none}
  .clause-playback {display:flex;align-items:center;justify-content:space-between;gap:16px}
  .bid-playback .motion-toggle,.market-heading .motion-toggle,.clause-playback .motion-toggle {
    display:inline-grid;place-items:center;width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:0;margin:0;
    border:1px solid #cad6e5;border-radius:50%;background:#fff;color:#486485;cursor:pointer;
    transition:background 180ms ease,border-color 180ms ease;
  }
  .motion-toggle svg {width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .bid-playback .motion-toggle:hover,.market-heading .motion-toggle:hover,.clause-playback .motion-toggle:hover {background:#eaf0fb;border-color:#8ca9cf}
  .motion-toggle[hidden] {display:none!important}
  .market-panel .market-scope,.market-panel .market-sources,.market-caveat,.market-methodology p {font-size:13px;color:#4c637d}
  .market-panel .market-track {background-color:#e5ecf5}
  .site-footer p,.site-footer nav a,.site-footer nav button {color:#c3d1e2}
  .site-footer .footer-meta .text-link {color:#c3d1e2;text-decoration:underline;text-underline-offset:4px}
  .site-footer .footer-meta .text-link:hover {color:#fff}
  html[dir="rtl"] :is(h1,h2,h3,.eyebrow,.bid-kicker) {letter-spacing:normal}
  html[dir="rtl"] .bid-matrix *::after,html[dir="rtl"] .bid-steps button::after {transform-origin:right}
  html[lang="zh-Hans"] :is(h1,h2,h3) {line-height:1.35;letter-spacing:0}
}
@keyframes bid-scan-line {0%{transform:scaleX(0);opacity:.3}35%,80%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
@keyframes bid-step-time {from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes bid-dot {0%,100%{box-shadow:0 0 0 0 #3066b600}40%{box-shadow:0 0 0 5px #3066b618}}
@media screen and (min-width:901px) and (max-width:1000px) {
  .hero-copy,.bid-story {grid-column:1/-1}
  .hero-copy h1 {max-width:19ch}
  .hero-lead {max-width:60ch}
}
@media screen and (max-width:700px) {
  .bid-table-footer {margin-inline:15px;align-items:start;flex-direction:column;gap:8px}
  .bid-table-footer .bid-matrix-note {max-width:none}
  .bid-scene-label {font-size:13px}
  .bid-owner dt,.bid-owner dd {font-size:14px}
  .market-heading {align-items:flex-start;flex-direction:row;gap:12px}
}
@media (prefers-reduced-motion:reduce) {
  .bid-story *,.bid-story *::after {animation:none!important;transition:none!important}
}
