:root {
  color-scheme: dark;
  --bg: #0c100f;
  --surface: #111614;
  --panel: #161c19;
  --panel-strong: #1d2420;
  --ink: #f2eee4;
  --muted: #aab2aa;
  --amber: #e86642;
  --amber-soft: #f0bd55;
  --signal: #8fa66b;
  --line: #303832;
  --line-soft: #202721;
  --width: 1320px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--bg);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background:
    linear-gradient(rgba(143,166,107,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,166,107,.045) 1px, transparent 1px),
    radial-gradient(circle at 76% 12%, rgba(232,102,66,.11), transparent 34rem),
    var(--bg);
  background-size: 32px 32px, 32px 32px, auto, auto;
  font: 16px/1.7 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: inherit; }
img { max-width: 100%; }
button, input, summary { font: inherit; }
h1, h2, h3 { margin-top: 0; line-height: 1.02; text-wrap: balance; overflow-wrap: anywhere; }
h1,h2 { overflow-wrap: anywhere; }
h1, h2, .brand, .mission-card strong {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Condensed", sans-serif;
  font-weight: 900;
  text-transform: uppercase;
}
:focus-visible { outline: 3px solid var(--amber-soft); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 100; top: -5rem; left: 1rem; padding: .7rem 1rem; background: var(--amber-soft); color: var(--bg); font-weight: 800; }
.skip-link:focus { top: 1rem; }
.player-action { display: inline-flex; min-height: 42px; align-items: center; padding: .65rem 1rem; border: 1px solid var(--amber); color: var(--ink); text-decoration: none; font-weight: 750; }
.player-action:hover { background: var(--amber); color: var(--bg); }

.site-header {
  min-width: 0;
  min-height: 82px;
  padding: 0 max(1rem, calc((100vw - var(--width)) / 2));
  display: flex;
  align-items: center;
  border-top: 3px solid var(--signal);
  border-bottom: 1px solid var(--line);
  background: rgba(9,13,11,.96);
}
.site-header .brand {
  max-width: 21rem;
  min-width: 0;
  flex: 0 1 auto;
  display: flex;
  align-items: center;
  gap: .8rem;
  color: var(--ink);
  font-size: 1.25rem;
  letter-spacing: .12em;
  line-height: 1;
  text-decoration: none;
}
.brand small { display: block; margin-top: .45rem; color: var(--signal); font: 650 .58rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .18em; text-transform: uppercase; }
.site-header .primary-nav { min-width: 0; overflow-x: visible; }
.site-header .primary-nav-groups { gap: clamp(.8rem, 1.8vw, 1.8rem); background: transparent; }
.site-header .primary-nav-groups a {
  position: relative;
  min-height: 78px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  background: transparent;
  color: var(--muted);
  font: 800 .7rem/1.25 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.site-header .primary-nav-groups a::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: transparent; }
.site-header .primary-nav-groups a:hover,
.site-header .primary-nav-groups a.active { color: var(--ink); }
.site-header .primary-nav-groups a:hover::after,
.site-header .primary-nav-groups a.active::after { background: var(--amber); }
.site-header [data-guide-menu] summary,
.site-header .language-menu > summary { border-color: var(--line); background: transparent; color: var(--muted); font: 750 .7rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }

