/* ─── Reset / base ──────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
img, svg { display: block; max-width: 100%; }
button { font: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }

:root {
  --sans: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, monospace;
  --display-font: var(--sans);
  --display-weight: 500;
  --bg: #0A1322; --bg-2: #F4F1E9;
  --bg-2-text: #0A1322; --bg-2-text-2: #3A4A60; --bg-2-muted: #6F7B8E;
  --bg-2-rule: rgba(10,19,34,.10); --bg-2-rule-2: rgba(10,19,34,.18); --bg-2-surface: #FFFFFF;
  --surface: #101C30; --surface-2: #162437;
  --text: #E8ECF2; --text-2: #B6BFCC; --muted: #7C8AA3;
  --rule: rgba(255,255,255,.08); --rule-2: rgba(255,255,255,.16);
  --acc: #E8A23B;
  --section-y: 128px; --gap: 28px;
  --maxw: 1240px;
}

html { scroll-padding-top: 80px; }
html, body { background: var(--bg); color: var(--text);
  font-family: var(--sans); font-size: 16px; line-height: 1.5;
  -webkit-font-smoothing: antialiased; font-feature-settings: 'ss01' on, 'cv11' on; }
body { font-weight: 400; letter-spacing: -.005em; transition: background .2s, color .2s; }

/* ─── Layout primitives ─────────────────────────────────────────────────── */
.container { max-width: var(--maxw); margin: 0 auto; padding: 0 32px; }
@media (max-width: 720px) { .container { padding: 0 20px; } }
.container-bleed { max-width: none; padding: 0; }

.sec { padding: var(--section-y) 0; position: relative; }
.sec[data-tone="alt"] {
  background: var(--bg-2);
  --text: var(--bg-2-text);
  --text-2: var(--bg-2-text-2);
  --muted: var(--bg-2-muted);
  --rule: var(--bg-2-rule);
  --rule-2: var(--bg-2-rule-2);
  --surface: var(--bg-2-surface);
  --surface-2: var(--bg-2);
  color: var(--text);
}

.sec-head { max-width: 820px; margin: 0 0 56px; }
.sec-title { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: clamp(34px, 4.4vw, 56px); line-height: 1.04; letter-spacing: -.015em;
  margin: 14px 0 18px; color: var(--text); text-wrap: balance; }
.sec-lede { font-size: clamp(16px, 1.2vw, 19px); line-height: 1.55;
  color: var(--text-2); max-width: 68ch; margin: 0; text-wrap: pretty; }

.eyebrow { font-family: var(--mono); font-size: 11px; line-height: 1; letter-spacing: .14em;
  text-transform: uppercase; color: var(--muted);
  display: inline-flex; align-items: center; gap: 10px; }
.eyebrow-dot { width: 6px; height: 6px; border-radius: 2px; background: var(--acc); display: inline-block; }

/* ─── Buttons ───────────────────────────────────────────────────────────── */
.btn { display: inline-flex; align-items: center; gap: 10px;
  height: 44px; padding: 0 18px; border-radius: 4px;
  font-family: var(--sans); font-weight: 500; font-size: 14px; letter-spacing: -.005em;
  border: 1px solid transparent;
  transition: transform .15s, background .15s, border-color .15s, color .15s, filter .15s; }
.btn:hover { transform: translateY(-1px); }
.btn-arrow { width: 12px; height: 10px; }
.btn-primary { background: var(--acc); color: #0A0B0E; border-color: var(--acc); }
.btn-primary:hover { filter: brightness(1.06); }
.btn-ghost { background: transparent; color: var(--text); border-color: var(--rule-2); }
.btn-ghost:hover { background: color-mix(in oklab, var(--text) 6%, transparent); }

/* ─── Hero pills & chips ────────────────────────────────────────────────── */
.hpill { display: inline-flex; align-items: center; gap: 8px;
  height: 32px; padding: 0 14px 0 12px;
  font-family: var(--mono); font-size: 12px; letter-spacing: .02em;
  color: var(--text); border: 1px solid var(--rule-2); border-radius: 999px;
  background: color-mix(in oklab, var(--surface) 50%, transparent); }
.hpill .ic-check { color: var(--acc); }

.chip { display: inline-flex; align-items: center; height: 22px; padding: 0 8px;
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .04em;
  color: var(--text-2); border: 1px solid var(--rule); border-radius: 3px;
  background: var(--surface); }

/* ─── Wordmark ──────────────────────────────────────────────────────────── */
.dx-mark { font-family: var(--sans); font-weight: 600; letter-spacing: -.02em; font-size: 22px; line-height: 1; }
.dx-mark-x { color: inherit; }

/* ─── Top nav ───────────────────────────────────────────────────────────── */
.nav { position: sticky; top: 0; z-index: 100;
  backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%);
  background: color-mix(in oklab, var(--bg) 78%, transparent);
  border-bottom: 1px solid var(--rule); }
.nav-inner { display: flex; align-items: center; gap: 32px; height: 68px; position: relative; }
.nav-brand { display: inline-flex; }
.nav-links { display: flex; gap: 4px; flex: 1; }
.nav-item { position: relative; }
.nav-trig { display: inline-flex; align-items: center; gap: 6px;
  height: 32px; padding: 0 10px; border-radius: 6px;
  font-size: 14px; color: var(--text-2); transition: color .15s, background .15s; }
.nav-trig:hover, .nav-item.open .nav-trig { color: var(--text); background: color-mix(in oklab, var(--text) 6%, transparent); }
.nav-caret { color: var(--muted); transition: transform .15s, color .15s; }
.nav-item.open .nav-caret { color: var(--text); transform: rotate(180deg); }
.nav-right { display: flex; align-items: center; gap: 14px; }
.nav-lang { background: transparent; border: 0; color: var(--muted);
  font-family: var(--mono); font-size: 11px; letter-spacing: .08em; padding: 6px 8px; cursor: pointer; }
.nav-lang .on { color: var(--text); }
.nav-lang-sep { margin: 0 4px; }
.nav-right .btn-primary { height: 36px; padding: 0 14px; font-size: 13px; }

/* ─── Megamenu panel ────────────────────────────────────────────────────── */
.nav-item .mega-panel { display: none; }
.nav-item.open .mega-panel { display: block; }
.mega-panel { position: absolute; top: calc(100% + 10px); left: 0; z-index: 200;
  min-width: 720px; max-width: 880px;
  background: var(--surface);
  border: 1px solid var(--rule-2); border-radius: 12px;
  box-shadow: 0 24px 60px -16px rgba(0,0,0,.5), 0 8px 20px -6px rgba(0,0,0,.3);
  padding: 24px; overflow: hidden;
  animation: mega-in .14s cubic-bezier(.2,.7,.4,1); }
[data-theme="bone"] .mega-panel { box-shadow: 0 24px 60px -16px rgba(10,19,34,.18), 0 8px 20px -6px rgba(10,19,34,.10); }
@keyframes mega-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
.mega-panel::before { content: ''; position: absolute; left: 0; right: 0;
  top: -12px; height: 12px; }
.mega-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 32px; }
.mega-group-h { font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--muted);
  padding: 4px 10px 10px; border-bottom: 1px solid var(--rule); margin-bottom: 6px; }
.mega-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.mega-link { display: grid; grid-template-columns: 32px 1fr; gap: 12px;
  padding: 10px; border-radius: 8px; transition: background .12s; align-items: start; }
.mega-link:hover { background: color-mix(in oklab, var(--text) 5%, transparent); }
.mega-link-i { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 6px; background: color-mix(in oklab, var(--acc) 8%, transparent);
  color: var(--text); border: 1px solid var(--rule); }
.mega-link:hover .mega-link-i { background: color-mix(in oklab, var(--acc) 18%, transparent);
  border-color: color-mix(in oklab, var(--acc) 40%, var(--rule-2)); color: var(--acc); }
