

:root {
  --snow: #f7f9fc;
  --paper: #ffffff;
  --ink: #172033;
  --muted: #667086;
  --cobalt: #315fc5;
  --cobalt-dark: #244ba2;
  --spruce: #36756a;
  --line: #d9e1ec;
  --soft-blue: #eaf0fb;
  --soft-green: #eaf4f1;
  --shadow: 0 20px 50px rgba(23, 32, 51, .09);
  --radius: 14px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--snow);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: var(--cobalt); }
a:focus-visible, summary:focus-visible { outline: 3px solid rgba(49, 95, 197, .35); outline-offset: 4px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, strong { line-height: 1.15; }
h1 { max-width: 16ch; margin-bottom: 24px; font-size: clamp(2.5rem, 5vw, 5.25rem); letter-spacing: -.055em; }
h2 { margin-bottom: 16px; font-size: clamp(1.55rem, 2.7vw, 2.55rem); letter-spacing: -.035em; }
h3 { font-size: 1.2rem; }
p:last-child { margin-bottom: 0; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 20; top: 12px; left: 12px; padding: 10px 14px; color: var(--paper); background: var(--ink); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.context { margin-bottom: 14px; color: var(--spruce); font-size: .83rem; font-weight: 750; letter-spacing: .04em; }
.lede { max-width: 62ch; color: #4b566b; font-size: clamp(1.08rem, 1.8vw, 1.3rem); }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 10px 18px; border: 1px solid var(--cobalt); border-radius: 8px; color: var(--paper); background: var(--cobalt); font-weight: 750; text-decoration: none; }
.button:hover { color: var(--paper); background: var(--cobalt-dark); }
.text-link { color: var(--cobalt); font-weight: 750; }
.actions { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; margin-top: 30px; }
.media { margin: 0; }
.media img { width: 100%; height: 100%; object-fit: cover; background: var(--soft-blue); }
.media figcaption { padding-top: 8px; color: var(--muted); font-size: .82rem; }

.site-header { border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .94); }
.header-row { min-height: 76px; display: grid; grid-template-columns: auto 1fr auto; gap: 34px; align-items: center; }
.brand { display: inline-flex; gap: 10px; align-items: center; font-weight: 820; letter-spacing: -.02em; text-decoration: none; }
.brand-mark { width: 30px; height: 30px; display: inline-grid; place-items: center; border-radius: 7px; color: var(--paper); background: var(--ink); font-size: .86rem; }
.header-row > nav { display: flex; gap: 26px; justify-content: center; }
.header-row > nav a { color: #4d5870; font-size: .92rem; text-decoration: none; }
.header-action { padding-bottom: 3px; border-bottom: 2px solid var(--cobalt); color: var(--cobalt); font-size: .92rem; font-weight: 760; text-decoration: none; }

.directory-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: clamp(34px, 6vw, 82px); }
.directory-rail { align-self: stretch; padding: 9px 22px 0 0; border-right: 1px solid var(--line); color: var(--muted); font-size: .9rem; }
.directory-rail > * + * { margin-top: 13px; }
.directory-rail a { display: block; color: var(--cobalt); font-weight: 720; text-decoration: none; }
.rail-title { margin-bottom: 18px; color: var(--ink); font-size: .82rem; font-weight: 820; }
.rail-note { margin-top: 30px !important; padding-top: 18px; border-top: 1px solid var(--line); }
.breadcrumbs { display: grid; gap: 5px; margin-bottom: 34px; }
.breadcrumbs a, .breadcrumbs span { font-size: .83rem; }

.home-opening { padding-block: 74px 82px; }
.side-hero { min-width: 0; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(320px, .96fr); gap: clamp(32px, 5vw, 70px); align-items: center; }
.hero-copy { padding-block: 20px; }
.hero-media { height: 540px; }
.hero-media img { border-radius: 4px 56px 4px 4px; box-shadow: var(--shadow); }
.ledger-section { padding-block: 76px; border-top: 1px solid var(--line); }
.feature-ledger > header { padding-bottom: 36px; }
.feature-ledger > article { padding: 28px 0; border-top: 1px solid var(--line); }
.feature-ledger > article > span { color: var(--spruce); font-size: .83rem; font-weight: 780; }
.feature-ledger article h2 { font-size: 1.35rem; }
.feature-ledger article p { max-width: 66ch; color: var(--muted); }
.decision-sequence { padding-block: 76px; }
.decision-sequence > header { max-width: 600px; margin-bottom: 36px; }
.decision-sequence ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); list-style: none; }
.decision-sequence li { position: relative; padding: 28px 32px 4px 0; }
.decision-sequence li + li { padding-left: 32px; border-left: 1px solid var(--line); }
.decision-sequence li > span, .service-sequence li > span { width: 34px; height: 34px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 50%; color: var(--paper); background: var(--spruce); font-weight: 800; }
.decision-sequence li p { margin-top: 12px; color: var(--muted); }
.recent-focus { display: grid; grid-template-columns: 1.1fr .9fr .6fr; gap: 22px; align-items: end; padding-block: 76px; }
.recent-primary { height: 430px; }
.recent-primary img { border-radius: var(--radius); }
.recent-focus > article { padding: 42px 30px; background: var(--paper); box-shadow: var(--shadow); }
.recent-secondary { height: 270px; }
.recent-secondary img { border-radius: var(--radius); }

