:root {
  --gs-reading-page: #f7f8f6;
  --gs-reading-surface: #ffffff;
  --gs-reading-ink: #17202a;
  --gs-reading-muted: #566272;
  --gs-reading-line: #dfe3e7;
  --gs-reading-soft: #fff4ef;
  --gs-reading-soft-border: #f0c6b4;
  --gs-reading-link: #9a3b12;
  --gs-reading-focus: #075985;
  --gs-reading-wide: 1280px;
  --gs-reading-copy: 760px;
  --gs-reading-sidebar: 300px;
}

body.gs-reading-page {
  width: auto !important;
  max-width: none !important;
  min-height: 100vh;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--gs-reading-page) !important;
  color: var(--gs-reading-ink) !important;
  font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  font-size: 17px;
  line-height: 1.68;
  overflow-wrap: anywhere;
}

.gs-reading-page *,
.gs-reading-page *::before,
.gs-reading-page *::after { box-sizing: border-box; }

.gs-reading-page .gs-skip-link {
  position: fixed;
  top: 10px;
  left: 12px;
  z-index: 150;
  padding: 10px 14px;
  border: 2px solid var(--gs-reading-ink);
  border-radius: 8px;
  background: #fff;
  color: var(--gs-reading-ink) !important;
  font-weight: 750;
  text-decoration: none;
  transform: translateY(-180%);
}
.gs-reading-page .gs-skip-link:focus { transform: translateY(0); }

/* Preserve the approved public header and hide superseded document chrome. */
.gs-reading-page .gs-nav-shell {
  width: min(var(--gs-content-max), calc(100% - 40px));
  min-height: var(--gs-header-height);
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.gs-reading-page .gs-brand {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--gs-navy) !important;
  font-size: .92rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-decoration: none !important;
  white-space: nowrap;
}
.gs-reading-page .gs-brand-mark { display: inline-flex; align-items: center; gap: 9px; }
.gs-reading-page .gs-brand-mark::before {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  background: var(--gs-accent);
  content: "";
}
.gs-reading-page .gs-nav-panel__top { display: none; }
.gs-reading-page .gs-nav-items { display: flex; align-items: stretch; gap: 4px; }
.gs-reading-page > header:not(.gs-site-header),
.gs-reading-page > .site-header,
.gs-reading-page > .site_header,
.gs-reading-page > .header,
.gs-reading-page > .footer:not(.gs-site-footer),
.gs-reading-page > footer:not(.gs-site-footer),
.gs-reading-page > .skip-link:not(.gs-skip-link),
.gs-reading-page > .skip_link:not(.gs-skip-link) { display: none !important; }

/* Shell proportions come directly from the approved original Book. */
.gs-reading-page > main,
.gs-reading-page > .main,
.gs-reading-page > .content,
.gs-reading-page > .page,
.gs-reading-page > .book_shell,
.gs-reading-page > .layout,
.gs-reading-page > .guide-layout,
.gs-reading-page > .article-layout,
.gs-reading-page > .shell {
  width: min(calc(100% - 56px), var(--gs-reading-wide)) !important;
  max-width: var(--gs-reading-wide) !important;
  margin: 0 auto !important;
  padding: 34px 0 70px !important;
}
.gs-reading-page > .book_shell,
.gs-reading-page > .layout,
.gs-reading-page > .guide-layout,
.gs-reading-page > .article-layout,
.gs-reading-page > .shell:has(> .side_nav),
.gs-reading-page > .shell:has(> .side-nav) {
  display: grid !important;
  grid-template-columns: var(--gs-reading-sidebar) minmax(0, 1fr) !important;
  align-items: start;
  gap: 38px !important;
}
.gs-reading-page > .shell:not(:has(> .side_nav)):not(:has(> .side-nav)) { display: block !important; }
.gs-reading-page.gs-guide-page > main,
.gs-reading-page.gs-legal-page > main,
.gs-reading-page.gs-help-index > main { max-width: 1040px !important; }
.gs-reading-page > main > article {
  width: 100%;
  max-width: 920px;
  margin-inline: auto;
}
.gs-reading-page main,
.gs-reading-page .main,
.gs-reading-page .content,
.gs-reading-page article { min-width: 0; color: var(--gs-reading-ink) !important; }
.gs-reading-page main > .layout,
.gs-reading-page main > .guide-layout,
.gs-reading-page main > .article-layout {
  width: 100% !important;
  max-width: var(--gs-reading-wide) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 250px minmax(0, var(--gs-reading-copy)) !important;
  justify-content: center;
  align-items: start;
  gap: 38px !important;
}

