:root {
  --bg:#F6F7F9; --surface:#FFFFFF; --surface-soft:#F1F3F7;
  --fg:#16233A; --muted:#6B7689; --border:#DDE2EA;
  --accent:#FF5A1F; --blue:#2F6BFF; --blue-soft:#5B8DFF; --deep:#123A8F;
  --font-body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-mono:"SFMono-Regular","SF Mono",Menlo,Consolas,monospace;
  --ease-out: cubic-bezier(0.23,1,0.32,1);
  --text-secondary:var(--fg);
  --text-secondary:color-mix(in oklab,var(--fg) 68%,var(--muted) 32%);
}

* { box-sizing: border-box; }
html { max-width:100%; overflow-x:hidden; scroll-behavior:smooth; }
body {
  margin:0; max-width:100%; overflow-x:hidden;
  background:var(--bg);
  color:var(--fg);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img { display:block; max-width:100%; }
a { color:inherit; }
button, input, textarea { font:inherit; } button { cursor:pointer; }
::selection { background:var(--blue-soft); color:var(--fg); }
main section[id], main article[id], footer[id] { scroll-margin-top:92px; }

:focus-visible {
  outline:2px solid var(--blue);
  outline-offset:4px;
}

.skip-link {
  position:fixed;
  top:10px;
  left:12px;
  z-index:200;
  padding:10px 16px;
  background:var(--surface);
  color:var(--fg);
  border:1px solid var(--border);
  border-radius:8px;
  transform:translateY(-150%);
  transition:transform .2s var(--ease-out);
}
.skip-link:focus { transform:translateY(0); }

.container {
  width:100%;
  max-width:1200px;
  margin-inline:auto;
  padding-inline:clamp(20px,5vw,64px);
}

.site-header {
  position:fixed;
  inset:0 0 auto;
  z-index:100;
  color:#fff;
  background:rgba(12,18,32,.35);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.14);
  transition:background .35s var(--ease-out),color .35s var(--ease-out),border-color .35s var(--ease-out);
}
.site-header.is-scrolled,
.site-header.nav-open {
  color:var(--fg);
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom-color:rgba(22,35,58,.08);
}
.header-inner {
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:clamp(18px,3vw,40px);
  min-height:76px;
}
.brand {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:inherit;
  font-size:17px;
  font-weight:600;
  letter-spacing:.045em;
  text-decoration:none;
  white-space:nowrap;
}
.brand::after {
  content:"";
  width:5px;
  height:5px;
  margin-left:9px;
  border-radius:50%;
  background:var(--blue);
}
.site-nav {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:clamp(12px,2.4vw,32px);
}
.site-nav a {
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 2px;
  color:inherit;
  font-size:14px;
  font-weight:500;
  letter-spacing:.02em;
  text-decoration:none;
  white-space:nowrap;
}
.site-nav a::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:7px;
  height:2px;
  background:transparent;
  transform:scaleX(.35);
  transform-origin:center;
  transition:transform .25s var(--ease-out),background .25s var(--ease-out);
}
.site-nav a:hover::after,
.site-nav a.current::after { background:var(--accent); transform:scaleX(1); }
.header-actions { display:flex; align-items:center; gap:10px; }
.header-cta,
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 22px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1;
  text-decoration:none;
  transition:transform .22s var(--ease-out),background .22s var(--ease-out),border-color .22s var(--ease-out),color .22s var(--ease-out),box-shadow .22s var(--ease-out);
}
.header-cta {
  color:var(--fg);
  background:var(--accent);
  border-color:var(--accent);
}
.header-cta:hover { border-color:var(--fg); box-shadow:0 8px 22px rgba(22,35,58,.16); transform:translateY(-1px); }
.header-cta:active { transform:translateY(0); }
.nav-toggle {
  display:none;
  width:44px;
  height:44px;
  padding:0;
  align-items:center;
  justify-content:center;
  color:inherit;
  background:transparent;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
}
.site-header.is-scrolled .nav-toggle,
.site-header.nav-open .nav-toggle { border-color:var(--border); }
.nav-toggle svg { width:20px; height:20px; }
.nav-toggle .close-icon { display:none; }
.site-header.nav-open .nav-toggle .menu-icon { display:none; }
.site-header.nav-open .nav-toggle .close-icon { display:block; }

