/* Public navigation and intent pages share the marketing type and color tokens. */

.marketing-app .info-header { position:relative; gap:32px; }
.marketing-app .header-content { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:24px; }
.marketing-app .header-content .public-nav { display:flex; margin:0; gap:24px; justify-self:center; }
.marketing-app .header-content .header-actions { display:flex; flex:none; justify-self:end; }
.marketing-app .header-actions .button { display:inline-flex; align-items:center; justify-content:center; gap:10px; white-space:nowrap; }
.marketing-app .public-mobile-menu { display:none; border:0; }
.marketing-app .public-mobile-menu > summary { justify-content:center; width:44px; height:44px; padding:0; border:0; }
.marketing-app .public-menu-icon { display:block; width:24px; height:24px; flex:none; }
.marketing-app .menu-bar-top { transform-origin:12px 6px; }
.marketing-app .menu-bar-middle { transform-origin:12px 12px; }
.marketing-app .menu-bar-bottom { transform-origin:12px 18px; }
.marketing-app .public-mobile-menu[open] .menu-bar-top { transform:translateY(6px) rotate(45deg); }
.marketing-app .public-mobile-menu[open] .menu-bar-middle { opacity:0; transform:scaleX(.5); }
.marketing-app .public-mobile-menu[open] .menu-bar-bottom { transform:translateY(-6px) rotate(-45deg); }

.marketing-app .public-nav {
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:nowrap;
  flex-shrink:0;
  margin-left:auto;
  font-size:13px;
}
.marketing-app .public-nav > a,
.marketing-app .mega-nav > summary {
  min-height:44px;
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--muted);
  font-size:13px;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
  flex-shrink:0;
}
.marketing-app .public-nav .icon { width:18px; height:18px; flex-shrink:0; }
.marketing-app .public-nav :is(a, summary):focus-visible { outline:3px solid var(--accent-text); outline-offset:4px; border-radius:4px; }
.marketing-app .public-nav > a:hover,
.marketing-app .mega-nav > summary:hover,
.marketing-app .mega-nav[open] > summary {
  color:var(--text);
}
.marketing-app .mega-nav {
  position:static;
}
.marketing-app .mega-nav > summary {
  list-style:none;
  user-select:none;
}
.marketing-app .mega-nav > summary::-webkit-details-marker { display:none; }
.marketing-app .mega-chevron {
  display:inline-block;
  transition:transform 160ms ease;
}
.marketing-app .mega-nav[open] .mega-chevron { transform:rotate(180deg); }
.marketing-app .mega-panel {
  position:absolute;
  z-index:120;
  top:calc(100% + 12px);
  left:50%;
  width:min(1040px,calc(100vw - 48px));
  transform:translateX(-50%);
  display:grid;
  gap:0;
  padding:12px;
  border:1px solid var(--border);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface) 97%,transparent);
  box-shadow:0 24px 70px rgba(24,25,37,.12),0 2px 8px rgba(24,25,37,.05);
  backdrop-filter:blur(18px);
}
.marketing-app .mega-core { display:grid; gap:4px; }
.marketing-app .mega-core a,
.marketing-app .info-header .public-nav .mega-core a,
.marketing-app .header-content .mega-core a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding:12px 16px; border-radius:8px; color:var(--text); font-size:14px; text-decoration:none; }