/* Sticky contents navigation. */
.gs-reading-page .sidebar,
.gs-reading-page .side_nav,
.gs-reading-page .side-nav,
.gs-reading-page aside.toc,
.gs-reading-page .toc-shell,
.gs-reading-page section.toc {
  position: sticky !important;
  top: 84px !important;
  align-self: start;
  max-height: calc(100vh - 110px) !important;
  margin: 0 !important;
  padding: 18px !important;
  overflow: auto !important;
  border: 1px solid var(--gs-reading-line) !important;
  border-radius: 22px !important;
  background: var(--gs-reading-surface) !important;
  box-shadow: none !important;
  color: var(--gs-reading-ink) !important;
}
.gs-reading-page .sidebar strong,
.gs-reading-page .side_nav strong,
.gs-reading-page .side-nav strong,
.gs-reading-page .toc strong,
.gs-reading-page .gs-sidebar-heading,
.gs-reading-page .side_nav > h2,
.gs-reading-page .side-nav > h2 {
  display: block;
  margin: 14px 0 12px !important;
  color: var(--gs-reading-muted) !important;
  font-size: .78rem !important;
  font-weight: 760 !important;
  letter-spacing: .11em !important;
  line-height: 1.35 !important;
  text-transform: uppercase;
}
.gs-reading-page .toc nav,
.gs-reading-page .sidebar nav,
.gs-reading-page .side_nav nav,
.gs-reading-page .side-nav nav { display: block !important; }
.gs-reading-page .toc a,
.gs-reading-page .sidebar a,
.gs-reading-page .side_nav a,
.gs-reading-page .side-nav a {
  min-height: 40px;
  display: flex !important;
  align-items: center;
  padding: 7px 10px !important;
  border-radius: 10px !important;
  color: #334155 !important;
  font-size: .86rem !important;
  font-weight: 540 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}
.gs-reading-page .toc a:hover,
.gs-reading-page .toc a:focus-visible,
.gs-reading-page .toc a.active,
.gs-reading-page .sidebar a:hover,
.gs-reading-page .sidebar a:focus-visible,
.gs-reading-page .sidebar a.active,
.gs-reading-page .side_nav a:hover,
.gs-reading-page .side_nav a:focus-visible,
.gs-reading-page .side_nav a.active,
.gs-reading-page .side-nav a:hover,
.gs-reading-page .side-nav a:focus-visible,
.gs-reading-page .side-nav a.active {
  background: var(--gs-reading-soft) !important;
  color: #82310f !important;
}
.gs-reading-page .search_box,
.gs-reading-page .search-box {
  width: 100% !important;
  min-height: 44px;
  padding: 10px 12px !important;
  border: 1px solid #6b7280 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--gs-reading-ink) !important;
  font: inherit !important;
  font-size: .88rem !important;
}
.gs-reading-page .search_count,
.gs-reading-page .search-count {
  min-height: 18px;
  margin: 5px 0 8px !important;
  color: var(--gs-reading-muted) !important;
  font-size: .76rem !important;
}

/* Typography and links. */
.gs-reading-page h1,
.gs-reading-page h2,
.gs-reading-page h3,
.gs-reading-page h4,
.gs-reading-page h5,
.gs-reading-page h6,
.gs-reading-page strong,
.gs-reading-page summary {
  color: var(--gs-reading-ink) !important;
  font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}
.gs-reading-page h1 {
  max-width: 820px;
  margin: 0 0 18px !important;
  font-size: clamp(2.5rem, 5.5vw, 4.25rem) !important;
  font-weight: 760 !important;
  line-height: .99 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}