.related-index { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: clamp(34px, 6vw, 82px); padding-block: 72px; border-top: 1px solid var(--line); }
.related-index > .internal-links:only-child { grid-column: 1 / -1; }
.index-heading { color: var(--muted); font-size: .86rem; }
.index-heading span { display: block; margin-bottom: 12px; color: var(--ink); font-weight: 820; }
.internal-links { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; align-content: start; }
.internal-links a { min-width: 0; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-top: 1px solid var(--line); color: var(--ink); font-weight: 720; overflow-wrap: anywhere; text-decoration: none; }
.internal-links a::before { content: "↳"; color: var(--cobalt); font-weight: 850; }
.internal-links a:hover { color: var(--cobalt); }

.topic-opening { padding-block: 64px 72px; }
.topic-opening > .topic-hero:only-child { grid-column: 1 / -1; }
.topic-hero { min-width: 0; display: grid; grid-template-columns: minmax(0, .88fr) minmax(360px, 1.12fr); gap: 52px; align-items: end; }
.topic-hero .media { height: 420px; }
.topic-hero img { border-radius: var(--radius); }
.route-matrix { padding-block: 70px; }
.route-matrix > header { display: grid; grid-template-columns: 1fr 1.4fr; gap: 50px; padding-bottom: 32px; }
.route-matrix > header .context { grid-column: 1 / -1; margin-bottom: -32px; }
.matrix-row { display: grid; grid-template-columns: .7fr 1fr 1.3fr; gap: 28px; padding: 24px 0; border-top: 1px solid var(--line); align-items: start; }
.matrix-row > span { color: var(--spruce); font-size: .86rem; font-weight: 780; }
.matrix-row p { color: var(--muted); }
.evidence-offset { display: grid; grid-template-columns: 1.2fr .9fr .55fr; gap: 36px; align-items: center; padding-block: 76px; }
.evidence-offset .media { height: 470px; }
.evidence-offset img { border-radius: 42px 4px 4px 4px; }
.evidence-offset > aside { align-self: end; padding: 24px 0 4px 22px; border-left: 3px solid var(--spruce); color: var(--muted); }
.supporting-options { display: grid; grid-template-columns: .7fr 1.3fr; gap: 60px; padding-block: 62px; border-top: 1px solid var(--line); }
.supporting-options ul { margin: 0; padding: 0; list-style: none; }
.supporting-options li { display: grid; grid-template-columns: 170px 1fr; gap: 28px; padding: 18px 0; border-top: 1px solid var(--line); }
.supporting-options li > span { color: var(--cobalt); font-weight: 760; }

