@charset "UTF-8";

:root {
  --ink: #172c46;
  --ink-deep: #10243b;
  --text: #243349;
  --muted: #687588;
  --paper: #ffffff;
  --canvas: #f4f5f3;
  --soft: #edf2f5;
  --line: #d7dee4;
  --accent: #267374;
  --accent-soft: #e9f3f0;
  --red: #9c423b;
  --serif: "Noto Serif KR", "KoPub Batang", "Batang", "Times New Roman", serif;
  --sans: "Pretendard", "Noto Sans KR", "Malgun Gothic", "Apple SD Gothic Neo", Arial, sans-serif;
  font-family: var(--sans);
  color: var(--text);
  background: var(--paper);
  font-synthesis: none;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }
body { margin: 0; font-size: 15px; line-height: 1.75; word-break: keep-all; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: .55; }
img, svg { max-width: 100%; vertical-align: middle; }
h1, h2, h3, p { margin: 0; }
strong { font-weight: 700; }
::selection { background: #d7e9e4; color: var(--ink-deep); }
:focus-visible { outline: 3px solid #ba8a37; outline-offset: 4px; }
.container { width: min(1240px, calc(100% - 80px)); margin-inline: auto; }
.skip-link { position: fixed; top: 8px; left: 12px; z-index: 100; padding: 12px 20px; background: var(--ink); color: white; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.text-muted { color: var(--muted); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }

.utility-bar { min-height: 35px; background: var(--ink-deep); color: #d8e0e9; font-size: 11px; letter-spacing: .01em; }
.utility-bar > .container { min-height: 35px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.utility-bar .status-dot { display: inline-block; width: 5px; height: 5px; margin: 0 8px 2px 0; border-radius: 50%; background: #aacdc0; }
.utility-bar a { color: white; }
.utility-bar .utility-links { display: flex; gap: 18px; }
.utility-bar .utility-links a:hover { text-decoration: underline; text-underline-offset: 4px; }

.masthead { min-height: 117px; display: flex; align-items: center; gap: 19px; }
.brand { display: inline-flex; align-items: center; gap: 17px; }
.brand-mark { flex: 0 0 47px; width: 47px; height: 47px; color: var(--ink); border: 2px solid currentColor; position: relative; display: grid; align-content: center; gap: 5px; padding: 9px; }
.brand-mark::before, .brand-mark::after { content: ""; display: block; height: 2px; background: currentColor; }
.brand-mark::after { width: 70%; }
.brand-mark span { display: block; height: 2px; background: currentColor; }
.brand-text { display: flex; align-items: center; gap: 17px; color: var(--ink); line-height: 1.4; min-width: 0; }
.brand-text > span:last-child { display: grid; gap: 3px; }
.brand-text .brand-mark::before, .brand-text .brand-mark::after { display: none; }
.brand-text strong { font-size: 24px; letter-spacing: -.065em; }
.brand-text small { font-size: 10px; letter-spacing: .15em; font-weight: 600; color: var(--muted); }
.masthead-title { display: block; border-left: 1px solid var(--line); margin-left: 8px; padding-left: 23px; font-size: 12px; color: var(--muted); }
.masthead-actions { margin-left: auto; display: flex; align-items: center; gap: 18px; font-size: 12px; }
.language-switch { display: flex; align-items: center; gap: 9px; }
.language-switch .active { font-weight: 700; color: var(--ink); }
.language-switch a:not(.active) { color: var(--muted); }
.language-switch .divider { width: 1px; height: 11px; background: var(--line); }
.outline-small { display: inline-flex; justify-content: center; align-items: center; min-height: 33px; padding: 4px 12px; border: 1px solid var(--line); color: var(--ink); }
.outline-small:hover { border-color: var(--ink); }

.nav-bar { border-top: 1px solid var(--line); border-bottom: 2px solid var(--ink); }
.nav-bar > .container { display: flex; min-height: 55px; align-items: center; justify-content: space-between; }
.nav-links { display: flex; gap: 42px; align-items: center; }
.nav-links a { position: relative; padding-block: 16px; font-size: 14px; font-weight: 650; letter-spacing: -.02em; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--accent); }
.nav-links a[aria-current="page"]::after { content: ""; position: absolute; left: 0; bottom: -2px; height: 3px; width: 100%; background: var(--accent); }
.nav-note { color: var(--muted); font-size: 11px; display: flex; align-items: center; gap: 8px; }
.nav-note::before { content: ""; width: 5px; height: 5px; background: var(--accent); border-radius: 50%; }
.nav-code { color: var(--muted); font-size: 10px; letter-spacing: .08em; white-space: nowrap; }
.mobile-menu { display: none; background: transparent; border: 0; color: var(--ink); padding: 10px 0; font-weight: 700; font-size: 13px; }
.breadcrumbs { padding-top: 20px; font-size: 11px; color: var(--muted); }
.breadcrumbs span { margin-inline: 9px; color: #9ca7b0; }

.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 365px; gap: 80px; align-items: center; min-height: 444px; padding: 46px 0 51px; }
.eyebrow { display: inline-flex; align-items: center; gap: 12px; color: var(--accent); font-size: 11px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before { content: ""; display: inline-block; width: 26px; height: 2px; background: currentColor; }
.hero-copy h1 { margin-top: 18px; font-family: var(--serif); font-size: clamp(35px, 3.5vw, 49px); line-height: 1.43; letter-spacing: -.065em; font-weight: 700; color: var(--ink-deep); }
.hero-copy h1 em { color: var(--accent); font-style: normal; }
.hero-lead { max-width: 660px; margin-top: 22px; color: #627080; font-size: 14px; line-height: 1.95; letter-spacing: -.02em; }
.hero-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 29px; }
.hero-footnote { margin-top: 17px; font-size: 11px; color: var(--muted); }
.text-link { color: var(--ink); font-size: 12px; font-weight: 650; padding: 9px 0; border-bottom: 1px solid #b6c2cb; }
.text-link:hover { color: var(--accent); border-color: var(--accent); }
.hero-keywords { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 13px; margin-top: 24px; color: #7a8791; font-size: 10px; }
.hero-keywords span::before { content: "#"; color: #9aa7af; margin-right: 3px; }
.button { min-height: 43px; padding: 10px 19px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; border: 1px solid transparent; line-height: 1.5; font-size: 12px; font-weight: 650; transition: background .18s, color .18s, border-color .18s; }
.button-primary { color: #fff; background: var(--ink); }
.button-primary:hover { background: #274966; }
.button-outline { border-color: #c6cfd6; background: #fff; color: var(--ink); }
.button-outline:hover { border-color: var(--ink); background: var(--soft); }
.button-light { background: white; color: var(--ink); }
.button-light:hover { background: #e7edf1; }
.button-text { padding-inline: 0; color: var(--ink); background: transparent; border: 0; text-decoration: underline; text-underline-offset: 5px; }
.button .arrow, .button span[aria-hidden] { font-size: 16px; line-height: 1; }

.document-preview { position: relative; min-height: 325px; padding: 25px 28px 24px; border: 1px solid #c4cdd5; background: #fafbf9; box-shadow: 6px 6px 0 #eef1f0; transform: rotate(-1deg); }
.document-preview::before { content: ""; position: absolute; inset: 7px; border: 1px solid #e6e9e6; pointer-events: none; }
.document-top { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 2px solid var(--ink); font-size: 9px; color: #647081; letter-spacing: .05em; }
.document-top strong { color: var(--ink); font-size: 10px; letter-spacing: .08em; }
.document-subtitle { margin: 17px 0 -9px; font-size: 8px; letter-spacing: .05em; color: var(--muted); }
.document-title { margin: 20px 0 16px; font-family: var(--serif); font-size: 23px; font-weight: 700; line-height: 1.5; letter-spacing: -.06em; color: var(--ink-deep); }
.document-meta { display: grid; grid-template-columns: 59px 1fr; gap: 4px 10px; font-size: 9px; color: var(--muted); }
.document-meta dt { font-weight: 700; color: #657382; }
.document-meta dd { margin: 0; }
.document-meta > span { font-weight: 500; color: #7c8994; }
.document-meta > strong { font-weight: 550; color: #5f7080; }
.document-rule { height: 1px; background: #aab7c0; margin: 15px 0 12px; }
.document-item { display: flex; align-items: baseline; gap: 9px; margin-top: 7px; color: #5c6977; font-size: 10px; line-height: 1.8; }
.document-item strong { color: var(--ink); font-size: 9px; }
.document-item > span { flex: 0 0 18px; color: var(--accent); font-size: 9px; font-weight: 700; }
.document-item > div { min-width: 0; }
.document-item p { color: #7d8993; font-size: 9px; line-height: 1.7; margin-top: 2px; }
.document-stamp { display: flex; width: 56px; min-height: 35px; margin: 15px 0 0 auto; align-items: center; justify-content: center; border: 1px solid var(--red); color: var(--red); font-size: 9px; line-height: 1.45; letter-spacing: .15em; text-align: center; transform: rotate(-7deg); }
.document-footnote { display: block; margin-top: 14px; font-size: 8px; line-height: 1.7; color: #89949b; letter-spacing: -.01em; }
.document-footer { display: block; margin-top: 19px; font-size: 8px; letter-spacing: .09em; color: #74818d; }

.issue-strip { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 25px; margin-bottom: 52px; padding: 17px 23px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); background: #f8f9f7; }
.issue-strip > strong, .issue-strip .issue-label { font-size: 11px; color: var(--accent); font-weight: 750; letter-spacing: .04em; }
.issue-strip p, .issue-strip .issue-text { font-size: 12px; color: #566577; line-height: 1.7; }
.issue-strip time, .issue-strip .issue-date { font-size: 11px; color: #7c8792; white-space: nowrap; }
.issue-strip > a { font-size: 10px; color: var(--ink); white-space: nowrap; }
.issue-strip > a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.badge, .tag { display: inline-flex; align-items: center; padding: 2px 7px; font-size: 10px; font-weight: 650; line-height: 1.6; color: var(--accent); background: var(--accent-soft); }
.tag-policy { color: #315d89; background: #edf2f8; }
.tag-document { color: #776035; background: #f5f0e5; }
.tag-local { color: #286d62; background: #e9f3ef; }
.tag-governance { color: #6e5686; background: #f1edf5; }
.tag-global { color: #526573; background: #ecf1f3; }

.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 22px; margin-bottom: 22px; }
.section-kicker { color: var(--accent); font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 5px; }
.section-heading h2 { font-size: 24px; font-weight: 700; color: var(--ink); letter-spacing: -.05em; line-height: 1.5; }
.section-heading .section-meta { font-size: 11px; color: var(--muted); text-align: right; }
.section-heading a.section-meta:hover { color: var(--ink); text-decoration: underline; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 44px; align-items: start; margin-bottom: 58px; }
.filter-bar { display: flex; align-items: center; gap: 7px; padding: 14px 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.filter-bar button { border: 1px solid transparent; background: transparent; color: var(--muted); min-height: 29px; padding: 4px 9px; font-size: 11px; line-height: 1.6; }
.filter-bar button.active, .filter-bar button[aria-pressed="true"] { background: var(--ink); color: #fff; }
.filter-bar button:hover:not(.active) { color: var(--ink); background: var(--soft); }
.filter-bar .search-wrap { margin-left: auto; position: relative; }
.filter-bar .search-field { flex: 1; margin-right: 8px; }
.filter-bar .search-field input { width: 100%; min-height: 34px; background: #fbfcfa; }
.filter-bar input { width: 177px; border: 1px solid var(--line); background: #fff; color: var(--text); font-size: 11px; padding: 6px 28px 6px 10px; border-radius: 0; }
.filter-bar input::placeholder { color: #929ca6; }
.search-wrap::after { content: "⌕"; position: absolute; right: 10px; top: 2px; font-size: 19px; color: #677888; pointer-events: none; }
.search-status { min-height: 0; color: var(--muted); font-size: 11px; }
.search-status:not(:empty) { margin: 12px 0; }
.article-list { margin: 0; padding: 0; list-style: none; }
.article-row { display: grid; grid-template-columns: 35px minmax(0, 1fr) 18px; gap: 15px; padding: 23px 0; border-bottom: 1px solid var(--line); transition: background .15s; }
.article-row:hover { background: #fbfcfa; }
.article-num { font-size: 11px; color: #8b96a1; letter-spacing: .04em; padding-top: 2px; font-variant-numeric: tabular-nums; }
.article-title { display: block; color: var(--ink); font-size: 17px; font-weight: 700; line-height: 1.65; letter-spacing: -.035em; margin: 7px 0; }
.article-title:hover { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.article-summary { font-size: 12px; line-height: 1.9; color: #6a7786; }
.article-meta { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; margin-top: 13px; font-size: 10px; color: #8a95a0; }
.article-meta .source-link { color: #697f93; text-decoration: underline; text-underline-offset: 3px; }
.article-arrow { font-size: 20px; color: #6c8191; align-self: center; }
.article-meta .meta-divider { width: 1px; height: 9px; background: var(--line); }
.empty-state { border-bottom: 1px solid var(--line); padding: 35px 15px; color: var(--muted); font-size: 13px; text-align: center; }

.panel { border: 1px solid var(--line); background: #fff; margin-bottom: 20px; }
.panel-title { padding: 13px 17px; color: var(--ink); background: #f3f5f4; border-bottom: 1px solid var(--line); font-weight: 700; font-size: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.panel-body { padding: 17px; }
.panel-body p { font-size: 12px; color: #6b7786; line-height: 1.9; }
.panel-body strong { color: var(--ink); }
.panel-body .button { width: 100%; margin-top: 16px; font-size: 11px; min-height: 38px; }
.panel-body ul { margin: 0; padding: 0; list-style: none; }
.panel-body li { font-size: 11px; padding: 9px 0; border-bottom: 1px solid #e8edef; line-height: 1.8; }
.panel-body li:last-child { border-bottom: 0; padding-bottom: 0; }
.panel-body li:first-child { padding-top: 0; }
.panel-body li a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.side-cta { padding: 22px 20px; border-top: 2px solid var(--accent); background: #f5f7f5; }
.side-cta .eyebrow { font-size: 8px; }
.side-cta h3 { margin-top: 13px; color: var(--ink); font-family: var(--serif); font-size: 22px; line-height: 1.6; letter-spacing: -.05em; }
.side-cta p { font-size: 11px; color: var(--muted); line-height: 1.9; margin-top: 10px; }
.side-cta .source-link { display: inline-block; font-size: 11px; margin-top: 19px; }
.panel-accent { border-top: 3px solid var(--accent); }
.panel-accent .panel-title { background: #fff; border-bottom: 0; padding-bottom: 0; }
.panel-label { color: var(--accent); font-size: 9px; font-weight: 750; letter-spacing: .12em; }
.panel-body .big-number { display: block; margin: 5px 0; color: var(--ink); font-family: var(--serif); font-size: 30px; line-height: 1.4; }
.source-link { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.source-link:hover { color: var(--ink); }
.key-value { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; font-size: 11px; border-bottom: 1px solid var(--line); }
.key-value:last-child { border-bottom: 0; }
.key-value dt { color: var(--muted); }
.key-value dd { margin: 0; color: var(--ink); font-weight: 600; }
.key-value > span { flex: 0 0 17px; color: var(--accent); font-size: 9px; letter-spacing: .04em; padding-top: 2px; }
.key-value > div { flex: 1; min-width: 0; }
.key-value > div strong { display: block; font-size: 11px; }
.key-value > div p { font-size: 10px; margin-top: 5px; line-height: 1.9; }

.practice-section, .faq-section, .sources-section { margin: 0 0 56px; }
.flow-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.flow-step { position: relative; padding: 26px 24px 27px; border-right: 1px solid var(--line); }
.flow-step:last-child { border-right: 0; }
.flow-step .step-num { display: block; color: var(--accent); font-size: 11px; letter-spacing: .06em; margin-bottom: 12px; font-weight: 750; }
.flow-step > span { display: block; color: var(--accent); font-size: 11px; letter-spacing: .06em; margin-bottom: 12px; font-weight: 750; }
.flow-step h3 { color: var(--ink); font-size: 16px; font-weight: 700; letter-spacing: -.03em; }
.flow-step p { margin-top: 10px; font-size: 12px; color: var(--muted); line-height: 1.9; }
.flow-step::after { content: "→"; position: absolute; top: 40px; right: -11px; z-index: 1; width: 22px; height: 22px; background: white; color: #8c9ba5; text-align: center; font-size: 15px; line-height: 22px; }
.flow-step:last-child::after { display: none; }
.note-box { display: block; padding: 20px 24px; margin-top: 18px; background: #f6f7f5; border-left: 2px solid var(--accent); font-size: 11px; color: var(--muted); }
.note-box strong { color: var(--ink); }
.note-box > strong { display: block; margin-bottom: 10px; }
.note-box > ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 25px; margin: 0; padding: 0; list-style: none; }
.note-box > ul li { padding-left: 13px; position: relative; }
.note-box > ul li::before { content: "·"; position: absolute; left: 0; color: var(--accent); font-weight: 750; }
main > section#practice { margin-bottom: 52px; }
main > section#practice + section { margin-bottom: 52px; }

.faq-list { border-top: 2px solid var(--ink); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; gap: 16px; position: relative; list-style: none; padding: 19px 18px; color: var(--ink); font-size: 14px; font-weight: 650; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::before { content: "Q"; color: var(--accent); font-family: Georgia, serif; font-size: 17px; font-weight: 400; }
.faq-list summary::after { content: "+"; margin-left: auto; font-size: 20px; color: #7b8c99; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details[open] summary { background: #f7f9f7; }
.faq-list details > p, .faq-list .faq-answer { padding: 0 50px 22px; color: #627080; font-size: 13px; line-height: 1.95; background: #f7f9f7; }
.faq-list details > p + p { padding-top: 0; }

.consultation-banner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 35px 39px; background: var(--ink); color: #fff; margin: 15px 0 53px; overflow: hidden; }
.consultation-banner::before { content: ""; position: absolute; right: 220px; top: -100px; width: 330px; height: 330px; border: 1px solid rgba(255,255,255,.06); transform: rotate(38deg); pointer-events: none; }
.consultation-banner .section-kicker { color: #b4d0cc; margin-bottom: 8px; font-size: 9px; }
.consultation-banner .eyebrow { color: #b4d0cc; font-size: 9px; margin-bottom: 9px; }
.consultation-banner h2 { font-size: 23px; letter-spacing: -.04em; font-weight: 650; line-height: 1.6; }
.consultation-banner p { font-size: 12px; color: #b5c3d0; margin-top: 8px; }
.consultation-banner .button { flex: 0 0 auto; min-width: 159px; position: relative; }
.consultation-banner .button:has(small) { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 12px 18px; }
.consultation-banner .button small { display: block; font-size: 8px; font-weight: 500; letter-spacing: .08em; color: #718392; }

.site-network { padding-top: 4px; margin-bottom: 56px; }
.site-network .section-heading { margin-bottom: 18px; }
.site-network h2 { font-size: 18px; }
.site-network .section-heading > p { color: var(--muted); font-size: 10px; text-align: right; }
.network-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.network-link { display: block; padding: 17px 16px 18px; border-right: 1px solid var(--line); }
.network-link:first-child { padding-left: 0; }
.network-link:last-child { border-right: 0; }
.network-link .network-code { display: block; font-size: 9px; color: var(--accent); letter-spacing: .07em; margin-bottom: 4px; font-weight: 700; }
.network-link > span { display: block; font-size: 9px; color: var(--accent); letter-spacing: .07em; margin-bottom: 4px; font-weight: 700; }
.network-link strong { display: block; font-size: 12px; color: var(--ink); }
.network-link small { display: block; color: var(--muted); font-size: 9px; margin-top: 5px; word-break: break-word; }
.network-link:hover { background: #f7f9f6; }
.network-link[aria-current="page"] { background: #f3f6f3; }

.footer { padding: 28px 0 25px; border-top: 1px solid var(--line); background: #f3f5f4; }
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 18px; }
.footer-brand { color: var(--ink); font-size: 16px; font-weight: 700; letter-spacing: -.04em; }
.footer-links { display: flex; flex-wrap: wrap; gap: 19px; font-size: 10px; color: #607082; }
.footer-links a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.footer p { font-size: 10px; color: #7d8994; line-height: 1.9; max-width: 970px; }
.footer .copyright { font-size: 9px; margin-top: 14px; color: #8d98a0; letter-spacing: .03em; }
.footer-top > div > strong { display: block; font-size: 15px; font-weight: 700; color: var(--ink); letter-spacing: -.035em; margin-bottom: 9px; }
.footer-top > a { flex: 0 0 auto; font-size: 11px; color: var(--ink); font-weight: 650; }
.footer-top > div { max-width: 900px; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 16px; border-top: 1px solid #dce2e5; color: #8d98a0; font-size: 9px; letter-spacing: .025em; }
.footer-bottom > div { display: flex; gap: 18px; color: #607082; }
.footer-bottom a:hover { text-decoration: underline; text-underline-offset: 4px; }

.article-page { max-width: 860px; margin: 0 auto; padding: 42px 0 65px; }
.article-page .article-header { border-bottom: 1px solid var(--line); padding-bottom: 26px; margin-bottom: 30px; }
.article-page h1 { color: var(--ink); font-family: var(--serif); font-size: 36px; line-height: 1.6; letter-spacing: -.055em; margin-top: 17px; }
.article-page .article-deck { color: var(--muted); font-size: 15px; line-height: 1.9; margin-top: 19px; }
.article-page .article-body { font-size: 15px; line-height: 2; }
.article-page .article-body h2 { font-size: 23px; margin: 32px 0 15px; letter-spacing: -.04em; color: var(--ink); }
.article-page .article-body h3 { font-size: 18px; margin: 25px 0 12px; letter-spacing: -.03em; color: var(--ink); }
.article-page .article-body p { margin-bottom: 20px; }
.article-page .article-body ul, .article-page .article-body ol { padding-left: 24px; margin: 15px 0 25px; }
.article-page .article-body li { padding-left: 4px; margin-bottom: 10px; }
.article-page .article-body blockquote { border-left: 3px solid var(--accent); background: #f5f7f4; padding: 20px 24px; margin: 25px 0; color: #57687a; }
.article-page .article-body .note-box { margin-block: 30px; padding: 22px 25px; }
.article-page .article-body .note-box > h2 { margin-top: 0; font-size: 20px; }
.article-page .article-body .note-box > p { margin-bottom: 0; font-size: 14px; line-height: 1.95; }
.article-page .article-sources { border-top: 2px solid var(--ink); margin-top: 36px; padding: 20px 0; font-size: 12px; line-height: 1.9; }
.article-page .article-sources h2 { font-size: 16px; margin-bottom: 12px; color: var(--ink); }
.article-page .article-sources li { margin-bottom: 9px; }
.article-page .article-sources a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.article-page .article-sources small { display: block; color: var(--muted); margin: 5px 0 0; font-size: 10px; }
.article-page .article-actions { display: flex; gap: 10px; margin-top: 25px; flex-wrap: wrap; }
.article-page .consultation-banner { margin-top: 30px; padding: 28px; }
.article-page .consultation-banner h2 { font-size: 20px; }
.legal-page { max-width: 900px; margin: 0 auto; padding-block: 45px 70px; }
.legal-page h1 { font-family: var(--serif); font-size: 36px; color: var(--ink); letter-spacing: -.05em; margin-bottom: 25px; }
.legal-page h2 { margin: 30px 0 14px; font-size: 20px; color: var(--ink); }
.legal-page p, .legal-page li { color: #637183; font-size: 14px; line-height: 1.95; margin-bottom: 15px; }
table { width: 100%; border-collapse: collapse; font-size: 12px; line-height: 1.8; }
th, td { text-align: left; padding: 12px 15px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { background: #f1f4f3; color: var(--ink); border-top: 1px solid var(--ink); font-weight: 700; }
td { color: #637183; }
.table-wrap { overflow-x: auto; }
.toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 100; max-width: calc(100% - 40px); padding: 12px 20px; background: var(--ink); color: white; border: 1px solid #708394; box-shadow: 0 4px 20px #10243b20; font-size: 12px; }

html[lang="en"] body { word-break: normal; }
html[lang="en"] .brand-text strong { letter-spacing: -.04em; font-size: 22px; }
html[lang="en"] .hero-copy h1 { letter-spacing: -.045em; line-height: 1.25; font-size: clamp(35px, 3.5vw, 49px); }
html[lang="en"] .hero-lead { line-height: 1.85; }
html[lang="en"] .nav-links { gap: 30px; }
html[lang="en"] .nav-links a { font-size: 12px; }
html[lang="en"] .document-title { letter-spacing: -.035em; font-size: 24px; line-height: 1.35; }
html[lang="en"] .document-preview { min-height: 340px; }
html[lang="en"] .article-title { letter-spacing: -.02em; line-height: 1.5; }
html[lang="en"] .section-heading h2 { letter-spacing: -.03em; }

@media (min-width: 1600px) { .hero-grid { padding-block: 55px 60px; } }
@media (max-width: 1100px) {
  .container { width: calc(100% - 56px); }
  .hero-grid { grid-template-columns: minmax(0,1fr) 315px; gap: 45px; }
  .hero-copy h1 { font-size: 39px; }
  .masthead-title { display: none; }
  .content-layout { gap: 30px; grid-template-columns: minmax(0,1fr) 250px; }
  .nav-links { gap: 28px; }
  .nav-note { display: none; }
  .filter-bar .search-wrap { width: 100%; margin-top: 6px; }
  .filter-bar input { width: 100%; }
  .flow-step { padding-inline: 20px; }
  .network-link { padding-inline: 11px; }
  html[lang="en"] .nav-links { gap: 23px; }
}
@media (max-width: 820px) {
  .container { width: calc(100% - 40px); }
  .masthead { min-height: 95px; }
  .brand-text strong { font-size: 22px; }
  .masthead-actions .outline-small { display: none; }
  .hero-grid { gap: 30px; grid-template-columns: minmax(0,1fr) 265px; padding: 40px 0; }
  .hero-copy h1 { font-size: 32px; }
  .hero-lead { font-size: 12px; }
  .document-preview { padding: 21px 22px; min-height: 300px; }
  .document-title { font-size: 20px; }
  .document-top { font-size: 8px; }
  .document-top strong { font-size: 9px; }
  .document-stamp { right: 23px; bottom: 20px; }
  .hero-actions .button { font-size: 11px; min-height: 39px; padding: 9px 12px; gap: 11px; }
  .issue-strip { margin-bottom: 38px; gap: 15px; padding: 14px 17px; grid-template-columns: auto 1fr; }
  .issue-strip time, .issue-strip .issue-date { display: none; }
  .content-layout { grid-template-columns: 1fr; gap: 28px; }
  .sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .panel { margin-bottom: 0; }
  .sidebar .panel:nth-child(n+3) { display: none; }
  .filter-bar .search-wrap { width: auto; margin: 0 0 0 auto; }
  .filter-bar input { width: 175px; }
  .flow-grid { grid-template-columns: repeat(3,1fr); }
  .network-grid { grid-template-columns: repeat(3,1fr); }
  .network-link { padding-inline: 15px; }
  .network-link:first-child { padding-left: 15px; }
  .network-link:nth-child(3) { border-right: 0; }
  .network-link:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .consultation-banner { padding: 28px; gap: 25px; }
  .consultation-banner h2 { font-size: 21px; }
  .article-page { padding-top: 35px; }
  .article-page h1 { font-size: 31px; }
}
@media (max-width: 600px) {
  body { font-size: 14px; }
  .container { width: calc(100% - 36px); }
  .utility-bar { min-height: 29px; font-size: 9px; }
  .utility-bar > .container { min-height: 29px; gap: 10px; }
  .utility-bar .utility-links { gap: 10px; }
  .utility-bar .utility-links a:not(:last-child) { display: none; }
  .masthead { min-height: 85px; gap: 12px; }
  .brand { gap: 11px; }
  .brand-text { gap: 11px; flex: 1; }
  .brand-mark { flex-basis: 36px; width: 36px; height: 36px; padding: 7px; gap: 4px; border-width: 1.5px; }
  .brand-text strong { font-size: 19px; }
  .brand-text small { font-size: 7px; letter-spacing: .11em; }
  .masthead-actions { gap: 8px; font-size: 10px; }
  .masthead-actions .button { display: none; }
  .language-switch { gap: 6px; }
  html[lang="en"] .brand-text strong { font-size: 14px; max-width: 180px; }
  .mobile-menu { display: inline-flex; align-items: center; gap: 8px; }
  .mobile-menu::before { content: "☰"; font-size: 16px; font-weight: 400; }
  .masthead .mobile-menu::before { display: none; }
  .nav-bar > .container { min-height: 0; display: block; }
  .nav-code { display: none; }
  .nav-links { display: none; padding-bottom: 14px; gap: 0; flex-direction: column; align-items: stretch; border-top: 1px solid var(--line); }
  .nav-links.is-open { display: flex; }
  .nav-links a { padding: 10px 0; font-size: 12px; }
  .nav-links a[aria-current="page"]::after { display: none; }
  .breadcrumbs { font-size: 9px; padding-top: 16px; }
  .breadcrumbs span { margin-inline: 6px; }
  .hero-grid { display: block; padding: 30px 0 35px; min-height: 0; }
  .eyebrow { font-size: 9px; letter-spacing: .12em; gap: 9px; }
  .eyebrow::before { width: 20px; }
  .hero-copy h1 { font-size: 34px; margin-top: 14px; line-height: 1.4; }
  .hero-lead { font-size: 13px; margin-top: 18px; line-height: 1.9; }
  .hero-actions { margin-top: 23px; gap: 9px; }
  .hero-actions .button { padding: 11px 15px; font-size: 11px; min-height: 42px; }
  .hero-footnote { font-size: 9px; margin-top: 13px; }
  .hero-keywords { font-size: 9px; gap: 7px 10px; margin-top: 19px; }
  .document-preview { width: min(330px, calc(100% - 14px)); margin: 33px auto 5px; min-height: 305px; padding: 23px 26px; }
  .document-title { font-size: 23px; }
  .document-meta { font-size: 9px; }
  .document-item { font-size: 10px; }
  .issue-strip { display: block; margin-bottom: 34px; padding: 15px 17px; }
  .issue-strip > strong, .issue-strip .issue-label { display: block; margin-bottom: 5px; font-size: 10px; }
  .issue-strip p, .issue-strip .issue-text { font-size: 11px; }
  .issue-strip > a { display: inline-block; margin-top: 8px; font-size: 10px; }
  .section-heading { gap: 12px; margin-bottom: 17px; align-items: center; }
  .section-heading h2 { font-size: 22px; }
  .section-kicker { font-size: 9px; }
  .section-heading .section-meta { font-size: 9px; max-width: 115px; }
  .filter-bar { gap: 4px; padding-block: 12px; }
  .filter-bar button { font-size: 10px; padding-inline: 7px; }
  .filter-bar .search-wrap { width: 100%; margin-top: 6px; }
  .filter-bar .search-field { flex-basis: 100%; margin-right: 0; margin-bottom: 5px; }
  .filter-bar input { width: 100%; min-height: 34px; font-size: 11px; }
  .search-wrap::after { top: 3px; }
  .article-row { grid-template-columns: 21px minmax(0,1fr) 12px; gap: 9px; padding: 21px 0; }
  .article-num { font-size: 9px; }
  .tag, .badge { font-size: 9px; }
  .article-title { font-size: 15px; line-height: 1.65; margin: 8px 0; }
  .article-summary { font-size: 11px; line-height: 1.9; }
  .article-meta { font-size: 9px; gap: 8px; margin-top: 10px; }
  .article-arrow { font-size: 16px; }
  .sidebar { grid-template-columns: 1fr; gap: 15px; }
  .sidebar .panel:nth-child(n+3) { display: block; }
  .panel-title { padding: 13px 16px; }
  .panel-body { padding: 16px; }
  .content-layout { margin-bottom: 42px; }
  .flow-grid { grid-template-columns: 1fr; }
  .flow-step { padding: 20px 16px 21px; border-right: 0; border-bottom: 1px solid var(--line); }
  .flow-step:last-child { border-bottom: 0; }
  .flow-step::after { display: none; }
  .flow-step .step-num { font-size: 9px; margin-bottom: 9px; }
  .flow-step h3 { font-size: 14px; }
  .flow-step p { font-size: 11px; margin-top: 8px; }
  .flow-step::after { top: 29px; }
  .note-box { gap: 10px; padding: 13px 14px; font-size: 10px; align-items: start; }
  .note-box strong { padding-top: 1px; }
  .note-box > ul { grid-template-columns: 1fr; gap: 7px; }
  main > section#practice, main > section#practice + section { margin-bottom: 38px; }
  .practice-section, .faq-section, .sources-section { margin-bottom: 40px; }
  .faq-list summary { gap: 11px; padding: 16px 11px; font-size: 12px; }
  .faq-list summary::before { font-size: 15px; }
  .faq-list details > p, .faq-list .faq-answer { padding: 0 35px 18px; font-size: 11px; }
  .consultation-banner { display: block; padding: 27px 23px; margin-bottom: 38px; }
  .consultation-banner h2 { font-size: 21px; }
  .consultation-banner p { font-size: 11px; }
  .consultation-banner .button { margin-top: 21px; min-width: 155px; }
  .site-network { margin-bottom: 37px; }
  .site-network h2 { font-size: 17px; }
  .site-network .section-heading > p { max-width: 115px; font-size: 9px; }
  .network-grid { grid-template-columns: repeat(2,1fr); }
  .network-link { padding: 15px 13px; border-bottom: 1px solid var(--line); }
  .network-link:first-child { padding-left: 13px; }
  .network-link:nth-child(2n) { border-right: 0; }
  .network-link:nth-child(3) { border-right: 1px solid var(--line); }
  .network-link:last-child { border-bottom: 0; }
  .network-link .network-code { font-size: 8px; }
  .network-link strong { font-size: 11px; }
  .network-link small { font-size: 8px; }
  .footer { padding: 23px 0; }
  .footer-top { display: block; margin-bottom: 15px; }
  .footer-brand { font-size: 15px; }
  .footer-links { margin-top: 12px; gap: 14px; font-size: 9px; }
  .footer p { font-size: 9px; }
  .footer .copyright { font-size: 8px; margin-top: 12px; }
  .footer-top > a { display: inline-block; margin-top: 14px; font-size: 10px; }
  .footer-bottom { display: block; font-size: 8px; padding-top: 13px; }
  .footer-bottom > div { margin-top: 9px; gap: 15px; font-size: 9px; }
  .article-page { padding: 28px 0 42px; }
  .article-page h1 { font-size: 27px; line-height: 1.55; }
  .article-page .article-deck { font-size: 13px; }
  .article-page .article-body { font-size: 13px; line-height: 1.95; }
  .article-page .article-body h2 { font-size: 20px; }
  .article-page .article-body h3 { font-size: 16px; }
  .article-page .article-body blockquote { padding: 17px; margin-inline: 0; }
  .article-page .article-body .note-box { padding: 18px; }
  .article-page .article-body .note-box > h2 { font-size: 18px; }
  .article-page .article-body .note-box > p { font-size: 12px; }
  .article-page .article-sources { font-size: 11px; }
  .article-page .consultation-banner { padding: 23px 20px; }
  .legal-page { padding-block: 30px 45px; }
  .legal-page h1 { font-size: 28px; }
  .legal-page h2 { font-size: 19px; }
  .legal-page p, .legal-page li { font-size: 12px; }
  th, td { font-size: 11px; padding: 10px 12px; min-width: 110px; }
  html[lang="en"] .hero-copy h1 { font-size: 35px; }
  html[lang="en"] .nav-links { gap: 0; }
}

@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

@media print {
  :root { color: #000; background: #fff; }
  body { color: #000; font-size: 11pt; }
  .container { width: 100%; }
  .utility-bar, .nav-bar, .masthead-actions, .breadcrumbs, .hero-actions, .filter-bar, .sidebar, .consultation-banner, .site-network, .footer-links, .article-actions, .toast, .mobile-menu, .article-arrow { display: none !important; }
  .masthead { min-height: 70px; border-bottom: 2px solid #000; margin-bottom: 20px; }
  .brand-text strong { font-size: 20pt; }
  .hero-grid { display: block; padding: 10px 0 25px; min-height: 0; }
  .hero-copy h1 { font-size: 26pt; }
  .document-preview { display: none; }
  .hero-lead { font-size: 11pt; color: #333; }
  .issue-strip { background: #fff; margin-bottom: 25px; padding-inline: 0; }
  .content-layout { display: block; }
  .article-row { break-inside: avoid; }
  .article-title { font-size: 13pt; }
  .article-summary, .article-meta, .flow-step p { font-size: 10pt; color: #333; }
  .flow-grid { grid-template-columns: repeat(3,1fr); }
  .flow-step { padding-inline: 13px; }
  .flow-step:nth-child(2) { border-right: 1px solid var(--line); }
  .flow-step:nth-child(-n+2) { border-bottom: 0; }
  .flow-step::after { display: none; }
  .faq-list details > p, .faq-list .faq-answer { display: block; background: #fff; padding-left: 25px; font-size: 10pt; }
  .faq-list summary { padding-left: 0; font-size: 11pt; }
  .faq-list summary::after { display: none; }
  .footer { background: #fff; padding-top: 15px; }
  .footer p { font-size: 8pt; }
  .footer-top > a, .footer-bottom > div { display: none; }
  .article-page { max-width: 100%; padding: 0; }
  .article-page h1 { font-size: 26pt; }
  .article-page .article-body { font-size: 11pt; }
  .article-page .article-body h2 { break-after: avoid; font-size: 16pt; }
  .article-page .article-body a[href]::after, .article-sources a[href]::after { content: " (" attr(href) ")"; font-size: 8pt; word-break: break-all; }
  a { color: #000; }
}

/* SEJONG AI / Future Evidence Interface. The dark research layer is screen-only. */
@media screen {
  :root { --ink:#e4eff7; --ink-deep:#f1f8fc; --text:#c2d3e0; --muted:#829caf; --paper:#070d16; --canvas:#0a1520; --soft:#132536; --line:#253c4e; --accent-soft:#132e3b; --signal:#7de0fa; --copper:#d3a27c; --red:#d3a27c; --serif:var(--sans); color-scheme:dark; scroll-padding-top:80px; }
  body { background:radial-gradient(ellipse at 80% 8%,#12334666,transparent 34%),#070d16; overflow-wrap:anywhere; }
  body::before { content:""; position:absolute; inset:0 0 auto; height:1050px; pointer-events:none; opacity:.18; background-image:linear-gradient(#42668222 1px,transparent 1px),linear-gradient(90deg,#42668222 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(#000,transparent); z-index:-1; }
  ::selection { background:#7de0fa; color:#061019; }
  :focus-visible { outline:2px solid var(--signal); outline-offset:5px; }
  .container { width:min(1360px,calc(100% - 96px)); }
  .utility-bar { background:#050a11; border-bottom:1px solid #182b3a; color:#7795aa; font-size:10px; }
  .utility-bar>.container>span:first-child::before { content:""; display:inline-block; width:4px; height:4px; background:var(--copper); margin-right:9px; vertical-align:2px; }
  .masthead { min-height:104px; }
  .brand-text { color:var(--ink); }
  .brand-text strong { font-size:22px; font-weight:550; }
  .brand-text small { color:var(--signal); font-size:9px; letter-spacing:.2em; }
  .brand-mark { border:1px solid #7198b0; background:linear-gradient(135deg,#1a394c66,transparent); }
  .brand-mark span { height:1px; background:#c4deed; }
  .brand-mark span:nth-child(2) { width:65%; background:var(--signal); }
  .brand-text .brand-mark::before { display:block; content:""; position:absolute; width:6px; height:6px; top:-1px; right:-1px; background:var(--signal); box-shadow:0 0 18px #7de0fa40; }
  .masthead-actions { gap:25px; }
  .masthead-actions .button { font-size:11px; min-height:39px; }
  .language-switch { font-size:10px; letter-spacing:.1em; color:#b3ccdc; }
  .nav-bar { position:sticky; top:0; z-index:40; background:#080f19ed; backdrop-filter:blur(14px); border-top:1px solid #263d50; border-bottom:1px solid #395669; }
  .nav-links a { color:#9ab3c5; font-size:12px; padding-block:17px; transition:color .2s; }
  .nav-links a::after { content:""; position:absolute; bottom:-1px; left:0; width:100%; height:1px; background:var(--signal); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
  .nav-links a:hover,.nav-links a[aria-current="page"] { color:#edfaff; }
  .nav-links a:hover::after,.nav-links a[aria-current="page"]::after { transform:scaleX(1); }
  .nav-code { color:#5f839a; font-size:8px; letter-spacing:.17em; }
  .mobile-menu { color:#d1e6f3; border:1px solid #304b60; width:36px; height:34px; padding:0; }
  .breadcrumbs { color:#607f95; font-size:9px; padding-top:22px; letter-spacing:.04em; }
  .breadcrumbs span { color:#3c5b71; }
  .hero-grid { grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:66px; min-height:680px; padding:55px 0 75px; }
  .hero-copy { position:relative; z-index:2; min-width:0; }
  .eyebrow { color:var(--signal); font-size:10px; letter-spacing:.14em; font-weight:550; }
  .eyebrow::before { width:18px; height:1px; }
  .hero-copy h1 { font-size:clamp(42px,4.4vw,68px); font-family:var(--sans); font-weight:550; letter-spacing:-.075em; line-height:1.27; margin-top:24px; }
  .hero-copy h1::after { content:""; display:block; width:49px; height:2px; margin-top:30px; background:linear-gradient(90deg,var(--signal),transparent); }
  .hero-lead { color:#93adc0; font-size:15px; line-height:1.95; }
  .hero-actions { margin-top:33px; gap:27px; }
  .button { min-height:47px; padding:12px 22px; font-weight:600; transition:color .22s,background .22s,border-color .22s,transform .22s,box-shadow .22s; }
  .button-primary { color:#06141e; background:var(--signal); border-color:var(--signal); }
  .button-primary:hover { background:#b4efff; border-color:#b4efff; color:#06141e; transform:translateY(-2px); box-shadow:0 0 34px #7de0fa22; }
  .button-outline { background:#11202d55; border-color:#3c586e; color:#bfd6e5; }
  .button-outline:hover { background:#173344; border-color:var(--signal); color:var(--signal); }
  .button-light { background:#e7f5fc; border-color:#e7f5fc; color:#102735; }
  .button-light:hover { background:#aeeafa; color:#102735; transform:translateY(-2px); }
  .text-link { color:#adcbdc; border-color:#3e627a; }
  .text-link:hover,.source-link:hover { color:#c5f5ff; border-color:#7de0fa; }
  .hero-keywords { color:#65879d; font-size:10px; margin-top:27px; }
  .hero-keywords span::before { color:#3d647c; }
  .mission-console { position:relative; display:flex; flex-direction:column; justify-content:center; min-width:0; align-self:stretch; transform:perspective(1000px) rotateY(var(--orbit-tilt-x,0deg)) rotateX(var(--orbit-tilt-y,0deg)); transform-style:preserve-3d; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
  .mission-console::before,.mission-console::after { content:""; position:absolute; width:16px; height:16px; pointer-events:none; }
  .mission-console::before { top:13%; left:0; border-top:1px solid #548ba5; border-left:1px solid #548ba5; }
  .mission-console::after { bottom:14%; right:0; border-bottom:1px solid #548ba5; border-right:1px solid #548ba5; }
  .console-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:9px 2px 12px; border-bottom:1px solid #284457; font-size:9px; color:#7194ad; letter-spacing:.15em; }
  .console-status { display:inline-flex; align-items:center; gap:9px; }
  .console-status i { display:block; width:5px; height:5px; background:#7de0fa40; border:1px solid var(--signal); box-shadow:0 0 12px #7de0fa50; }
  .motion-toggle { display:inline-flex; align-items:center; gap:8px; border:0; background:transparent; padding:5px 0 5px 8px; color:#7296ad; font-size:8px; letter-spacing:.13em; }
  .motion-toggle span { color:var(--signal); border:1px solid #355f73; padding:1px 5px; font-size:7px; }
  .motion-toggle[aria-pressed="true"] span { color:var(--copper); border-color:#7a604a; }
  .motion-toggle:hover { color:#e6faff; }
  .orbit-stage { width:100%; aspect-ratio:1.14; position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 50% 50%,#1c556333,transparent 62%); }
  .orbit-stage::before { content:""; position:absolute; inset:8%; border-radius:50%; background:repeating-conic-gradient(from 0deg,#7399b235 0deg .17deg,transparent .17deg 10deg); mask-image:radial-gradient(transparent 68%,#000 69%,#000 70%,transparent 71%); }
  .orbit-stage::after { content:""; position:absolute; inset:5%; pointer-events:none; background:linear-gradient(90deg,transparent calc(50% - .5px),#4a7c9625 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),#4a7c9625 50%,transparent calc(50% + .5px)); }
  .orbit-stage canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }
  .orbit-core { position:absolute; left:50%; top:50%; width:113px; height:113px; transform:translate(-50%,-50%); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; z-index:2; background:radial-gradient(circle at 40% 30%,#173d4c,#0b1b28 70%); border:1px solid #5babbe65; box-shadow:inset 0 0 25px #6ad8f612,0 0 40px #4fbbdf18; }
  .orbit-core::before { content:""; position:absolute; inset:-8px; border:1px solid #6bdcf01a; border-radius:inherit; }
  .orbit-core span { font-size:7px; color:#88b6cd; letter-spacing:.3em; margin-left:2px; }
  .orbit-core strong { color:#e3faff; font-size:40px; font-weight:350; letter-spacing:-.06em; line-height:1.2; }
  .orbit-core small { font-size:6px; color:#6d95ac; letter-spacing:.3em; margin-left:2px; }
  .orbit-label { position:absolute; z-index:3; padding:4px 7px; border:1px solid #32526766; background:#0b1925d9; color:#9cbed2; font-size:7px; letter-spacing:.14em; white-space:nowrap; }
  .orbit-label::before { content:""; display:inline-block; width:3px; height:3px; background:var(--signal); margin:0 6px 1px 0; }
  .orbit-label-a { top:21%; left:16%; }.orbit-label-b { top:31%; right:2%; }.orbit-label-c { bottom:20%; right:12%; color:var(--signal); border-color:#437c8c; }.orbit-label-d { bottom:26%; left:0; }.orbit-label-e { top:7%; right:25%; }
  .console-caption { display:grid; gap:4px; padding:13px 2px 0; border-top:1px solid #284457; }
  .console-caption>span { font-size:8px; letter-spacing:.19em; color:#adcede; }.console-caption p { font-size:9px; color:#5e829b; }
  .document-preview { background:linear-gradient(145deg,#172c3e,#0c1a28); border-color:#385b73; box-shadow:0 30px 65px #0003; transform:none; }
  .document-preview::before { border-color:#2a485d; }.document-top { border-color:#456c86; color:#7da0b7; }.document-subtitle { color:var(--signal); }.document-meta>strong,.document-item p { color:#88a8bf; }.document-meta>span,.document-footnote { color:#627f96; }.document-item>span { color:var(--signal); }.document-rule { background:#36576e; }
  .issue-strip { margin-bottom:82px; padding:20px 25px; background:linear-gradient(90deg,#142c3f80,#0c192580); border-top-color:#3a5c74; border-bottom-color:#29475d; position:relative; }
  .issue-strip::before { content:""; position:absolute; top:-1px; left:0; width:45px; height:1px; background:var(--copper); }
  .issue-strip p { color:#97b5cb; }.issue-strip>a { color:#d0e9f7; }.issue-strip .badge { color:var(--copper); border-color:#685442; background:#2c241d55; }
  .badge,.tag { color:#99d7e8; background:#143142; border:1px solid #2a5066; font-weight:500; font-size:9px; }
  .section-kicker { color:#6ea8c3; font-size:9px; letter-spacing:.2em; display:block; margin-bottom:8px; }.section-heading h2 { font-size:clamp(26px,2.3vw,34px); font-weight:500; line-height:1.4; }.section-meta { color:#668ba4; font-size:9px; letter-spacing:.08em; }
  .content-layout { grid-template-columns:minmax(0,1fr) 292px; gap:49px; margin-bottom:92px; }
  .filter-bar { border-top:1px solid #466b86; border-bottom-color:#2a475f; padding-block:16px; }.filter-bar input,.filter-bar .search-field input { background:#0d1e2c; border-color:#2b4c65; color:#c2e1f3; min-height:38px; }.filter-bar input::placeholder { color:#678ba5; }.filter-bar button { color:#789db9; }.filter-bar button.active,.filter-bar button[aria-pressed="true"] { background:#17384c; border-color:#3b6b87; color:var(--signal); }.filter-bar button:hover:not(.active) { color:#d8f4ff; background:#19374a; }
  .article-row { padding:31px 0 32px; grid-template-columns:38px minmax(0,1fr) 30px; gap:20px; position:relative; transition:background .25s,border-color .25s; }.article-row::before { content:""; position:absolute; left:0; top:-1px; width:0; height:1px; background:var(--signal); transition:width .45s cubic-bezier(.2,.7,.2,1); }.article-row:hover { background:linear-gradient(90deg,#142d4080,transparent); border-color:#395d78; }.article-row:hover::before { width:100%; }
  .article-num { color:#4d7898; font-family:Consolas,monospace; }.article-title { color:#e1f1fb; font-size:21px; font-weight:500; line-height:1.55; margin:10px 0 8px; }.article-title a:hover { color:var(--signal); }.article-summary { color:#86a8c2; font-size:12px; }.article-meta { color:#648ba6; font-size:9px; }.article-meta span+span::before { color:#385e78; }.article-arrow { width:30px; height:30px; border:1px solid #2c4a60; display:grid; place-items:center; color:#5a8baa; font-size:17px; }.article-row:hover .article-arrow { color:var(--signal); border-color:#67a8c8; transform:translate(2px,-2px); }.empty-state { color:#87a9c2; background:transparent; }
  .panel { background:linear-gradient(150deg,#122b3e77,#0d1c2b66); border-color:#2a475f; }.panel-title { color:#b6d3e5; border-color:#2a475f; padding:17px 20px; font-size:12px; }.panel-body { padding:5px 20px; }.key-value { padding:18px 0; }.key-value+.key-value { border-top:1px solid #25445b; }.key-value>span { color:#6097b8; }.key-value strong { color:#aecfe4; font-size:11px; }.key-value p { color:#7096b1; font-size:10px; }.side-cta { padding:23px 22px; }.side-cta h3 { font-size:26px; color:#e0f0fa; font-weight:450; }.side-cta p { color:#749fbb; }.source-link { color:var(--signal); }
  #practice,#practice+section { margin-bottom:84px; }.flow-grid { background:linear-gradient(110deg,#122d4080,#0b192570); border-color:#2e506a; }.flow-step { padding:31px 29px 34px; }.flow-step h3 { font-size:17px; color:#c8e4f5; font-weight:500; }.flow-step p { color:#7ca4bf; font-size:11px; }.flow-step>span { color:#72b6d6; font-family:Consolas,monospace; display:block; margin-bottom:17px; }.flow-step::after { background:#122b3e; color:#81bfdc; border-color:#3f6a86; }
  .note-box { background:#101f2e; border:1px solid #2a485f; border-left:2px solid var(--copper); padding:25px 28px; display:block; color:#8eb3cc; }.note-box>strong { display:block; color:var(--copper); font-size:11px; }.note-box>ul { margin-top:16px; }.note-box>ul li { color:#8fb4cc; font-size:11px; }.note-box>ul li::before { color:#5b8aa9; }
  .faq-list { border-color:#3b5f7b; }.faq-list details { border-color:#274860; }.faq-list summary { color:#aacbe2; font-size:13px; padding-block:22px; }.faq-list summary::before,.faq-list summary::after { color:#608eaf; }.faq-list summary:hover,.faq-list details[open] summary { color:var(--signal); }.faq-list details>p { background:transparent; color:#80a6c0; font-size:12px; line-height:1.95; }
  .consultation-banner { isolation:isolate; overflow:hidden; padding:51px 55px; margin-bottom:83px; border:1px solid #3d6e8e; background:linear-gradient(110deg,#163b55,#0e2a40 65%,#193b53); }.consultation-banner::before { content:""; position:absolute; inset:0; z-index:-1; background:repeating-linear-gradient(90deg,transparent 0 79px,#77b1cb0a 79px 80px),repeating-linear-gradient(0deg,transparent 0 79px,#77b1cb0a 79px 80px); }.consultation-banner::after { border-color:#6fc4e119; box-shadow:0 0 0 45px #6fc4e108,0 0 0 100px #6fc4e106; z-index:-1; }.consultation-banner .eyebrow { color:#85d9f4; }.consultation-banner h2 { color:#e7f5ff; font-size:clamp(25px,2.4vw,35px); font-weight:450; }.consultation-banner p { color:#87b2ce; font-size:12px; }.consultation-banner .button { min-height:82px; min-width:188px; }.consultation-banner .button small { color:#466777; }
  .site-network { margin-bottom:83px; }.site-network h2 { font-size:27px; }.site-network .section-heading>p { color:#7398b2; }.network-grid { border:1px solid #2e4d66; }.network-link { padding:24px 22px; background:#0c1a2833; transition:background .25s; }.network-link:hover { background:#183c5577; }.network-link.is-current { background:#15374b; }.network-link.is-current::before { background:#76cfe6; }.network-link>span { color:#588eaf; font-size:8px; letter-spacing:.13em; }.network-link strong { color:#aecfe5; font-size:13px; min-height:42px; }.network-link small { color:#608ca9; font-size:9px; }.network-link:hover strong,.network-link:hover small { color:var(--signal); }
  .article-page { padding:48px 0 72px; max-width:980px; }.article-header { border-bottom-color:#3b6380; }.article-page h1 { color:#e2f0fa; font-size:clamp(31px,3.8vw,49px); font-weight:500; }.article-deck { color:#91b6d0; }.article-page .article-body { color:#adcce2; font-size:15px; line-height:2; }.article-page .article-body h2 { color:#c8e2f4; font-weight:500; font-size:24px; }.article-page .article-body .note-box { background:#112c40; border-color:#315672; }.article-page .article-body .note-box>h2 { color:#91d7f1; }.article-page .article-body .note-box>p { color:#9dc2da; }.article-sources { color:#7ba3bf; border-top-color:#2c526f; }.article-sources a { color:#abd2eb; border-bottom-color:#315a79; }.article-sources small { color:#668fae; }.article-page .article-body .text-muted { color:#6e98b6; }
  .legal-page h1,.legal-page h2 { color:#d9edfb; font-weight:500; }.legal-page p,.legal-page li { color:#8db3ce; }.legal-page .network-grid { gap:20px; border:0; }.legal-page .network-grid>.panel { padding:24px; }
  th { background:#16364d; color:#c0e0f3; }td { color:#91bad5; }th,td { border-color:#2a516f; }
  .footer { background:#050b12; border-top:1px solid #284559; padding:38px 0 24px; }.footer-top strong { color:#9ac1dc; font-size:13px; }.footer-top p { color:#547e9c; font-size:10px; }.footer-top>a { color:#72a6c8; }.footer-bottom { color:#426d8b; border-color:#1c374d; font-size:8px; }.footer-bottom>div { color:#5b88a6; }.footer a:hover { color:var(--signal); }.toast { background:#173c58; border:1px solid #4e86ac; color:#daf3ff; }
  .capability-section,.capability-section#architecture,.delivery-section { margin-bottom:84px; }.scope-notice { max-width:850px; font-size:12px; line-height:1.95; color:#85acc5; margin:-8px 0 28px; }.capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.capability-card { border:1px solid #2e536e; background:linear-gradient(145deg,#15364e80,#0c1b2a80); padding:28px; position:relative; overflow:hidden; min-width:0; }.capability-card::before { content:""; position:absolute; inset:0 0 auto; height:1px; background:linear-gradient(90deg,transparent,#71cced60,transparent); }.capability-index { color:#355e7a; font-size:40px; font-family:Consolas,monospace; font-weight:300; line-height:1; float:right; }.capability-code { color:#6ba5c5; font-size:9px; letter-spacing:.16em; }.capability-card h3 { color:#cde9f9; font-size:22px; font-weight:450; margin-top:23px; letter-spacing:-.04em; }.capability-card p { color:#7faac5; font-size:12px; line-height:1.95; margin-top:15px; }.capability-card ul { list-style:none; margin:22px 0 0; padding:0; font-size:10px; color:#8ab8d4; }.capability-card li { border-top:1px solid #2d516a; padding-top:10px; margin-top:10px; }
  .delivery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #2b516b; }.delivery-phase { min-width:0; background:#0d2030; padding:27px 24px; }.delivery-phase+.delivery-phase { border-left:1px solid #2b516b; }.phase-code { color:var(--copper); font-size:9px; letter-spacing:.13em; }.delivery-phase h3 { color:#c0dff3; font-size:17px; font-weight:500; margin-top:17px; letter-spacing:-.03em; }.delivery-phase p { color:#78a6c2; font-size:11px; line-height:1.9; margin-top:13px; }.delivery-phase small { display:block; color:#4d7d9e; font-size:9px; border-top:1px solid #254a63; margin-top:20px; padding-top:12px; }
  .acceptance-panel { border:1px solid #325b78; background:linear-gradient(100deg,#112c41,#0b1d2c); padding:26px 30px; margin-top:22px; }.acceptance-panel h3 { color:#a9dcef; font-size:15px; font-weight:500; }.acceptance-panel ul { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 25px; padding:0; margin:19px 0 0; }.acceptance-panel li { color:#7faeca; font-size:11px; display:flex; gap:10px; }.acceptance-panel li::before { content:"+"; color:var(--copper); }
  .scroll-progress { position:fixed; top:0; left:0; height:2px; width:100%; background:linear-gradient(90deg,var(--signal),var(--copper)); transform:scaleX(0); transform-origin:left; z-index:100; pointer-events:none; }
  .reveal-pending { opacity:0; transform:translateY(23px); }.reveal-visible { opacity:1; transform:translateY(0); transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1); transition-delay:var(--reveal-delay,0ms); }.motion-paused .reveal-pending { opacity:1; transform:none; }.motion-paused *,.motion-paused *::before,.motion-paused *::after { animation-play-state:paused!important; }
  html[lang="en"] .hero-copy h1 { font-size:clamp(43px,4.8vw,71px); font-weight:400; letter-spacing:-.055em; line-height:1.08; }html[lang="en"] .brand-text strong { letter-spacing:-.035em; font-size:20px; }html[lang="en"] .hero-lead { font-size:14px; }html[lang="en"] .article-title { letter-spacing:-.025em; }
}

@media screen and (max-width:1180px) {
  .container { width:calc(100% - 64px); }.hero-grid { gap:40px; min-height:620px; }.hero-copy h1 { font-size:clamp(39px,4.4vw,55px); }.hero-lead { font-size:13px; }.brand-text strong { font-size:20px; }.nav-links { gap:25px; }.content-layout { grid-template-columns:minmax(0,1fr) 250px; gap:30px; }.network-link { padding:21px 16px; }.network-link strong { font-size:12px; }.network-link small { font-size:8px; }.flow-step { padding:27px 23px; }.capability-card { padding:24px; }.delivery-phase { padding:22px; }html[lang="en"] .hero-copy h1 { font-size:53px; }html[lang="en"] .brand-text strong { font-size:18px; }
}
@media screen and (max-width:940px) {
  .masthead { min-height:91px; }.masthead-actions { gap:15px; }.nav-code { display:none; }.nav-links { width:100%; justify-content:space-between; gap:20px; }.hero-grid { min-height:570px; gap:30px; padding:46px 0 61px; }.hero-copy h1 { font-size:41px; }.hero-copy h1::after { margin-top:25px; }.hero-lead { margin-top:22px; font-size:12px; }.hero-actions { gap:18px; margin-top:25px; }.hero-actions .button { padding:10px 17px; min-height:43px; font-size:11px; }.hero-actions .text-link { font-size:10px; }.hero-keywords { font-size:8px; gap:5px 9px; }.eyebrow { font-size:8px; }.orbit-core { width:91px; height:91px; }.orbit-core strong { font-size:34px; }.orbit-label { font-size:6px; padding:3px 5px; letter-spacing:.08em; }.console-head { font-size:7px; }.console-caption>span { font-size:6px; }.console-caption p { font-size:7px; }.content-layout { grid-template-columns:minmax(0,1fr); }.sidebar { grid-template-columns:1fr 1fr; align-items:stretch; }.side-cta { display:flex; flex-direction:column; justify-content:center; }.side-cta h3 { font-size:28px; }.issue-strip { margin-bottom:68px; gap:18px; }.issue-strip p { font-size:11px; }.network-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.network-link strong { min-height:0; }.consultation-banner { padding:39px 35px; gap:24px; }.consultation-banner h2 { font-size:28px; }.consultation-banner .button { min-width:165px; }.capability-grid { grid-template-columns:1fr; }.capability-card { padding:28px; }.capability-card ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 25px; }.delivery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.delivery-phase:nth-child(3) { border-left:0; }.delivery-phase:nth-child(n+3) { border-top:1px solid #2b516b; }html[lang="en"] .hero-copy h1 { font-size:45px; }html[lang="en"] .brand-text strong { font-size:17px; }html[lang="en"] .nav-links a { font-size:11px; }
}
@media screen and (max-width:680px) {
  .container { width:calc(100% - 40px); }.utility-bar { font-size:8px; }.utility-bar>.container { gap:12px; min-height:32px; }.utility-bar>.container>span:last-child { font-size:7px; white-space:nowrap; }.utility-bar>.container>span:first-child::before { margin-right:5px; }.masthead { min-height:82px; gap:15px; }.brand-text { gap:11px; }.brand-text strong { font-size:17px; }.brand-text small { font-size:7px; letter-spacing:.17em; }.brand-mark { width:37px; height:37px; flex-basis:37px; padding:8px; gap:4px; }.masthead-actions { gap:12px; }.masthead-actions .button { display:none; }.language-switch { font-size:8px; }.mobile-menu { display:inline-grid; place-items:center; height:32px; width:32px; font-size:16px; }.mobile-menu::before { display:none; }.nav-bar { min-height:6px; }.nav-bar>.container { min-height:6px; display:block; }.nav-links { display:none; width:100%; padding:9px 0; }.nav-links.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }.nav-links a { padding:12px 0; border-bottom:1px solid #254258; font-size:12px; }.nav-links a:last-child { border-bottom:0; }.nav-links a::after { display:none; }.breadcrumbs { padding-top:18px; font-size:7px; }.hero-grid { grid-template-columns:minmax(0,1fr); gap:24px; min-height:0; padding:39px 0 36px; }.hero-copy h1 { font-size:clamp(37px,8.5vw,53px); line-height:1.25; margin-top:20px; }.hero-copy h1::after { margin-top:25px; width:34px; }.hero-lead { max-width:480px; font-size:12px; margin-top:21px; }.hero-actions { margin-top:27px; gap:22px; }.hero-actions .button { min-height:43px; font-size:11px; padding:10px 19px; }.hero-keywords { margin-top:20px; font-size:8px; gap:5px 12px; }.mission-console { width:min(100%,450px); margin:5px auto 0; align-self:center; }.console-head { font-size:8px; }.motion-toggle { font-size:7px; }.orbit-stage { aspect-ratio:1.18; }.orbit-core { width:102px; height:102px; }.orbit-core strong { font-size:37px; }.orbit-label { font-size:7px; padding:3px 6px; }.console-caption>span { font-size:7px; }.console-caption p { font-size:8px; }.issue-strip { padding:18px 19px; margin-bottom:55px; }.issue-strip p { margin-top:10px; font-size:11px; }.section-heading h2 { font-size:25px; }.section-kicker { font-size:8px; letter-spacing:.13em; }.section-meta { font-size:7px; max-width:95px; }.filter-bar { padding-block:12px; }.filter-bar input,.filter-bar .search-field input { min-height:39px; font-size:11px; }.filter-bar button { font-size:9px; padding:5px 8px; }.article-row { grid-template-columns:21px minmax(0,1fr) 25px; gap:11px; padding:25px 0; }.article-num { font-size:8px; }.article-title { font-size:17px; margin-top:9px; line-height:1.55; }.article-summary { font-size:11px; }.article-meta { font-size:8px; }.article-arrow { width:25px; height:25px; font-size:15px; }.content-layout { margin-bottom:60px; }.sidebar { grid-template-columns:minmax(0,1fr); gap:16px; }.panel-title { font-size:11px; padding:15px 18px; }.panel-body { padding:1px 18px; }.key-value { padding-block:15px; }.side-cta { padding:25px; }.side-cta h3 { font-size:27px; }.side-cta h3 br { display:none; }.flow-step { padding:23px 24px; }.flow-step>span { margin-bottom:10px; }.flow-step h3 { font-size:16px; }.flow-step p { font-size:11px; }.note-box { padding:20px; margin-top:17px; }.note-box>strong { font-size:10px; }.note-box>ul li { font-size:10px; }#practice,#practice+section { margin-bottom:55px; }.faq-list summary { font-size:12px; padding-block:19px; }.faq-list details>p { font-size:11px; }.consultation-banner { padding:31px 25px; margin-bottom:56px; }.consultation-banner h2 { font-size:26px; margin-top:14px; }.consultation-banner p { font-size:11px; }.consultation-banner .button { margin-top:26px; min-height:70px; min-width:173px; }.site-network { margin-bottom:55px; }.site-network h2 { font-size:22px; }.site-network .section-heading>p { font-size:8px; max-width:105px; }.network-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.network-link { padding:20px 16px; }.network-link strong { font-size:12px; margin-top:13px; }.network-link small { font-size:8px; }.footer { padding:29px 0 22px; }.footer-top strong { font-size:12px; }.footer-top p { font-size:9px; }.footer-bottom { font-size:7px; }.article-page { padding:34px 0 52px; }.article-page h1 { font-size:31px; }.article-deck { font-size:13px; }.article-page .article-body { font-size:13px; }.article-page .article-body h2 { font-size:21px; }.article-page .article-body .note-box>h2 { font-size:19px; }.article-page .article-body .note-box>p { font-size:12px; }.capability-section,.capability-section#architecture,.delivery-section { margin-bottom:55px; }.scope-notice { font-size:11px; }.capability-card { padding:25px; }.capability-card ul { display:block; }.capability-index { font-size:35px; }.delivery-phase { padding:22px 18px; }.delivery-phase h3 { font-size:14px; }.delivery-phase p { font-size:10px; }.acceptance-panel { padding:23px; }.acceptance-panel ul { grid-template-columns:1fr; gap:11px; }.acceptance-panel li { font-size:10px; }html[lang="en"] .hero-copy h1 { font-size:clamp(42px,10vw,61px); }html[lang="en"] .hero-lead { font-size:12px; }html[lang="en"] .brand-text strong { font-size:14px; max-width:205px; }html[lang="en"] .nav-links { gap:0; }html[lang="en"] .nav-links a { font-size:12px; }
}
@media screen and (max-width:400px) {
  .container { width:calc(100% - 32px); }.utility-bar>.container>span:last-child { display:none; }.brand-text strong { font-size:15px; }.brand-text { gap:9px; }.brand-mark { flex-basis:33px; width:33px; height:33px; padding:7px; }.masthead-actions { gap:9px; }.brand-text small { font-size:6px; }.hero-copy h1 { font-size:35px; }.hero-keywords { font-size:7px; gap:5px 8px; }.orbit-label { font-size:6px; }.orbit-core { width:89px; height:89px; }.orbit-core strong { font-size:32px; }.consultation-banner h2 { font-size:23px; }.article-title { font-size:16px; }.article-page h1 { font-size:28px; }html[lang="en"] .brand-text strong { font-size:12px; max-width:172px; }
}
@media (prefers-reduced-motion:reduce) { .reveal-pending { opacity:1!important; transform:none!important; }.mission-console { transform:none!important; } }
@media screen {
  .faq-list details[open] summary { background:#10283a; }
  .article-page .article-sources a { color:#abd2eb; }
  .article-page .article-sources a:hover { color:#c7f5ff; }
  .consultation-banner::before { width:auto; height:auto; border:0; transform:none; }
  .consultation-banner::after { content:""; position:absolute; right:5%; top:-110%; width:540px; height:540px; border:1px solid #6fc4e119; border-radius:50%; pointer-events:none; }
  .network-link:first-child { padding-left:22px; }
  main>section#practice,main>section#practice+section { margin-bottom:84px; }
}
@media screen and (max-width:1180px) { .network-link:first-child { padding-left:16px; } }
@media screen and (max-width:680px) { main>section#practice,main>section#practice+section { margin-bottom:55px; } }
@media print { .mission-console,.scroll-progress { display:none!important; }.reveal-pending,.reveal-visible { opacity:1!important; transform:none!important; }.capability-grid,.delivery-grid { display:block; }.capability-card,.delivery-phase,.acceptance-panel { break-inside:avoid; border:1px solid #aaa; padding:14px; margin:14px 0; }.capability-card h3,.delivery-phase h3 { color:#000; }.capability-index { float:right; font-size:20pt; }.capability-card p,.capability-card li,.delivery-phase p,.delivery-phase small,.scope-notice,.acceptance-panel li { font-size:10pt; color:#333; }.acceptance-panel ul { display:block; } }

/* Final reading pass: small evidence labels stay readable on the dark surface. */
@media screen {
  .footer-bottom { color:#7e9cb2; font-size:10px; }
  .footer-top p { color:#7a9cb3; font-size:10px; }
  .footer-bottom>div { color:#8badc4; font-size:10px; }
  .delivery-phase small { color:#83a9c3; font-size:10px; }
  .breadcrumbs,.nav-code,.section-meta,.article-meta,.article-page .article-meta,.network-link small,.console-caption p { font-size:10px; }
  .console-caption>span { font-size:9px; }
  .hero-keywords { font-size:9px; }
}

/* Scoped reference explorer: every state is a selectable design module. */
@media screen {
  .architecture-explorer { margin:30px 0 24px; border:1px solid #355d79; background:linear-gradient(130deg,#102b3f99,#091925); position:relative; }
  .architecture-explorer::before { content:""; position:absolute; top:-1px; left:-1px; width:58px; height:2px; background:var(--signal,#7de0fa); }
  .explorer-header { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:19px 25px; border-bottom:1px solid #284c66; background:#10283b88; }
  .explorer-header>span { color:#9dc9df; font-size:9px; letter-spacing:.16em; white-space:nowrap; }
  .explorer-header p { color:#7ea6bf; font-size:11px; line-height:1.8; }
  .explorer-layout { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); min-height:450px; }
  .module-selector { border-right:1px solid #2a506d; background:#0a1b29b3; padding:10px; display:flex; flex-direction:column; gap:3px; }
  .module-tab { display:flex; align-items:center; gap:15px; width:100%; min-height:59px; text-align:left; padding:13px 15px; border:1px solid transparent; background:transparent; color:#7fa5c0; position:relative; line-height:1.55; transition:background .22s,border-color .22s,color .22s; }
  .module-tab::after { content:"↗"; flex:0 0 14px; margin-left:auto; color:#3d6b8c; font-size:13px; transition:color .22s,transform .22s; }
  .module-tab-code { color:#527f9e; font-family:Consolas,monospace; font-size:10px; letter-spacing:.06em; flex:0 0 24px; }
  .module-tab strong { font-size:12px; font-weight:500; letter-spacing:-.015em; }
  .module-tab:hover { background:#17384f77; color:#c4e3f6; border-color:#244f6d; }
  .module-tab[aria-selected="true"] { color:#c8f2ff; background:linear-gradient(90deg,#1c4c6444,#17384d); border-color:#3c708e; }
  .module-tab[aria-selected="true"]::before { content:""; position:absolute; top:12px; bottom:12px; left:-1px; width:2px; background:#7de0fa; box-shadow:0 0 13px #7de0fa44; }
  .module-tab[aria-selected="true"]::after { color:#9ae8ff; transform:translate(1px,-1px); }
  .module-tab[aria-selected="true"] .module-tab-code { color:#91d6ee; }
  .module-tab:focus-visible { outline:2px solid #b1ecff; outline-offset:-3px; }
  .module-display { min-width:0; position:relative; padding:37px 39px; background:radial-gradient(ellipse at 100% 0,#1d4b642a,transparent 65%); }
  .module-display::before { content:""; position:absolute; right:23px; top:22px; width:8px; height:8px; border-top:1px solid #4c7e9c; border-right:1px solid #4c7e9c; pointer-events:none; }
  .module-display::after { content:""; position:absolute; right:23px; bottom:22px; width:8px; height:8px; border-bottom:1px solid #4c7e9c; border-right:1px solid #4c7e9c; pointer-events:none; }
  .module-panel:not([hidden]) { animation:module-panel-in .42s cubic-bezier(.2,.7,.2,1) both; }
  .module-panel:focus-visible { outline:1px solid #6cc4e480; outline-offset:12px; }
  .module-status { display:block; color:#7fb7d3; font-size:8px; letter-spacing:.19em; margin-bottom:18px; }
  .module-status::before { content:""; display:inline-block; width:4px; height:4px; border:1px solid #80b9d1; margin:0 8px 1px 0; }
  .module-code { display:inline-flex; color:#d3a27c; border:1px solid #6e5743; padding:3px 8px; font-family:Consolas,monospace; font-size:10px; letter-spacing:.12em; line-height:1.7; }
  .module-panel h3 { margin-top:20px; color:#d7effd; font-size:27px; font-weight:450; letter-spacing:-.045em; line-height:1.45; }
  .module-panel>p { color:#8db5cf; font-size:13px; line-height:1.95; margin-top:17px; max-width:650px; }
  .module-panel>ul { list-style:none; padding:0; margin:26px 0 0; display:grid; gap:0; }
  .module-panel>ul>li { color:#8eb9d3; font-size:11px; line-height:1.9; padding:11px 0 11px 21px; border-top:1px solid #284b65; position:relative; }
  .module-panel>ul>li::before { content:"+"; position:absolute; left:1px; color:#7ecde6; }
  .module-catalog { border:1px solid #284b64; background:#0a1b2944; margin-top:18px; }
  .module-catalog>summary { display:flex; align-items:center; gap:15px; list-style:none; color:#8cb8d2; font-size:11px; padding:17px 22px; cursor:pointer; }
  .module-catalog>summary::-webkit-details-marker { display:none; }
  .module-catalog>summary::after { content:"+"; margin-left:auto; color:#79b9d7; font-size:17px; font-weight:300; }
  .module-catalog[open]>summary::after { content:"−"; }
  .module-catalog>summary:hover { color:#c7f0ff; background:#15384d55; }
  .module-catalog[open]>summary { border-bottom:1px solid #284b64; }
  .module-catalog>.capability-grid { padding:18px; gap:14px; }
  .motion-paused .module-panel:not([hidden]) { animation:none; }
  @keyframes module-panel-in { from { opacity:.65; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
}
@media screen and (max-width:940px) {
  .explorer-layout { grid-template-columns:minmax(205px,.7fr) minmax(0,1.3fr); }
  .explorer-header { padding:17px 20px; gap:18px; }
  .explorer-header p { font-size:10px; }
  .module-display { padding:31px 28px; }
  .module-tab { padding:12px; gap:10px; min-height:58px; }
  .module-tab strong { font-size:11px; }
  .module-panel h3 { font-size:25px; }
  .module-panel>p { font-size:12px; }
}
@media screen and (max-width:680px) {
  .architecture-explorer { margin-top:24px; }
  .explorer-header { display:block; padding:16px 19px; }
  .explorer-header>span { font-size:8px; }
  .explorer-header p { font-size:10px; margin-top:7px; }
  .explorer-layout { grid-template-columns:minmax(0,1fr); min-height:0; }
  .module-selector { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-right:0; border-bottom:1px solid #2a506d; padding:9px; gap:5px; }
  .module-tab { gap:8px; padding:11px 9px; min-height:53px; }
  .module-tab-code { font-size:9px; flex-basis:18px; }
  .module-tab strong { font-size:10px; line-height:1.6; }
  .module-tab::after { font-size:11px; flex-basis:11px; }
  .module-display { padding:27px 23px 31px; }
  .module-display::before { right:15px; top:15px; }
  .module-display::after { right:15px; bottom:15px; }
  .module-status { font-size:8px; margin-bottom:16px; }
  .module-code { font-size:9px; }
  .module-panel h3 { font-size:25px; margin-top:17px; }
  .module-panel>p { font-size:12px; line-height:1.95; margin-top:15px; }
  .module-panel>ul { margin-top:22px; }
  .module-panel>ul>li { font-size:10px; padding-block:10px; }
  .module-catalog>summary { padding:15px 18px; font-size:10px; }
  .module-catalog>.capability-grid { padding:12px; gap:12px; }
}
@media (prefers-reduced-motion:reduce) { .module-panel:not([hidden]) { animation:none!important; } }
@media print {
  .explorer-header { border-bottom:1px solid #aaa; padding-bottom:10px; }
  .explorer-header>span,.module-status,.module-code { color:#444; font-size:8pt; }
  .explorer-header p { font-size:10pt; }
  .module-selector { display:none; }
  .module-display { display:block; }
  .module-panel { display:block!important; opacity:1!important; transform:none!important; animation:none!important; border-top:1px solid #aaa; padding:15px 0; break-inside:avoid; }
  .module-panel h3 { color:#000; font-size:15pt; }
  .module-panel p,.module-panel li { color:#333; font-size:10pt; }
  .module-catalog { display:none; }
}