.gs-reading-page h2 {
  margin: 0 0 24px !important;
  font-size: clamp(1.75rem, 3vw, 2.1rem) !important;
  font-weight: 730 !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
}
.gs-reading-page h3 {
  margin: 30px 0 10px !important;
  font-size: clamp(1.2rem, 2vw, 1.42rem) !important;
  line-height: 1.28 !important;
  letter-spacing: -.02em !important;
}
.gs-reading-page h4 { margin: 24px 0 8px !important; font-size: 1.05rem !important; line-height: 1.35 !important; }
.gs-reading-page p,
.gs-reading-page li,
.gs-reading-page dd,
.gs-reading-page td,
.gs-reading-page th,
.gs-reading-page figcaption { color: var(--gs-reading-ink) !important; }
.gs-reading-page p { margin: 0 0 17px; }
.gs-reading-page li + li { margin-top: 8px; }
.gs-reading-page a:not(.gs-brand):not(.gs-nav-top-link):not(.gs-nav-link):not(.gs-global-footer__links a):not(.gs-global-footer__brand):not(.gs-button):not(.button):not(.button-link):not(.cta):not(.nav-cta):not(.nav-button):not(.app-link) {
  color: var(--gs-reading-link) !important;
  text-decoration-color: currentColor;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.gs-reading-page .subtitle,
.gs-reading-page .dek,
.gs-reading-page .lede,
.gs-reading-page .hero p,
.gs-reading-page figcaption,
.gs-reading-page .research-date { color: var(--gs-reading-muted) !important; }

/* Book-derived title and chapter surfaces. */
.gs-reading-page .hero,
.gs-reading-page .guide-hero,
.gs-reading-page .article-hero {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 26px !important;
  padding: clamp(36px, 5vw, 58px) clamp(26px, 5vw, 64px) !important;
  border: 1px solid var(--gs-reading-line) !important;
  border-radius: 30px !important;
  background: var(--gs-reading-surface) !important;
  box-shadow: none !important;
  color: var(--gs-reading-ink) !important;
  text-align: left !important;
}
.gs-reading-page .hero::before,
.gs-reading-page .hero::after,
.gs-reading-page .guide-hero::before,
.gs-reading-page .guide-hero::after,
.gs-reading-page .article-hero::before,
.gs-reading-page .article-hero::after { display: none !important; }
.gs-reading-page .hero p,
.gs-reading-page .guide-hero p,
.gs-reading-page .article-hero p,
.gs-reading-page .dek,
.gs-reading-page .lede,
.gs-reading-page .subtitle {
  max-width: 740px;
  font-size: clamp(1.05rem, 2vw, 1.3rem) !important;
  line-height: 1.58 !important;
}
.gs-reading-page .eyebrow,
.gs-reading-page .kicker,
.gs-reading-page .chapter_label,
.gs-reading-page .chapter-label,
.gs-reading-page .section-number,
.gs-reading-page .status-label,
.gs-reading-page .step-label,
.gs-reading-page .use-label {
  margin: 0 0 14px !important;
  color: #8b350f !important;
  font-size: .78rem !important;
  font-weight: 760 !important;
  letter-spacing: .12em !important;
  line-height: 1.35 !important;
  text-transform: uppercase;
}
.gs-reading-page .meta_panel,
.gs-reading-page .meta-panel {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 34px !important;
}
.gs-reading-page .meta_card,
.gs-reading-page .meta-card {
  padding: 16px !important;
  border: 1px solid var(--gs-reading-line) !important;
  border-radius: 18px !important;
  background: #fbfbfa !important;
  color: var(--gs-reading-ink) !important;
}
.gs-reading-page .meta_card strong,
.gs-reading-page .meta-card strong {
  display: block;
  margin-bottom: 6px;
  color: var(--gs-reading-muted) !important;
  font-size: .78rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.gs-reading-page .chapter,
.gs-reading-page .guide-section,
.gs-reading-page .section,
.gs-reading-page .legal-doc,
.gs-reading-page.gs-guide-page main > section:not(.hero):not(.guide-hero):not(.article-hero):not(.toc),
.gs-reading-page.gs-book-page main > section:not(.hero):not(.guide-hero):not(.article-hero):not(.toc) {
  margin: 22px 0 !important;
  padding: clamp(32px, 4.5vw, 46px) clamp(24px, 4.5vw, 58px) !important;
  border: 1px solid var(--gs-reading-line) !important;
  border-radius: 26px !important;
  background: var(--gs-reading-surface) !important;
  box-shadow: none !important;
  color: var(--gs-reading-ink) !important;
  scroll-margin-top: 90px;
}
.gs-reading-page .chapter_head,
.gs-reading-page .chapter-head { display: block !important; margin-bottom: 18px !important; }
.gs-reading-page .chapter_icon,
.gs-reading-page .chapter-icon,
.gs-reading-page .decorative-icon,
.gs-reading-page [data-decorative-icon] { display: none !important; }

/* Editorial articles use one restrained reading surface rather than card grids. */
.gs-reading-page.gs-article-page main > .layout > article,
.gs-reading-page.gs-article-page main > article,
.gs-reading-page.gs-article-page > main > article {
  padding: clamp(32px, 4.5vw, 50px) clamp(24px, 4.5vw, 58px) !important;
  border: 1px solid var(--gs-reading-line) !important;
  border-radius: 26px !important;
  background: var(--gs-reading-surface) !important;
  box-shadow: none !important;
}
.gs-reading-page.gs-article-page article > section {
  margin: 0 !important;
  padding: 38px 0 !important;
  border-top: 1px solid var(--gs-reading-line) !important;
  background: transparent !important;
  color: var(--gs-reading-ink) !important;
}
.gs-reading-page.gs-article-page article > section:first-child { padding-top: 0 !important; border-top: 0 !important; }
.gs-reading-page.gs-article-page article > section:last-child { padding-bottom: 0 !important; }

/* Legal documents share the same page, typography, and content surfaces. */
.gs-reading-page.gs-legal-page .main,
.gs-reading-page.gs-legal-page > main:not(.shell),
.gs-reading-page.gs-legal-page > .shell:not(:has(> .side_nav)):not(:has(> .side-nav)) {
  min-width: 0;
  padding: clamp(34px, 5vw, 58px) clamp(24px, 5vw, 64px) !important;
  border: 1px solid var(--gs-reading-line) !important;
  border-radius: 30px !important;
  background: var(--gs-reading-surface) !important;
}
.gs-reading-page.gs-legal-page .main > section,
.gs-reading-page.gs-legal-page > main > section,
.gs-reading-page.gs-legal-page .legal-doc {
  margin: 0 !important;
  padding: 34px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--gs-reading-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.gs-reading-page.gs-legal-page .main > section:first-child,
.gs-reading-page.gs-legal-page > main > section:first-child,
.gs-reading-page.gs-legal-page .legal-doc:first-of-type { padding-top: 0 !important; border-top: 0 !important; }
.gs-reading-page.gs-legal-page .gs-legal-nav {
  position: sticky;
  top: 82px;
  z-index: 2;
  margin: 0 0 30px;
  padding: 10px 0;
  border-block: 1px solid var(--gs-reading-line);
  background: rgba(247, 248, 246, .96);
}
.gs-reading-page.gs-legal-page .gs-legal-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  margin-right: 20px;
  font-weight: 680;
}

/* Shared contents, callouts, examples, FAQs, and controls. */
.gs-reading-page .gs-on-page-nav {
  max-width: 900px;
  margin: 0 0 26px;
  padding: 18px 22px;
  border: 1px solid var(--gs-reading-line);
  border-radius: 18px;
  background: var(--gs-reading-surface);
}
.gs-reading-page .gs-on-page-nav strong {
  display: block;
  margin-bottom: 10px;
  color: var(--gs-reading-muted) !important;
  font-size: .78rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.gs-reading-page .gs-on-page-nav__links { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.gs-reading-page .gs-on-page-nav a { min-height: 42px; display: inline-flex; align-items: center; font-weight: 660; }

.gs-reading-page .note_box,
.gs-reading-page .note-box,
.gs-reading-page .note,
.gs-reading-page .notice,
.gs-reading-page .callout,
.gs-reading-page .tip,
.gs-reading-page .warning,
.gs-reading-page .definition,
.gs-reading-page .boundary,
.gs-reading-page .pullquote,
.gs-reading-page .must-know,
.gs-reading-page .core-principle,
.gs-reading-page .workflow,
.gs-reading-page .plain,
.gs-reading-page .last-mile {
  margin: 26px 0 !important;
  padding: 22px 24px !important;
  border: 1px solid var(--gs-reading-soft-border) !important;
  border-left: 4px solid #c94d17 !important;
  border-radius: 16px !important;
  background: var(--gs-reading-soft) !important;
  box-shadow: none !important;
  color: var(--gs-reading-ink) !important;
}
.gs-reading-page .example,
.gs-reading-page .prompt,
.gs-reading-page .method,
.gs-reading-page .choice,
.gs-reading-page .next,
.gs-reading-page .concept,
.gs-reading-page .step,
.gs-reading-page .job,
.gs-reading-page .decision,
.gs-reading-page .use-card,
.gs-reading-page .card,
.gs-reading-page .field,
.gs-reading-page .device-type,
.gs-reading-page .product,
.gs-reading-page .definition-card,
.gs-reading-page .comparison-card,
.gs-reading-page .process,
.gs-reading-page .criteria > *,
.gs-reading-page .split > * {
  padding: 22px !important;
  border: 1px solid var(--gs-reading-line) !important;
  border-radius: 16px !important;
  background: #fbfbfa !important;
  box-shadow: none !important;
  color: var(--gs-reading-ink) !important;
}
.gs-reading-page .example *,
.gs-reading-page .prompt *,
.gs-reading-page .method *,
.gs-reading-page .choice *,
.gs-reading-page .next *,
.gs-reading-page .concept *,
.gs-reading-page .step *,
.gs-reading-page .job *,
.gs-reading-page .decision *,
.gs-reading-page .use-card *,
.gs-reading-page .card *,
.gs-reading-page .field *,
.gs-reading-page .device-type *,
.gs-reading-page .comparison-card *,
.gs-reading-page .process *,
.gs-reading-page .criteria > * *,
.gs-reading-page .split > * *,
.gs-reading-page .note_box *,
.gs-reading-page .note-box *,
.gs-reading-page .note *,
.gs-reading-page .notice *,
.gs-reading-page .callout *,
.gs-reading-page .tip *,
.gs-reading-page .warning *,
.gs-reading-page .definition *,
.gs-reading-page .boundary *,
.gs-reading-page .pullquote *,
.gs-reading-page .must-know *,
.gs-reading-page .core-principle *,
.gs-reading-page .workflow *,
.gs-reading-page .plain *,
.gs-reading-page .last-mile * { color: var(--gs-reading-ink) !important; }

/*
 * Legacy document styles sometimes assign semantic emphasis a theme color
 * directly (for example, `strong { color: var(--text) }`). Keep emphasis
 * contextual inside the approved light document surfaces without changing
 * intentionally dark controls, workflows, or code samples.
 */
body.gs-reading-page main :is(
  .note_box,
  .note-box,
  .note,
  .notice,
  .callout,
  .tip,
  .warning,
  .definition,
  .boundary,
  .pullquote,
  .must-know,
  .core-principle,
  .workflow,
  .plain,
  .last-mile,
  .example,
  .method,
  .choice,
  .next,
  .concept,
  .step,
  .job,
  .decision,
  .use-card,
  .card,
  .field,
  .device-type,
  .product,
  .definition-card,
  .comparison-card,
  .process,
  .criteria > *,
  .split > *
) :is(strong, b, em, i) {
  color: var(--gs-reading-ink) !important;
}

.gs-reading-page .choice-grid,
.gs-reading-page .next-grid,
.gs-reading-page .field-grid,
.gs-reading-page .decision-grid,
.gs-reading-page .readiness-grid,
.gs-reading-page .requirement-grid,
.gs-reading-page .placement-grid,
.gs-reading-page .use-case-grid,
.gs-reading-page .jobs,
.gs-reading-page .steps,
.gs-reading-page .split,
.gs-reading-page .form-factors,
.gs-reading-page .definitions,
.gs-reading-page .concepts {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  background: transparent !important;
}
.gs-reading-page .tag,
.gs-reading-page .badge,
.gs-reading-page .label {
  display: inline-block;
  padding: .15em .48em;
  border: 1px solid #e7b49e !important;
  border-radius: 999px !important;
  background: var(--gs-reading-soft) !important;
  color: #79300f !important;
  font-size: .85em !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}
.gs-reading-page blockquote {
  margin: 26px 0;
  padding: 4px 0 4px 24px;
  border-left: 4px solid #c94d17;
  color: var(--gs-reading-ink) !important;
  font-size: 1.08rem;
}
.gs-reading-page pre {
  max-width: 100%;
  margin: 18px 0;
  padding: 20px;
  overflow: auto;
  border: 1px solid #cfd5dc !important;
  border-radius: 12px !important;
  background: #f1f3f5 !important;
  color: #111827 !important;
  font-size: .9rem;
  line-height: 1.6;
  white-space: pre-wrap;
}
.gs-reading-page code { max-width: 100%; color: #7a2d0d !important; overflow-wrap: anywhere; }
.gs-reading-page pre code { color: #111827 !important; }
.gs-reading-page .copy,
.gs-reading-page .copy-button,
.gs-reading-page button.copy {
  min-height: 42px;
  padding: 8px 13px;
  border: 1px solid #17202a !important;
  border-radius: 8px !important;
  background: #17202a !important;
  color: #fff !important;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.gs-reading-page details {
  margin: 12px 0 !important;
  padding: 0 18px !important;
  border: 1px solid #7d8794 !important;
  border-radius: 14px !important;
  background: #fbfbfa !important;
  color: var(--gs-reading-ink) !important;
}
.gs-reading-page details > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-weight: 700;
}
.gs-reading-page details[open] > summary { border-bottom: 1px solid var(--gs-reading-line); }
.gs-reading-page details > :not(summary) { color: var(--gs-reading-ink) !important; }
.gs-reading-page details > p:last-child { margin-bottom: 18px; }
.gs-reading-page table {
  width: 100% !important;
  max-width: 100%;
  display: block;
  margin: 24px 0;
  overflow-x: auto;
  border-collapse: collapse;
  -webkit-overflow-scrolling: touch;
}
.gs-reading-page th,
.gs-reading-page td {
  min-width: 9rem;
  padding: 12px 14px !important;
  border: 1px solid var(--gs-reading-line) !important;
  background: var(--gs-reading-surface) !important;
  color: var(--gs-reading-ink) !important;
  text-align: left;
}
.gs-reading-page th { background: #f1f3f5 !important; font-weight: 720; }
.gs-reading-page img,
.gs-reading-page video { max-width: 100%; height: auto; }
.gs-reading-page figure,
.gs-reading-page .book_figure,
.gs-reading-page .shot,
.gs-reading-page .screenshot { margin: 28px 0 !important; }
.gs-reading-page figure img,
.gs-reading-page .book_figure img,
.gs-reading-page .shot img,
.gs-reading-page .screenshot img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--gs-reading-line) !important;
  border-radius: 16px !important;
  background: #f4f6f8 !important;
}
.gs-reading-page figcaption,
.gs-reading-page .caption { margin-top: 9px !important; font-size: .86rem !important; line-height: 1.5 !important; }
.gs-reading-page .article-links,
.gs-reading-page .actions,
.gs-reading-page .related-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 24px !important;
}
.gs-reading-page .article-links a,
.gs-reading-page .actions a,
.gs-reading-page .related-links a,
.gs-reading-page .button,
.gs-reading-page .button-link,
.gs-reading-page .app-link,
.gs-reading-page .download {
  min-height: 44px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 10px 16px !important;
  border: 1px solid #9a3b12 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #84330f !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.gs-reading-page .gs-implementation-checklist {
  max-width: 900px;
  margin: 0 0 26px;
  padding: 24px 28px;
  border: 1px solid var(--gs-reading-line);
  border-radius: 18px;
  background: var(--gs-reading-surface);
}
.gs-reading-page .gs-document-footer {
  max-width: 900px;
  margin-top: 48px;
  padding-top: 22px;
  border-top: 1px solid var(--gs-reading-line);
  color: var(--gs-reading-muted) !important;
}

/* Directory pages remain simple, readable indexes. */
.gs-reading-page.gs-help-index .gs-help-group,
.gs-reading-page.gs-directory-page .gs-help-group {
  margin: 22px 0;
  padding: 30px 36px;
  border: 1px solid var(--gs-reading-line);
  border-radius: 22px;
  background: var(--gs-reading-surface);
}
.gs-reading-page.gs-help-index .gs-help-links,
.gs-reading-page.gs-directory-page .gs-help-links {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.gs-reading-page.gs-help-index .gs-help-links a,
.gs-reading-page.gs-directory-page .gs-help-links a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 650; }
.gs-reading-page.gs-legal-page .gs-legal-directory { max-width: 100%; }
.gs-reading-page.gs-legal-page .gs-legal-directory__section { padding: 30px 0; border-top: 1px solid var(--gs-reading-line); }
.gs-reading-page.gs-legal-page .gs-legal-directory__section:first-child { padding-top: 0; border-top: 0; }
.gs-reading-page.gs-legal-page .gs-directory-list { border-bottom: 1px solid var(--gs-reading-line); }
.gs-reading-page.gs-legal-page .gs-directory-row {
  padding: 24px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .8fr);
  align-items: start;
  gap: 28px;
  border-top: 1px solid var(--gs-reading-line);
}
.gs-reading-page.gs-legal-page .gs-directory-row h3 { margin: 0 0 6px !important; }
.gs-reading-page.gs-legal-page .gs-directory-row p { margin: 0; color: var(--gs-reading-muted) !important; }
.gs-reading-page :focus-visible { outline: 3px solid var(--gs-reading-focus) !important; outline-offset: 3px !important; }

@media (max-width: 960px) {
  .gs-reading-page .gs-nav-shell { width: min(100% - 28px, var(--gs-content-max)); min-height: 64px; }
  .gs-reading-page .gs-nav-panel__top {
    min-height: 46px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--gs-border);
  }
  .gs-reading-page .gs-nav-panel__top > span { color: var(--gs-text); font-size: 1rem; font-weight: 750; }
  .gs-reading-page .gs-nav-items { display: grid; gap: 8px; }
  .gs-reading-page > main,
  .gs-reading-page > .main,
  .gs-reading-page > .content,
  .gs-reading-page > .page,
  .gs-reading-page > .book_shell,
  .gs-reading-page > .layout,
  .gs-reading-page > .guide-layout,
  .gs-reading-page > .article-layout,
  .gs-reading-page > .shell {
    width: min(calc(100% - 32px), 800px) !important;
    padding: 22px 0 52px !important;
  }
  .gs-reading-page > .book_shell,
  .gs-reading-page > .layout,
  .gs-reading-page > .guide-layout,
  .gs-reading-page > .article-layout,
  .gs-reading-page > .shell:has(> .side_nav),
  .gs-reading-page > .shell:has(> .side-nav),
  .gs-reading-page main > .layout,
  .gs-reading-page main > .guide-layout,
  .gs-reading-page main > .article-layout { display: block !important; }
  .gs-reading-page .sidebar,
  .gs-reading-page .side_nav,
  .gs-reading-page .side-nav,
  .gs-reading-page aside.toc,
  .gs-reading-page .toc-shell,
  .gs-reading-page section.toc {
    position: relative !important;
    top: auto !important;
    width: auto !important;
    max-height: 340px !important;
    margin: 0 0 24px !important;
  }
  .gs-reading-page .meta_panel,
  .gs-reading-page .meta-panel { grid-template-columns: 1fr !important; }
}

@media (max-width: 700px) {
  body.gs-reading-page { font-size: 16px; }
  .gs-reading-page > main,
  .gs-reading-page > .main,
  .gs-reading-page > .content,
  .gs-reading-page > .page,
  .gs-reading-page > .book_shell,
  .gs-reading-page > .layout,
  .gs-reading-page > .guide-layout,
  .gs-reading-page > .article-layout,
  .gs-reading-page > .shell { width: min(calc(100% - 24px), 800px) !important; }
  .gs-reading-page h1 { font-size: clamp(2.25rem, 11vw, 3.25rem) !important; }
  .gs-reading-page .hero,
  .gs-reading-page .guide-hero,
  .gs-reading-page .article-hero { padding: 32px 24px !important; border-radius: 22px !important; }
  .gs-reading-page .chapter,
  .gs-reading-page .guide-section,
  .gs-reading-page .section,
  .gs-reading-page .legal-doc,
  .gs-reading-page.gs-guide-page main > section:not(.hero):not(.guide-hero):not(.article-hero):not(.toc),
  .gs-reading-page.gs-book-page main > section:not(.hero):not(.guide-hero):not(.article-hero):not(.toc),
  .gs-reading-page.gs-article-page main > .layout > article,
  .gs-reading-page.gs-article-page main > article,
  .gs-reading-page.gs-article-page > main > article,
  .gs-reading-page.gs-legal-page .main,
  .gs-reading-page.gs-legal-page > main:not(.shell),
  .gs-reading-page.gs-legal-page > .shell:not(:has(> .side_nav)):not(:has(> .side-nav)) {
    padding: 30px 22px !important;
    border-radius: 20px !important;
  }
  .gs-reading-page .choice-grid,
  .gs-reading-page .next-grid,
  .gs-reading-page .field-grid,
  .gs-reading-page .decision-grid,
  .gs-reading-page .readiness-grid,
  .gs-reading-page .requirement-grid,
  .gs-reading-page .placement-grid,
  .gs-reading-page .use-case-grid,
  .gs-reading-page .jobs,
  .gs-reading-page .steps,
  .gs-reading-page .split,
  .gs-reading-page .form-factors,
  .gs-reading-page .definitions,
  .gs-reading-page .concepts,
  .gs-reading-page.gs-legal-page .gs-directory-row { grid-template-columns: 1fr !important; }
  .gs-reading-page .gs-on-page-nav__links { display: grid; gap: 0; }
}

@media print {
  body.gs-reading-page { background: #fff !important; color: #000 !important; font-size: 11pt !important; }
  .gs-reading-page .gs-site-header,
  .gs-reading-page .gs-site-footer,
  .gs-reading-page .gs-on-page-nav,
  .gs-reading-page .sidebar,
  .gs-reading-page .side_nav,
  .gs-reading-page .side-nav,
  .gs-reading-page .toc-shell,
  .gs-reading-page aside.toc,
  .gs-reading-page section.toc { display: none !important; }
  .gs-reading-page > main,
  .gs-reading-page > .main,
  .gs-reading-page > .content,
  .gs-reading-page > .page,
  .gs-reading-page > .book_shell,
  .gs-reading-page > .layout,
  .gs-reading-page > .guide-layout,
  .gs-reading-page > .article-layout,
  .gs-reading-page > .shell,
  .gs-reading-page main > .layout,
  .gs-reading-page main > .guide-layout,
  .gs-reading-page main > .article-layout {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
    padding: 0 !important;
  }
  .gs-reading-page .hero,
  .gs-reading-page .guide-hero,
  .gs-reading-page .article-hero,
  .gs-reading-page .chapter,
  .gs-reading-page .guide-section,
  .gs-reading-page .section,
  .gs-reading-page .legal-doc,
  .gs-reading-page article,
  .gs-reading-page .main {
    border-color: #b8b8b8 !important;
    background: #fff !important;
    box-shadow: none !important;
    break-inside: avoid;
  }
}