.hero {
  position:relative;
  min-height:clamp(760px,88svh,940px);
  overflow:hidden;
  background:#08101d;
  color:#fff;
  isolation:isolate;
}
.hero-media,
.hero-media img,
.hero-media::after { position:absolute; inset:0; }
.hero-media { z-index:-2; }
.hero-media img { width:100%; height:100%; object-fit:cover; }
.hero-media::after {
  content:"";
  pointer-events:none;
  background:linear-gradient(105deg,rgba(6,10,20,.45),rgba(6,10,20,.12) 60%,transparent);
}
.hero-inner {
  display:flex;
  align-items:flex-end;
  min-height:inherit;
  padding-top:132px;
  padding-bottom:clamp(54px,7vw,82px);
}

.glass {
  position:relative; isolation:isolate;
  background:rgba(255,255,255,.10);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  backdrop-filter:blur(24px) saturate(180%);
  border:1.5px solid rgba(255,255,255,.45);
  border-radius:28px;
  box-shadow:0 28px 90px rgba(0,0,0,.55),
             inset 0 1px 0 rgba(255,255,255,.65),
             inset 0 -1px 0 rgba(255,255,255,.10);
  overflow:hidden;
}
.glass::before { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(148deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,.06) 30%,rgba(255,255,255,0) 52%);
}
.glass::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), inset 0 24px 48px -24px rgba(255,255,255,.28);
}
.glass,
.glass h1,
.glass h2,
.glass h3,
.glass p { color:#fff; }
.glass > * { position:relative; z-index:1; }

.hero-panel {
  width:min(690px,100%);
  padding:clamp(26px,3.3vw,44px);
}
.breadcrumbs {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:clamp(24px,3vw,38px);
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.5;
}
.breadcrumbs a { text-decoration:none; }
.breadcrumbs a:hover { color:#fff; }
.breadcrumbs .sep { color:rgba(255,255,255,.38); }
.eyebrow {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 18px;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.eyebrow::before {
  content:"";
  width:30px;
  height:1px;
  background:currentColor;
  opacity:.65;
}
.hero h1 {
  margin:0;
  max-width:9ch;
  font-size:clamp(38px,4.6vw,64px);
  font-weight:600;
  line-height:1.32;
  letter-spacing:0;
}
.hero-definition {
  max-width:31em;
  margin:18px 0 0;
  color:rgba(255,255,255,.84);
  font-size:clamp(17px,1.45vw,20px);
  line-height:1.75;
}
.hero-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:clamp(28px,3.4vw,40px);
}
.btn-primary {
  color:var(--fg);
  background:var(--accent);
  border-color:var(--accent);
}
.btn-primary:hover { border-color:var(--fg); box-shadow:0 8px 22px rgba(22,35,58,.18); transform:translateY(-1px); }
.btn-ghost {
  color:#fff;
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.48);
}
.btn-ghost:hover { background:rgba(255,255,255,.2); transform:translateY(-1px); }
.btn:active { transform:translateY(0); }
.hero-meta {
  display:flex;
  flex-wrap:wrap;
  gap:9px 20px;
  margin-top:24px;
  color:rgba(255,255,255,.62);
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1.6;
  letter-spacing:.04em;
}
.hero-meta span { display:inline-flex; align-items:center; gap:8px; }
.hero-meta span::before { content:""; width:4px; height:4px; border-radius:50%; background:rgba(255,255,255,.55); }

.section {
  padding-block:clamp(72px,8vw,120px);
  border-bottom:1px solid var(--border);
}
.section-surface { background:var(--surface); }
.section-soft { background:var(--surface-soft); }
.section-head {
  display:grid;
  grid-template-columns:minmax(150px,220px) minmax(0,1fr);
  gap:clamp(28px,6vw,92px);
  align-items:start;
  margin-bottom:clamp(42px,5vw,72px);
}
.section-index {
  margin:0;
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:500;
  line-height:1.6;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.section-title-wrap { max-width:820px; }
.section-title-wrap h2 {
  margin:0;
  font-size:clamp(28px,3vw,42px);
  font-weight:600;
  line-height:1.35;
  letter-spacing:0;
}
.section-lead {
  max-width:58ch;
  margin:18px 0 0;
  color:var(--muted);
  font-size:17px;
  line-height:1.8;
}
.section-soft .section-index,
.section-soft .section-lead,
.section-soft .problem-lead p,
.section-soft .arch-stage p,
.section-soft .architecture-caption,
.section-soft .model-row p,
.section-soft .model-row .num,
.section-soft .assurance > div > p,
.section-soft .assurance-list small,
.quote-section .quote-meta span { color:var(--text-secondary); }
.section-soft .kicker { color:var(--deep); }
.section-soft .dept-grid span::after { color:var(--text-secondary); }
.section-soft .model-row .status { color:var(--deep); }
.kicker {
  margin:0 0 13px;
  color:var(--blue);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.problem-layout {
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(32px,7vw,100px);
  align-items:start;
}
.problem-lead h2 {
  margin:0 0 24px;
  font-size:clamp(28px,3vw,42px);
  font-weight:600;
  line-height:1.35;
}
.problem-lead p {
  max-width:34ch;
  margin:0;
  color:var(--muted);
  font-size:17px;
  line-height:1.85;
}
.problem-list { border-top:1px solid var(--border); }
.problem-item {
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  gap:18px;
  padding:28px 0 32px;
  border-bottom:1px solid var(--border);
}
.problem-item .num {
  color:var(--blue);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.05em;
}
.problem-item h3 {
  margin:0 0 9px;
  font-size:21px;
  font-weight:600;
  line-height:1.5;
}
.problem-item p { max-width:52ch; margin:0; color:var(--muted); line-height:1.85; }
.problem-note {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid var(--border);
  color:var(--fg);
  font-size:16px;
  line-height:1.8;
}
.problem-note span { color:var(--deep); font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; }

.architecture-map {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) 96px minmax(0,.9fr) 96px minmax(0,.9fr);
  align-items:stretch;
  gap:0;
  border:1px solid var(--border);
  background:var(--surface);
}
.arch-stage {
  position:relative;
  min-height:390px;
  padding:28px;
}
.arch-stage + .arch-stage { border-left:1px solid var(--border); }
.arch-stage-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:30px;
}
.arch-stage-head span {
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.06em;
}
.arch-stage-head h3 {
  margin:0;
  font-size:20px;
  font-weight:600;
  line-height:1.5;
  text-align:right;
}
.dept-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-bottom:28px;
}
.dept-grid span {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:42px;
  padding:0 11px;
  color:var(--fg);
  background:var(--surface-soft);
  border:1px solid transparent;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.04em;
}
.dept-grid span::after { content:"独立"; color:var(--muted); font-size:9px; }
.arch-stage p { margin:0; color:var(--muted); font-size:16px; line-height:1.8; }
.arch-connector {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  border-left:1px solid var(--border);
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:9px;
  line-height:1.4;
  letter-spacing:.04em;
  writing-mode:vertical-rl;
}
.arch-connector::after {
  content:"";
  position:absolute;
  top:50%;
  left:-1px;
  width:100%;
  height:1px;
  background:var(--border);
}
.arch-connector span { position:relative; z-index:1; padding:12px 6px; background:var(--surface); }
.permission-list,
.summary-list { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.permission-list li,
.summary-list li {
  display:grid;
  grid-template-columns:20px 1fr;
  gap:10px;
  padding-bottom:13px;
  border-bottom:1px solid var(--border);
  color:var(--fg);
  font-size:16px;
  line-height:1.8;
}
.permission-list li:last-child,
.summary-list li:last-child { border-bottom:0; padding-bottom:0; }
.permission-list li::before,
.summary-list li::before {
  content:"";
  width:7px;
  height:7px;
  margin-top:8px;
  border:1px solid var(--blue);
  border-radius:50%;
}
.summary-list li::before { border-radius:0; transform:rotate(45deg); border-color:var(--deep); }
.architecture-caption {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:16px;
  margin-top:18px;
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
}
.architecture-caption strong { color:var(--fg); font-weight:600; }

.ownership {
  padding-block:clamp(72px,8vw,120px);
  background:var(--surface);
  border-bottom:1px solid var(--border);
}
.ownership-grid {
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(32px,6vw,86px);
  align-items:stretch;
}
.ownership-copy { align-self:center; }
.ownership-copy h2 {
  margin:0 0 24px;
  font-size:clamp(28px,3vw,42px);
  font-weight:600;
  line-height:1.35;
}
.ownership-copy > p { max-width:42ch; margin:0; color:var(--muted); font-size:17px; line-height:1.85; }
.ownership-points {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:38px;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.ownership-points div { padding:18px 14px 18px 0; }
.ownership-points div + div { padding-left:16px; border-left:1px solid var(--border); }
.ownership-points strong { display:block; margin-bottom:3px; font-size:15px; font-weight:600; }
.ownership-points span { color:var(--muted); font-family:var(--font-mono); font-size:10px; letter-spacing:.04em; }
.ownership-media {
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:#080d18;
  isolation:isolate;
}
.ownership-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.ownership-media::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(105deg,rgba(6,10,20,.45),rgba(6,10,20,.12) 60%,transparent);
}
.ownership-card {
  position:absolute;
  z-index:1;
  right:22px;
  bottom:22px;
  left:22px;
  padding:clamp(22px,3vw,34px);
}
.ownership-card h3 { margin:0 0 20px; font-size:23px; font-weight:600; line-height:1.45; }
.ownership-card ol { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.ownership-card li {
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  padding:13px 0;
  border-top:1px solid rgba(255,255,255,.2);
  font-size:16px;
  line-height:1.8;
}
.ownership-card li span { color:rgba(255,255,255,.58); font-family:var(--font-mono); font-size:10px; }

.governance-callout {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:clamp(20px,4vw,52px);
  align-items:start;
  padding:clamp(26px,4vw,42px);
  background:var(--deep);
  color:#fff;
}
.governance-callout .tag {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  color:#fff;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  font-family:var(--font-mono);
  font-size:10px;
  line-height:1;
  letter-spacing:.05em;
  white-space:nowrap;
}
.governance-callout p { max-width:36ch; margin:0; font-size:clamp(20px,2.2vw,28px); font-weight:500; line-height:1.55; }
.governance-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:clamp(32px,4vw,52px);
  border-top:1px solid var(--border);
  border-left:1px solid var(--border);
}
.governance-item {
  min-height:250px;
  padding:24px;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.governance-item .step { display:block; margin-bottom:38px; color:var(--muted); font-family:var(--font-mono); font-size:10px; letter-spacing:.06em; }
.governance-item h3 { margin:0 0 12px; font-size:20px; font-weight:600; line-height:1.5; }
.governance-item p { margin:0; color:var(--muted); font-size:16px; line-height:1.8; }
.boundary-note {
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-top:24px;
  color:var(--muted);
  font-size:16px;
  line-height:1.8;
}
.boundary-note::before { content:""; flex:0 0 7px; width:7px; height:7px; margin-top:9px; background:var(--blue); }

.quote-section {
  padding-block:clamp(76px,9vw,128px);
  background:var(--surface-soft);
  border-bottom:1px solid var(--border);
}
.quote-inner {
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:clamp(28px,6vw,84px);
  align-items:start;
}
.quote-inner blockquote {
  max-width:25ch;
  margin:0;
  color:var(--fg);
  font-size:clamp(27px,3.1vw,44px);
  font-weight:500;
  line-height:1.55;
  letter-spacing:0;
}
.quote-meta { display:grid; gap:18px; align-content:start; }
.quote-meta span { color:var(--muted); font-family:var(--font-mono); font-size:10px; line-height:1.6; letter-spacing:.06em; }
.text-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  color:var(--fg);
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}
.text-link::after { content:"›"; color:var(--blue); font-size:20px; line-height:1; transition:transform .2s var(--ease-out); }
.text-link:hover::after { transform:translateX(4px); }

.metrics-band {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.metric {
  min-height:150px;
  padding:24px 18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-left:1px solid var(--border);
}
.metric:first-child { border-left:0; }
.metric strong { font-family:var(--font-mono); font-size:clamp(28px,3vw,42px); font-weight:500; line-height:1.1; letter-spacing:-.02em; }
.metric span { color:var(--muted); font-size:13px; line-height:1.6; }
.metric em { display:block; margin-top:12px; color:var(--muted); font-family:var(--font-mono); font-style:normal; font-size:9px; letter-spacing:.06em; }

.operating-model { border-top:1px solid var(--border); }
.model-row {
  display:grid;
  grid-template-columns:84px minmax(200px,.8fr) minmax(0,1.2fr);
  gap:28px;
  align-items:start;
  padding:28px 0;
  border-bottom:1px solid var(--border);
}
.model-row .num { color:var(--muted); font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; }
.model-row h3 { margin:0; font-size:22px; font-weight:600; line-height:1.45; }
.model-row p { max-width:56ch; margin:0; color:var(--muted); line-height:1.85; }
.model-row .status {
  display:inline-flex;
  align-items:center;
  min-height:26px;
  margin-top:10px;
  padding:0 9px;
  color:var(--blue);
  background:rgba(47,107,255,.08);
  border:1px solid rgba(47,107,255,.18);
  font-size:11px;
  line-height:1;
}

.capability-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--border);
  border-left:1px solid var(--border);
}
.capability-item {
  min-height:294px;
  padding:26px;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.capability-top { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:54px; }
.capability-icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  color:var(--deep);
  border:1px solid var(--border);
  border-radius:50%;
}
.capability-icon svg { width:18px; height:18px; }
.capability-top span { color:var(--muted); font-family:var(--font-mono); font-size:10px; letter-spacing:.05em; }
.capability-item h3 { margin:0 0 12px; font-size:20px; font-weight:600; line-height:1.45; }
.capability-item p { margin:0; color:var(--muted); font-size:16px; line-height:1.8; }
.capability-item .tag {
  display:inline-flex;
  margin-top:18px;
  color:var(--blue);
  font-family:var(--font-mono);
  font-size:10px;
  line-height:1.5;
  letter-spacing:.03em;
}