.archive-opening { padding-block: 74px 60px; }
.archive-opening > header { display: grid; grid-template-columns: 1.15fr .85fr; gap: 46px; align-items: end; }
.archive-opening .context { grid-column: 1 / -1; margin-bottom: -32px; }
.filter-rail { background: linear-gradient(180deg, var(--soft-blue), transparent 72%); padding: 24px 22px 40px 18px; }
.dispatch-list { padding-bottom: 72px; }
.lead-dispatch { display: grid; grid-template-columns: 1.25fr .75fr; gap: 48px; align-items: center; padding: 34px 0 54px; border-top: 1px solid var(--line); }
.lead-dispatch .media { height: 430px; }
.lead-dispatch img { border-radius: var(--radius); }
.dispatch-kind { color: var(--spruce); font-size: .84rem; font-weight: 760; }
.dispatch-row { display: grid; grid-template-columns: .55fr 1fr 1.2fr auto; gap: 28px; align-items: baseline; padding: 27px 0; border-top: 1px solid var(--line); }
.dispatch-row > div { display: grid; color: var(--muted); font-size: .8rem; }
.dispatch-row h2 { margin: 0; font-size: 1.25rem; }
.dispatch-row p { color: var(--muted); }
.dispatch-row > a { color: var(--cobalt); font-weight: 780; }
.archive-index .internal-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.article-layout { padding-block: 64px 80px; align-items: start; }
.contents-rail { position: sticky; top: 22px; }
.article-body { min-width: 0; max-width: 790px; }
.article-body h1 { max-width: 13ch; }
.article-media { height: 500px; margin: 42px 0 54px; }
.article-media img { border-radius: var(--radius); }
.article-body > section { max-width: 690px; margin: 0 auto 48px; }
.article-body > section p, .article-body li { color: #3e495f; }
.article-body ul { padding-left: 1.3rem; }
.article-body li + li { margin-top: 10px; }
.verification-note { max-width: 690px; margin: 0 auto 48px; padding: 24px 28px; border-left: 4px solid var(--cobalt); background: var(--soft-blue); }
.verification-note p { margin-top: 8px; color: var(--muted); }
.article-summary { padding-top: 28px; border-top: 2px solid var(--ink); }

.service-opening { padding-block: 72px 62px; }
.service-opening > header { max-width: 780px; }
.facts-rail dl { margin: 0; }
.facts-rail dl > div { padding: 12px 0; border-top: 1px solid var(--line); }
.facts-rail dt { color: var(--muted); font-size: .78rem; }
.facts-rail dd { margin: 2px 0 0; color: var(--ink); font-weight: 760; }
.service-directory { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; padding-block: 68px; }
.service-directory .media { height: 470px; }
.service-directory img { border-radius: 4px 46px 4px 4px; }
.definition-list dl { margin: 34px 0 0; }
.definition-list dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 24px; padding: 20px 0; border-top: 1px solid var(--line); }
.definition-list dt { color: var(--spruce); font-weight: 770; }
.definition-list dd { margin: 0; color: var(--muted); }
.service-sequence { display: grid; grid-template-columns: .7fr 1.35fr .65fr; gap: 48px; padding-block: 70px; border-top: 1px solid var(--line); }
.service-sequence ol { margin: 0; padding: 0; list-style: none; }
.service-sequence li { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 0 0 25px; }
.service-sequence li > span { margin: 0; }
.service-sequence li p { margin-top: 8px; color: var(--muted); }
.service-sequence > aside { padding: 24px; background: var(--soft-green); align-self: start; }
.service-sequence > aside .button { margin-top: 20px; }

.site-footer { margin-top: 20px; border-top: 1px solid var(--line); background: var(--paper); }
.footer-row { min-height: 190px; display: grid; grid-template-columns: 1fr auto .7fr; gap: 54px; align-items: center; }
.footer-brand { margin-bottom: 14px; }
.footer-row nav { display: grid; gap: 8px; }
.footer-row nav a { color: var(--muted); font-size: .9rem; text-decoration: none; }
.credit { color: var(--muted); font-size: .78rem; }

.error-page { min-height: 100vh; display: grid; align-items: center; }
.error-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(42px, 8vw, 110px); align-items: start; }
.error-layout > aside { padding-right: 30px; border-right: 1px solid var(--line); color: var(--muted); }
.error-code { display: block; color: var(--cobalt); font-size: clamp(4rem, 10vw, 8rem); font-weight: 850; line-height: .9; letter-spacing: -.08em; }
.error-layout h1 { margin-top: 8px; }
.error-links { display: flex; gap: 22px; align-items: center; margin: 30px 0 44px; }