.mega-link-b { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mega-link-n { font-family: var(--display-font); font-weight: 500; font-size: 14.5px;
  color: var(--text); letter-spacing: -.005em; }
.mega-link:hover .mega-link-n { color: var(--acc); }
.mega-link-d { font-size: 12px; line-height: 1.45; color: var(--text-2); text-wrap: pretty; }
.mega-foot { display: inline-flex; align-items: center; gap: 8px;
  margin-top: 16px; padding: 10px 14px; border-radius: 6px;
  font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase;
  color: var(--acc); background: color-mix(in oklab, var(--acc) 10%, transparent);
  border: 1px solid color-mix(in oklab, var(--acc) 25%, var(--rule-2));
  transition: background .12s; }
.mega-foot:hover { background: color-mix(in oklab, var(--acc) 18%, transparent); }
.mega-foot svg { color: var(--acc); }
@media (max-width: 1080px) {
  .mega-panel { min-width: 0; width: calc(100vw - 64px); max-width: 800px; }
}

/* ─── Hero ──────────────────────────────────────────────────────────────── */
.hero { position: relative; overflow: hidden; padding: 96px 0 var(--section-y);
  background: var(--bg); border-bottom: 1px solid var(--rule); }
.hero-bg { position: absolute; inset: 0; color: var(--text); pointer-events: none; }
.hero-inner { position: relative; display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .85fr); gap: 56px; align-items: end; }
.hero-statement .hero-inner { grid-template-columns: 1fr; max-width: 1000px; }
.hero-left { padding: 24px 0 0; }
.hero-title { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: clamp(44px, 7.2vw, 100px); line-height: .96; letter-spacing: -.025em;
  margin: 22px 0 28px; color: var(--text); }
.hero-line { display: block; text-wrap: balance; }
.hero-line:nth-child(2) { color: var(--text-2); }
.hero-statement .hero-title { font-size: clamp(56px, 10vw, 144px); }
.hero-lede { max-width: 60ch; font-size: clamp(16px, 1.1vw, 18px); line-height: 1.6;
  color: var(--text-2); margin: 0 0 28px; text-wrap: pretty; }
.hero-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 36px; }
.hero-cta-row { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-right { position: relative; }
.hero-rb-lbl { font-family: var(--mono); font-size: 11px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--muted); margin-bottom: 14px; }
@media (max-width: 980px) {
  .hero-inner { grid-template-columns: 1fr; gap: 48px; }
}

/* ─── Runbook view ──────────────────────────────────────────────────────── */
.rb { background: var(--surface); border: 1px solid var(--rule);
  border-radius: 10px; overflow: hidden;
  box-shadow: 0 24px 60px -20px rgba(0,0,0,.45), 0 4px 16px -8px rgba(0,0,0,.35); }
.rb-head { display: flex; align-items: center; justify-content: space-between;
  padding: 18px 22px; border-bottom: 1px solid var(--rule); background: var(--surface-2);
  flex-wrap: wrap; gap: 16px; }
.rb-head-l { display: flex; align-items: center; gap: 12px; }
.rb-head-dot { width: 10px; height: 10px; border-radius: 2px; background: var(--acc);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--acc) 16%, transparent); }
.rb-title { font-family: var(--display-font); font-weight: 500; font-size: 16px; letter-spacing: -.01em;
  color: var(--text); }
.rb-meta { font-family: var(--mono); font-size: 11px; letter-spacing: .04em; color: var(--muted); margin-top: 2px; }
.rb-sum-inline { display: flex; gap: 28px; }
.rb-sum-i { display: flex; flex-direction: column; gap: 2px; }
.rb-sum-v { font-family: var(--display-font); font-weight: 500; font-size: 18px;
  letter-spacing: -.01em; color: var(--text); }
.rb-sum-l { font-family: var(--mono); font-size: 10px; letter-spacing: .06em;
  text-transform: uppercase; color: var(--muted); }
.rb-list { list-style: none; padding: 6px 0; margin: 0; }
.rb-step { display: grid; grid-template-columns: 56px 72px 1fr 28px;
  align-items: center; gap: 16px;
  padding: 14px 22px; border-bottom: 1px solid var(--rule);
  position: relative; transition: background .15s; }
.rb-step:last-child { border-bottom: 0; }
.rb-step:hover { background: color-mix(in oklab, var(--text) 3%, transparent); }
.rb-step-time { font-family: var(--mono); font-size: 12px; color: var(--muted); letter-spacing: .02em; }
.rb-step-actor { display: flex; }
.rb-actor { display: inline-flex; align-items: center; justify-content: center;
  height: 22px; padding: 0 10px; font-family: var(--mono); font-size: 10.5px;
  letter-spacing: .08em; text-transform: uppercase; border-radius: 3px; }
.rb-actor-ai { background: var(--acc); color: #0A0B0E; }
.rb-actor-human { background: transparent; color: var(--text-2);
  border: 1px solid var(--rule-2); }
.rb-step-body { min-width: 0; }
.rb-step-k { font-family: var(--display-font); font-weight: 500; font-size: 14.5px;
  color: var(--text); letter-spacing: -.005em; display: flex; align-items: center; gap: 10px; }
.rb-step-flag { font-family: var(--mono); font-size: 10px; letter-spacing: .06em;
  text-transform: uppercase; color: var(--acc);
  padding: 2px 6px; border: 1px solid color-mix(in oklab, var(--acc) 40%, transparent);
  border-radius: 3px; }
.rb-step-d { font-size: 12.5px; line-height: 1.5; color: var(--text-2); margin-top: 4px; }
.rb-step-status { display: flex; justify-content: center; color: #4ADE80; }
.rb-step-s-flag .rb-step-status { color: var(--acc); }
.rb-foot-compact { padding: 12px 22px; border-top: 1px solid var(--rule);
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--mono); font-size: 11px; color: var(--muted); }
.rb-foot-more { color: var(--text-2); }
.rb-compact .rb-head { padding: 14px 16px; }
.rb-compact .rb-step { padding: 10px 16px;
  grid-template-columns: 48px 60px 1fr 22px; gap: 12px; }
.rb-compact .rb-step-d { display: none; }
.rb-compact .rb-step-k { font-size: 13.5px; }
.sec[data-tone="alt"] .rb { background: var(--bg-2-surface);
  box-shadow: 0 24px 60px -28px rgba(10,19,34,.25), 0 4px 16px -10px rgba(10,19,34,.15); }
.sec[data-tone="alt"] .rb-head { background: var(--bg-2); }

/* ─── Analogy section ───────────────────────────────────────────────────── */
.analog { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); position: relative; }
@media (max-width: 880px) { .analog { grid-template-columns: 1fr; } }
.analog::before {
  content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 40px; height: 40px; border-radius: 50%; background: var(--bg);
  border: 1px solid var(--rule-2); z-index: 1;
}
.analog::after {
  content: '→'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -52%);
  font-family: var(--mono); color: var(--acc); font-size: 18px; z-index: 2; line-height: 1;
}
@media (max-width: 880px) { .analog::before, .analog::after { display: none; } }
.analog-c { background: var(--surface); border: 1px solid var(--rule);
  border-radius: 10px; padding: 32px; display: flex; flex-direction: column; gap: 22px; }
.analog-c-now { background: color-mix(in oklab, var(--acc) 6%, var(--surface));
  border-color: color-mix(in oklab, var(--acc) 28%, var(--rule-2)); }
.analog-tag { font-family: var(--mono); font-size: 11px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--muted); }
.analog-c-now .analog-tag { color: var(--acc); }
.analog-name { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: 22px; letter-spacing: -.01em; margin: 6px 0 0; color: var(--text); text-wrap: balance; }
.analog-stat { padding: 16px 0; border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule); }
.analog-stat-v { font-family: var(--display-font); font-weight: 500;
  font-size: clamp(40px, 5vw, 56px); letter-spacing: -.025em; line-height: 1;
  color: var(--text); }
.analog-c-now .analog-stat-v { color: var(--acc); }
.analog-stat-l { font-size: 13px; color: var(--text-2); margin-top: 8px; text-wrap: pretty; }
.analog-rows { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.analog-row { display: grid; grid-template-columns: 80px 1fr; gap: 16px;
  padding: 10px 0; border-bottom: 1px dashed var(--rule); }
.analog-row:last-child { border-bottom: 0; }
.analog-row dt { margin: 0; font-family: var(--mono); font-size: 11px; letter-spacing: .04em;
  text-transform: uppercase; color: var(--muted); padding-top: 1px; }
.analog-row dd { margin: 0; font-size: 14px; line-height: 1.5; color: var(--text); white-space: pre-line; }
.analog-foot { margin-top: 32px; text-align: center;
  font-family: var(--mono); font-size: 13px; color: var(--muted); letter-spacing: .02em; }

/* ─── AgentOS architecture ──────────────────────────────────────────────── */
.aos { display: flex; flex-direction: column; gap: 56px; }
.aos-diagram { background: var(--surface); border: 1px solid var(--rule);
  border-radius: 10px; padding: 32px; color: var(--text); overflow: hidden; }
.arch { width: 100%; height: auto; display: block; color: var(--text); }
.aos-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
  border-top: 1px solid var(--rule); }