/* The Features directory and header use the same category artwork and routes. */
.marketing-app .features-mega:not([open]) .features-mega-panel { display:none; }
.marketing-app .features-mega-panel { top:calc(100% + 8px); width:min(1120px,calc(100vw - 48px)); max-height:calc(100dvh - 120px); overflow:auto; padding:20px; background:var(--surface); }
.marketing-app .features-mega-panel::before { content:""; position:absolute; inset:-12px 0 auto; height:12px; }
.marketing-app .features-mega-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.marketing-app .features-mega-category { min-width:0; padding:6px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.marketing-app .header-content .features-mega-card { display:flex; flex-direction:column; align-items:stretch; gap:10px; min-height:0; padding:12px; border-radius:12px; color:var(--text); text-align:left; text-decoration:none; }
.marketing-app .features-mega-card img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; border-radius:8px; }
.marketing-app .features-mega-card strong { display:flex; align-items:center; justify-content:space-between; width:100%; gap:6px; font-size:14px; font-weight:600; line-height:1.5; text-align:left; }
.marketing-app .features-mega-card strong .icon { width:16px; height:16px; }
.marketing-app .features-mega-card > span { min-height:40px; color:var(--muted); font-size:12px; line-height:1.65; }
.marketing-app .features-mega-category a:is(:hover,:focus-visible) { color:var(--accent-text); background:var(--accent-soft); }
.marketing-app .features-mega-card:is(:hover,:focus-visible) strong { color:var(--accent-text); }
.marketing-app .features-mega-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:16px; padding:12px 12px 0; border-top:1px solid var(--border); }
.marketing-app .header-content .features-mega-footer a { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--accent-text); font-size:13px; font-weight:500; text-decoration:none; }
.marketing-app .features-mega { border:0; }
.marketing-app .features-mega > summary { border-bottom:0; }
.marketing-app .features-mega > summary .mega-chevron { transform:rotate(0deg); transform-box:fill-box; transform-origin:center; }
.marketing-app .features-mega[open] > summary .mega-chevron { transform:rotate(180deg); }
@media(prefers-reduced-motion:no-preference) {
  .marketing-app .public-menu-icon .menu-bar { transition:transform 200ms cubic-bezier(.22,1,.36,1),opacity 120ms ease; }
  .marketing-app .features-mega > summary .mega-chevron { transition:transform 160ms cubic-bezier(.4,0,1,1); }
  .marketing-app .features-mega[open] > summary .mega-chevron { transition:transform 220ms cubic-bezier(.16,1,.3,1); }
  .marketing-app .features-mega[open] .features-mega-panel { animation:features-menu-enter 160ms cubic-bezier(.22,1,.36,1) both; }
  .marketing-app .features-mega-category a { transition:color 140ms ease,background-color 140ms ease; }
  .marketing-app .features-mega-card strong .icon { transition:transform 160ms ease; }
  .marketing-app .features-mega-card:is(:hover,:focus-visible) strong .icon { transform:translateX(3px); }
  @keyframes features-menu-enter { from { opacity:0; transform:translate(-50%,6px); } to { opacity:1; transform:translate(-50%,0); } }
}

.marketing-app .category-page {
  padding-top:0;
}
.marketing-app .category-page .category-hero {
  display:block;
  padding:40px 0 64px;
  border-bottom:0;
}
.marketing-app .category-page .category-hero h1 {
  max-width:100%;
  margin:16px 0 24px;
  font-size:clamp(36px,5.6vw,56px);
  line-height:1.1;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.marketing-app .category-hero-copy > p {
  max-width:54ch;
  margin:0;
  color:var(--muted);
  font-size:18px;
  line-height:1.7;
}
.marketing-app .category-how-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:20px; font-size:14px; }
.marketing-app .category-how-link .icon { width:18px; height:18px; }
.marketing-app .category-copy {
  width:100%;
  margin-inline:auto;
}
.marketing-app .category-copy .info-section {
  padding:48px 0;
}
.marketing-app .category-copy .info-section + .info-section {
  margin-top:0;
  border-top:1px solid var(--border);
}
.marketing-app .category-copy .info-section > p { max-width:70ch; }
.marketing-app .category-outcomes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:28px; }
.marketing-app .category-outcome { min-width:0; }
.marketing-app .category-content-icon { display:grid; place-items:center; width:44px; height:44px; margin-bottom:20px; border:1px solid #d9e3f2; border-radius:12px; background:#f5f8ff; color:var(--accent-text); }
.marketing-app .category-content-icon .icon { width:24px; height:24px; }
.marketing-app .category-outcome h3 { margin:0 0 10px; font-size:18px; font-weight:500; letter-spacing:-.02em; line-height:1.4; }
.marketing-app .category-outcome p { margin:0; font-size:15px; line-height:1.7; }
.marketing-app .category-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; list-style:none; padding:0; margin:28px 0 0; }
.marketing-app .category-steps li { min-width:0; }
.marketing-app .category-step-marker { display:block; margin-bottom:20px; color:var(--accent-text); font-family:"Space Grotesk",var(--font-sans); font-size:24px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:-.03em; line-height:1.2; }
.marketing-app .category-steps strong { display:block; margin-bottom:8px; font-size:18px; font-weight:500; }
.marketing-app .category-steps p { margin:0; font-size:15px; line-height:1.7; }
.marketing-app .category-copy .category-metric { display:flex; flex-direction:column; gap:8px; padding:24px; border-left:3px solid var(--accent-text); background:var(--subtle); }
.marketing-app #page-details,
.marketing-app #snapshot { scroll-margin-top:32px; }
.marketing-app .category-copy h2,
.marketing-app .category-faq h2 {
  font-size:clamp(23px,3vw,28px);
}
.marketing-app .seo-source-note {
  margin-top:18px!important;
  padding-top:14px;
  border-top:1px solid var(--border);
  font-size:12px!important;
  line-height:1.65!important;
}