@media (max-width: 960px) {
  .header-row { grid-template-columns: 1fr auto; }
  .header-row > nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; padding-bottom: 16px; }
  .directory-layout, .related-index { grid-template-columns: 170px minmax(0, 1fr); gap: 34px; }
  .side-hero, .topic-hero { grid-template-columns: 1fr; }
  .hero-media, .topic-hero .media { height: 400px; }
  .recent-focus { grid-template-columns: 1fr 1fr; }
  .recent-primary { grid-column: 1 / -1; }
  .evidence-offset { grid-template-columns: 1fr 1fr; }
  .evidence-offset > aside { grid-column: 2; }
  .archive-opening > header { grid-template-columns: 1fr; }
  .archive-opening .context { grid-column: auto; margin-bottom: 0; }
  .archive-index .internal-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dispatch-row { grid-template-columns: .55fr 1fr auto; }
  .dispatch-row p { grid-column: 2 / 3; }
  .service-sequence { grid-template-columns: 1fr 1fr; }
  .service-sequence > aside { grid-column: 2; }
  .footer-row { grid-template-columns: 1fr 1fr; padding-block: 38px; }
  .footer-row .credit { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .shell { width: min(100% - 28px, 1180px); }
  h1 { font-size: clamp(2.35rem, 13vw, 4rem); }
  .header-row { gap: 18px; padding-block: 14px; }
  .header-row > nav { gap: 10px 18px; flex-wrap: wrap; }
  .header-action { display: none; }
  .directory-layout, .related-index { grid-template-columns: 1fr; }
  .directory-rail { padding: 0 0 20px; border-right: 0; border-bottom: 1px solid var(--line); }
  .directory-rail > a { display: inline-block; margin-right: 16px; }
  .home-opening, .topic-opening, .archive-opening, .service-opening { padding-block: 48px; }
  .hero-media, .topic-hero .media, .recent-primary, .recent-secondary, .lead-dispatch .media, .article-media, .service-directory .media, .evidence-offset .media { height: auto; aspect-ratio: 3 / 2; }
  .feature-ledger > article, .matrix-row, .route-matrix > header, .supporting-options, .supporting-options li, .definition-list dl > div { grid-template-columns: 1fr; gap: 10px; }
  .route-matrix > header .context { grid-column: auto; margin-bottom: 0; }
  .decision-sequence ol { grid-template-columns: 1fr; }
  .decision-sequence li + li { padding-left: 0; border-left: 0; }
  .decision-sequence li { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 24px 0; border-top: 1px solid var(--line); }
  .decision-sequence li > span { margin: 0; }
  .recent-focus, .evidence-offset, .lead-dispatch, .service-directory, .service-sequence, .footer-row { grid-template-columns: 1fr; }
  .recent-primary, .evidence-offset > aside, .service-sequence > aside, .footer-row .credit { grid-column: auto; }
  .internal-links, .archive-index .internal-links { grid-template-columns: 1fr; }
  .dispatch-row { grid-template-columns: 1fr auto; gap: 10px 20px; }
  .dispatch-row > div, .dispatch-row p { grid-column: 1 / -1; }
  .article-layout { padding-top: 40px; }
  .contents-rail { position: static; }
  .service-sequence { gap: 28px; }
  .error-layout { grid-template-columns: 1fr; }
  .error-layout > aside { padding: 0 0 24px; border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}


.site-partner{width:min(100% - 2rem,72rem);margin:clamp(2.5rem,6vw,5rem) auto;padding-block:clamp(1.5rem,3vw,2.5rem);border-block:1px solid currentColor}
.site-partner__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,28rem);gap:clamp(1.25rem,4vw,3rem);align-items:center}
.site-partner__heading p{margin:0 0 .5rem;font:inherit;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.site-partner__heading h2{margin:0;font:inherit;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;line-height:1.1}
.site-partner__card{display:grid;min-height:6rem;place-items:center;padding:1rem;border:1px solid var(--line);border-radius:.75rem;background:var(--paper);color:var(--ink);text-decoration:none;transition:transform .2s ease}
.site-partner__card:hover{transform:translateY(-2px)}
.site-partner__card:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.site-partner__logo{display:block;max-width:100%;font:inherit;font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase}
@media(max-width:700px){.site-partner__inner{grid-template-columns:1fr}}


:where(.site-header-shell,.site-footer-shell){width:min(100% - 2rem,72rem);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;padding-block:1rem}
:where(.site-brand){display:inline-flex;align-items:center;gap:.625rem;flex:0 0 auto;color:inherit;font:inherit;font-weight:700;text-decoration:none}
:where(.site-menu){display:flex;flex-wrap:wrap;align-items:center;gap:.625rem 1.25rem;margin:0;padding:0}
:where(.site-menu)>a{color:inherit;font:inherit;text-decoration:none}
:where(.site-menu)>a:hover{text-decoration:underline;text-underline-offset:.2em}
:where(.site-menu__contact){display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.5rem 1rem;border:1px solid currentColor;border-radius:999px;text-decoration:none}
:where(.site-menu__contact):hover{text-decoration:none;transform:translateY(-1px)}
:where(.site-menu)>a:focus-visible,:where(.site-brand):focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media(max-width:720px){:where(.site-header-shell,.site-footer-shell){align-items:flex-start;flex-direction:column}:where(.site-menu){width:100%}}


body, main, section, article, header, aside, div { min-width: 0; }
h1, h2, h3, p, a, li { overflow-wrap: anywhere; }
.home-opening { display: block; }
.hero-media { height: auto; aspect-ratio: 3 / 2; }
.hero-media img { object-position: center; }
.home-guide { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr); gap: clamp(32px,6vw,82px); padding-block: 68px; border-top: 1px solid var(--line); }
.home-guide > div:last-child { max-width: 68ch; }
.archive-opening { align-items: start; }
.archive-opening > header { grid-column: 2; grid-row: 1; align-self: start; display: block; }
.archive-opening > aside { grid-column: 1; grid-row: 1; }
.topic-jump { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: clamp(34px,6vw,82px); padding: 0 0 64px; }
.topic-jump nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.topic-jump a { display: flex; flex-direction: column; gap: 8px; padding: 18px; border: 1px solid var(--line); border-top: 3px solid var(--cobalt); border-radius: 10px; background: var(--paper); text-decoration: none; }
.topic-jump a span { color: var(--muted); font-size: .88rem; }
.dispatch-list { display: flex; flex-direction: column; gap: 72px; padding-bottom: 72px; }
.dispatch-group { scroll-margin-top: 24px; }
.dispatch-group > header { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-bottom: 20px; }
.dispatch-group > header .context, .dispatch-group > header h2 { margin: 0; }
.dispatch-group__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.lead-dispatch { display: flex; flex-direction: column; gap: 0; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.lead-dispatch .media { height: auto; aspect-ratio: 3 / 2; }
.lead-dispatch .media img { border-radius: 0; }
.lead-dispatch > div { display: flex; flex: 1; flex-direction: column; gap: 12px; padding: 22px; }
.lead-dispatch h2, .lead-dispatch p { margin: 0; }
.lead-dispatch h2 { font-size: 1.25rem; }
.lead-dispatch .button { align-self: flex-start; margin-top: auto; }
.article-layout { grid-template-columns: 210px minmax(0,1fr); }
.article-layout > .article-body { grid-column: 2; grid-row: 1; }
.article-layout > .contents-rail { grid-column: 1; grid-row: 1; }
.site-footer { border-top: 3px solid var(--ink); background: #eef2f7; }
.site-footer-shell { min-height: 150px; align-items: flex-start; padding-block: 40px; }
.site-footer-intro { max-width: 18rem; }
.site-footer-intro p { margin: .65rem 0 0; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.site-menu--footer { justify-content: flex-end; }
.site-menu--footer .site-menu__contact { min-height: auto; padding: 0; border: 0; border-radius: 0; }
@media (max-width: 960px) {
  .dispatch-group__grid, .topic-jump nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .home-opening, .archive-opening, .article-layout, .topic-jump, .home-guide { grid-template-columns: 1fr; }
  .home-opening .side-hero, .home-opening > .directory-rail, .archive-opening > header, .archive-opening > aside, .article-layout > .article-body, .article-layout > .contents-rail { grid-column: auto; grid-row: auto; }
  .home-opening .side-hero, .archive-opening > header, .article-layout > .article-body { order: 1; }
  .home-opening > .directory-rail, .archive-opening > aside, .article-layout > .contents-rail { order: 2; }
  .topic-jump nav, .dispatch-group__grid { grid-template-columns: 1fr; }
  .dispatch-group > header { align-items: flex-start; flex-direction: column; }
  .site-footer-shell { align-items: flex-start; }
  .site-menu--footer { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
