/*
 * HGM — shared enterprise editorial framework
 * Adapted from the user-provided platform reference; content, URLs, forms,
 * consent language, structured data, and identity assets remain unchanged.
 */

:root {
  color-scheme: light;
  --ink: #0a1628;
  --night: #14233a;
  --overlay: #071220;
  --paper: #f7f8fa;
  --paper-2: #eef1f6;
  --paper-warm: #ffffff;
  --paper-dim: rgba(247,248,250,.82);
  --paper-faint: rgba(247,248,250,.62);
  --paper-ghost: rgba(247,248,250,.42);
  --gold: #d99413;
  --gold-deep: #a8730a;
  --gold-hover: #e5aa35;
  --gold-ink: #674706;
  --gold-soft: rgba(217,148,19,.09);
  --gold-soft-line: rgba(217,148,19,.28);
  --amber: #d99413;
  --amber-bright: #e5aa35;
  --success: #0f7b4f;
  --danger: #b42318;
  --link-gold: #007a99;
  --signal: #007a99;
  --signal-bright: #00a8cc;
  --signal-soft: rgba(0,122,153,.08);
  --muted: #4a5876;
  --kicker-gray: #66758f;
  --nav-link: #30415c;
  --card-meta: #6b7a99;
  --line: #d8dee9;
  --line-strong: #b6c0d0;
  --line-dark: rgba(232,237,245,.16);
  --on-gold-deep: #5d4106;
  --on-gold: #694b0a;
  --on-gold-label: #00708d;
  --focus: #007a99;
  --focus-on-dark: #55d3ed;
  --on-dark-surface: #f7f8fa;
  --on-dark-muted: #d1d8e3;
  --on-dark-subtle: #aab7ca;
  --sans: "Inter Tight", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --display: "Inter Tight", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --gutter: clamp(20px, 4vw, 64px);
  --section-pad: clamp(64px, 7.4vw, 112px) max(4vw, calc((100vw - 1320px) / 2));
  --section-pad-mobile: 68px 20px;
  --h-display-lg: clamp(48px, 7.2vw, 96px);
  --h-display-md: clamp(38px, 5vw, 68px);
  --h-display-sm: clamp(30px, 3.5vw, 48px);
  --tracking-display: -.045em;
  --label-size: 10px;
  --label-tracking: .11em;
  --shadow-card: 0 8px 24px rgba(10,22,40,.045);
  --shadow-elevated: 0 18px 44px rgba(10,22,40,.12);
  --shadow-dark: 0 16px 44px rgba(0,0,0,.34);
  --shadow-cookie: 0 18px 48px rgba(10,22,40,.16);
  --shadow-panel: 0 22px 60px rgba(10,22,40,.18);
  --ease: cubic-bezier(.2,.7,.2,1);
  --t-fast: .18s;
  --t-med: .28s;
  --t-slow: .42s;
  --radius-pill: 0;
  --radius-card: 0;
  --z-cookie: 20;
  --z-drawer: 90;
  --z-a11y-tab: 40;
  --z-mega: 100;
  --z-graph: 110;
  --z-a11y-panel: 120;
  --z-skip: 130;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #e8edf5;
  --night: #0f1f35;
  --overlay: #071220;
  --paper: #0a1628;
  --paper-2: #0f1f35;
  --paper-warm: #10213a;
  --paper-dim: rgba(232,237,245,.82);
  --paper-faint: rgba(232,237,245,.62);
  --paper-ghost: rgba(232,237,245,.42);
  --gold: #e1a83e;
  --gold-deep: #a8730a;
  --gold-hover: #f0bd55;
  --gold-ink: #f0c66e;
  --gold-soft: rgba(225,168,62,.12);
  --gold-soft-line: rgba(225,168,62,.3);
  --amber: #e1a83e;
  --amber-bright: #f0bd55;
  --success: #35c48a;
  --danger: #f97066;
  --link-gold: #42c7e4;
  --signal: #42c7e4;
  --signal-bright: #71dcf3;
  --signal-soft: rgba(66,199,228,.1);
  --muted: #a1b0c6;
  --kicker-gray: #92a3bd;
  --nav-link: #d1d9e5;
  --card-meta: #93a5bf;
  --line: #233653;
  --line-strong: #3a4c67;
  --line-dark: rgba(232,237,245,.16);
  --on-gold-deep: #f0c66e;
  --on-gold: #f0c66e;
  --on-gold-label: #71dcf3;
  --focus: #71dcf3;
  --focus-on-dark: #71dcf3;
  --shadow-card: 0 8px 24px rgba(0,0,0,.18);
  --shadow-elevated: 0 18px 44px rgba(0,0,0,.32);
  --shadow-cookie: 0 18px 48px rgba(0,0,0,.4);
}