.tactical-main { width: min(var(--width), calc(100% - 2rem)); margin: 0 auto; padding: 1rem 0 5.5rem; }
.command-strip {
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: .65rem;
  color: var(--muted);
  font: 650 .62rem/1.35 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.command-strip > * { min-width: 0; overflow-wrap: anywhere; }
.command-strip > * + *::before { content: "//"; margin-right: .65rem; color: #657069; }
.command-strip a { color: var(--signal); text-decoration: none; }
.command-strip [aria-current="page"] { color: var(--amber-soft); }

.tactical-hero {
  position: relative;
  isolation: isolate;
  min-height: 31rem;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(25rem, .72fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(10,14,12,.72);
}
.hero-copy { min-width: 0; padding: clamp(3rem, 6vw, 6rem) clamp(1.4rem, 4.5vw, 4.5rem) clamp(2.5rem, 5vw, 5rem) 0; }
.kicker { margin: 0 0 1.35rem; color: var(--amber); font: 750 .67rem/1.45 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .23em; text-transform: uppercase; }
.kicker::before { content: ""; width: 2rem; height: 1px; margin-right: .7rem; display: inline-block; vertical-align: middle; background: currentColor; }
h1 { max-width: 52rem; margin: 0; color: var(--ink); font-size: clamp(3.4rem, 6.3vw, 6.6rem); letter-spacing: -.025em; }
.detail-page h1 { font-size: clamp(3rem, 5vw, 5.2rem); }
.detail-page .tactical-hero { min-height: 22rem; grid-template-columns: minmax(0, 1fr) minmax(18rem, .45fr); }
.detail-page .hero-copy { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.detail-page .hero-stats { display: none; }
.detail-page .tactical-visual img { min-height: 22rem; }
.lede { max-width: 49rem; margin: 1.55rem 0 0; color: #c3cac3; font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.72; }
.hero-actions { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .7rem; }
.hero-button { min-height: 45px; padding: .68rem 1.1rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; border: 1px solid var(--line); color: var(--ink); font: 800 .68rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.hero-button:hover { border-color: var(--amber); color: var(--amber-soft); }
.hero-button.primary { border-color: var(--amber); background: var(--amber); color: #130e0c; }
.hero-button.primary:hover { background: var(--amber-soft); color: #130e0c; }
.hero-stats { margin: 2.6rem 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hero-stats div { min-width: 0; padding: .25rem 1rem .25rem 0; border-left: 2px solid var(--amber); }
.hero-stats div + div { padding-left: 1rem; }
.hero-stats dt { color: var(--signal); font: 650 .58rem/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; }
.hero-stats dd { margin: .2rem 0 0; color: var(--ink); font: 900 1.7rem/1 Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; }
.tactical-visual { position: relative; min-width: 0; min-height: 100%; margin: 0; overflow: hidden; border-left: 1px solid var(--line); background: #080b0a; }
.tactical-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,13,11,.7), transparent 38%), linear-gradient(0deg, rgba(9,13,11,.58), transparent 45%); pointer-events: none; }
.tactical-visual picture,
.tactical-visual img { display: block; width: 100%; height: 100%; }
.tactical-visual img { min-height: 31rem; object-fit: cover; }
.tactical-visual figcaption { position: absolute; z-index: 1; right: 1rem; bottom: 1rem; max-width: calc(100% - 2rem); padding: .55rem .7rem; border: 1px solid var(--line); background: rgba(9,13,11,.9); color: var(--amber-soft); font: 700 .58rem/1.35 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; }
.tactical-hero:not(:has(.tactical-visual)) { grid-template-columns: minmax(0, 55rem); }

.reading-layout { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); padding: clamp(3.5rem, 7vw, 6.5rem) 0; }
.tactical-toc { position: sticky; top: 2rem; align-self: start; max-height: calc(100vh - 4rem); overflow: auto; border-top: 1px solid var(--amber); padding-top: 1rem; }
.tactical-toc > p { margin: 0 0 .8rem; color: var(--amber); font: 750 .62rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .18em; text-transform: uppercase; }
.tactical-toc nav { display: grid; }
.tactical-toc a { padding: .7rem 0; display: grid; grid-template-columns: 1.8rem minmax(0, 1fr); gap: .45rem; border-bottom: 1px solid var(--line-soft); color: var(--muted); font-size: .78rem; line-height: 1.45; text-decoration: none; }
.tactical-toc a span { color: var(--signal); font: 650 .62rem/1.8 ui-monospace, SFMono-Regular, Menlo, monospace; }
.tactical-toc a:hover { color: var(--ink); }
article { min-width: 0; }
.article-section { min-width: 0; padding: 0 0 3.2rem; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 1.25rem; border-bottom: 1px solid var(--line); }
.article-section + .article-section { padding-top: 3.2rem; }
.article-section[data-section-role="direct-answer"] { margin: 0 0 3.2rem; padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid var(--line); background: rgba(22,28,25,.86); }
.article-section[data-section-role="direct-answer"] + .article-section { padding-top: 0; }
.section-index { color: var(--amber); font: 900 1.55rem/1 Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; }
.section-content { min-width: 0; }
h2 { margin: 0 0 1.1rem; font-size: clamp(1.8rem, 3.4vw, 2.8rem); letter-spacing: .01em; }
.article-section p { margin: 0 0 1rem; color: #c3cbc4; line-height: 1.8; }
.article-section p:last-child { margin-bottom: 0; }
.content-block, .block-prose { min-width: 0; }
.content-block + .content-block { margin-top: 1.8rem; }
.block-steps ol, .block-checklist ul { margin: 0; padding: 0; list-style: none; counter-reset: tactical-step; }
.block-steps li, .block-checklist li { position: relative; min-height: 3rem; padding: .85rem 1rem .85rem 3.4rem; border-top: 1px solid var(--line); color: #c3cbc4; line-height: 1.6; }
.block-steps li { counter-increment: tactical-step; }
.block-steps li::before { content: counter(tactical-step, decimal-leading-zero); position: absolute; top: .9rem; left: .8rem; color: var(--amber); font: 750 .68rem/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; }
.block-checklist li { padding-left: 1rem; border-left: 2px solid var(--signal); }
.block-comparison .table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); }
.block-comparison table { width: 100%; min-width: 620px; border-collapse: collapse; }
.block-comparison th, .block-comparison td { padding: .9rem; text-align: left; vertical-align: top; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); line-height: 1.5; }
.block-comparison th { background: var(--panel-strong); color: var(--amber-soft); font: 750 .66rem/1.45 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .07em; text-transform: uppercase; }
.block-faq dl { margin: 0; }
.block-faq .faq-item { display: grid; grid-template-columns: minmax(12rem, .7fr) minmax(0, 1.3fr); gap: 1.5rem; padding: 1.2rem 0; border-top: 1px solid var(--line); }
.block-faq dt { color: var(--amber-soft); font-weight: 800; line-height: 1.45; }
.block-faq dd { margin: 0; color: #c3cbc4; line-height: 1.72; }

.video-card { margin: 1.7rem 0 .5rem; border: 1px solid var(--line); background: #0b0f0d; }
.video-stage { position: relative; overflow: hidden; aspect-ratio: 16/9; background: #070908; }
.video-stage > img, .video-stage > iframe { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }
.video-stage > img { opacity: .72; }
.video-play { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); min-height: 44px; padding: .75rem 1rem; border: 1px solid #120e0b; background: var(--amber); color: #120e0b; cursor: pointer; font: 750 .66rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.video-play:hover { background: var(--amber-soft); }
.video-caption { margin: 0 !important; padding: .85rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.video-caption .player-action { padding: .5rem .7rem; font: 700 .62rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; }
.video-caption small { color: var(--muted); font: .62rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }

.mission-directory { padding-top: clamp(2rem, 4vw, 4rem); border-top: 1px solid var(--line); }
.directory-heading { max-width: 52rem; margin-bottom: 2rem; }
.directory-heading h2 { font-size: clamp(2.2rem, 5vw, 4rem); }
.mission-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.mission-card { position: relative; min-width: 0; min-height: 12rem; padding: 1.25rem 3rem 1.25rem 1.25rem; display: flex; flex-direction: column; background: rgba(13,17,15,.96); text-decoration: none; }
.mission-card:hover { background: var(--panel); }
.mission-card > span { margin-bottom: .75rem; color: var(--signal); font: 650 .58rem/1.35 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .11em; text-transform: uppercase; }
.mission-card strong { font-size: 1.55rem; line-height: 1.05; }
.mission-card small { margin-top: .8rem; color: var(--muted); display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; font-size: .8rem; line-height: 1.55; }

.site-footer { padding: 3rem max(1rem, calc((100vw - var(--width)) / 2)); color: var(--muted); border-top: 1px solid var(--line); background: #090d0b; font: .75rem/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }
.site-footer > span { color: var(--ink); font-weight: 800; text-transform: uppercase; }

@media (max-width: 1040px) {
  .tactical-hero { grid-template-columns: minmax(0, 1fr) minmax(19rem, .66fr); }
  .mission-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 84px; }
  body { background-size: 24px 24px, 24px 24px, auto, auto; }
  .site-header[data-tactical-header] { min-height: 68px; padding: .65rem 1rem; flex-wrap: nowrap; }
  .site-header[data-tactical-header] .brand { margin-right: auto; font-size: 1rem; letter-spacing: .08em; }
  .site-header[data-tactical-header] [data-guide-menu] summary { width: 40px; padding: 0; font-size: 0; }
  .site-header[data-tactical-header] [data-guide-menu] summary span { color: var(--ink); font-size: 1rem; }
  .site-header[data-tactical-header] .language-menu > summary { width: 40px; padding: 0; border-color: var(--line); color: var(--ink); font-size: .65rem; }
  .tactical-main { width: min(100% - 1.4rem, var(--width)); padding-top: .6rem; }
  .command-strip { min-height: 31px; gap: .4rem; font-size: .53rem; letter-spacing: .06em; }
  .command-strip > * + *::before { margin-right: .4rem; }
  .command-strip [aria-current="page"] { display: none; }
  .tactical-hero { min-height: 0; grid-template-columns: minmax(0, 1fr); }
  .detail-page .tactical-hero { min-height: 0; grid-template-columns: minmax(0, 1fr); }
  .hero-copy { padding: 2.6rem .3rem 2.2rem; }
  .detail-page .hero-copy { padding: 2.2rem .3rem 2rem; }
  .kicker { font-size: .58rem; letter-spacing: .16em; }
  h1, .detail-page h1 { font-size: clamp(2.65rem, 15vw, 4.35rem); }
  .lede { font-size: 1rem; }
  .hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-button { min-width: 0; padding: .7rem; gap: .5rem; }
  .hero-stats { margin-top: 2rem; }
  .hero-stats div { padding-right: .5rem; }
  .hero-stats div + div { padding-left: .5rem; }
  .hero-stats dt { font-size: .5rem; }
  .hero-stats dd { font-size: 1.35rem; }
  .tactical-visual { min-height: 15rem; border-top: 1px solid var(--line); border-left: 0; }
  .tactical-visual img { min-height: 15rem; max-height: 22rem; }
  .reading-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; padding: 3.3rem 0; }
  .tactical-toc { position: static; max-height: none; overflow: visible; }
  .tactical-toc nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
  .article-section { grid-template-columns: 2.2rem minmax(0, 1fr); gap: .75rem; padding-bottom: 2.4rem; }
  .article-section + .article-section { padding-top: 2.4rem; }
  .article-section[data-section-role="direct-answer"] { margin-bottom: 2.4rem; padding: 1.15rem; }
  .section-index { font-size: 1.15rem; }
  h2 { font-size: 1.8rem; }
  .block-faq .faq-item { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .mission-grid { grid-template-columns: minmax(0, 1fr); }
  .mission-card { min-height: 10rem; }
  .video-caption { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 430px) {
  .brand small { display: none; }
  .hero-actions { grid-template-columns: minmax(0, 1fr); }
  .tactical-toc nav { grid-template-columns: minmax(0, 1fr); }
}


/* Shared production navigation: bounded primary links, an accessible full guide menu,
   a wrapping footer directory, and an empty-safe advertising slot. */
.site-header {
  position: relative;
  gap: clamp(.65rem, 1.5vw, 1.4rem);
}
.site-header .primary-nav {
  min-width: 0;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-end;
  overflow: visible;
  overflow-x: visible;
}
.site-header .primary-nav a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  line-height: 1.25;
}
.site-header [data-guide-menu] {
  position: relative;
  z-index: 30;
  display: block;
  flex: 0 0 auto;
}
.site-header .language-menu {
  position: relative;
  z-index: 31;
  flex: 0 0 auto;
}
.site-header .language-menu > summary {
  height: 40px;
  min-height: 40px;
  padding: .65rem .75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line, currentColor);
  cursor: pointer;
  font-size: 13px;
  line-height: 1.2;
  list-style: none;
  white-space: nowrap;
}
.site-header .language-menu > summary::-webkit-details-marker { display: none; }
.site-header .language-menu > div {
  position: absolute;
  z-index: 42;
  top: calc(100% + .45rem);
  right: 0;
  min-width: 9rem;
  padding: .45rem;
  display: grid;
  gap: .2rem;
  border: 1px solid var(--line, currentColor);
  background: var(--panel, var(--paper, var(--bg, #15191b)));
  box-shadow: 0 .8rem 2rem rgba(0,0,0,.3);
}
.site-header .language-menu:not([open]) > div { display: none !important; }
.site-header .language-menu > div a {
  min-height: 40px;
  padding: .5rem .65rem;
  display: flex;
  align-items: center;
  font-size: 13px;
  line-height: 1.25;
  text-decoration: none;
}
.site-header [data-guide-menu] summary {
  height: 42px;
  min-height: 40px;
  padding: .65rem .8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  border: 1px solid var(--line, currentColor);
  background: var(--panel, var(--paper, var(--bg, #15191b)));
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  line-height: 1.2;
  list-style: none;
  white-space: nowrap;
}
.site-header [data-guide-menu] summary::-webkit-details-marker { display: none; }
.site-header [data-guide-menu] summary span { font-size: 1rem; transition: transform .18s ease; }
.site-header [data-guide-menu][open] summary span { transform: rotate(45deg); }
.site-header [data-guide-menu] > nav {
  position: absolute;
  z-index: 40;
  top: calc(100% + .55rem);
  right: 0;
  width: min(36rem, calc(100vw - 2rem));
  min-width: 0;
  max-height: min(70vh, 36rem);
  padding: .75rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .35rem;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid var(--line, currentColor);
  background: var(--panel, var(--paper, var(--bg, #15191b)));
  box-shadow: 0 1.1rem 2.8rem rgba(0,0,0,.35);
}
.site-header [data-guide-menu]:not([open]) > nav { display: none !important; }
.site-header [data-guide-menu] > nav a {
  min-width: 0;
  min-height: 42px;
  padding: .65rem .72rem;
  display: flex;
  align-items: center;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font: inherit;
  font-size: 14px;
  line-height: 1.3;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
.site-header [data-guide-menu] > nav a:hover,
.site-header [data-guide-menu] > nav a:focus-visible,
.site-header [data-guide-menu] > nav a[aria-current="page"] {
  color: var(--amber, var(--acid, var(--red, var(--orange, currentColor))));
  background: rgba(127,127,127,.12);
  transform: none;
}
.site-header a:focus-visible,
.site-header summary:focus-visible,
.site-footer a:focus-visible {
  outline: 3px solid var(--amber, var(--acid, var(--red, var(--orange, currentColor))));
  outline-offset: 3px;
}
.site-footer {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(10rem, .35fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(1.4rem, 4vw, 4rem);
}
.footer-guide-groups {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 1.5rem clamp(1rem, 2.5vw, 2.4rem);
  overflow-x: visible;
}
.footer-guide-group { min-width: 0; }
.footer-guide-group h2 {
  margin: 0 0 .65rem;
  color: inherit;
  font: inherit;
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.footer-guide-group nav {
  min-width: 0;
  display: grid;
  gap: .2rem;
  overflow: visible;
  overflow-x: visible;
  background: transparent;
}
.footer-guide-group nav a {
  min-width: 0;
  min-height: 36px;
  padding: .35rem 0;
  display: flex;
  align-items: center;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font: inherit;
  font-size: 13px;
  line-height: 1.35;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
  overflow-wrap: anywhere;
  transform: none;
}
.footer-guide-group nav a:hover,
.footer-guide-group nav a:focus-visible,
.footer-guide-group nav a[aria-current="page"] {
  color: var(--amber, var(--acid, var(--red, var(--orange, currentColor))));
  transform: none;
}
.ad-slot {
  width: min(60rem, 100%);
  min-width: 0;
  margin: clamp(1.5rem, 4vw, 3rem) auto 0;
  padding: .8rem 0 0;
  overflow: visible;
  border-top: 1px solid var(--line, currentColor);
}
.ad-slot > small {
  display: block;
  margin: 0 0 .55rem;
  font-size: 12px;
  line-height: 1.3;
  opacity: .72;
}
.ad-slot-container { width: 100%; min-width: 0; }
.ad-slot:has(> .ad-slot-container:empty) { display: none; }
.site-privacy {
  width: min(72rem, calc(100% - 2rem));
  margin: 0 auto;
  padding: .85rem 0 1.25rem;
  border-top: 1px solid var(--line, currentColor);
  color: inherit;
  font-size: 12px;
  line-height: 1.55;
  opacity: .78;
}
.site-privacy > summary {
  width: max-content;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: .2em;
}
.site-privacy > p { max-width: 60rem; margin: .65rem 0 0; }
@media (max-width: 980px) {
  .site-header .primary-nav { display: none; }
  .footer-guide-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .site-header { flex-wrap: wrap; }
  .site-header [data-guide-menu] > nav {
    position: fixed;
    top: max(4.5rem, env(safe-area-inset-top));
    right: 1rem;
    left: 1rem;
    width: auto;
    max-height: calc(100dvh - 6rem);
  }
  .site-footer { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .site-header [data-guide-menu] > nav,
  .footer-guide-groups { grid-template-columns: minmax(0, 1fr); }
}