@media (max-width: 880px) { .aos-pillars { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .aos-pillars { grid-template-columns: 1fr; } }
.aos-pillar { padding: 28px 28px 28px 0; border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule); }
.aos-pillar:nth-child(3n) { border-right: 0; }
.aos-pillar:nth-last-child(-n+3) { border-bottom: 0; }
.aos-pillar:not(:nth-child(3n+1)) { padding-left: 28px; }
@media (max-width: 880px) {
  .aos-pillar { border-right: 1px solid var(--rule); }
  .aos-pillar:nth-child(3n) { border-right: 1px solid var(--rule); }
  .aos-pillar:nth-child(2n) { border-right: 0; }
  .aos-pillar:nth-last-child(-n+3) { border-bottom: 1px solid var(--rule); }
  .aos-pillar:nth-last-child(-n+2) { border-bottom: 0; }
}
.aos-pillar-k { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: 18px; letter-spacing: -.005em; color: var(--text); margin-bottom: 8px; }
.aos-pillar-d { font-size: 13.5px; line-height: 1.55; color: var(--text-2); text-wrap: pretty; }

/* ─── Modules grid ──────────────────────────────────────────────────────── */
.mods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--rule); border: 1px solid var(--rule); border-radius: 6px; overflow: hidden; }
@media (max-width: 880px) { .mods { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .mods { grid-template-columns: 1fr; } }
.mod { background: var(--surface); padding: 28px; display: flex; flex-direction: column;
  transition: background .15s; }
.mod:hover { background: var(--surface-2); }
.mod-head { display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 18px; color: var(--text); }
.mod-k { display: flex; align-items: baseline; gap: 8px; }
.mod-k-n { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: var(--muted); }
.mod-k-t { font-family: var(--mono); font-size: 10.5px; letter-spacing: .06em;
  color: var(--acc); text-transform: uppercase;
  padding: 2px 6px; border: 1px solid color-mix(in oklab, var(--acc) 30%, transparent);
  border-radius: 3px; }
.mod-n { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: 20px; letter-spacing: -.01em; margin: 0 0 10px; color: var(--text);
  text-wrap: balance; }
.mod-d { font-size: 13.5px; line-height: 1.55; color: var(--text-2); margin: 0; flex: 1; text-wrap: pretty; }
.mod-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }

/* ─── Sovereignty ───────────────────────────────────────────────────────── */
.sov { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 48px; align-items: start; }
@media (max-width: 980px) { .sov { grid-template-columns: 1fr; } }
.sov-diagram { background: var(--surface); border: 1px solid var(--rule);
  border-radius: 10px; padding: 24px; color: var(--text); overflow: hidden; }
.perim { width: 100%; height: auto; display: block; color: var(--text); }
.sov-pillars { list-style: none; margin: 0; padding: 0;
  border-top: 1px solid var(--rule); }
.sov-pillar { padding: 18px 0; border-bottom: 1px solid var(--rule);
  display: grid; grid-template-columns: 200px 1fr; gap: 24px; align-items: baseline; }
@media (max-width: 560px) { .sov-pillar { grid-template-columns: 1fr; gap: 8px; } }
.sov-pillar-l { display: flex; flex-direction: column; gap: 4px; }
.sov-pillar-k { font-family: var(--mono); font-size: 11px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--muted); }
.sov-pillar-v { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: 18px; letter-spacing: -.005em; color: var(--text); text-wrap: balance; }
.sov-pillar-d { font-size: 13.5px; line-height: 1.55; color: var(--text-2); text-wrap: pretty; }
.sov-cta { grid-column: 2; padding-top: 16px; }
@media (max-width: 980px) { .sov-cta { grid-column: 1; } }

/* ─── Workflow note + Mission ───────────────────────────────────────────── */
.wf-note { margin-top: 28px; font-family: var(--mono); font-size: 11px;
  color: var(--muted); letter-spacing: .02em; }
.mission { max-width: 760px; }
.mission-p { font-size: 17px; line-height: 1.6; color: var(--text-2); margin: 0 0 1em; text-wrap: pretty; }
.mission-p:first-child { color: var(--text); }

/* ─── Engagement rail ───────────────────────────────────────────────────── */
.eng { margin-top: 24px; }
.eng-rail { position: relative; height: 22px; margin-bottom: 28px; }
.eng-rail-line { position: absolute; left: 0; right: 0; top: 50%;
  height: 1px; background: var(--rule-2); }
.eng-node { position: absolute; top: 50%; transform: translate(-50%, -50%); }
.eng-node i { display: block; width: 12px; height: 12px; border-radius: 50%;
  background: var(--acc); box-shadow: 0 0 0 4px color-mix(in oklab, var(--acc) 18%, transparent); }