.assurance {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:clamp(32px,7vw,96px);
  align-items:center;
}
.assurance h2 { margin:0 0 22px; font-size:clamp(28px,3vw,42px); line-height:1.35; font-weight:600; }
.assurance > div > p { max-width:52ch; margin:0; color:var(--muted); font-size:17px; line-height:1.85; }
.assurance-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--border); }
.assurance-list li { display:grid; grid-template-columns:34px 1fr; gap:14px; padding:18px 0; border-bottom:1px solid var(--border); }
.assurance-list span { color:var(--deep); font-family:var(--font-mono); font-size:10px; }
.assurance-list strong { display:block; font-size:15px; font-weight:600; line-height:1.6; }
.assurance-list small { display:block; margin-top:3px; color:var(--muted); font-size:13px; line-height:1.7; }

.site-footer {
  background:var(--deep);
  color:#fff;
  padding:clamp(64px,7vw,92px) 0 26px;
}
.footer-grid {
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(130px,.7fr));
  gap:clamp(28px,5vw,70px);
}
.footer-brand p { max-width:30ch; margin:18px 0 0; color:rgba(255,255,255,.7); font-size:14px; line-height:1.8; }
.footer-wordmark { color:#fff; font-size:18px; font-weight:600; letter-spacing:.045em; text-decoration:none; }
.footer-col h2 { margin:0 0 16px; color:rgba(255,255,255,.72); font-family:var(--font-mono); font-size:10px; font-weight:500; line-height:1.6; letter-spacing:.08em; text-transform:uppercase; }
.footer-links { display:grid; gap:7px; }
.footer-links a,
.footer-links button {
  width:fit-content;
  min-height:44px;
  padding:0;
  color:rgba(255,255,255,.8);
  background:none;
  border:0;
  font-size:13px;
  line-height:1.7;
  text-align:left;
  text-decoration:none;
}
.footer-links a:hover,
.footer-links button:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:24px;
  margin-top:clamp(48px,6vw,74px);
  padding-top:20px;
  color:rgba(255,255,255,.68);
  border-top:1px solid rgba(255,255,255,.16);
  font-size:11px;
  line-height:1.7;
}