* { box-sizing: border-box; }
html { scroll-padding-top: 92px; background: var(--paper); }
body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
button, input, textarea, select { font-family: var(--sans); }
::selection { background: var(--signal-bright); color: #071220; }
:focus-visible { outline: 2px solid var(--focus) !important; outline-offset: 3px !important; }
a { text-underline-offset: .22em; }
a:hover { color: var(--signal); }
:where(h1,h2,h3,h4,h5,h6) {
  color: var(--ink);
  font-family: var(--display);
  font-style: normal;
  font-weight: 600;
  letter-spacing: -.035em;
  text-wrap: balance;
}
h1 { font-size: clamp(44px, 6.5vw, 88px); line-height: 1.02; }
h2 { font-size: clamp(36px, 4.8vw, 66px); line-height: 1.04; }
h3 { font-size: clamp(22px, 2.5vw, 32px); line-height: 1.12; }
h1 em, h2 em, h3 em, h4 em, .serif-em {
  color: var(--signal);
  font-family: var(--display) !important;
  font-style: normal !important;
  font-weight: inherit;
}
:where(p,li) { text-wrap: pretty; }
.eyebrow, .section-kicker, .section-index, .card-label, .intel-label,
.footer-heading, .copyright, .legal-links, .reviews-label, .case-kicker,
.data-table th, .spec-table dt, .field label, .t-when {
  font-family: var(--mono) !important;
}

/* A restrained native scroll signal and cross-document transition. */
body:not(.page-home)::before {
  content: "";
  position: fixed;
  z-index: 130;
  inset: 0 auto auto 0;
  width: 100%;
  height: 2px;
  background: var(--signal-bright);
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}
@supports (animation-timeline: scroll()) {
  body:not(.page-home)::before { animation: hgm-scroll-progress linear both; animation-timeline: scroll(root block); }
}
@keyframes hgm-scroll-progress { to { transform: scaleX(1); } }
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: hgm-page-out .16s ease both; }
::view-transition-new(root) { animation: hgm-page-in .24s ease both; }
@keyframes hgm-page-out { to { opacity: 0; } }
@keyframes hgm-page-in { from { opacity: 0; } to { opacity: 1; } }

/* Keep the first-screen conversion path visible almost immediately. */
.hero-copy > * { animation-duration: .52s; }
.hero-copy .eyebrow { animation-delay: .04s; }
.hero-copy h1 { animation-delay: .08s; }
.hero-copy .hero-tagline, .hero-copy .hero-proof { animation-delay: .14s; }
.hero-copy .hero-actions { animation-delay: .2s; }

