:root {
  color-scheme: light;
  --accent: #c2410c;
  --accent-hover: #9a3412;
  --accent-text: #ffffff;
  --bg: #ffffff;
  --surface: #ffffff;
  --panel: #f3f5f8;
  --ink: #081421;
  --body: #435064;
  --muted: #687586;
  --rule: #d7dde5;
  --header: rgb(255 255 255 / 96%);
  --dark: #071321;
  --dark-surface: #0c1b2d;
  --dark-ink: #f8fafc;
  --dark-body: #bec9d6;
  --dark-rule: #2a3a4f;
  --shadow: 0 22px 64px rgb(8 20 33 / 12%);
  font-family: "Segoe UI Variable", "Segoe UI", "PingFang TC", "Microsoft JhengHei", "Noto Sans CJK TC", ui-sans-serif, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  font-synthesis: none;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --accent: #fb923c;
  --accent-hover: #fdba74;
  --accent-text: #081421;
  --bg: #071321;
  --surface: #0c1b2d;
  --panel: #091827;
  --ink: #f8fafc;
  --body: #c4cfdb;
  --muted: #a1afbf;
  --rule: #2a3a4f;
  --header: rgb(7 19 33 / 96%);
  --shadow: 0 22px 64px rgb(0 0 0 / 32%);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { min-width: 0; margin: 0; overflow-x: hidden; background: var(--bg); color: var(--ink); -webkit-font-smoothing: antialiased; }
main { display: block; }
a { color: inherit; text-underline-offset: .22em; }
a:hover { color: var(--accent); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
::selection { background: var(--accent); color: var(--accent-text); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 100; padding: .7rem 1rem; background: var(--ink); color: var(--bg); transform: translateY(-200%); }
.skip-link:focus { transform: none; }

.header-inner, .section-inner, .footer-inner { width: min(calc(100% - 4rem), 1440px); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--rule); background: var(--header); backdrop-filter: blur(16px); }
.header-inner { min-height: 5.8rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(2rem, 5vw, 6rem); }
.brand { display: inline-flex; align-items: center; gap: .85rem; width: max-content; color: var(--ink); font: 720 .94rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .15em; text-decoration: none; }
.brand:hover { color: var(--ink); }
.brand-mark { flex: 0 0 .82rem; width: .82rem; height: .82rem; background: var(--accent); box-shadow: .28rem .28rem 0 color-mix(in srgb, var(--accent) 24%, transparent); }
.site-nav { display: flex; align-items: stretch; justify-content: center; gap: clamp(1.4rem, 3vw, 3.4rem); }
.site-nav[hidden] { display: none; }
.nav-primary { display: flex; align-items: stretch; justify-content: center; gap: inherit; }
.nav-more { position: relative; }
.nav-more summary { display: inline-flex; align-items: center; gap: .45rem; min-height: 5.8rem; color: var(--muted); cursor: pointer; font-size: .9rem; font-weight: 650; list-style: none; white-space: nowrap; }
.nav-more summary::-webkit-details-marker { display: none; }
.nav-more summary .icon-chevron { width: .82rem; height: .82rem; transition: transform 160ms ease; }
.nav-more summary:hover, .nav-more[open] summary { color: var(--ink); }
.nav-more[open] summary .icon-chevron { color: var(--accent); transform: rotate(180deg); }
.nav-secondary { position: absolute; top: calc(100% + 1px); right: 0; z-index: 2; min-width: 12.5rem; display: grid; gap: 0; padding: .45rem; border: 1px solid var(--rule); background: var(--surface); box-shadow: var(--shadow); }
.nav-more:not([open]) > .nav-secondary { display: none; }
.site-nav .nav-secondary a { min-height: 0; padding: .7rem .75rem; }
.site-nav .nav-secondary a::after { display: none; }
.site-nav a { position: relative; display: inline-flex; align-items: center; min-height: 5.8rem; color: var(--muted); font-size: .9rem; font-weight: 650; text-decoration: none; white-space: nowrap; }
.site-nav a::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--accent); content: ""; transform: scaleX(0); transform-origin: left; transition: transform 160ms ease; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--ink); }
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: .35rem; }
.icon { width: 1.18rem; height: 1.18rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.icon-button, .locale-switcher summary { min-width: 2.8rem; min-height: 2.8rem; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid transparent; background: transparent; cursor: pointer; }
.icon-button:hover, .locale-switcher summary:hover { border-color: var(--rule); background: var(--panel); color: var(--accent); }
.theme-button { padding-inline: .65rem; }
.theme-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.locale-switcher { position: relative; }
.locale-switcher summary { padding-inline: .68rem; list-style: none; font-size: .85rem; font-weight: 650; }
.locale-switcher summary::-webkit-details-marker { display: none; }
.locale-switcher .icon-chevron { width: .82rem; height: .82rem; transition: transform 160ms ease; }
.locale-switcher[open] .icon-chevron { transform: rotate(180deg); }
.locale-label-compact { display: none; }
.locale-options { position: absolute; top: calc(100% + .55rem); right: 0; min-width: 11rem; padding: .45rem; border: 1px solid var(--rule); background: var(--surface); box-shadow: var(--shadow); }
.language-link { display: block; padding: .65rem .75rem; color: var(--body); font-size: .86rem; text-decoration: none; white-space: nowrap; }
.language-link:hover, .language-link[aria-current="true"] { background: var(--panel); color: var(--ink); }
.language-link[aria-current="true"] { box-shadow: inset 2px 0 var(--accent); }
.menu-button { display: none; }
.menu-icon-open { display: none; }
.menu-button[aria-expanded="true"] .menu-icon-closed { display: none; }
.menu-button[aria-expanded="true"] .menu-icon-open { display: inline-flex; }

.hero { border-bottom: 1px solid var(--rule); }
.home-hero .section-inner { width: min(calc(100% - 4rem), 1440px); min-height: calc(100svh - 5.8rem); padding-block: clamp(4.5rem, 7vw, 7rem); }
.hero-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(34rem, 1.12fr); gap: clamp(3.5rem, 7vw, 8rem); align-items: center; }
.home-hero .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(3rem, 5vw, 5rem); }
.hero-copy { min-width: 0; }
h1 { max-width: 16ch; margin: 0; font-size: clamp(3.2rem, 4.2vw, 4.75rem); line-height: 1.02; letter-spacing: -.052em; font-weight: 650; text-wrap: balance; }
.home-hero h1 { max-width: none; font-size: clamp(3.1rem, 3.8vw, 4.35rem); }
.hero-lead { max-width: 40rem; margin: 1.65rem 0 0; color: var(--body); font-size: clamp(1.06rem, 1.35vw, 1.18rem); line-height: 1.65; text-wrap: pretty; }
.hero-actions { margin-top: 2.15rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.primary-link { display: inline-flex; min-height: 3.55rem; align-items: center; justify-content: center; gap: 1.15rem; border: 1px solid var(--accent); background: var(--accent); color: var(--accent-text); padding: .82rem 1.25rem; font-size: .92rem; font-weight: 720; text-decoration: none; }
.primary-link:hover { background: var(--accent-hover); color: var(--accent-text); }
.link-arrow { display: inline-flex; align-items: center; }
.link-arrow .icon { width: 1.15rem; height: 1.15rem; stroke-width: 1.7; }

.assessment-framework { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--rule); background: var(--surface); box-shadow: var(--shadow); }
.artifact-topline { min-height: 3.45rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1.3rem; border-bottom: 1px solid var(--rule); color: var(--muted); font: 700 .68rem/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; }
.artifact-topline strong { display: inline-flex; align-items: center; gap: .45rem; color: var(--accent); font-weight: 720; }
.artifact-topline strong::before { width: .45rem; height: .45rem; border-radius: 50%; background: var(--accent); content: ""; box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--accent) 17%, transparent); }
.framework-body { position: relative; z-index: 1; padding: clamp(2rem, 4vw, 3.4rem) clamp(1.35rem, 3.5vw, 3.4rem) 2rem; }
.framework-body h2 { max-width: 13ch; margin: 0 0 2rem; font-size: clamp(1.8rem, 2.7vw, 2.55rem); line-height: 1.06; letter-spacing: -.045em; }
.framework-steps { position: relative; max-width: 40rem; margin: 0; padding: 0; list-style: none; }
.framework-steps::before { position: absolute; top: 2.05rem; bottom: 2.05rem; left: 1.35rem; width: 1px; background: var(--rule); content: ""; }
.framework-steps li { position: relative; display: grid; grid-template-columns: 2.8rem 2rem minmax(7rem, .7fr) minmax(10rem, 1.3fr); gap: 1rem; align-items: center; min-height: 5.4rem; border-bottom: 1px solid var(--rule); }
.framework-steps li:first-child { border-top: 1px solid var(--rule); }
.framework-step-icon { position: relative; z-index: 1; display: grid; width: 2.7rem; height: 2.7rem; place-items: center; border: 1px solid var(--rule); border-radius: 50%; background: var(--surface); color: var(--ink); }
.framework-step-icon .icon { width: 1.25rem; height: 1.25rem; }
.framework-step-index { color: var(--accent); font: 700 .68rem/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .1em; }
.framework-step-label { color: var(--body); font-size: .93rem; }
.framework-steps strong { color: var(--ink); font-size: .94rem; font-weight: 720; }
.framework-art { position: absolute; right: -1px; bottom: 2.45rem; width: min(44%, 23rem); color: var(--accent); opacity: .75; }
.framework-art svg { display: block; width: 100%; height: auto; fill: none; stroke: currentColor; stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.framework-art circle { fill: var(--surface); stroke-width: 1.5; }
.artifact-note { position: relative; z-index: 1; margin: 0; padding: 1rem 1.3rem; border-top: 1px solid var(--rule); color: var(--muted); font-size: .77rem; }

.internal-hero { overflow: hidden; }
.internal-hero .section-inner { width: min(calc(100% - 4rem), 1440px); padding-block: 2rem clamp(4.8rem, 7vw, 6.8rem); }
.breadcrumb { color: var(--muted); font-size: .86rem; font-weight: 550; }
.breadcrumb ol { display: flex; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.breadcrumb li + li::before { margin-right: .7rem; color: var(--muted); content: "/"; }
.breadcrumb a { text-decoration: none; }
.editorial-hero { background: var(--surface); }
.editorial-hero .hero-grid { display: block; margin-top: clamp(4rem, 7vw, 6.5rem); }
.editorial-hero .hero-copy { max-width: 64rem; }
.editorial-hero h1 { max-width: 18ch; }
.editorial-hero.faq-hero .hero-grid, .editorial-hero.service-levels-hero .hero-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(18rem, .68fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.editorial-hero.faq-hero .hero-copy, .editorial-hero.service-levels-hero .hero-copy { max-width: 46rem; }
.page-motif { width: min(100%, 28rem); justify-self: end; color: var(--accent); opacity: .8; }
.page-motif svg { display: block; width: 100%; height: auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.page-motif .motif-faint { color: var(--rule); stroke: currentColor; }
.page-motif .motif-link, .page-motif .motif-window { color: var(--accent); stroke: currentColor; }
.page-motif .motif-question { color: var(--ink); stroke: currentColor; stroke-width: 1.45; }
.page-motif .motif-pulse { color: var(--accent); stroke: currentColor; stroke-width: 1.7; }
.page-motif .motif-node { fill: var(--surface); stroke: var(--accent); stroke-width: 1.4; }
.faq-motif, .service-levels-motif { margin-bottom: .35rem; }
.contact-hero .hero-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(26rem, 1.12fr); gap: clamp(3rem, 6vw, 7rem); align-items: start; }
.contact-hero .hero-copy { max-width: 40rem; }
.contact-hero .hero-grid > .contact-hero-artifact { margin-top: -.25rem; }
.contact-hero-artifact { min-width: 0; }
.contact-hero-artifact h2 { max-width: 22ch; margin: 0 0 1.35rem; font-size: clamp(1.5rem, 2vw, 2rem); line-height: 1.18; letter-spacing: -.035em; }
.contact-artifact-intro { max-width: 34rem; margin: 0 0 1.25rem; color: var(--body); font-size: .93rem; }
.contact-context-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.contact-context-list li { display: grid; grid-template-columns: 2.7rem minmax(0, 1fr); gap: 1rem; align-items: center; min-height: 4.7rem; padding: .75rem 0; border-bottom: 1px solid var(--rule); color: var(--ink); font-size: .9rem; font-weight: 650; }
.contact-context-icon { display: grid; width: 2.7rem; height: 2.7rem; place-items: center; border: 1px solid var(--rule); border-radius: 50%; color: var(--accent); }
.contact-context-icon .icon { width: 1.35rem; height: 1.35rem; }
.contact-hero-artifact .unavailable-state { margin-top: 1.6rem; }
.contact-hero-artifact .unavailable-icon { background: var(--panel); }
.contact-hero-artifact .contact-motif { max-width: 23rem; margin: 1.5rem 0 .2rem; opacity: .66; }
.service-levels-page .editorial-hero h1 { max-width: 26ch; }
.artifact-hero { background: var(--dark); color: var(--dark-ink); border-color: var(--dark-rule); }
.artifact-hero .breadcrumb { color: var(--dark-body); }
.artifact-hero .breadcrumb li + li::before { color: var(--dark-body); }
.artifact-hero .hero-grid { grid-template-columns: minmax(0, .86fr) minmax(34rem, 1.14fr); margin-top: clamp(3.7rem, 6vw, 5.8rem); gap: clamp(3.5rem, 6vw, 7rem); }
.artifact-hero h1 { max-width: 12ch; color: var(--dark-ink); }
.artifact-hero .hero-lead { color: var(--dark-body); }
.artifact-hero .primary-link { color: var(--accent-text); }
.page-artifact { min-width: 0; border: 1px solid var(--dark-rule); }
.page-artifact .artifact-topline { border-color: var(--dark-rule); color: var(--dark-body); }
.page-artifact .artifact-topline strong { color: var(--accent); }
.assessment-matrix { overflow: hidden; background: var(--surface); color: var(--ink); border-color: var(--rule); box-shadow: var(--shadow); }
.assessment-matrix .artifact-topline { border-color: var(--rule); color: var(--ink); }
.assessment-matrix .artifact-topline strong { color: var(--accent); }
.assessment-matrix .artifact-topline strong::before { display: none; }
.artifact-rule { flex: 1; height: 1px; background: var(--rule); }
.matrix-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.matrix-cell { position: relative; min-width: 0; min-height: 10rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .65rem; padding: 1.1rem .7rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); text-align: center; }
.matrix-cell:nth-child(4n) { border-right: 0; }
.matrix-cell:nth-last-child(-n + 4) { border-bottom: 0; }
.matrix-index { position: absolute; top: .65rem; left: .7rem; color: var(--accent); font: 700 .64rem/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.matrix-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; color: var(--ink); }
.matrix-icon .icon { width: 2rem; height: 2rem; stroke-width: 1.55; }
.matrix-cell strong { max-width: 10ch; color: var(--ink); font-size: .86rem; line-height: 1.35; }
.runbook-artifact, .ai-pipeline-artifact { padding: 0 clamp(1.2rem, 2.7vw, 2.4rem) 1.5rem; }
.runbook-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 2.2rem 0 0; padding: 0; list-style: none; }
.runbook-track li { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; padding: 0 clamp(.45rem, 1.2vw, 1.1rem); }
.runbook-track li:first-child { padding-left: 0; }
.runbook-track li:last-child { padding-right: 0; }
.runbook-index { display: grid; width: 2.3rem; height: 2.3rem; place-items: center; border: 1px solid var(--accent); border-radius: 50%; color: var(--dark-ink); font: 650 1rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.runbook-icon { color: var(--dark-ink); }
.runbook-icon .icon { width: 2.1rem; height: 2.1rem; stroke-width: 1.35; }
.runbook-track strong { max-width: 13ch; color: var(--dark-ink); font-size: .86rem; line-height: 1.45; }
.runbook-arrow { position: absolute; top: 2.95rem; right: -.15rem; color: var(--dark-body); }
.runbook-arrow .icon { width: 1.55rem; height: 1.55rem; stroke-width: 1.2; }
.runbook-boundary { display: flex; align-items: center; gap: .7rem; margin-top: 2.2rem; padding-top: 1.1rem; border-top: 1px solid var(--dark-rule); color: var(--dark-body); font-size: .86rem; }
.runbook-boundary-icon .icon { width: 1.45rem; height: 1.45rem; color: var(--accent); }
.ai-pipeline-artifact { padding-bottom: 1.35rem; }
.pipeline-layout { display: grid; grid-template-columns: minmax(9rem, .62fr) minmax(0, 1.38fr); gap: clamp(1rem, 2vw, 2rem); margin-top: 1.7rem; }
.pipeline-sources { display: grid; gap: .6rem; align-content: start; }
.pipeline-source { display: flex; align-items: center; gap: .65rem; min-height: 3.35rem; padding: .65rem .7rem; border: 1px solid var(--dark-rule); color: var(--dark-body); }
.pipeline-source > span { display: grid; flex: 0 0 1.5rem; place-items: center; color: var(--accent); }
.pipeline-source .icon { width: 1.2rem; height: 1.2rem; }
.pipeline-source strong { font-size: .77rem; line-height: 1.35; font-weight: 650; }
.pipeline-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; margin: .4rem 0 0; padding: 0; list-style: none; }
.pipeline-track li { position: relative; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: .7rem; padding-inline: .35rem; text-align: center; }
.pipeline-stage-index { color: var(--accent); font: 700 .68rem/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.pipeline-track strong { color: var(--dark-ink); font-size: .88rem; font-weight: 720; }
.pipeline-arrow { position: absolute; top: .75rem; right: -.35rem; color: var(--dark-body); }
.pipeline-arrow .icon { width: 1.25rem; height: 1.25rem; stroke-width: 1.2; }
.pipeline-confirmation { display: flex; align-items: center; gap: .8rem; margin-top: 1.8rem; padding-top: 1rem; border-top: 1px solid var(--dark-rule); color: var(--dark-body); }
.pipeline-confirmation > span { color: var(--accent); }
.pipeline-confirmation .icon { width: 1.6rem; height: 1.6rem; }
.pipeline-confirmation strong { font-size: .86rem; line-height: 1.45; font-weight: 650; }

.content-section { border-bottom: 1px solid var(--rule); scroll-margin-top: 6.5rem; }
.content-section .section-inner { padding-block: clamp(5rem, 8vw, 8rem); display: grid; grid-template-columns: minmax(14rem, .35fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 8rem); }
.section-heading { max-width: 25rem; }
.section-number { display: inline-flex; align-items: center; gap: .85rem; color: var(--accent); font: 700 1rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .04em; }
.section-number::after { width: 2.8rem; height: 2px; background: var(--accent); content: ""; }
.section-heading h2 { margin: .85rem 0 0; font-size: clamp(2rem, 3.2vw, 3.2rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 640; text-wrap: balance; }
.section-body { min-width: 0; }
.section-intro { max-width: 52rem; margin: 0 0 3rem; color: var(--body); font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.7; }
.card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 5vw, 4.5rem); row-gap: 0; border-top: 1px solid var(--rule); }
.card { min-width: 0; padding: 1.65rem 0 1.8rem; border-bottom: 1px solid var(--rule); }
.card h3 { margin: 0 0 .65rem; font-size: 1.05rem; line-height: 1.35; letter-spacing: -.012em; }
.card p { margin: 0; color: var(--body); font-size: .93rem; }
.bullet-list, .checklist, .boundary-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.bullet-list li, .checklist li { display: grid; grid-template-columns: 1rem minmax(0, 1fr); gap: .8rem; padding: 1rem 0; border-bottom: 1px solid var(--rule); color: var(--body); }
.bullet-list li::before { color: var(--accent); content: "—"; }
.checklist li::before { width: .75rem; height: .75rem; margin-top: .4rem; border: 1px solid var(--accent); content: ""; }
.facts { margin-top: 2.75rem; display: grid; gap: .75rem; }
.fact { border-left: 2px solid var(--accent); padding: .85rem 1rem; background: var(--panel); }
.fact p { margin: 0; }
.fact ul { margin: .5rem 0 0; padding-left: 1.25rem; }

.service-entries { display: grid; border-top: 1px solid var(--rule); }
.service-entry { min-width: 0; display: grid; grid-template-columns: minmax(2.8rem, .12fr) minmax(14rem, .9fr) minmax(0, 1fr) minmax(8.5rem, .2fr); align-items: center; gap: clamp(1rem, 2vw, 2.25rem); padding: 1.45rem 0; border-bottom: 1px solid var(--rule); color: var(--ink); text-decoration: none; transition: background-color 160ms ease, box-shadow 160ms ease; }
.service-entry:hover, .service-entry:focus-visible { color: var(--ink); background: color-mix(in srgb, var(--accent) 4%, transparent); box-shadow: inset 3px 0 var(--accent); }
.service-entry-index { color: var(--accent); font: 700 .72rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .12em; }
.service-entry h3 { margin: 0; font-size: 1.12rem; line-height: 1.3; letter-spacing: -.02em; }
.service-entry p { margin: 0; color: var(--body); font-size: .91rem; }
.service-entry-link { display: inline-flex; align-items: center; justify-content: flex-end; gap: .65rem; color: var(--accent); font-size: .84rem; font-weight: 720; white-space: nowrap; }
.service-entry-link .icon { width: 1rem; height: 1rem; }

.home-page .section-problems .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(2rem, 5vw, 4.5rem); }
.home-page .section-problems .card { border-top: 3px solid var(--accent); padding-top: 1.4rem; }
.home-page .section-process { border-color: var(--dark-rule); background: var(--dark); color: var(--dark-ink); }
.home-page .section-process .section-number, .home-page .section-process .section-intro { color: var(--dark-body); }
.home-page .section-process .card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-color: var(--dark-rule); counter-reset: process-step; }
.home-page .section-process .card { counter-increment: process-step; min-height: 17rem; display: flex; flex-direction: column; padding: 1.5rem 1.25rem 1.5rem 0; border-right: 1px solid var(--dark-rule); border-bottom: 0; }
.home-page .section-process .card + .card { padding-left: 1.25rem; }
.home-page .section-process .card:last-child { border-right: 0; padding-right: 0; }
.home-page .section-process .card::before { margin-bottom: 3.5rem; color: var(--accent); font: 700 .7rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; content: counter(process-step, decimal-leading-zero); }
.home-page .section-process .card h3 { color: var(--dark-ink); }
.home-page .section-process .card p { color: var(--dark-body); }
.home-page .section-process .facts .fact { background: var(--dark-surface); }
.home-page .section-process .facts .fact p, .home-page .section-process .facts .fact li { color: var(--dark-body); }
.home-page .section-services { background: var(--panel); }
.home-page .section-ownership .facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.consulting-page .section-scope .card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.training-page .section-formats .card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ai-analysis-page .section-pipeline .card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.definition-ledger { margin: 0; border-top: 1px solid var(--rule); }
.definition-row { display: grid; grid-template-columns: minmax(13rem, .62fr) minmax(0, 1.38fr); gap: clamp(1.5rem, 4vw, 4rem); padding: 1.5rem 0; border-bottom: 1px solid var(--rule); }
.definition-row dt { display: flex; align-items: flex-start; gap: .9rem; color: var(--ink); font-size: 1.02rem; font-weight: 720; }
.definition-row dd { margin: 0; color: var(--body); font-size: .93rem; }
.definition-index { flex: 0 0 auto; color: var(--accent); font: 700 .7rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.boundary-band { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1.2rem; padding: 1.65rem 1.75rem; background: var(--dark); color: var(--dark-ink); }
.boundary-band-marker { color: var(--accent); }
.boundary-band-marker .icon { width: 1.8rem; height: 1.8rem; }
.boundary-band h3 { margin: 0; color: var(--dark-ink); font-size: 1.2rem; }
.boundary-band p { margin: 0; color: var(--dark-body); font-size: .93rem; }
.boundary-list { margin-top: 1rem; border-color: var(--dark-rule); }
.boundary-list li { padding: .75rem 0; border-bottom: 1px solid var(--dark-rule); color: var(--dark-body); font-size: .86rem; }
.boundary-list li::before { color: var(--accent); content: "—"; }

.contact-form { max-width: 48rem; display: grid; gap: 1.1rem; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.field { display: grid; gap: .45rem; }
.field span { font-size: .86rem; font-weight: 700; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--rule); border-radius: 0; background: var(--surface); color: var(--ink); padding: .8rem .85rem; }
.field textarea { min-height: 11rem; resize: vertical; }
.honeypot { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.form-note, .form-status { color: var(--body); font-size: .9rem; }
.form-status { min-height: 1.6rem; }
.submit-button { justify-self: start; border: 1px solid var(--accent); background: var(--accent); color: var(--accent-text); padding: .8rem 1.2rem; font-size: .9rem; font-weight: 720; cursor: pointer; }
.submit-button:hover { background: var(--accent-hover); color: var(--accent-text); }
.submit-button:disabled { cursor: not-allowed; opacity: .58; }
.contact-page .section-before-writing { background: var(--panel); }
.contact-page .section-availability { background: var(--panel); }
.unavailable-state { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: 1rem; align-items: start; padding: 1.5rem; border: 1px solid var(--rule); background: var(--surface); }
.unavailable-icon { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--rule); border-radius: 50%; color: var(--accent); }
.unavailable-icon .icon { width: 1.5rem; height: 1.5rem; }
.unavailable-state strong { display: block; font-size: 1.05rem; }
.unavailable-state p { margin: .45rem 0 0; color: var(--body); font-size: .9rem; }

.faq-layout { width: min(calc(100% - 4rem), 1440px); margin-inline: auto; display: grid; grid-template-columns: minmax(14rem, .31fr) minmax(0, 1fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.faq-rail { position: sticky; top: 7rem; padding-top: 5rem; }
.rail-label { display: block; margin-bottom: 1.25rem; color: var(--accent); font-size: .82rem; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.faq-rail ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--rule); }
.faq-rail li { border-bottom: 1px solid var(--rule); }
.faq-rail a { display: block; padding: 1rem 0; color: var(--ink); font-size: .92rem; font-weight: 650; text-decoration: none; }
.faq-rail a[aria-current="true"] { padding-left: 1rem; box-shadow: inset 3px 0 var(--accent); color: var(--accent); }
.faq-groups { min-width: 0; }
.faq-group-inner { width: 100%; padding-block: 5rem 6rem; display: grid; grid-template-columns: minmax(11rem, .27fr) minmax(0, .73fr); gap: clamp(2rem, 5vw, 4.5rem); }
.faq-group + .faq-group { border-top: 1px solid var(--rule); }
.faq-list { border-top: 1px solid var(--rule); }
.faq-item { border-bottom: 1px solid var(--rule); }
.faq-item summary { display: grid; grid-template-columns: 2rem minmax(0, 1fr) 1.2rem; gap: .85rem; align-items: center; min-height: 4.6rem; color: var(--ink); cursor: pointer; list-style: none; font-size: 1.08rem; font-weight: 700; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-marker { display: grid; place-items: center; }
.faq-marker .icon { width: 1.35rem; height: 1.35rem; transition: transform 160ms ease; }
.faq-item[open] .faq-marker .icon { transform: rotate(45deg); }
.faq-caret { justify-self: end; }
.faq-caret .icon { width: 1.15rem; height: 1.15rem; transition: transform 160ms ease; }
.faq-item[open] .faq-caret .icon { transform: rotate(180deg); color: var(--accent); }
.faq-answer { padding: 0 3.1rem 1.35rem; }
.faq-answer p { max-width: 50rem; margin: 0; color: var(--body); font-size: .94rem; }

.related-info { width: min(calc(100% - 4rem), 1440px); margin: 0 auto; padding-block: 2rem 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; border-bottom: 1px solid var(--rule); }
.related-label { color: var(--muted); font: 700 .68rem/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; }
.related-links { display: flex; flex-wrap: wrap; gap: 1.4rem; }
.related-links a { color: var(--ink); font-size: .9rem; font-weight: 700; text-decoration: none; }
.related-arrow { display: inline-flex; margin-left: .5rem; color: var(--accent); vertical-align: -.2em; }
.related-arrow .icon { width: .95rem; height: .95rem; stroke-width: 1.7; }

.site-footer { border-top: 1px solid var(--dark-rule); background: var(--dark); color: var(--dark-ink); }
.footer-inner { padding-block: 4rem; display: grid; grid-template-columns: .6fr 1.4fr; gap: 4rem; }
.site-footer .brand { color: var(--dark-ink); }
.footer-links { display: grid; gap: 1.1rem; }
.footer-nav-primary, .footer-nav-secondary { display: flex; flex-wrap: wrap; gap: .75rem 1.35rem; }
.footer-nav-primary a, .footer-nav-secondary a { color: var(--dark-body); font-size: .84rem; text-decoration: none; }
.footer-nav-primary a:hover, .footer-nav-secondary a:hover { color: var(--accent); }
.footer-nav-secondary { padding-top: 1.1rem; border-top: 1px solid var(--dark-rule); }
.footer-copy { max-width: 60rem; margin: 1.5rem 0 0; color: var(--dark-body); font-size: .78rem; }
.revision { margin-top: 1.15rem; color: var(--dark-body); font-size: .8rem; }
.machine-link { color: var(--muted); }
.not-found { min-height: 75vh; display: grid; place-items: center; text-align: center; }
.not-found h1 { margin-inline: auto; }

@media (max-width: 1240px) {
  .header-inner { gap: 2rem; }
  .site-nav { gap: 1.2rem; }
  .nav-primary { gap: 1.2rem; }
  .site-nav a { font-size: .84rem; }
  .hero-grid { grid-template-columns: minmax(0, .9fr) minmax(31rem, 1.1fr); gap: 3.5rem; }
  .artifact-hero .hero-grid { grid-template-columns: minmax(0, .88fr) minmax(31rem, 1.12fr); gap: 3rem; }
  .contact-hero .hero-grid { grid-template-columns: minmax(0, .88fr) minmax(25rem, 1.12fr); gap: 3rem; }
}

@media (max-width: 1080px) {
  .header-inner { position: relative; min-height: 5rem; grid-template-columns: 1fr auto; gap: 1rem; }
  .site-nav { position: absolute; top: calc(100% + 1px); right: 0; left: 0; display: grid; justify-content: stretch; gap: 0; max-height: calc(100vh - 5rem); overflow-y: auto; padding: .55rem 1.5rem 1rem; border-bottom: 1px solid var(--rule); background: var(--surface); box-shadow: var(--shadow); }
  .site-nav[hidden] { display: none; }
  .nav-primary, .nav-more { display: grid; gap: 0; }
  .nav-more { position: static; border-bottom: 1px solid var(--rule); }
  .nav-more summary { min-height: 0; padding: .78rem .5rem; border-bottom: 1px solid var(--rule); font-size: .92rem; }
  .nav-more .nav-secondary { position: static; min-width: 0; display: grid; padding: 0 0 .3rem; border: 0; box-shadow: none; }
  .nav-more[open] .nav-secondary { margin-top: .45rem; padding-top: .45rem; border-top: 1px solid var(--rule); }
  .site-nav a { min-height: 0; padding: .78rem .5rem; border-bottom: 1px solid var(--rule); font-size: .92rem; }
  .nav-secondary a { color: var(--muted); font-size: .86rem; }
  .site-nav a::after { display: none; }
  .menu-button { display: inline-flex; }
  .header-actions { justify-self: end; }
  .hero-grid, .artifact-hero .hero-grid, .contact-hero .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(25rem, .9fr); gap: 2.5rem; }
  .home-hero .section-inner { min-height: auto; }
  .assessment-framework { margin-top: .75rem; }
  .content-section .section-inner { grid-template-columns: minmax(12rem, .3fr) minmax(0, 1fr); gap: 3rem; }
  .home-page .section-process .card { min-height: 15rem; border-bottom: 1px solid var(--dark-rule); }
  .home-page .section-process .card-grid, .consulting-page .section-scope .card-grid, .training-page .section-formats .card-grid, .ai-analysis-page .section-pipeline .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-label, .locale-label-full { display: none; }
  .locale-label-compact { display: inline; }
  .runbook-track, .pipeline-track { gap: .4rem; }
  .matrix-cell { min-height: 8.5rem; }
  .faq-rail { top: 6rem; }
}

@media (min-width: 1081px) { .site-nav[hidden] { display: flex; } }

@media (max-width: 900px) {
  .hero-grid, .home-hero .hero-grid, .artifact-hero .hero-grid, .contact-hero .hero-grid, .editorial-hero.faq-hero .hero-grid, .editorial-hero.service-levels-hero .hero-grid { grid-template-columns: 1fr; }
  .home-hero .section-inner { padding-block: 4.5rem 5.5rem; }
  .assessment-framework { margin-top: 1rem; }
  .artifact-hero .section-inner { padding-bottom: 5rem; }
  .artifact-hero .hero-grid { margin-top: 3.5rem; }
  .page-artifact { margin-top: 1rem; }
  .editorial-hero .page-motif { width: min(100%, 28rem); justify-self: stretch; margin-top: 1.5rem; }
  .editorial-hero .hero-grid { margin-top: 3.5rem; }
  .primary-link { width: 100%; justify-content: space-between; }
  .faq-layout { grid-template-columns: 1fr; gap: 0; }
  .faq-rail { position: static; padding-top: 3.8rem; }
  .faq-rail ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .faq-rail li { border-right: 1px solid var(--rule); }
  .faq-rail li:last-child { border-right: 0; }
  .faq-rail a { padding: .8rem .6rem; font-size: .8rem; }
  .faq-rail a[aria-current="true"] { padding-left: .6rem; }
  .faq-group-inner { padding-block: 4rem 5rem; grid-template-columns: minmax(12rem, .3fr) minmax(0, .7fr); gap: 2.5rem; }
}

@media (max-width: 820px) {
  .header-inner, .section-inner, .footer-inner, .home-hero .section-inner, .internal-hero .section-inner, .faq-layout, .related-info { width: min(calc(100% - 3rem), 1440px); }
  .content-section .section-inner, .faq-group-inner, .footer-inner { grid-template-columns: 1fr; }
  .content-section .section-inner { gap: 2.5rem; }
  .section-heading { max-width: 35rem; }
  .home-page .section-problems .card-grid, .consulting-page .section-scope .card-grid, .training-page .section-formats .card-grid, .service-levels-page .section-definitions .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-entry { grid-template-columns: 2.8rem minmax(0, 1fr); gap: .55rem 1.25rem; align-items: start; padding-block: 1.45rem; }
  .service-entry-index { grid-row: 1 / span 3; padding-top: .1rem; }
  .service-entry p, .service-entry-link { grid-column: 2; }
  .service-entry-link { justify-content: flex-start; padding-top: .35rem; }
  .footer-inner { gap: 2.5rem; }
  .definition-row { grid-template-columns: minmax(10rem, .45fr) minmax(0, .55fr); gap: 1.75rem; }
}

@media (max-width: 640px) {
  .header-inner, .section-inner, .footer-inner, .home-hero .section-inner, .internal-hero .section-inner, .faq-layout, .related-info { width: min(calc(100% - 2rem), 1440px); }
  .header-inner { min-height: 4.25rem; }
  .site-nav { right: 0; left: 0; padding-inline: 1rem; }
  .icon-button, .locale-switcher summary { min-width: 2.5rem; min-height: 2.5rem; }
  .locale-switcher summary { padding-inline: .42rem; }
  .home-hero .section-inner { padding-block: 3.5rem 4.75rem; }
  h1 { max-width: none; margin-top: 0; font-size: clamp(2.45rem, 10.6vw, 3.45rem); line-height: 1.04; letter-spacing: -.05em; text-wrap: pretty; }
  .hero-lead { margin-top: 1.25rem; font-size: .98rem; line-height: 1.6; }
  .hero-actions { margin-top: 1.65rem; }
  .primary-link { width: 100%; justify-content: space-between; }
  .framework-body { padding: 1.6rem 1rem 1rem; }
  .framework-body h2 { font-size: 1.7rem; }
  .framework-steps::before { left: 1.15rem; }
  .framework-steps li { grid-template-columns: 2.35rem minmax(0, 1fr); gap: .4rem .65rem; padding-block: .8rem; }
  .framework-step-icon { width: 2.3rem; height: 2.3rem; grid-row: 1 / span 2; }
  .framework-step-index { align-self: end; }
  .framework-step-label { align-self: end; font-size: .82rem; }
  .framework-steps strong { grid-column: 2; font-size: .82rem; }
  .framework-art { width: 48%; bottom: 2.65rem; opacity: .5; }
  .artifact-note { padding-inline: 1rem; }
  .internal-hero .section-inner { padding-block: 1.4rem 4.5rem; }
  .artifact-hero .hero-grid, .editorial-hero .hero-grid { margin-top: 2.9rem; }
  .artifact-hero h1, .editorial-hero h1 { font-size: clamp(2.55rem, 11vw, 3.5rem); }
  .page-artifact { margin-top: 1rem; }
  .matrix-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .matrix-cell { min-height: 8rem; }
  .matrix-cell:nth-child(4n) { border-right: 1px solid var(--rule); }
  .matrix-cell:nth-child(2n) { border-right: 0; }
  .matrix-cell:nth-last-child(-n + 4) { border-bottom: 1px solid var(--rule); }
  .matrix-cell:nth-last-child(-n + 2) { border-bottom: 0; }
  .runbook-artifact, .ai-pipeline-artifact { padding-inline: 1rem; }
  .runbook-track { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2rem; }
  .runbook-track li:nth-child(3) { padding-left: 0; }
  .runbook-track li:nth-child(2) { padding-right: 0; }
  .runbook-track li:nth-child(2) .runbook-arrow { display: none; }
  .runbook-track li:nth-child(3) .runbook-arrow { display: block; }
  .runbook-arrow { right: -.3rem; }
  .pipeline-layout { grid-template-columns: 1fr; }
  .pipeline-track { gap: .1rem; }
  .pipeline-track strong { font-size: .77rem; }
  .pipeline-arrow { right: -.45rem; }
  .pipeline-confirmation { align-items: flex-start; }
  .content-section .section-inner { padding-block: 4.5rem; gap: 2.1rem; }
  .section-heading h2 { font-size: 2.2rem; }
  .section-intro { margin-bottom: 2rem; }
  .card-grid, .home-page .section-problems .card-grid, .home-page .section-process .card-grid, .consulting-page .section-scope .card-grid, .training-page .section-formats .card-grid, .service-levels-page .section-definitions .card-grid, .ai-analysis-page .section-pipeline .card-grid, .home-page .section-ownership .facts, .field-row { grid-template-columns: 1fr; }
  .home-page .section-process .card, .home-page .section-process .card + .card, .home-page .section-process .card:last-child { min-height: 0; padding: 1.5rem 0; border-right: 0; }
  .home-page .section-process .card::before { margin-bottom: 1.6rem; }
  .definition-row { grid-template-columns: 1fr; gap: .5rem; padding-block: 1.25rem; }
  .boundary-band { grid-template-columns: 2.4rem minmax(0, 1fr); padding: 1.35rem 1.1rem; }
  .unavailable-state { grid-template-columns: 2.8rem minmax(0, 1fr); padding: 1.1rem; }
  .unavailable-icon { width: 2.45rem; height: 2.45rem; }
  .faq-rail { padding-top: 2.8rem; }
  .faq-rail ol { display: block; }
  .faq-rail li { border-right: 0; }
  .faq-rail a, .faq-rail a[aria-current="true"] { padding: .8rem 0; }
  .faq-rail a[aria-current="true"] { padding-left: .8rem; }
  .faq-group-inner { padding-block: 3.75rem 4.5rem; gap: 2rem; }
  .faq-item summary { grid-template-columns: 1.6rem minmax(0, 1fr) 1rem; min-height: 4.2rem; font-size: .98rem; }
  .faq-answer { padding: 0 2.45rem 1.25rem; }
  .related-info { display: block; padding-block: 1.65rem 2.75rem; }
  .related-links { margin-top: .8rem; gap: .8rem 1.2rem; }
  .footer-inner { padding-block: 3.25rem; }
  .footer-nav-primary, .footer-nav-secondary { gap: .7rem 1rem; }
}

@media (max-width: 370px) {
  .brand { font-size: .86rem; }
  .brand-mark { width: .68rem; height: .68rem; flex-basis: .68rem; }
  .header-actions { gap: .1rem; }
  .locale-switcher .icon-language { display: none; }
}

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