.contact-dialog {
  width:min(560px,calc(100vw - 32px));
  max-height:calc(100svh - 32px);
  padding:0;
  color:var(--fg);
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:8px;
  box-shadow:0 32px 100px rgba(6,10,20,.32);
  overflow:auto;
}
.contact-dialog::backdrop { background:rgba(8,13,24,.62); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.dialog-inner { padding:clamp(24px,5vw,38px); }
.dialog-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }
.dialog-top span { color:var(--muted); font-family:var(--font-mono); font-size:10px; letter-spacing:.07em; }
.dialog-close { display:grid; place-items:center; width:44px; height:44px; padding:0; color:var(--fg); background:var(--surface-soft); border:1px solid var(--border); border-radius:50%; }
.dialog-close:hover { background:var(--border); }
.dialog-close svg { width:18px; height:18px; }
.contact-dialog h2 { margin:0 0 12px; font-size:clamp(26px,4vw,34px); line-height:1.35; font-weight:600; }
.dialog-lead { margin:0 0 26px; color:var(--muted); font-size:16px; line-height:1.8; }
.contact-form { display:grid; gap:16px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.field { display:grid; gap:7px; }
.field label { font-size:12px; font-weight:600; line-height:1.5; }
.field input,
.field textarea {
  width:100%;
  color:var(--fg);
  background:#FBFCFD;
  border:1px solid var(--border);
  border-radius:2px;
  padding:11px 12px;
  outline:none;
}
.field input { min-height:46px; }
.field textarea { min-height:104px; resize:vertical; line-height:1.7; }
.field input::placeholder,
.field textarea::placeholder { color:var(--muted); opacity:1; }
.field input:focus,
.field textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(47,107,255,.12); }
.form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:4px; }
.btn-quiet { color:var(--fg); background:var(--surface); border-color:var(--border); }
.btn-quiet:hover { background:var(--surface-soft); }
.form-note { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.form-success { display:none; padding:24px 0 8px; }
.form-success strong { display:block; margin-bottom:8px; font-size:18px; }
.form-success p { margin:0; color:var(--muted); font-size:16px; line-height:1.8; }
.contact-dialog[data-state="success"] .contact-form { display:none; }
.contact-dialog[data-state="success"] .form-success { display:block; }

.js .reveal { opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease-out),transform .7s var(--ease-out); }
.js .reveal.is-visible { opacity:1; transform:translateY(0); }