.eng-node:first-child i { background: var(--text);
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--text) 12%, transparent); }
.eng-stops { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
@media (max-width: 760px) { .eng-stops { grid-template-columns: 1fr; } }
.eng-stop { padding: 0 14px 0 18px; border-left: 1px solid var(--rule); }
.eng-stop-k { font-family: var(--mono); font-size: 11px; letter-spacing: .06em;
  color: var(--acc); margin-bottom: 6px; }
.eng-stop-t { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: 20px; letter-spacing: -.01em; color: var(--text); margin-bottom: 6px; }
.eng-stop-d { font-size: 13.5px; line-height: 1.55; color: var(--text-2); text-wrap: pretty; }

/* ─── Close CTA ─────────────────────────────────────────────────────────── */
.close { padding: var(--section-y) 0; background: var(--acc); color: #0A0B0E;
  border-top: 1px solid var(--rule); }
.close .eyebrow { color: rgba(10,11,14,.6); }
.close .eyebrow-dot { background: #0A0B0E; }
.close .btn-primary { background: #0A0B0E; color: var(--acc); border-color: #0A0B0E; }
.close .btn-primary:hover { filter: brightness(1.2); }
.close .btn-ghost { color: #0A0B0E; border-color: rgba(10,11,14,.25); }
.close .btn-ghost:hover { background: rgba(10,11,14,.08); }
.close-inner { max-width: 820px; }
.close-title { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: clamp(40px, 5vw, 68px); line-height: 1.02; letter-spacing: -.02em;
  margin: 16px 0 20px; text-wrap: balance; color: #0A0B0E; }
.close-body { font-size: 17px; line-height: 1.55; max-width: 60ch; margin: 0 0 32px;
  color: rgba(10,11,14,.78); text-wrap: pretty; }
.close-cta-row { display: flex; gap: 12px; flex-wrap: wrap; }

/* ─── Footer ────────────────────────────────────────────────────────────── */
.foot { background: #06101F; color: #B6BFCC; padding: 80px 0 32px;
  border-top: 1px solid rgba(255,255,255,.08); }
[data-theme="bone"] .foot { background: #15171C; color: #B6BFCC; }
[data-theme="carbon"] .foot { background: #06080B; color: #B6BFCC; }
.foot-inner { display: grid; grid-template-columns: 1.2fr 2fr; gap: 64px; }
@media (max-width: 880px) { .foot-inner { grid-template-columns: 1fr; gap: 40px; } }
.foot-brand .dx-mark { color: #E8ECF2; }
.foot-tag { font-size: 14px; line-height: 1.6; color: #B6BFCC; margin: 20px 0; max-width: 40ch; }
.foot-addr { font-family: var(--mono); font-size: 12px; color: #7C8AA3; line-height: 1.7; }
.foot-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
@media (max-width: 720px) { .foot-cols { grid-template-columns: repeat(2, 1fr); } }
.foot-h { font-family: var(--mono); font-size: 11px; letter-spacing: .08em;
  text-transform: uppercase; color: #E8ECF2; margin-bottom: 16px; }
.foot-col a { display: block; font-size: 13px; color: #B6BFCC; padding: 4px 0; }
.foot-col a:hover { color: #E8ECF2; }
.foot-seals { grid-column: 1 / -1; display: flex; gap: 28px; flex-wrap: wrap;
  margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.08); }
.seal { display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--mono); font-size: 11px; letter-spacing: .04em;
  text-transform: uppercase; color: #B6BFCC; }
.seal .ic-check { color: var(--acc); }
.foot-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between;
  flex-wrap: wrap; gap: 16px; margin-top: 24px; padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.08);
  font-family: var(--mono); font-size: 11px; color: #7C8AA3; }
.foot-legal { display: flex; gap: 20px; flex-wrap: wrap; }
.foot-legal a { color: #7C8AA3; }
.foot-legal a:hover { color: #E8ECF2; }

/* ─── Mobile drawer + hamburger ─────────────────────────────────────────── */
.nav-burger { display: none; width: 38px; height: 38px; border-radius: 8px;
  background: transparent; color: var(--text); border: 1px solid var(--rule-2);
  align-items: center; justify-content: center; cursor: pointer; }
.nav-burger:hover { background: color-mix(in oklab, var(--text) 6%, transparent); }
.drw-back { display: none; position: fixed; inset: 0; z-index: 998;
  background: rgba(0,0,0,.4); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  animation: drw-fade .15s ease-out; }
.drw-back.open { display: block; }
@keyframes drw-fade { from { opacity: 0; } to { opacity: 1; } }
.drw { display: none; position: fixed; top: 0; right: 0; bottom: 0; z-index: 999;
  width: min(420px, 100vw);
  background: var(--bg); color: var(--text);
  border-left: 1px solid var(--rule);
  flex-direction: column;
  animation: drw-in .22s cubic-bezier(.2,.7,.3,1); }
.drw.open { display: flex; }
@keyframes drw-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
.drw-head { display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border-bottom: 1px solid var(--rule); flex-shrink: 0; }
.drw-x { width: 36px; height: 36px; border-radius: 8px;
  background: transparent; color: var(--text-2); border: 1px solid var(--rule);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.drw-x:hover { color: var(--text); background: color-mix(in oklab, var(--text) 6%, transparent); }
.drw-body { flex: 1; overflow-y: auto; padding: 8px 0; }
.drw-nav { display: flex; flex-direction: column; }
.drw-item { border-bottom: 1px solid var(--rule); }
.drw-item:last-child { border-bottom: 0; }
.drw-row { display: flex; align-items: center; justify-content: space-between; }
.drw-link { flex: 1; padding: 18px 20px; font-family: var(--display-font);
  font-size: 17px; font-weight: 500; color: var(--text); letter-spacing: -.005em; }
.drw-link:hover { color: var(--acc); }
.drw-expand { width: 56px; height: 56px; background: transparent; border: 0;
  color: var(--muted); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.drw-expand svg { transition: transform .15s; }
.drw-item.open .drw-expand svg { transform: rotate(180deg); color: var(--text); }
.drw-mega { display: none; padding: 0 20px 16px; background: color-mix(in oklab, var(--text) 3%, transparent); }
.drw-item.open .drw-mega { display: block; }
.drw-group { margin-top: 16px; }
.drw-group:first-child { margin-top: 0; padding-top: 4px; }
.drw-group-h { font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--muted);
  padding: 6px 0 10px; border-bottom: 1px solid var(--rule); margin-bottom: 6px; }
.drw-group-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.drw-mega-link { display: grid; grid-template-columns: 28px 1fr; gap: 12px;
  padding: 10px 4px; border-radius: 6px; align-items: start; }
.drw-mega-link:hover { background: color-mix(in oklab, var(--text) 4%, transparent); }
.drw-mega-link-i { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 6px; background: color-mix(in oklab, var(--acc) 10%, transparent);
  color: var(--text); border: 1px solid var(--rule); }
.drw-mega-link-b { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.drw-mega-link-n { font-family: var(--display-font); font-weight: 500; font-size: 14px;
  color: var(--text); letter-spacing: -.005em; }
.drw-mega-link-d { font-size: 12px; line-height: 1.45; color: var(--text-2); }
.drw-mega-foot { display: inline-flex; align-items: center; gap: 8px;
  margin-top: 14px; padding: 8px 12px; border-radius: 6px;
  font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase;
  color: var(--acc); background: color-mix(in oklab, var(--acc) 10%, transparent);
  border: 1px solid color-mix(in oklab, var(--acc) 25%, var(--rule-2)); }
.drw-foot { display: flex; align-items: center; gap: 12px;
  padding: 16px 20px; border-top: 1px solid var(--rule); flex-shrink: 0; }
.drw-lang { flex: 1; background: transparent; border: 1px solid var(--rule);
  border-radius: 8px; color: var(--muted); padding: 10px 14px;
  font-family: var(--mono); font-size: 11px; letter-spacing: .08em; cursor: pointer; }
.drw-lang .on { color: var(--text); }
.drw-lang-sep { margin: 0 4px; }
.drw-foot .btn-primary { flex: 1; }
@media (max-width: 880px) {
  .nav-links { display: none; }
  .nav-right .nav-lang { display: none; }
  .nav-right .btn-primary { display: none; }
  .nav-burger { display: inline-flex; }
}

/* ─── Overview page ─────────────────────────────────────────────────────── */
.ovr { display: block; }
/* .ovr-hero retired — overview now uses partials/page-hero (.is-overview). */
.ovr-group { padding: 64px 0; }
.ovr-group[data-tone="alt"] {
  background: var(--bg-2);
  --text: var(--bg-2-text);
  --text-2: var(--bg-2-text-2);
  --muted: var(--bg-2-muted);
  --rule: var(--bg-2-rule);
  --rule-2: var(--bg-2-rule-2);
  --surface: var(--bg-2-surface);
  color: var(--text);
}
.ovr-group-h { display: grid; grid-template-columns: auto 1fr auto;
  gap: 16px; align-items: baseline; margin-bottom: 36px;
  padding-bottom: 18px; border-bottom: 1px solid var(--rule); }
.ovr-group-num { font-family: var(--mono); font-size: 11px; letter-spacing: .08em;
  color: var(--acc); }
.ovr-group-t { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -.01em; margin: 0; color: var(--text); }
.ovr-group-count { font-family: var(--mono); font-size: 11px; color: var(--muted);
  letter-spacing: .04em; text-transform: lowercase; }
.ovr-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
@media (max-width: 980px) { .ovr-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px) { .ovr-grid { grid-template-columns: 1fr; } }
.ovr-card { background: var(--surface); border: 1px solid var(--rule);
  border-radius: 10px; padding: 24px; display: flex; flex-direction: column;
  transition: border-color .15s, transform .15s; min-height: 220px; }
.ovr-card:hover { border-color: color-mix(in oklab, var(--acc) 30%, var(--rule-2));
  transform: translateY(-2px); }
.ovr-card-head { margin-bottom: 16px; }
.ovr-card-i { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 8px; background: color-mix(in oklab, var(--acc) 10%, transparent);
  color: var(--text); border: 1px solid var(--rule); }
.ovr-card:hover .ovr-card-i { color: var(--acc);
  background: color-mix(in oklab, var(--acc) 18%, transparent);
  border-color: color-mix(in oklab, var(--acc) 40%, var(--rule-2)); }
.ovr-card-n { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: 19px; line-height: 1.2; letter-spacing: -.01em;
  margin: 0 0 8px; color: var(--text); text-wrap: balance; }
.ovr-card-d { font-size: 13.5px; line-height: 1.55; color: var(--text-2);
  margin: 0; flex: 1; text-wrap: pretty; }
.ovr-card-cta { display: inline-flex; align-items: center; gap: 8px;
  margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--rule);
  font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase;
  color: var(--acc); }
.ovr-card-cta svg { transition: transform .15s; }
.ovr-card:hover .ovr-card-cta svg { transform: translateX(3px); }
.ovr-foot { padding: 96px 0; background: var(--bg); border-top: 1px solid var(--rule); }
.ovr-foot-inner { max-width: 820px; }
.ovr-foot-t { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: clamp(32px, 4vw, 48px); line-height: 1.04; letter-spacing: -.02em;
  margin: 14px 0 18px; color: var(--text); text-wrap: balance; }
.ovr-foot-d { font-size: 16px; line-height: 1.55; color: var(--text-2);
  max-width: 56ch; margin: 0 0 28px; text-wrap: pretty; }
.ovr-foot-cta { display: flex; gap: 12px; flex-wrap: wrap; }

/* ─── Hero variant + mission toggle (driven by tweaks.js body classes) ──── */
body.hero-statement .hero-right { display: none; }
body.hero-statement .hero-inner { grid-template-columns: 1fr; }
body.no-mission [data-mission] { display: none; }

/* ─── Mobile drawer open state ──────────────────────────────────────────── */
.drw, .drw-back { display: none; }
.drw.open { display: flex; }
.drw-back.open { display: block; }

/* ─── Tweaks panel (dev only — markup hidden via [hidden] until JS shows) ─ */
.tw-fab { position: fixed; right: 18px; bottom: 18px; z-index: 9999; }
.tw-fab button { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--rule-2);
  background: var(--surface); color: var(--text); display: grid; place-items: center;
  box-shadow: 0 8px 24px rgba(0,0,0,.3); }
.tw-panel { position: fixed; right: 18px; bottom: 70px; z-index: 9999;
  width: 280px; max-height: 70vh; overflow: auto;
  background: var(--surface); color: var(--text);
  border: 1px solid var(--rule-2); border-radius: 12px;
  box-shadow: 0 24px 60px -16px rgba(0,0,0,.5);
  font-family: var(--sans); font-size: 13px; }
.tw-head { display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px; border-bottom: 1px solid var(--rule); }
.tw-title { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.tw-x { background: none; border: 0; color: var(--text); font-size: 20px; line-height: 1; cursor: pointer; }
.tw-body { padding: 14px 16px; display: flex; flex-direction: column; gap: 14px; }
.tw-sec { display: flex; flex-direction: column; gap: 8px; }
.tw-sec-l { font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.tw-row { display: flex; flex-wrap: wrap; gap: 6px; }
.tw-row button { background: transparent; color: var(--text-2);
  border: 1px solid var(--rule-2); border-radius: 6px;
  padding: 6px 10px; font: inherit; cursor: pointer; }
.tw-row button.on { background: var(--acc); color: #0A0B0E; border-color: var(--acc); }
.tw-row-c button { width: 22px; height: 22px; padding: 0; border-radius: 50%; background: var(--c); border: 2px solid transparent; }
.tw-row-c button.on { border-color: var(--text); }

/* ─── About / values ───────────────────────────────────────────────────── */
.values { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.val { padding: 24px; border: 1px solid var(--rule); border-radius: 8px; background: var(--surface); }
.val-k { font-family: var(--display-font); font-weight: var(--display-weight); font-size: 20px; margin-bottom: 10px; color: var(--text); }
.val-d { font-size: 14.5px; line-height: 1.6; color: var(--text-2); margin: 0; }

/* ─── Milestones timeline ──────────────────────────────────────────────── */
.ms { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.ms-i { display: grid; grid-template-columns: 140px 1fr; gap: 28px; padding: 18px 0; border-top: 1px dashed var(--rule); }
.ms-d { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; color: var(--muted); padding-top: 4px; }
.ms-t { font-family: var(--display-font); font-weight: var(--display-weight); font-size: 19px; margin: 0 0 6px; color: var(--text); }
.ms-x { font-size: 14.5px; line-height: 1.6; color: var(--text-2); margin: 0; }
@media (max-width: 720px){ .ms-i { grid-template-columns: 1fr; gap: 4px; } }

/* ─── Pricing bundles ──────────────────────────────────────────────────── */
.bund { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.bund-c { padding: 28px; border: 1px solid var(--rule-2); border-radius: 10px; background: var(--surface); display: flex; flex-direction: column; }
.bund-c-feat { border-color: var(--acc); box-shadow: 0 0 0 1px var(--acc) inset; }
.bund-h { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.bund-k { font-family: var(--mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.bund-p { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.bund-p-v { font-family: var(--display-font); font-weight: var(--display-weight); font-size: 28px; color: var(--text); }
.bund-p-u { font-family: var(--mono); font-size: 11.5px; color: var(--muted); }
.bund-h-t { font-size: 14.5px; line-height: 1.55; color: var(--text-2); margin: 0 0 18px; min-height: 3em; }
.bund-incl { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 10px; flex: 1; }
.bund-incl li { display: flex; gap: 10px; font-size: 13.5px; line-height: 1.5; color: var(--text-2); }
.bund-incl .ic-check { color: var(--acc); margin-top: 4px; flex: none; }

/* ─── Pricing grid ─────────────────────────────────────────────────────── */
.pgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; }
.pcard { padding: 26px; border: 1px solid var(--rule); border-radius: 10px; background: var(--surface); display: flex; flex-direction: column; }
.pcard-h { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; }
.pcard-n { font-family: var(--display-font); font-weight: var(--display-weight); font-size: 20px; margin: 0; color: var(--text); }
.pcard-p { display: flex; align-items: baseline; gap: 6px; flex-direction: column; align-items: flex-end; }
.pcard-p-v { font-family: var(--mono); font-size: 14px; color: var(--acc); font-weight: 500; white-space: nowrap; }
.pcard-p-u { font-family: var(--mono); font-size: 10.5px; color: var(--muted); white-space: nowrap; }
.pcard-d { font-size: 14px; line-height: 1.6; color: var(--text-2); margin: 0 0 16px; }
.pcard-incl { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 8px; }
.pcard-incl li { display: flex; gap: 10px; font-size: 13px; line-height: 1.5; color: var(--text-2); }
.pcard-incl .ic-check { color: var(--acc); margin-top: 3px; flex: none; }
.pcard-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }
.pcard-cta { margin-top: auto; padding-top: 16px; border-top: 1px dashed var(--rule); }

/* ─── FAQ ──────────────────────────────────────────────────────────────── */
.faq { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; max-width: 880px; }
.faq-i { border: 1px solid var(--rule); border-radius: 8px; background: var(--surface); }
.faq-i details { padding: 18px 22px; }
.faq-i summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none;
  font-family: var(--display-font); font-weight: var(--display-weight); font-size: 16px; color: var(--text); }
.faq-i summary::-webkit-details-marker { display: none; }
.faq-i summary svg { color: var(--muted); transition: transform .15s; flex: none; }
.faq-i details[open] summary svg { transform: rotate(180deg); }
.faq-a { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--rule); font-size: 14.5px; line-height: 1.65; color: var(--text-2); }

/* ─── Lead form ────────────────────────────────────────────────────────── */
.lf { display: grid; gap: 16px; max-width: 640px; }
.lf-f { display: grid; gap: 6px; }
.lf-l { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: var(--muted); }
.lf-l em { color: var(--acc); font-style: normal; }
.lf input, .lf select, .lf textarea { width: 100%; padding: 12px 14px;
  background: var(--surface); color: var(--text); border: 1px solid var(--rule-2); border-radius: 6px;
  font: inherit; font-size: 14.5px; }
.lf input:focus, .lf select:focus, .lf textarea:focus { outline: none; border-color: var(--acc); }
.lf-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 8px; }
.lf-actions .btn { cursor: pointer; }
.lf-disc { margin: 0; font-size: 12px; color: var(--muted); }
.lf-ok { padding: 18px 22px; border: 1px solid var(--rule-2); background: var(--surface); border-radius: 6px; font-size: 15px; color: var(--text); }
.lf-err { margin: 12px 0 0; padding: 12px 14px; border: 1px solid #c0392b; background: rgba(192,57,43,.08); border-radius: 6px; font-size: 13.5px; color: #ffb3a8; }

/* ─── News list ────────────────────────────────────────────────────────── */
.news-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; }
.news-card { display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--rule); border-radius: 10px;
  background: var(--surface); height: 100%; transition: border-color .15s, transform .15s; }
.news-card:hover { border-color: color-mix(in oklab, var(--acc) 40%, var(--rule-2)); transform: translateY(-2px); }
.news-card-meta { display: flex; align-items: center; gap: 10px; font-family: var(--mono); font-size: 11.5px; color: var(--muted); margin-bottom: 12px; }
.news-card-cat { padding: 2px 8px; border: 1px solid var(--rule); border-radius: 3px; color: var(--acc); font-size: 10.5px; }
.news-card-t { font-family: var(--display-font); font-weight: var(--display-weight); font-size: 19px; line-height: 1.25; margin: 0 0 10px; color: var(--text); text-wrap: balance; }
.news-card-d { font-size: 14px; line-height: 1.55; color: var(--text-2); margin: 0; flex: 1; }
.news-card-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding-top: 14px; border-top: 1px dashed var(--rule);
  font-family: var(--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--acc); }
.news-empty { font-family: var(--mono); color: var(--muted); }

/* ─── Post page ────────────────────────────────────────────────────────── */
.post-head { padding: 96px 0 48px; border-bottom: 1px solid var(--rule); }
.post-head-inner { max-width: 760px; }
.post-crumbs { display: flex; gap: 8px; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: var(--muted); text-transform: uppercase; margin-bottom: 18px; }
.post-crumbs a { color: var(--muted); }
.post-crumbs a:hover { color: var(--acc); }
.post-title { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: clamp(30px, 4vw, 48px); line-height: 1.08; letter-spacing: -.015em; margin: 0 0 14px; color: var(--text); text-wrap: balance; }
.post-desc { font-size: 17px; line-height: 1.55; color: var(--text-2); margin: 0 0 22px; max-width: 60ch; }
.post-meta { display: flex; gap: 10px; font-family: var(--mono); font-size: 12px; color: var(--muted); }
.post-meta-sep { color: var(--rule-2); }
.post-tags { display: flex; gap: 6px; margin-top: 16px; flex-wrap: wrap; }
.post-body { padding: 56px 0; }
.post-body .prose { max-width: 760px; margin: 0 auto;
  font-size: 16.5px; line-height: 1.7; color: var(--text); }
.post-body .prose h2 { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: 26px; margin: 48px 0 12px; line-height: 1.2; color: var(--text); }
.post-body .prose h3 { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: 20px; margin: 32px 0 10px; color: var(--text); }
.post-body .prose p { margin: 0 0 18px; color: var(--text-2); }
.post-body .prose strong { color: var(--text); font-weight: 600; }
.post-body .prose a { color: var(--acc); border-bottom: 1px dashed currentColor; }
.post-body .prose ul, .post-body .prose ol { margin: 0 0 18px; padding-left: 22px; color: var(--text-2); }
.post-body .prose li { margin-bottom: 8px; }
.post-body .prose code { font-family: var(--mono); font-size: 13.5px; padding: 2px 6px; background: var(--surface-2); border-radius: 3px; }
.post-body .prose pre { padding: 16px; background: var(--surface-2); border: 1px solid var(--rule); border-radius: 6px; overflow-x: auto; margin: 0 0 22px; }
.post-body .prose blockquote { border-left: 3px solid var(--acc); padding-left: 18px; margin: 18px 0; color: var(--text-2); font-style: italic; }
.post-foot { padding: 24px 0 96px; border-top: 1px solid var(--rule); }

/* ─── News compact head ────────────────────────────────────────────────── */
.news-head { padding: 80px 0 48px; border-bottom: 1px solid var(--rule); }
.news-head-t { font-family: var(--display-font); font-weight: var(--display-weight);
  font-size: clamp(28px, 3.2vw, 40px); line-height: 1.1; letter-spacing: -.015em;
  margin: 12px 0 12px; color: var(--text); max-width: 24ch; text-wrap: balance; }
.news-head-d { font-size: 16px; line-height: 1.55; color: var(--text-2);
  max-width: 60ch; margin: 0; }

/* ─── Pager ─────────────────────────────────────────────────────────────── */
.pager { display: flex; align-items: center; justify-content: center; gap: 18px;
  margin: 48px 0 0; flex-wrap: wrap; padding-top: 28px; border-top: 1px dashed var(--rule); }
.pager-btn { display: inline-flex; align-items: center; gap: 8px;
  height: 36px; padding: 0 14px; border-radius: 6px;
  background: transparent; color: var(--text); border: 1px solid var(--rule-2);
  font: inherit; font-size: 13px; cursor: pointer; transition: background .12s, color .12s, border-color .12s; }
.pager-btn:hover:not(:disabled) { background: color-mix(in oklab, var(--text) 6%, transparent); }
.pager-btn:disabled { opacity: .35; cursor: not-allowed; }
.pager-pages { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.pager-num { width: 32px; height: 32px; padding: 0; border-radius: 6px;
  background: transparent; color: var(--text-2); border: 1px solid var(--rule);
  font-family: var(--mono); font-size: 12px; cursor: pointer; transition: background .12s, color .12s, border-color .12s; }
.pager-num:hover { color: var(--text); border-color: var(--rule-2); }
.pager-num.on { background: var(--acc); color: #0A0B0E; border-color: var(--acc); }
.pager-count { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: var(--muted); margin-left: auto; }
@media (max-width: 720px) { .pager-count { margin-left: 0; width: 100%; text-align: center; order: 99; } }

/* ─── Founder block ─────────────────────────────────────────────────────── */
.fnd { display: grid; grid-template-columns: 220px 1fr; gap: 36px; align-items: start; max-width: 960px; }
.fnd-photo { width: 220px; height: 260px; border-radius: 8px; overflow: hidden;
  background: var(--surface-2); border: 1px solid var(--rule); position: relative; }
.fnd-photo img { width: 100%; height: 100%; object-fit: cover; }
.fnd-name { font-family: var(--display-font); font-weight: var(--display-weight); font-size: 22px; color: var(--text); }
.fnd-role { font-family: var(--mono); font-size: 11.5px; letter-spacing: .08em; color: var(--acc);
  text-transform: uppercase; margin-top: 4px; margin-bottom: 18px; }
.fnd-bio { font-size: 15.5px; line-height: 1.6; color: var(--text-2); }
.fnd-bio p { margin: 0 0 12px; }
.fnd-highlights { list-style: none; margin: 18px 0; padding: 0; display: flex; gap: 18px; flex-wrap: wrap; }
.fnd-highlights li { display: inline-flex; gap: 8px; align-items: center; font-family: var(--mono); font-size: 12px; color: var(--text-2); }
.fnd-highlights .ic-check { color: var(--acc); }
.fnd-contact { display: flex; gap: 18px; flex-wrap: wrap; padding-top: 14px; border-top: 1px dashed var(--rule); }
.fnd-link { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; color: var(--acc); }
.fnd-link:hover { text-decoration: underline; }
@media (max-width: 720px){ .fnd { grid-template-columns: 1fr; } .fnd-photo { width: 100%; height: 280px; } }

/* ─── Operate (vendor stack grid) ───────────────────────────────────────── */
.op-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.op-c { padding: 22px; border: 1px solid var(--rule); border-radius: 8px; background: var(--surface); }
.op-c-h { font-family: var(--display-font); font-weight: var(--display-weight); font-size: 16px; margin: 0 0 10px; color: var(--text); }
.op-c-v { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.op-c-v li { font-family: var(--mono); font-size: 11px; letter-spacing: .04em;
  padding: 4px 8px; border: 1px solid var(--rule); border-radius: 3px;
  background: var(--surface-2); color: var(--text); }
.op-c-d { font-size: 13.5px; line-height: 1.55; color: var(--text-2); margin: 0; }
.op-note { font-family: var(--mono); font-size: 12px; line-height: 1.55; color: var(--muted); margin-top: 24px; max-width: 78ch; }

/* ─── Stories (field record) ────────────────────────────────────────────── */
.stor { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; }
.stor-c { padding: 28px; border: 1px solid var(--rule); border-radius: 10px;
  background: var(--surface); display: flex; flex-direction: column; gap: 16px; }
.stor-sector { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--acc); }
.stor-t { font-family: var(--display-font); font-weight: var(--display-weight); font-size: 22px; line-height: 1.2; margin: 6px 0 0; color: var(--text); text-wrap: balance; }
.stor-b { font-size: 14.5px; line-height: 1.6; color: var(--text-2); }
.stor-b p { margin: 0 0 10px; }
.stor-m { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 4px 0 0; padding-top: 16px; border-top: 1px dashed var(--rule); }
.stor-m-i { display: flex; flex-direction: column; gap: 2px; }
.stor-m-i dt { font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.stor-m-i dd { margin: 0; font-family: var(--display-font); font-weight: var(--display-weight); font-size: 18px; color: var(--text); }
.stor-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.stor-foot { font-family: var(--mono); font-size: 12px; color: var(--muted); margin-top: 28px; }

/* ─── Method (policy-as-code / SSOT pillars) ───────────────────────────── */
.meth { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.meth-i { display: flex; flex-direction: column; gap: 10px; padding: 24px;
  border: 1px solid var(--rule); border-radius: 8px; background: var(--surface); }
.meth-l { display: flex; align-items: baseline; gap: 12px; padding-bottom: 8px; border-bottom: 1px dashed var(--rule); }
.meth-k { font-family: var(--mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--acc); }
.meth-v { font-family: var(--display-font); font-weight: var(--display-weight); font-size: 17px; color: var(--text); }
.meth-d { font-size: 14px; line-height: 1.6; color: var(--text-2); margin: 0; }
.meth-note { font-family: var(--mono); font-size: 12px; line-height: 1.55; color: var(--muted); margin-top: 24px; max-width: 80ch; }

.fnd-note { font-family: var(--mono); font-size: 11.5px; color: var(--muted); margin: 10px 0 0; max-width: 56ch; }
.foot-license{text-align:center;padding:.75rem 0 0;font-size:.75rem;color:var(--muted);border-top:1px solid var(--rule);margin-top:.75rem}

/* ===== Unified page hero =====
   Single component used by feature, overview, mandat, legal pages.
   Frame matches .container (1240); inner text constrained for readability. */
.page-hero{position:relative;overflow:hidden}
.page-hero .hero-bg{position:absolute;inset:0;pointer-events:none;color:var(--text)}
.page-hero-inner{position:relative}
.page-hero-back{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);text-decoration:none;margin-bottom:18px}
.page-hero-back:hover{color:var(--text)}
.page-hero-text{max-width:none}
.page-hero-title{font-family:var(--display-font,inherit);font-weight:var(--display-weight,600);line-height:1.05;margin:10px 0 18px;letter-spacing:-.015em;color:var(--text);text-wrap:balance;max-width:18ch}
.page-hero-tldr{border-left:3px solid var(--acc);padding:14px 18px;margin:22px 0 0;background:var(--surface);font-size:16px;line-height:1.6;color:var(--text);border-radius:0 4px 4px 0;max-width:72ch}
.page-hero-tldr strong{color:var(--acc);margin-right:6px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.page-hero-lede{max-width:72ch;font-size:17px;line-height:1.6;margin:16px 0 0;color:var(--muted);text-wrap:pretty}
.page-hero-pills{margin-top:24px}
.page-hero-cta{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}

/* Variants — three sizes: large, regular, small */
.page-hero.is-large{padding:112px 0 64px}
.page-hero.is-large .page-hero-title{font-size:clamp(44px,6.4vw,80px);line-height:1;max-width:18ch}
.page-hero.is-large .page-hero-lede{font-size:18px;max-width:72ch}

.page-hero.is-regular{padding:96px 0 48px}
.page-hero.is-regular .page-hero-title{font-size:clamp(34px,5vw,56px);max-width:22ch}
.page-hero.is-regular .page-hero-lede{font-size:17px;max-width:68ch}

.page-hero.is-small{padding:72px 0 32px}
.page-hero.is-small .page-hero-title{font-size:clamp(28px,3.6vw,40px);max-width:28ch}
.page-hero.is-small .page-hero-lede{font-size:15.5px}

@media (max-width: 720px){
  .page-hero.is-large{padding:80px 0 36px}
  .page-hero.is-regular{padding:72px 0 32px}
  .page-hero.is-small{padding:56px 0 24px}
  .page-hero-title,.page-hero-tldr,.page-hero-lede{max-width:none}
}
.feat-body{padding:48px 0 32px}
.feat-prose{max-width:80ch}
.feat-prose h2{font-size:22px;margin:32px 0 10px;letter-spacing:-.005em}
.feat-prose h2:first-child{margin-top:0}
.feat-prose ul{padding-left:1.2em}
.feat-prose li{margin:6px 0}
.feat-facts{padding:32px 0}
.fact-table{width:100%;max-width:80ch;border-collapse:collapse;font-size:14.5px;margin-top:8px}
.fact-table caption{caption-side:bottom;text-align:left;color:var(--muted);font-size:12px;font-family:var(--mono);padding-top:10px}
.fact-table th,.fact-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top}
.fact-table th{font-weight:600;width:32%;color:var(--muted);font-size:13.5px}

/* feature deliverables grid */
.feat-deliv .deliv-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px 24px;max-width:100%}
.feat-deliv .deliv-i{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:14px 16px}
.feat-deliv .deliv-check{flex:0 0 auto;color:var(--acc);margin-top:2px}
.feat-deliv .deliv-h{font-weight:600;font-size:14.5px;margin:0 0 4px;color:var(--text)}
.feat-deliv .deliv-d{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted)}

/* feature regulation grid */
.feat-regs .reg-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px 20px}
.feat-regs .reg-i{border:1px solid var(--rule);border-radius:6px;padding:14px 16px}
.feat-regs .reg-tag{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--acc);text-transform:uppercase;margin-bottom:6px}
.feat-regs .reg-name{font-weight:600;font-size:15px;margin-bottom:6px;color:var(--text)}
.feat-regs .reg-d{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted)}

/* Mandat page — uses partials/page-hero (.is-mandat); .md-* below are section styles only */

/* Konfigurator */
.md-kfg .sec-head{max-width:80ch}
.kfg{max-width:780px;margin:0 auto;position:relative}
.kfg-steps{list-style:none;margin:0;padding:0}
.kfg-step{display:none;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:28px 28px 24px;animation:kfgFade .22s ease-out}
.kfg-step.is-active{display:block}
@keyframes kfgFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.kfg-step-h{margin:0 0 18px;display:flex;flex-direction:column;gap:4px}
.kfg-step-n{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.kfg-step-t{font-size:20px;margin:2px 0 0;line-height:1.25;color:var(--text)}
.kfg-step-sub{font-size:13px;color:var(--muted)}
.kfg-opts{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:8px}
.kfg-opt{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;border:1px solid var(--rule);border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s}
.kfg-opt:hover{border-color:var(--acc)}
.kfg-opt input{position:absolute;opacity:0;pointer-events:none}
.kfg-opt-box{flex:0 0 18px;width:18px;height:18px;border:1.5px solid var(--rule);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;transition:border-color .15s,background .15s}
.kfg-opt input[type=radio]+.kfg-opt-box{border-radius:50%}
.kfg-opt input:checked+.kfg-opt-box{border-color:var(--acc);background:var(--acc)}
.kfg-opt input:checked+.kfg-opt-box::after{content:"";width:8px;height:8px;background:var(--bg);border-radius:2px}
.kfg-opt input[type=radio]:checked+.kfg-opt-box::after{border-radius:50%}
.kfg-opt-l{font-size:14.5px;line-height:1.45;color:var(--text)}
.kfg-nav{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}
.kfg-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 18px;margin:0 0 18px}
.kfg-field{display:flex;flex-direction:column;gap:6px}
.kfg-field-l{font-size:13px;color:var(--muted)}
.kfg-field-l em{color:var(--acc);font-style:normal}
.kfg-field input{padding:10px 12px;border:1px solid var(--rule);border-radius:6px;background:var(--bg);color:var(--text);font-size:14.5px;font-family:inherit}
.kfg-field input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 25%,transparent)}
.kfg-field input.is-invalid{border-color:#c44}
.kfg-note{font-size:12.5px;color:var(--muted);margin:12px 0 0}
.kfg-error{color:#c44}
.kfg-done .kfg-step-t{color:var(--acc)}
.kfg-progress{display:flex;justify-content:center;gap:10px;margin:18px 0 0}
.kfg-dot{width:8px;height:8px;border-radius:50%;background:var(--rule);transition:background .2s}
.kfg-dot.is-active{background:var(--acc)}

/* No-pricing / nevers grid */
.md-nop .sec-head{max-width:72ch}
.md-nev{margin-top:28px}
.md-nev-h{font-size:16px;margin:0 0 14px;color:var(--text)}
.md-nev-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px 20px}
.md-nev-i{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--rule);border-radius:6px;padding:14px 16px;background:var(--surface)}
.md-nev-c{color:var(--acc);margin-top:2px}
.md-nev-t{font-weight:600;font-size:14.5px;color:var(--text)}
.md-nev-d{margin:4px 0 0;font-size:13.5px;color:var(--muted);line-height:1.5}

/* Briefing CTA section */
.md-brf .sec-head{max-width:72ch}
.md-brf-list{list-style:none;padding:0;margin:18px 0 22px;display:flex;flex-direction:column;gap:8px;max-width:64ch}
.md-brf-i{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.55}
.md-brf-i svg{color:var(--acc);margin-top:3px;flex:0 0 auto}
.md-brf-cta{display:flex;gap:12px;flex-wrap:wrap}

/* Contact form */
.md-ctc-form{max-width:780px;margin:0 auto;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:24px}
.md-ctc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 18px;margin-bottom:18px}
.md-ctc-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.md-ctc-note{font-size:12.5px;color:var(--muted);margin:0;max-width:42ch}
.md-ctc-done{padding:14px 16px;background:color-mix(in srgb,var(--acc) 14%,transparent);border:1px solid var(--acc);border-radius:6px;color:var(--text);font-size:14.5px}

/* feature cards block (Partner tracks, Über-uns sub-pages) */
.feat-cards .cards-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px 22px}
.feat-cards .card-i{background:var(--surface);border:1px solid var(--rule);border-radius:8px;overflow:hidden;transition:border-color .15s,transform .15s}
.feat-cards .card-i:hover{border-color:var(--acc);transform:translateY(-1px)}
.feat-cards .card-link{display:block;padding:20px 22px;color:inherit;text-decoration:none}
.feat-cards .card-i:not(:has(.card-link)){padding:20px 22px}
.feat-cards .card-badge{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--acc);text-transform:uppercase;padding:3px 8px;border:1px solid var(--acc);border-radius:99px;margin-bottom:12px}
.feat-cards .card-h{font-size:17px;font-weight:600;color:var(--text);margin:0 0 8px;line-height:1.3}
.feat-cards .card-d{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
.feat-cards .card-cta{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13.5px;color:var(--acc);font-weight:500}
.feat-cards .card-cta svg{margin-top:1px}
.feat-bullets .md-brf-list{margin:18px 0 0;max-width:64ch}

/* Cloud-or-On-Premise table */
.co-sec{padding:48px 0}
.co-table-wrap{margin-top:28px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.co-table{width:100%;border-collapse:collapse;min-width:680px;font-size:14px}
.co-table thead th{padding:14px 16px;text-align:left;border-bottom:2px solid var(--rule);vertical-align:bottom;background:var(--surface)}
.co-th-k{font-weight:600;color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;width:26%}
.co-th-m{min-width:160px}
.co-th-name{font-weight:600;font-size:15.5px;color:var(--text);margin-bottom:2px}
.co-th-tag{font-family:var(--mono);font-size:11px;color:var(--acc);letter-spacing:.04em}
.co-table tbody th, .co-table tbody td{padding:12px 16px;border-bottom:1px solid var(--rule);vertical-align:top}
.co-td-k{font-weight:500;color:var(--muted);font-size:13.5px;width:26%;text-align:left}
.co-td-v{color:var(--text);font-size:14px}
.co-cta{margin-top:24px}

/* Rules-as-Code section */
.rac-sec{padding:48px 0}
.rac-grid{list-style:none;padding:0;margin:24px 0 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 18px}
.rac-card{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:18px 18px 16px}
.rac-card-h{font-size:15.5px;font-weight:600;color:var(--text);margin:0 0 6px;line-height:1.3}
.rac-card-d{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted)}
.rac-code{margin:0;background:#0d121a;border:1px solid var(--rule);border-radius:6px;overflow:hidden}
.rac-code-cap{font-family:var(--mono);font-size:11.5px;color:var(--muted);padding:10px 16px;border-bottom:1px solid var(--rule);background:rgba(255,255,255,.02);letter-spacing:.04em;text-transform:uppercase}
.rac-code pre{margin:0;padding:16px 18px;overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.6;color:#e3e8ef}
.rac-code code{font-family:inherit;font-size:inherit;color:inherit;background:none}

/* News layout w/ tag sidebar */
.news-sec{padding:48px 0 64px}
.news-layout{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start}
.news-side{position:sticky;top:96px}
.news-side-h{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.news-tags{display:flex;flex-direction:column;gap:6px}
.news-tag{display:flex;align-items:center;justify-content:space-between;gap:8px;background:transparent;border:1px solid var(--rule);color:var(--text);font-size:13px;padding:7px 11px;border-radius:4px;cursor:pointer;text-align:left;transition:background .12s,border-color .12s}
.news-tag:hover{background:var(--surface);border-color:var(--muted)}
.news-tag.on{background:var(--acc);border-color:var(--acc);color:#0a0e14;font-weight:500}
.news-tag.on em{color:#0a0e14;opacity:.65}
.news-tag em{font-style:normal;font-family:var(--mono);font-size:11.5px;color:var(--muted);opacity:.8}
.news-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.news-card-tag{font-size:11px;font-family:var(--mono);color:var(--muted);background:var(--surface);border:1px solid var(--rule);padding:2px 7px;border-radius:3px;letter-spacing:.02em}
@media (max-width:880px){
  .news-layout{grid-template-columns:1fr;gap:24px}
  .news-side{position:static}
  .news-tags{flex-direction:row;flex-wrap:wrap}
  .news-tag{flex:0 0 auto}
}

/* Global search */
.nav-search{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:1px solid var(--rule);color:var(--text);border-radius:4px;cursor:pointer;transition:background .12s,border-color .12s}
.nav-search:hover{background:var(--surface);border-color:var(--muted)}
.search-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:80px 16px 16px}
.search-modal[hidden]{display:none}
.search-back{position:absolute;inset:0;background:rgba(8,12,18,.6);backdrop-filter:blur(4px)}
.search-panel{position:relative;width:100%;max-width:640px;background:var(--bg);border:1px solid var(--rule);border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.4);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 96px)}
.search-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--rule);color:var(--muted)}
.search-input{flex:1;background:transparent;border:0;outline:0;color:var(--text);font:inherit;font-size:16px}
.search-x{background:transparent;border:0;color:var(--muted);cursor:pointer;padding:4px;display:flex;align-items:center}
.search-x:hover{color:var(--text)}
.search-meta{padding:10px 16px;font-size:12.5px;color:var(--muted);border-bottom:1px solid var(--rule);font-family:var(--mono);letter-spacing:.02em}
.search-results{list-style:none;margin:0;padding:8px 0;overflow-y:auto;flex:1}
.search-result{padding:10px 16px;cursor:pointer;display:block;color:inherit;text-decoration:none;border-left:3px solid transparent}
.search-result:hover,.search-result.active{background:var(--surface);border-left-color:var(--acc)}
.search-result-t{font-size:14.5px;font-weight:500;color:var(--text);margin:0 0 4px;line-height:1.35}
.search-result-u{font-family:var(--mono);font-size:11.5px;color:var(--acc);letter-spacing:.03em}
.search-result-s{font-size:13px;color:var(--muted);margin:4px 0 0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.search-result mark{background:rgba(242,177,0,.25);color:var(--text);padding:0 2px;border-radius:2px}

/* Feature-page tabbed workflow (distinct from home workflow/runbook) */
.feat-workflow{padding:48px 0}
.feat-wf-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;margin-top:32px}
.feat-wf-tab{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:24px}
.feat-wf-tab-h{font-family:var(--display-font);font-weight:var(--display-weight);font-size:18px;color:var(--text);margin:0 0 16px}
.feat-wf-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.feat-wf-step{display:grid;grid-template-columns:64px 1fr;gap:14px;padding-bottom:12px;border-bottom:1px dashed var(--rule)}
.feat-wf-step:last-child{border-bottom:0;padding-bottom:0}
.feat-wf-step-t{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--acc);text-transform:uppercase;padding-top:2px}
.feat-wf-step-d{font-size:14px;line-height:1.55;color:var(--text-2)}

/* Sectors section (About) */
.sectors-sec{padding:64px 0}
.sectors-grid{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px 18px}
.sector-i{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:18px 20px}
.sector-k{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--acc);text-transform:uppercase;margin-bottom:6px}
.sector-v{font-family:var(--display-font);font-weight:var(--display-weight);font-size:17px;color:var(--text);margin-bottom:8px;line-height:1.3}
.sector-d{margin:0;font-size:13.5px;line-height:1.55;color:var(--text-2)}
.sectors-note{margin:28px 0 0;font-size:13px;color:var(--muted);font-style:italic;line-height:1.6;max-width:80ch}

/* ─── Consent banner ────────────────────────────────────────────────────── */
.dx-consent{position:fixed;left:0;right:0;bottom:0;z-index:1000;background:color-mix(in oklab,var(--bg) 92%,transparent);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-top:1px solid var(--rule-2);box-shadow:0 -10px 40px rgba(0,0,0,.4)}
.dx-consent-inner{max-width:var(--maxw);margin:0 auto;padding:20px 32px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.dx-consent-title{margin:0 0 6px;font-family:var(--display-font);font-weight:var(--display-weight);font-size:16px;color:var(--text)}
.dx-consent-body{margin:0;font-size:13.5px;line-height:1.55;color:var(--text-2)}
.dx-consent-body a{color:var(--acc);text-decoration:underline;text-underline-offset:2px}
.dx-consent-actions{display:flex;gap:10px;flex-shrink:0}
@media (max-width:720px){.dx-consent-inner{grid-template-columns:1fr;padding:18px 20px}.dx-consent-actions{flex-direction:column-reverse;align-items:stretch}.dx-consent-actions .btn{justify-content:center;width:100%}}