/* Conversion-first sticky chrome: one clear primary action, quieter utilities. */
.topbar, .topbar--page {
  position: sticky;
  z-index: 80;
  top: 0;
  min-height: 72px;
  height: 72px;
  gap: clamp(18px, 2.4vw, 36px);
  padding-inline: max(4vw, calc((100vw - 1320px) / 2));
  border: 0;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--paper) 96%, transparent);
  color: var(--ink);
  box-shadow: none;
  backdrop-filter: blur(16px);
}
.wordmark { flex: none; }
.wordmark__img { display: block; width: auto; height: 30px; filter: brightness(0); }
:root[data-theme="dark"] .wordmark__img { filter: brightness(0) invert(1); }
.desktop-nav { gap: clamp(15px, 2vw, 30px); }
.desktop-nav a, .desktop-nav button {
  border: 0;
  padding: 8px 0;
  background: transparent;
  color: var(--nav-link);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
.desktop-nav a:hover, .desktop-nav button:hover { color: var(--signal); }
.desktop-nav small { color: var(--signal); font-family: var(--mono); }
.nav-actions { gap: 10px; }
.menu-button {
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid var(--line-strong, #b6c0d0);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  transition: color var(--t-fast), border-color var(--t-fast), background var(--t-fast);
}
.menu-button:hover, .menu-button[data-action="graph"]:hover {
  transform: none;
  border-color: var(--signal);
  background: var(--signal-soft);
  color: var(--signal);
  box-shadow: none;
}
.menu-button[data-action="graph"] {
  min-height: 40px;
  padding: 9px 10px;
  border-color: transparent;
  background: transparent;
  color: var(--nav-link);
  box-shadow: none;
  font-size: 13px;
  font-weight: 500;
}
.menu-button[data-action="graph"] .menu-bars { display: none; }
.booking-button, .hero-cta, .dark-cta, .light-cta, .product-cta, .mobile-drawer__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 12px 18px;
  border: 1px solid var(--signal);
  border-radius: 0;
  background: var(--signal);
  color: #fff;
  box-shadow: none;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
  white-space: nowrap;
  transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast), transform var(--t-fast);
}
.booking-button:hover, .hero-cta:hover, .dark-cta:hover, .light-cta:hover, .product-cta:hover, .mobile-drawer__cta:hover {
  transform: none;
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
  box-shadow: none;
}
.dark-cta { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.dark-cta:hover { background: var(--night); border-color: var(--night); color: var(--paper); }
.text-link { color: var(--signal); font-family: var(--sans); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.text-link:hover { color: var(--ink); }

/* Editorial page framing and durable section rhythm. */
.page-hero {
  padding: clamp(68px, 8.4vw, 124px) max(4vw, calc((100vw - 1320px) / 2));
  background: var(--paper);
  color: var(--ink);
}
.page-hero .eyebrow { margin-bottom: 22px; color: var(--signal); font-size: 10px; letter-spacing: .12em; }
.page-hero h1 { max-width: 16ch; margin: 0; font-size: clamp(48px, 7vw, 90px); line-height: 1.01; }
.page-hero .lede { max-width: 62ch; margin-top: 24px; color: var(--muted); font-size: clamp(16px, 1.45vw, 19px); line-height: 1.62; }
.page-hero .hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 28px; }
.page-section, .services-section, .resources-section, .compare-section, .who-section,
.assessment-section, .metrics-section, .schema-section, .process-section, .integrations-section,
.faq-section, .proof-section, .contact-strip { scroll-margin-top: 88px; }
.page-section { padding: var(--section-pad); background: var(--paper); color: var(--ink); }
.page-section--dark { background: var(--night); color: var(--on-dark-surface); }
.page-section--dark :where(h1,h2,h3,h4,h5,h6) { color: var(--on-dark-surface); }
.page-section--dark .section-kicker, .page-section--dark .card-label { color: var(--signal-bright); }
.page-section--dark p, .page-section--dark li { color: var(--on-dark-muted); }
.section-intro { gap: 24px; margin-bottom: clamp(36px, 5vw, 72px); }
.section-kicker, .section-index { font-size: 10px; letter-spacing: .12em; line-height: 1.5; }
.section-kicker { color: var(--signal); }
.section-index { color: var(--card-meta); }
.lede { max-width: 58ch; color: var(--muted); line-height: 1.62; }

/* Reusable service, profile, proof, and resource modules. */
.services-head { gap: clamp(30px, 6vw, 84px); margin-bottom: clamp(40px, 5.5vw, 76px); }
.services-head > p { color: var(--muted); font-size: 16px; line-height: 1.65; }
.services-grid, .who-grid, .resources-grid { border-color: var(--line); }
.service-card, .who-card, .resource-card, .quote-card, .case-card, .assessment-card,
.form-block, .score-item, .graph-card, .mega-menu__quicklink {
  border-radius: 0 !important;
  box-shadow: none;
}
.service-card, .resource-card, .who-card { border-color: var(--line); }
.service-card { container-type: inline-size; background: transparent; transition: background var(--t-med), border-color var(--t-med), color var(--t-med); }
.service-card > span, .service-card .card-label, .who-card .card-label, .resource-card .card-label { color: var(--signal); }
.service-card h3, .who-card h3, .resource-card h3 { color: var(--ink); font-family: var(--display); font-weight: 600; letter-spacing: -.03em; }
.service-card p, .who-card p:not(.card-label), .resource-card > p:not(.card-label) { color: var(--muted); }
.service-card a, .resource-card a { color: var(--signal); }
.service-card a:hover, .resource-card a:hover { color: var(--ink); }
.service-card:hover, .who-card:hover, .resource-card:hover { background: var(--signal-soft); box-shadow: none; }
@container (max-width: 320px) {
  .service-card h3 { font-size: 22px; }
  .service-card p { font-size: 14px; }
}
.who-grid, .resources-grid { border-top: 1px solid var(--line-strong); }
.who-card, .resource-card { transition: background var(--t-med), transform var(--t-med); }
.resource-card:hover, .who-card:hover { transform: none; }
.compare-table { border-color: var(--line-strong); color: var(--ink); }
.compare-table th, .compare-table td { border-color: var(--line); }
.compare-table thead th { color: var(--card-meta); }
.compare-table tbody td:first-child { color: var(--card-meta); }
.compare-table .col-hgm { background: var(--signal-soft); color: var(--ink); }
.compare-table thead .col-hgm { color: var(--signal); }
.compare-table .col-rented { color: var(--muted); }
.spec-table, .spec-row { border-color: var(--line); }
.spec-table dt, .spec-row dt { color: var(--signal); }
.spec-table dd, .spec-row dd { color: var(--ink); }

/* Search/AI application panels use cool surfaces; signal color stays local. */
.intel-section { background: var(--paper-2, #eef1f6); color: var(--ink); border-block: 1px solid var(--line); }
.intel-section h2 { color: var(--ink); }
.intel-section h2 em, .intel-section .section-kicker, .intel-section .intel-label { color: var(--signal); }
.intel-section .lede, .intel-section .feature-list p { color: var(--muted); }
.intel-section .feature-list p span { color: var(--signal); }
.proof-section { background: var(--night); color: var(--on-dark-surface); }
.proof-section :where(h1,h2,h3,h4,h5,h6) { color: var(--on-dark-surface); }
.proof-section .section-kicker, .proof-section .proof-note, .proof-section cite { color: var(--signal-bright); }
.proof-section .lede, .proof-section blockquote { color: var(--on-dark-muted); }
.proof-section h2 em { color: var(--signal-bright); }

/* Forms and long-form content: legible, calm, and conversion-ready. */
.article-body { color: var(--muted); }
.article-body :where(p,li) { color: var(--muted); line-height: 1.72; }
.article-body :where(h2,h3,h4) { color: var(--ink); font-family: var(--display); font-style: normal; }
.article-body a, .article-body a.inline { color: var(--signal); }
.article-body a:hover { color: var(--ink); }
.article-body ul li::before { color: var(--signal); }
.article-body input, .article-body textarea, .article-body select,
.contact-form input, .contact-form textarea, .contact-form select,
.field input, .field textarea, .field select {
  border: 1px solid var(--line-strong);
  border-radius: 0 !important;
  background: var(--paper-warm);
  color: var(--ink);
  font-family: var(--sans) !important;
  font-size: 15px;
  box-shadow: none;
}
.article-body input:focus, .article-body textarea:focus, .article-body select:focus,
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus,
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--signal); outline: 2px solid var(--signal-soft); outline-offset: 1px; }
.article-body label, .contact-form label, .field label { color: var(--card-meta); font-family: var(--mono) !important; }
.form-block { border: 1px solid var(--line-strong); background: var(--paper-warm); }
.form-intro h2, .form-intro .lede { color: var(--ink); }
.form-intro h2 em, .field label, .form-status, .case-kicker { color: var(--signal); }
.form-submit, .contact-form button[type="submit"], .article-body button[type="submit"], .article-body input[type="submit"] {
  min-height: 46px;
  padding: 13px 20px;
  border: 1px solid var(--signal);
  border-radius: 0 !important;
  background: var(--signal);
  color: #fff;
  font-family: var(--sans) !important;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: none;
}
.form-submit:hover, .contact-form button[type="submit"]:hover, .article-body button[type="submit"]:hover { background: var(--ink); border-color: var(--ink); transform: none; }
.data-table { border-collapse: collapse; }
.data-table th { color: var(--signal); border-color: var(--line-strong); }
.data-table td { color: var(--muted); border-color: var(--line); }
pre.terminal { border: 1px solid var(--line-strong); border-radius: 0 !important; background: #0a1628; color: #d4dfef; }
pre.terminal strong { color: #e1a83e; }
.case-card { border: 1px solid var(--line); background: var(--paper-warm); }
.case-card p { color: var(--muted); }
.case-card .result, .score-item .number { color: var(--amber, #d99413); }
.score-item { border: 1px solid var(--gold-soft-line); background: var(--gold-soft); }

/* Native disclosure remains simple, visible, and keyboard-friendly. */
.faq-section { background: var(--paper); color: var(--ink); }
.faq-main details { border-color: var(--line); }
.faq-main details::before { background: var(--signal); border-radius: 0; }
.faq-main details:hover, .faq-main details[open] { background: var(--signal-soft); }
.faq-main summary { color: var(--ink); font-family: var(--display); font-weight: 600; }
.faq-main summary:hover, .faq-main details:hover summary span, .faq-main details[open] summary span { color: var(--signal); }
.faq-main .faq-a p { color: var(--muted); }
.contact-strip { background: var(--night); color: var(--on-dark-surface); }
.contact-strip :where(h1,h2,h3) { color: inherit; }
.contact-strip .section-kicker { color: var(--signal-bright); }
.contact-strip h2 em { color: var(--signal-bright); }
.contact-strip > a { border-color: var(--signal-bright); color: var(--signal-bright); }
.contact-strip > a:hover { border-color: var(--paper); color: var(--paper); }

/* Shared menu overlays: categories + direct next steps, not a dead-end sitemap. */
.mobile-drawer {
  z-index: var(--z-drawer);
  width: min(100vw, 560px);
  max-width: 100vw;
  background: var(--paper);
  color: var(--ink);
  border-right: 1px solid var(--line);
}
.mobile-drawer__top { border-color: var(--line); }
.mobile-drawer__close { color: var(--ink); font-family: var(--sans); letter-spacing: 0; text-transform: none; }
.mobile-drawer nav { padding-block: 24px; }
.mobile-drawer nav a, .mobile-drawer nav button {
  border-color: var(--line);
  color: var(--ink);
  font-family: var(--display);
  font-size: 20px;
  font-weight: 550;
  letter-spacing: -.025em;
}
.mobile-drawer nav a:hover, .mobile-drawer nav button:hover { color: var(--signal); transform: translateX(3px); }
.mobile-drawer nav small { color: var(--signal); font-family: var(--mono); font-size: 12px; }
.mobile-drawer__shortcuts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 8px var(--gutter) 16px;
  border-top: 1px solid var(--line);
}
.mobile-drawer__quick-label {
  grid-column: 1 / -1;
  margin: 15px 0 4px;
  color: var(--card-meta);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.mobile-drawer__shortcuts a {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 8px 9px 0;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
}
.mobile-drawer__shortcuts a:hover { color: var(--signal); }
.mobile-drawer__cta { margin: auto var(--gutter) var(--gutter); }
.mega-menu, .graph-menu {
  z-index: var(--z-graph);
  overflow-y: auto;
  background: var(--paper);
  color: var(--ink);
  box-shadow: none;
}
.mega-menu { padding: 30px max(4vw, calc((100vw - 1320px) / 2)) 56px; }
.mega-menu__top, .graph-menu__top { border-color: var(--line-strong); }
.mega-menu__top .section-kicker, .mega-menu__heading, .graph-menu__top .section-kicker { color: var(--signal); }
.mega-menu__secondary {
  display: grid;
  grid-template-columns: minmax(190px,.62fr) minmax(0,1.5fr);
  align-items: end;
  gap: clamp(24px,5vw,72px);
  padding-top: clamp(24px,3vw,42px);
}
.mega-menu__intro { max-width: 36ch; margin: 9px 0 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.mega-menu__quicklinks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.mega-menu__quicklink {
  display: flex;
  min-height: 84px;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--line-strong);
  background: var(--paper-warm);
  color: var(--ink);
  transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast);
}
.mega-menu__quicklink:hover { border-color: var(--signal); background: var(--signal-soft); color: var(--ink); }
.mega-menu__quicklink small { color: var(--card-meta); font-family: var(--mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.mega-menu__quicklink strong { display: flex; justify-content: space-between; gap: 8px; color: var(--ink); font-family: var(--sans); font-size: 14px; font-weight: 600; line-height: 1.35; }
.mega-menu__grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(22px,4vw,58px); padding-top: clamp(28px,4vw,56px); }
.mega-menu__grid a { border-color: var(--line); color: var(--muted); font-size: 15px; }
.mega-menu__grid a:hover { color: var(--signal); }
.modal-close { border: 1px solid var(--line-strong); padding: 9px 12px; color: var(--ink); font-family: var(--sans); font-size: 13px; letter-spacing: 0; text-transform: none; }
.modal-close:hover { border-color: var(--signal); color: var(--signal); opacity: 1; }
.graph-menu { padding: 30px max(4vw, calc((100vw - 1320px) / 2)) 56px; }
.graph-menu__top h2 { color: var(--ink); font-family: var(--display); font-weight: 650; }
.graph-menu__intro, .graph-card p { color: var(--muted); }
.graph-menu__footer { border-color: var(--line); color: var(--card-meta); }
.graph-menu__footer a, .graph-card { color: var(--ink); }
.graph-card { border: 1px solid var(--line); background: var(--paper-warm); box-shadow: none; }
.graph-card:hover { border-color: var(--signal); background: var(--signal-soft); box-shadow: none; }
.graph-card h3 { color: var(--ink); font-family: var(--display); }
.graph-card__number, .graph-card__visual { color: var(--signal); }
.graph-card__visual { background: var(--paper); }
.graph-card__flag { color: var(--amber, #d99413); }

/* Consent is a quiet, legible utility; persistence remains handled by the existing key. */
.cookie-bar {
  width: min(560px, calc(100% - 40px));
  padding: 14px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 0 !important;
  background: var(--paper-warm);
  color: var(--ink);
  box-shadow: var(--shadow-cookie);
  backdrop-filter: blur(12px);
}
.cookie-copy .cookie-label { color: var(--card-meta); font-family: var(--mono); font-size: 10px; letter-spacing: .12em; }
.cookie-copy p:not(.cookie-label) { color: var(--muted); font-family: var(--sans); font-size: 12px; line-height: 1.45; }
.cookie-bar a { color: var(--signal); }
.cookie-bar button { border-radius: 0 !important; background: var(--signal); color: #fff; font-family: var(--sans); font-size: 13px; font-weight: 600; }
.cookie-bar button:hover { background: var(--ink); }

.site-footer {
  padding: clamp(56px, 6vw, 88px) max(4vw, calc((100vw - 1320px) / 2)) 24px;
  background: var(--overlay);
  color: var(--on-dark-surface);
}
.site-footer .wordmark__img { filter: brightness(0) invert(1); }
.site-footer .footer-main { padding-bottom: clamp(48px, 5vw, 72px); }
.site-footer .footer-signup h3 { color: var(--on-dark-surface); }
.site-footer .footer-heading { color: var(--signal-bright); }
.site-footer .footer-brand p, .site-footer .footer-caption { color: var(--on-dark-muted); }
.site-footer .footer-links a, .site-footer .legal-links a { color: var(--on-dark-muted); }
.site-footer .footer-links a:hover, .site-footer .legal-links a:hover { color: var(--signal-bright); }
.site-footer input { border-radius: 0 !important; border-color: var(--line-dark); background: transparent; color: var(--on-dark-surface); }
.site-footer input::placeholder { color: var(--on-dark-subtle); opacity: 1; }
.site-footer .copyright { color: var(--on-dark-subtle); }
.site-footer form button { border-radius: 0 !important; background: var(--signal); color: #fff; }
.site-footer .footer-bottom { border-color: var(--line-dark); }

/* Progressive enhancement: browser-native scroll timeline and view transitions. */
@media (max-width: 1024px) {
  .services-head { grid-template-columns: 1fr; gap: 26px; }
  .mega-menu__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 72px; }
  .topbar, .topbar--page { min-height: 62px; height: 62px; padding-inline: 16px; gap: 8px; }
  .desktop-nav { display: none; }
  .nav-actions { margin-left: auto; gap: 6px; }
  .mobile-toggle { display: inline-flex; min-height: 40px; padding: 8px 10px; }
  .mobile-drawer, .page-home .mobile-drawer { width: 100vw; max-width: 100vw; }
  .menu-button[data-action="graph"] { display: none; }
  .booking-button { min-height: 40px; padding: 9px 11px; font-size: 11px; }
  .page-hero { padding: 58px 20px 68px; }
  .page-hero h1 { font-size: clamp(42px, 11vw, 58px); }
  .page-hero .lede { font-size: 16px; }
  .page-hero .hero-actions { align-items: flex-start; flex-direction: column; gap: 10px; }
  .page-section, .services-section, .resources-section, .compare-section, .who-section,
  .assessment-section, .metrics-section, .schema-section, .process-section, .integrations-section,
  .faq-section, .proof-section, .contact-strip { padding: var(--section-pad-mobile); }
  .mega-menu, .graph-menu { padding: 22px 20px 36px; }
  .mega-menu__secondary { grid-template-columns: 1fr; gap: 20px; }
  .mega-menu__quicklinks { grid-template-columns: 1fr; gap: 8px; }
  .mega-menu__quicklink { min-height: 64px; }
  .mega-menu__grid { grid-template-columns: 1fr 1fr; gap: 28px 18px; padding-top: 30px; }
  .mega-menu__grid a { font-size: 13px; }
  .graph-menu__grid { grid-template-columns: 1fr; }
  .graph-menu__top { gap: 16px; }
  .graph-menu__top h2 { font-size: 42px; }
  .cookie-bar { bottom: 12px; width: calc(100% - 28px); gap: 10px; padding: 10px 12px; }
  .cookie-copy p:not(.cookie-label) { font-size: 11px; }
  .cookie-bar button { width: auto; flex: none; padding: 9px 11px; font-size: 11px; }
  .compare-table { font-size: 12px; }
  .compare-table th, .compare-table td { padding: 12px 8px; }
  .contact-strip { align-items: flex-start; }
  .site-footer { padding: 56px 20px 22px; }
  .site-footer .footer-main { padding-bottom: 48px; }
}
@media (max-width: 360px) {
  .topbar, .topbar--page { padding-inline: 12px; }
  .booking-button { padding-inline: 8px; font-size: 10px; }
  .menu-button { padding-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.page-home)::before { animation: none !important; transform: none; }
  ::view-transition-old(root), ::view-transition-new(root) { animation-duration: .01ms !important; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