.marketing-app .category-visual {
  position:relative;
  width:100%;
  min-height:0;
  margin:0 0 10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.marketing-app .category-visual > * { position:relative; z-index:1; }
.marketing-app .category-visual-note {
  display:block;
  color:#536176;
  font-size:12px;
  line-height:1.6;
}
.marketing-app .category-visual-heading { margin-bottom:28px; }
.marketing-app .category-visual-heading h2 { margin:0; font-family:"Space Grotesk",var(--font-sans); font-size:clamp(23px,3vw,28px); font-weight:500; letter-spacing:-.03em; line-height:1.3; }
.marketing-app .category-visual-note + h2 { margin-top:10px; }
.marketing-app .visual-kicker {
  color:var(--accent-text);
  font-size:12px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.visual-states {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
  margin:0;
  padding:0;
  list-style:none;
}
.visual-states > li {
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:0;
  border:0;
  background:transparent;
}
.visual-states .state-symbol { display:grid; place-items:center; align-self:flex-start; width:40px; height:40px; margin-bottom:20px; color:#536176; border:1px solid #dfe5ee; border-radius:10px; background:#fff; }
.visual-states .state-icon { width:24px; height:24px; }
.visual-states strong { font-size:16px; font-weight:500; letter-spacing:-.025em; }
.visual-states small { margin-top:8px; color:var(--muted); font-size:13px; line-height:1.55; }
.visual-states .state-counts { margin-top:14px; color:var(--accent-text); font-size:12px; font-weight:500; }
.visual-states .is-positive strong { color:var(--accent-text); }
.visual-states .is-positive .state-symbol { color:var(--accent-text); border-color:#c9d6f8; }

.visual-engine-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.visual-question {
  grid-column:1/-1;
  padding:16px 18px;
  border:1px solid #dfe5ee;
  border-radius:12px;
  background:#fff;
  font-size:13px;
  font-weight:500;
}
.engine-row {
  min-height:86px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:6px 14px;
  padding:16px;
  border-bottom:1px solid #dfe5ee;
}
.engine-row > span { font-size:13px; }
.engine-row small { grid-column:1; color:var(--muted); font-size:10px; }
.state {
  grid-row:1/3;
  grid-column:2;
  padding:6px 8px;
  border-radius:999px;
  background:#eef1f5;
  color:#697386;
  font-size:10px;
  font-weight:500;
}
.state.shortlisted,.state.recommended { background:#e9efff; color:#204fae; }
.state.absent { background:#f1f2f4; color:#808792; }

.visual-visibility {
  min-height:230px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:18px;
  align-items:center;
}
.visual-visibility > div:not(.visual-arrow) {
  min-height:166px;
  padding:24px;
  border:1px solid #dfe5ee;
  border-radius:15px;
  background:#fff;
}
.visual-visibility .visual-focus {
  border-color:#b7c8ef!important;
  background:#f1f5ff!important;
}
.visual-visibility strong {
  display:block;
  margin:24px 0 8px;
  font-size:25px;
  font-weight:500;
  letter-spacing:-.04em;
}
.visual-visibility p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.visual-arrow { color:#9da7b7; font-size:24px; }

.visual-answer {
  width:min(640px,100%);
  margin:0 auto;
  padding:0 22px 22px;
  border:1px solid #dce3ed;
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 42px rgba(33,52,81,.07);
}
.answer-toolbar {
  height:48px;
  display:flex;
  align-items:center;
  gap:6px;
  border-bottom:1px solid #edf0f4;
}
.answer-toolbar > span { width:7px; height:7px; border-radius:50%; background:#d7dce3; }
.answer-toolbar small { margin-left:auto; color:var(--muted); font-size:10px; }
.visual-answer > p { margin:22px 0; font-size:16px; line-height:1.65; }
.visual-answer mark { padding:2px 4px; border-radius:4px; background:#e8efff; color:#19499c; }
.answer-states { display:flex; gap:8px; flex-wrap:wrap; }
.answer-states span { padding:6px 8px; border-radius:999px; background:#f1f3f6; color:#566173; font-size:10px; }
.answer-source { margin-top:16px; color:#6f7b8d; font-size:11px; }

.visual-citations {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:stretch;
  gap:24px;
}
.source-stack { padding:24px; border:1px solid #dfe5ee; border-radius:14px; background:#fff; }
.source-stack h3,
.citation-answer h3 { margin:0 0 14px; font-size:16px; font-weight:500; line-height:1.5; }
.source-stack ol { margin:0; padding-left:20px; }
.source-stack li { padding:0 0 16px 4px; font-size:14px; }
.source-stack li:last-child { padding-bottom:0; }
.source-stack strong { display:block; font-weight:500; }
.source-stack li span { display:block; margin-top:4px; color:var(--muted); font-size:13px; overflow-wrap:anywhere; }
.source-stack p { padding-top:16px; margin:20px 0 0; border-top:1px solid var(--border); color:var(--muted); font-size:13px; line-height:1.6; }
.citation-answer {
  padding:24px;
  border:1px solid #bdcbed;
  border-radius:15px;
  background:#f2f6ff;
}
.citation-answer h3 { margin-top:12px; }
.citation-answer blockquote { margin:16px 0 24px; padding:0; color:var(--text); font-size:18px; line-height:1.6; }
.citation-states { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.citation-states span { border:1px solid #bdcbed; background:#fff; border-radius:6px; padding:8px 10px; color:#31445f; font-size:12px; }
.citation-answer small { color:var(--muted); font-size:12px; }

.visual-share {
  width:min(700px,100%);
  margin:20px auto 0;
}
.share-row {
  display:grid;
  grid-template-columns:110px 1fr 150px;
  align-items:center;
  gap:14px;
  min-height:58px;
}
.share-row > span { font-size:12px; }
.share-row small { color:var(--muted); font-size:10px; }
.share-track { height:10px; overflow:hidden; border-radius:999px; background:#e8ebf0; }
.share-track i { display:block; width:var(--w); height:100%; border-radius:inherit; background:#9eabba; }
.share-row.emphasis .share-track i { background:#3f67c2; }
.share-row.emphasis > span { color:#234f9f; font-weight:500; }
.share-divider { margin:18px 0; border-top:1px solid #dfe5ee; }
.visual-share p { margin:0; color:var(--muted); font-size:11px; }

.visual-loop {
  min-height:220px;
  display:grid;
  grid-template-columns:repeat(7,auto);
  justify-content:center;
  align-items:center;
  gap:14px;
}
.visual-loop span {
  padding:14px 18px;
  border:1px solid #dce3ed;
  border-radius:999px;
  background:#fff;
  font-size:12px;
  white-space:nowrap;
}
.visual-loop span:last-child { border-color:#bacbed; background:#f1f5ff; color:#204fae; }
.visual-loop b { color:#9aa6b6; font-weight:400; }

.visual-evidence {
  min-height:230px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.evidence-question,.evidence-answer {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px;
  border:1px solid #dce3ed;
  border-radius:14px;
  background:#fff;
}
.evidence-question small,.evidence-answer small { color:var(--muted); font-size:10px; }
.evidence-question strong { margin-top:10px; font-size:19px; line-height:1.35; font-weight:500; letter-spacing:-.025em; }
.evidence-answer { background:#f3f6ff; border-color:#c2d0ef; }
.evidence-answer p { margin:10px 0 0; color:#4d5c75; font-size:13px; line-height:1.55; }
.evidence-checks { grid-column:1/-1; display:flex; justify-content:center; gap:10px; }
.evidence-checks span { padding:6px 9px; border-radius:999px; background:#edf1f7; color:#607086; font-size:10px; }

.visual-checker {
  width:100%;
}
.checker-lines { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.checker-lines > div { padding:20px; border:1px solid #dce3ed; border-radius:12px; background:#fff; }
.checker-lines span { display:block; color:var(--accent-text); font-size:12px; margin-bottom:16px; }
.checker-lines strong { display:block; font-size:16px; font-weight:500; }
.checker-lines small { display:block; margin-top:10px; color:var(--muted); font-size:14px; line-height:1.5; }

.visual-compare {
  width:100%;
  display:grid;
  grid-template-columns:140px 1fr 1fr;
  border-top:1px solid #dce3ed;
  border-left:1px solid #dce3ed;
  background:#fff;
}
.visual-compare > div { display:contents; }
.visual-compare span,.visual-compare small {
  min-height:72px;
  display:flex;
  align-items:center;
  padding:14px 16px;
  border-right:1px solid #dce3ed;
  border-bottom:1px solid #dce3ed;
  font-size:11px;
  line-height:1.45;
}
.visual-compare small { color:var(--muted); background:#f8f9fb; }
.visual-compare .compare-head span {
  min-height:46px;
  color:#26364e;
  font-weight:600;
}
.visual-compare .compare-head::before {
  content:"";
  min-height:46px;
  border-right:1px solid #dce3ed;
  border-bottom:1px solid #dce3ed;
  background:#f8f9fb;
}

.visual-index {
  width:min(680px,100%);
  margin:0 auto;
  border-top:1px solid #dce3ed;
}
.index-status {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  min-height:56px;
  border-bottom:1px solid #dce3ed;
}
.index-status span { color:var(--muted); font-size:12px; }
.index-status b { justify-self:end; font-size:11px; font-weight:500; color:#31445f; }
.index-status:first-child b { color:#2457c5; }

.marketing-app .seo-article .category-faq {
  width:100%;
  margin:0 auto;
  padding:40px 0;
  border-top:1px solid var(--border);
}
.category-faq-list { margin-top:24px; }
.category-faq details { border-bottom:1px solid var(--border); }
.category-faq summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:58px;
  list-style:none;
  color:var(--text);
  font-size:16px;
  cursor:pointer;
}
.category-faq summary::-webkit-details-marker { display:none; }
.category-faq summary .faq-toggle { width:20px; height:20px; flex-shrink:0; color:var(--muted); }
.category-faq details[open] summary .faq-toggle { transform:rotate(45deg); }
.marketing-app .category-faq details p { max-width:70ch; margin:0; padding:0 34px 20px 0; color:var(--muted); font-size:15px; line-height:1.7; }

.marketing-app .seo-article .category-related {
  width:100%;
  margin:64px auto 0;
  padding-top:0;
}
.marketing-app .category-related .seo-link-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:0; }
.marketing-app .category-related .seo-link-card { padding:20px; }
.marketing-app .seo-article .category-related .seo-card-title { font-size:18px; }
.marketing-app .category-related .seo-card-kicker { font-size:11px; }
.marketing-app .seo-article .category-related .seo-card-description { font-size:13px; line-height:1.65; }
.marketing-app .category-related .seo-card-action { font-size:13px; }

/* The article fills the remaining column inside the public site's outer wrap. */
.public-docs-layout { position:relative; display:grid; grid-template-columns:192px minmax(0,1fr); align-items:start; gap:48px; width:min(var(--marketing-width,1120px),calc(100% - 64px)); margin-inline:auto; }
.marketing-app .public-docs-layout .category-page { width:100%; max-width:none; min-width:0; margin:0 0 112px; }
.marketing-app .public-docs-layout :is(.category-copy .info-section > p,.category-hero-copy > p,.category-faq details p) { max-width:none; width:100%; }
.marketing-app .public-docs-layout :is(.visual-answer,.visual-share,.visual-index,.visual-engine-grid,.visual-evidence) { width:100%; max-width:none; }
.public-navigation-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.public-navigation-progress { position:fixed; z-index:200; top:0; left:0; width:100%; height:2px; background:var(--accent-text,#2454cc); opacity:0; transform:scaleX(0); transform-origin:left; pointer-events:none; }
.public-navigation-progress[data-state="loading"] { opacity:1; transform:scaleX(.82); transition:transform 8s cubic-bezier(.1,.6,.2,1),opacity 120ms ease; transition-delay:0ms,120ms; }
.public-navigation-progress[data-state="complete"] { opacity:0; transform:scaleX(1); transition:transform 150ms ease-out,opacity 140ms ease; transition-delay:0ms,160ms; }

/* Native document transitions also cover trips to and from the landing page. */
::view-transition { pointer-events:none; }
@media(prefers-reduced-motion:no-preference) {
  @view-transition { navigation:auto; }
  .marketing-app .marketing-header { view-transition-name:public-header; }
  .marketing-app .public-docs-sidebar-inner { view-transition-name:public-sidebar; }
  .marketing-app main img { transition:opacity 200ms ease-out; }
  .marketing-app main img[data-public-image-loading] { opacity:0; }
  ::view-transition-group(root),
  ::view-transition-group(public-header),
  ::view-transition-group(public-sidebar) { animation:none; }
  ::view-transition-old(root) { animation:public-route-exit 100ms ease-in both; }
  ::view-transition-new(root) { animation:public-route-enter 200ms cubic-bezier(.22,1,.36,1) both; }
  ::view-transition-old(public-header),
  ::view-transition-old(public-sidebar) { display:none; }
  ::view-transition-new(public-header),
  ::view-transition-new(public-sidebar) { animation:none; }
}
@keyframes public-route-exit { to { opacity:0; } }
@keyframes public-route-enter { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) {
  .public-navigation-progress { transform:none; transition:none!important; }
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation:none!important; }
}
.public-docs-sidebar { position:relative; align-self:stretch; width:100%; margin-block:32px 112px; }
.public-docs-sidebar-inner { position:sticky; top:24px; max-height:calc(100dvh - 48px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.marketing-app .public-topic-nav { display:block; padding:0 8px 8px 0; }
.marketing-app .public-topic-nav .public-topic-overview { display:flex; align-items:center; gap:8px; min-height:44px; margin-bottom:24px; color:var(--text); font-size:14px; font-weight:600; }
.marketing-app .public-topic-overview .icon { width:16px; height:16px; transform:rotate(180deg); }
.marketing-app .public-topic-nav section + section { margin-top:24px; }
.marketing-app .public-topic-nav h2 { margin:0 0 8px; color:var(--muted); font-size:12px; font-weight:600; letter-spacing:.04em; line-height:1.5; }
.marketing-app .public-topic-nav ul { margin:0; padding:0; list-style:none; }
.marketing-app .public-topic-nav li { margin:0; }
.marketing-app .public-topic-nav li a { display:block; padding:8px 12px; border:0; border-radius:8px; color:var(--muted); font-size:12px; font-weight:400; line-height:1.7; text-decoration:none; }
.marketing-app .public-topic-nav a:is(:hover,:focus-visible) { color:var(--accent-text); background:var(--accent-soft); }
.marketing-app .public-topic-nav li a[aria-current] { background:var(--accent-soft); color:var(--accent-text); font-weight:600; }
.marketing-app .public-topic-nav a:focus-visible { outline:3px solid var(--accent-text); outline-offset:2px; }
.marketing-app .public-topic-resources { display:grid; gap:8px; margin-top:24px; padding-top:24px; border-top:1px solid var(--border); }
.marketing-app .public-topic-resources a { min-height:32px; padding:4px 12px; font-size:12px; color:var(--muted); }
.marketing-app .public-docs-layout .category-page .category-hero { padding:32px 0; }
.marketing-app .public-docs-layout .category-page .category-hero h1 { margin:12px 0 16px; font-size:clamp(32px,4vw,48px); line-height:1.16; text-wrap:balance; }
.marketing-app .public-docs-layout .category-hero-copy > p { max-width:none; width:100%; font-size:16px; line-height:1.8; }
.marketing-app .public-docs-layout .category-how-link { margin-top:16px; }
.marketing-app .public-docs-menu { display:none; }
.marketing-app .public-docs-layout :is(.category-visual,.category-faq,h2[id],#snapshot,#page-title) { scroll-margin-top:120px; }
.marketing-app .public-docs-layout .category-visual { margin-top:24px; }
.marketing-app .feature-category-page .feature-category-topics { padding:24px 0 56px; }
.marketing-app .feature-category-topics > h2 { margin:0 0 16px; font-size:28px; font-weight:500; line-height:1.3; letter-spacing:-.03em; }
.marketing-app .feature-category-page .feature-topic-link { display:flex; align-items:flex-start; gap:16px; height:100%; padding:16px 12px; border-radius:8px; color:var(--text); text-decoration:none; }
.marketing-app .feature-category-page .feature-topic-link:is(:hover,:focus-visible) { background:var(--accent-soft); }
.marketing-app .feature-category-page .feature-topic-link:focus-visible { outline:3px solid var(--accent-text); outline-offset:2px; }
.marketing-app .feature-category-page .seo-cta { margin-top:0; }

/* Floating section navigator: isolated from document flow and shared tokens. */
.scroll-progress { position:fixed; bottom:calc(24px + env(safe-area-inset-bottom,0px)); left:50%; z-index:50; width:0; height:0; }
.scroll-progress-measure { position:absolute; width:max-content; visibility:hidden; pointer-events:none; }
.scroll-progress-surface { position:absolute; bottom:0; left:0; transform:translateX(-50%); overflow:hidden; border:1px solid #dbe2ed; background:#ffffffed; box-shadow:0 4px 12px #10182c08,0 16px 48px #10182c12; backdrop-filter:blur(12px); corner-shape:squircle; }
.scroll-progress .scroll-progress-pill { display:inline-flex; align-items:center; gap:10px; width:max-content; max-width:calc(100vw - 32px); min-height:44px; padding:8px 16px 8px 10px; }
.scroll-progress-measure-label { display:block; max-width:min(420px,calc(100vw - 104px)); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:500; line-height:20px; }
.scroll-progress-measure-list { width:max-content; max-width:min(460px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); overflow:auto; padding:6px; }
.scroll-progress .scroll-progress-trigger { position:absolute; inset:0; width:100%; max-width:none; border:0; background:transparent; color:var(--text); font:inherit; text-align:left; }
.scroll-progress-ring { flex:none; width:20px; height:20px; transform:rotate(-90deg); }
.scroll-progress-track { stroke:#2454cc26; }
.scroll-progress-value { stroke:var(--accent-text,#2454cc); }
.scroll-progress-label-container { position:relative; flex:none; height:20px; overflow:hidden; }
.scroll-progress-label { position:absolute; inset-block:0; left:0; display:flex; align-items:center; width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:500; line-height:20px; }
.scroll-progress .scroll-progress-list { position:absolute; inset:0; display:flex; flex-direction:column; max-height:100%; overflow-y:auto; overscroll-behavior:contain; margin:0; padding:6px; list-style:none; }
.scroll-progress-list > li { margin:0; padding:0; }
.scroll-progress .scroll-progress-row { position:relative; display:flex; align-items:center; gap:12px; width:100%; min-height:44px; padding:8px 12px; border:0; border-radius:14px; background:transparent; color:var(--muted); font:inherit; font-size:14px; font-weight:500; line-height:22px; text-align:left; corner-shape:squircle; }
.scroll-progress .scroll-progress-row:is(:hover,:focus-visible),.scroll-progress .scroll-progress-row.is-active { color:var(--text); }
.scroll-progress-row-label { position:relative; min-width:0; overflow-wrap:anywhere; }
.scroll-progress-dot { position:relative; flex:none; width:6px; height:6px; border-radius:50%; background:#a2adc0; }
.scroll-progress-row.is-active .scroll-progress-dot { background:var(--accent-text,#2454cc); }
.scroll-progress-active { position:absolute; inset:0; border-radius:14px; background:#2454cc0c; corner-shape:squircle; }
.scroll-progress button:focus-visible { outline:2px solid var(--accent-text,#2454cc); outline-offset:-3px; }
.scroll-progress-fallback { position:fixed; bottom:calc(24px + env(safe-area-inset-bottom,0px)); left:50%; z-index:50; transform:translateX(-50%); width:max-content; max-width:min(460px,calc(100vw - 32px)); padding:6px; border:1px solid #dbe2ed; border-radius:22px; background:#ffffffed; box-shadow:0 8px 32px #10182c12; font-size:14px; }
.scroll-progress-fallback > summary { min-height:32px; padding:6px 12px; cursor:pointer; }
.scroll-progress-fallback nav { display:grid; max-height:calc(100dvh - 120px); overflow-y:auto; padding:4px; }
.scroll-progress-fallback nav a { display:flex; align-items:center; min-height:44px; padding:8px 12px; border-radius:10px; line-height:1.6; }
.scroll-progress-fallback a:focus-visible,.scroll-progress-fallback summary:focus-visible { outline:2px solid var(--accent-text); outline-offset:0; }
body:has(dialog[open]) :is(.scroll-progress,.scroll-progress-fallback) { visibility:hidden; }

@media(max-width:1239px) {
  .marketing-app .public-docs-layout { grid-template-columns:minmax(0,1fr); gap:0; }
  .marketing-app .public-docs-sidebar { display:none; }
  .marketing-app .public-docs-menu { display:block; margin:16px 0 0; padding:0; border-bottom:1px solid var(--border); }
  .marketing-app .public-docs-menu > summary { display:flex; align-items:center; justify-content:space-between; min-height:48px; color:var(--text); font-size:14px; font-weight:500; cursor:pointer; list-style:none; }
  .marketing-app .public-docs-menu > summary::-webkit-details-marker { display:none; }
  .marketing-app .public-docs-menu > summary .icon { width:16px; height:16px; }
  .marketing-app .public-docs-menu[open] > summary .icon { transform:rotate(180deg); }
  .marketing-app .public-docs-menu .public-topic-nav { padding:16px 0 24px; }
  .marketing-app .public-docs-menu .public-topic-nav li a { min-height:44px; display:flex; align-items:center; font-size:14px; }
  .marketing-app .public-docs-menu > summary:focus-visible { outline:3px solid var(--accent-text); outline-offset:4px; }
}

.marketing-app .seo-cta .snapshot-form { width:100%; max-width:400px; text-align:left; }
.snapshot-form label {
  display:block;
  margin-bottom:8px;
  color:#4f5d70;
  font-size:14px;
  font-weight:500;
}
.snapshot-field {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
}
.snapshot-field input {
  min-width:0;
  flex:1;
  width:100%;
  height:48px;
  padding:0 14px;
  border:1px solid #8b9ab0;
  border-radius:8px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-size:16px;
}
.snapshot-field input:focus-visible { outline:3px solid var(--accent-text); outline-offset:3px; }
.snapshot-field input[aria-invalid="true"] { border-color:#b42318; }
.snapshot-field .button {
  min-height:48px;
  justify-self:center;
  width:auto;
  white-space:nowrap;
}
.snapshot-field .button .icon { width:18px; height:18px; flex-shrink:0; }
.marketing-app .seo-cta .snapshot-form small { display:block; text-align:center; }
.marketing-app .seo-cta .snapshot-form .snapshot-error { margin:12px 0 0; color:#b42318; font-size:14px; line-height:1.5; }

@media(max-width:1100px) {
  .marketing-app .header-content .public-nav { gap:16px; }
}
@media(max-width:1000px) {
  .marketing-app .header-content { grid-template-columns:minmax(0,1fr) auto auto; }
  .marketing-app .info-header,
  .marketing-app .header-content { position:relative; }
  .marketing-app .info-header .public-nav > a,
  .marketing-app .header-content .public-nav > a { display:none; }
  .marketing-app .mega-nav { position:static; }
  .marketing-app .public-mobile-menu { display:block; }
  .marketing-app .features-mega { display:none; }
  .marketing-app .mega-panel { top:calc(100% + 4px); left:auto; right:0; width:min(320px,100%); transform:none; max-height:calc(100dvh - 108px); overflow:auto; padding:8px; }
}
@media(max-width:600px) {
  .visual-states { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
  .checker-lines { grid-template-columns:1fr 1fr; }
}
@media(max-width:760px) {
  .marketing-app .info-header,
  .marketing-app .header-content { gap:16px; width:calc(100% - 40px); min-height:72px; }
  .marketing-app .info-header .wordmark img,
  .marketing-app .header-content .wordmark img { width:128px; }
  .marketing-app .header-content .header-actions { display:flex; }
  .marketing-app .header-content .public-nav { display:flex; margin-right:0; }
  .marketing-app .category-page .category-hero { padding:24px 0 40px; }
  .marketing-app .category-page .category-hero h1 { font-size:clamp(36px,9vw,48px); margin:12px 0 18px; }
  .marketing-app .category-hero-copy > p { font-size:16px; line-height:1.65; }
  .marketing-app .category-how-link { margin-top:8px; }
  .marketing-app .category-outcomes,
  .marketing-app .category-steps { grid-template-columns:1fr; gap:24px; }
  .marketing-app .category-copy .info-section { padding:32px 0; }
  .visual-engine-grid,.visual-evidence { grid-template-columns:1fr; }
  .visual-question,.evidence-checks { grid-column:1; }
  .visual-visibility { grid-template-columns:1fr; gap:10px; }
  .visual-arrow { transform:rotate(90deg); justify-self:center; }
  .visual-citations { grid-template-columns:1fr; }
  .share-row { grid-template-columns:86px 1fr; }
  .share-row small { grid-column:2; }
  .visual-loop { grid-template-columns:1fr; justify-items:center; }
  .visual-loop b { transform:rotate(90deg); }
  .visual-compare { grid-template-columns:94px 1fr 1fr; overflow:auto; }
  .visual-compare span,.visual-compare small { min-width:145px; padding:12px; }
  .visual-compare small { min-width:94px; }
  .marketing-app .seo-article .category-related { margin-top:48px; }
  .marketing-app .category-related .seo-link-grid { grid-template-columns:1fr; gap:16px; }
  .marketing-app .public-docs-layout { width:calc(100% - 40px); }
}
@media(max-width:520px) {
  .marketing-app .header-content { gap:8px; }
  .marketing-app .header-content .wordmark img { width:112px; }
  .marketing-app .header-content .header-actions .button { padding:10px 12px; font-size:11px; }
  .marketing-app .header-content .header-actions .button .icon { display:none; }
  .visual-states { gap:28px 24px; }
  .visual-states strong { font-size:16px; overflow-wrap:anywhere; }
  .visual-states small { font-size:13px; }
  .visual-states .state-counts { font-size:12px; }
  .checker-lines { grid-template-columns:1fr; }
  .citation-answer,
  .source-stack { padding:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .marketing-app .mega-chevron,
  .marketing-app .features-mega > summary .mega-chevron,
  .category-faq summary .faq-toggle { transition:none; }
}