@media (max-width:1100px) {
  .architecture-map { grid-template-columns:minmax(0,1.25fr) 68px minmax(0,.95fr) 68px minmax(0,.95fr); }
  .arch-stage { padding:22px; }
  .metrics-band { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .metric:nth-child(4) { border-left:0; }
  .metric:nth-child(n+4) { border-top:1px solid var(--border); }
}

@media (max-width:920px) {
  .header-inner { grid-template-columns:auto 1fr auto; min-height:68px; }
  .site-nav {
    position:fixed;
    top:78px;
    left:16px;
    right:16px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:8px;
    color:var(--fg);
    background:rgba(255,255,255,.98);
    border:1px solid var(--border);
    border-radius:8px;
    box-shadow:0 20px 60px rgba(10,14,26,.18);
  }
  .site-header.nav-open .site-nav { display:flex; }
  .site-nav a { justify-content:space-between; min-height:48px; padding:0 12px; font-size:14px; }
  .site-nav a::after { left:12px; right:12px; bottom:4px; }
  .nav-toggle { display:inline-flex; }
  .problem-layout,
  .ownership-grid,
  .assurance { grid-template-columns:1fr; }
  .architecture-map { grid-template-columns:1fr; }
  .arch-stage { min-height:auto; }
  .arch-stage + .arch-stage { border-left:0; border-top:1px solid var(--border); }
  .arch-connector { min-height:58px; border-left:0; border-top:1px solid var(--border); writing-mode:horizontal-tb; }
  .arch-connector::after { top:0; left:50%; width:1px; height:100%; }
  .arch-connector span { padding:6px 12px; }
  .ownership-media { min-height:620px; }
  .governance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .governance-item { min-height:230px; }
  .capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns:1.2fr 1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width:720px) {
  body { font-size:16px; }
  .container { padding-inline:20px; }
  .brand { font-size:15px; }
  .header-cta { min-height:44px; padding:0 16px; font-size:13px; }
  .header-actions { gap:8px; }
  .hero { min-height:max(720px,100svh); }
  .hero-inner { padding-top:112px; padding-bottom:44px; align-items:center; }
  .hero-panel { padding:24px; }
  .breadcrumbs { margin-bottom:24px; }
  .hero h1 { max-width:100%; font-size:clamp(38px,11vw,52px); line-height:1.34; }
  .hero-definition { font-size:16px; line-height:1.75; }
  .hero-actions { margin-top:26px; }
  .btn { min-height:48px; padding:0 16px; }
  .hero-meta { gap:7px 14px; }
  .section-head { grid-template-columns:1fr; gap:16px; }
  .section-lead { font-size:16px; }
  .problem-item { grid-template-columns:44px minmax(0,1fr); }
  .architecture-caption { display:grid; }
  .ownership-media { min-height:590px; }
  .ownership-card { right:16px; bottom:16px; left:16px; padding:22px; }
  .ownership-card h3 { font-size:21px; }
  .governance-callout { grid-template-columns:1fr; }
  .governance-grid { grid-template-columns:1fr; }
  .governance-item { min-height:auto; }
  .governance-item .step { margin-bottom:26px; }
  .quote-inner { grid-template-columns:1fr; }
  .quote-inner blockquote { max-width:100%; font-size:clamp(26px,7.5vw,34px); }
  .metrics-band { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric:nth-child(odd) { border-left:0; }
  .metric:nth-child(3) { border-top:1px solid var(--border); }
  .metric:nth-child(n+3) { border-top:1px solid var(--border); }
  .model-row { grid-template-columns:42px 1fr; gap:14px; }
  .model-row p { grid-column:2; }
  .capability-grid { grid-template-columns:1fr; }
  .capability-item { min-height:auto; }
  .capability-top { margin-bottom:38px; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-bottom { display:grid; gap:8px; }
  .contact-dialog { width:calc(100vw - 24px); }
  .form-row { grid-template-columns:1fr; }
}

@media (max-width:430px) {
  .header-inner { gap:10px; }
  .brand { font-size:14px; }
  .header-cta { padding:0 13px; }
  .hero-actions { grid-template-columns:1fr; }
  .hero { min-height:max(740px,100svh); }
  .hero-panel { padding:22px; }
  .ownership-points { grid-template-columns:1fr; }
  .ownership-points div { padding:14px 0; }
  .ownership-points div + div { padding-left:0; border-left:0; border-top:1px solid var(--border); }
  .ownership-media { min-height:620px; }
  .dept-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .form-actions { flex-direction:column-reverse; }
  .form-actions .btn { width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
  .js .reveal { opacity:1; transform:none; }
}
