/* AlphaQuants public visual system. Keep route CSS structural; keep visual decisions here. */

:where(.site-backdrop) {
  background: var(--aq-bg);
}

:where(.site-backdrop)::after {
  opacity: 0.32;
  background-image: linear-gradient(90deg, transparent 0 49.95%, color-mix(in srgb, var(--aq-accent) 8%, transparent) 50%, transparent 50.05%);
  background-size: 100% 100%;
}

:where(body, main, .section-pad, .section-pad-sm) {
  background-color: var(--aq-bg);
}

:where(.site-header) {
  border-bottom-color: var(--aq-border);
  color: var(--aq-text);
  background: var(--aq-header-bg);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--aq-text) 4%, transparent);
}

:where(.site-header.is-scrolled) {
  background: var(--aq-header-bg-scrolled);
  box-shadow: 0 10px 30px color-mix(in srgb, var(--aq-text) 10%, transparent);
}

:where(.desktop-nav a, .desktop-nav .nav-resources > summary) { color: var(--aq-muted); }
:where(.desktop-nav a:hover, .desktop-nav .nav-resources > summary:hover) { color: var(--aq-text); }
:where(.desktop-nav a[aria-current="page"], .desktop-nav .nav-resources[open] > summary) { color: var(--aq-accent); }
:where(.desktop-nav .nav-resources-panel, .mobile-nav) {
  border-color: var(--aq-border);
  color: var(--aq-text);
  background: var(--aq-surface);
  box-shadow: var(--aq-shadow-float);
}
:where(.desktop-nav .nav-resources-panel a:hover) { background: var(--aq-mist); }

:where(.brand-logo-light, .brand-logo-dark) { width: 100%; height: auto; }
.brand-logo-dark { display: none; }
html[data-theme="dark"] .brand-logo-light { display: none; }
html[data-theme="dark"] .brand-logo-dark { display: block; }

:where(.language-switch, .menu-toggle, .theme-toggle) {
  border-color: var(--aq-border);
  color: var(--aq-text);
  background: var(--aq-surface);
}
:where(.language-switch a) { color: var(--aq-muted); }
:where(.language-switch a[aria-current="page"]) { color: var(--aq-accent-ink); background: var(--aq-accent); }
:where(.language-switch a:hover) { color: var(--aq-text); }

.theme-toggle {
  width: 44px;
  min-width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--aq-border);
  border-radius: var(--aq-control-radius);
  color: var(--aq-text);
  background: var(--aq-surface);
  cursor: pointer;
  transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.theme-toggle[data-theme-toggle] { touch-action: manipulation; }
.theme-toggle:hover { border-color: var(--aq-border-strong); color: var(--aq-accent); transform: translateY(-1px); }
.theme-toggle-icon { font-size: 19px; line-height: 1; }
.theme-toggle-mobile { display: none; }

:where(.button) { border-radius: var(--aq-control-radius); }
:where(.button-primary) {
  color: var(--aq-accent-ink);
  background: var(--aq-accent);
  box-shadow: var(--aq-shadow-button);
}
:where(.button-primary:hover) { color: var(--aq-accent-ink); background: var(--aq-accent-hover); }
:where(.button-secondary) {
  border-color: var(--aq-border-strong);
  color: var(--aq-text);
  background: var(--aq-surface);
}
:where(.button-secondary:hover) { background: var(--aq-mist); }
:where(.button-light) {
  color: var(--aq-accent-ink);
  background: var(--aq-accent);
}
:where(.button-light:hover) { color: var(--aq-accent-ink); background: var(--aq-accent-hover); }
:where(.skip-link) { color: var(--aq-accent-ink); background: var(--aq-accent); }

:where(.eyebrow, .section-kicker) { color: var(--aq-accent); }
:where(h1, h2, h3, h4, p, li, dt, dd, summary, label) { text-shadow: none; }
:where(h1, h2, h3, h4) { color: var(--aq-text); }
:where(p, li, dt, dd) { color: var(--aq-text-soft); }
:where(.page-lead, .hero-lead) { color: var(--aq-text-soft); }
:where(.text-link, .hero-secondary-link, .free-tool-link, .legal-document a) { color: var(--aq-accent); }
:where(.text-link:hover, .hero-secondary-link:hover, .free-tool-link:hover, .legal-document a:hover) { color: var(--aq-accent-hover); }

/* One section rhythm: plain canvas, pale blue, pale mint, and a strong chapter
   that stays light in light mode and becomes navy only in dark mode. */
:where(.home-hero, .hero-section, .page-hero, .home-benefits, .home-resources, .home-final-cta, .home-faq) {
  border-color: var(--aq-border);
  background: var(--aq-bg);
}
:where(.home-workflow, .muted-section, .news-feed-section, .market-intelligence-section, .home-reassurance) {
  border-color: var(--aq-border);
  background: var(--aq-mist);
}
:where(.home-reassurance) { background: var(--aq-mint-soft); }
:where(.home-product-proof, .news-hero, .boundaries-section) {
  color: var(--aq-strong-text);
  background: var(--aq-strong-bg);
}
:where(.home-product-proof h2, .news-hero h1, .news-hero h2, .news-hero h3, .boundaries-section h2, .boundaries-section h3) { color: var(--aq-strong-text); }
:where(.home-product-proof p, .news-hero .page-lead, .boundaries-section p) { color: var(--aq-strong-muted); }
:where(.home-product-proof .section-kicker, .news-hero .eyebrow) { color: var(--aq-strong-accent); }

.page-hero::after,
.page-hero::before,
.hero-section::before,
.home-hero::before,
.news-hero::before { display: none; }

:where(.home-hero-grid, .hero-grid, .home-workflow-grid, .home-benefit-grid, .home-resource-grid, .news-feed-layout, .faq-layout, .legal-layout) {
  position: relative;
}

/* Every information surface uses the same card language. */
:where(.product-screen-frame, .product-evidence-grid article, .home-benefit-grid article, .home-resource-grid article,
  .ecosystem-card, .resource-grid article, .topic-grid article, .free-tool-card, .news-updates-panel,
  .news-context-card, .faq-content, .legal-document, .roadmap-column, .roadmap-note, .latest-episode,
  .podcast-feature, .market-module, .updates-panel) {
  border-radius: var(--aq-card-radius);
  border-color: var(--aq-border);
  box-shadow: var(--aq-shadow-card);
}

:where(.home-benefit-grid article, .home-resource-grid article, .product-evidence-grid article,
  .ecosystem-card, .resource-grid article, .topic-grid article, .free-tool-card, .roadmap-column) {
  background: var(--aq-surface);
}
:where(.home-benefit-grid article:hover, .home-resource-grid article:hover, .resource-grid article:hover,
  .topic-grid article:hover, .free-tool-card:hover, .ecosystem-card:hover) {
  border-color: var(--aq-border-strong);
  background: var(--aq-surface-raised);
}
:where(.product-screen-frame, .hero-live-frame) {
  border-color: var(--aq-border-strong);
  border-radius: var(--aq-card-radius);
  box-shadow: var(--aq-shadow-float);
  background: var(--aq-surface);
}
:where(.product-screen-frame figcaption, .hero-live-frame figcaption) { color: var(--aq-muted); }

:where(.home-reassurance article) { border-color: color-mix(in srgb, var(--aq-accent) 18%, transparent); }
:where(.home-reassurance article > span) { color: var(--aq-positive); background: var(--aq-surface); }
:where(.home-reassurance strong) { color: var(--aq-text); }
:where(.home-reassurance p) { color: var(--aq-muted); }
:where(.home-step-list li) { border-color: var(--aq-border); background: var(--aq-surface); }
:where(.home-step-list li > span) { color: var(--aq-accent); border-color: var(--aq-border-strong); background: var(--aq-mist); }
:where(.home-boundaries-card) { border-color: var(--aq-border-strong); background: var(--aq-surface); box-shadow: var(--aq-shadow-card); }
:where(.home-boundaries-heading) { background: var(--aq-mist); }
:where(.home-boundary-columns article) { background: var(--aq-surface); }
:where(.home-boundary-columns article:last-child) { background: var(--aq-warm-soft); }

/* Route-specific content keeps the same surfaces and controls. */
:where(.podcast-cover-card img) { box-shadow: var(--aq-shadow-card); }
:where(.latest-episode) { border-left-color: var(--aq-coral); background: var(--aq-warm-soft); }
:where(.latest-episode::before) { color: color-mix(in srgb, var(--aq-coral) 24%, transparent); }
:where(.topic-grid) { gap: 16px; border-top: 0; }
:where(.topic-grid article) { border: 1px solid var(--aq-border); min-height: 230px; }
:where(.topic-grid article:nth-child(1)) { background: var(--aq-mint-soft); }
:where(.free-tool-card:first-child) { background: var(--aq-mist); }
:where(.free-tool-card.is-soon) { background: var(--aq-bg-deep); }
:where(.free-tool-badge, .free-tool-tags span, .roadmap-state) { border-color: var(--aq-border); background: var(--aq-surface); }
:where(.faq-search input) {
  border-color: var(--aq-border-strong);
  border-radius: var(--aq-control-radius);
  color: var(--aq-text);
  background: var(--aq-surface);
  box-shadow: var(--aq-shadow-card);
}
:where(.faq-content) { padding: clamp(22px, 4vw, 44px); background: var(--aq-surface); }
:where(.faq-content details[open]) { background: var(--aq-mist); }
:where(.faq-content summary, .home-faq-list summary) { color: var(--aq-text); }
:where(.faq-empty) { border-left-color: var(--aq-coral); border-radius: var(--aq-control-radius); background: var(--aq-warm-soft); }
:where(.roadmap-grid) { gap: 16px; border-top: 0; }
:where(.roadmap-column) { border: 1px solid var(--aq-border); }
:where(.roadmap-column:first-child) { background: var(--aq-mint-soft); }
:where(.roadmap-column:nth-child(2)) { background: var(--aq-mist); }
:where(.roadmap-column:nth-child(3)) { background: var(--aq-surface); }
:where(.roadmap-note) { border-left-color: var(--aq-warning); background: var(--aq-warm-soft); }
:where(.legal-document) { background: var(--aq-surface); box-shadow: var(--aq-shadow-card); }
:where(.legal-toc details, .faq-categories) { border-color: var(--aq-text); }
:where(.faq-categories a, .legal-toc a) { border-color: var(--aq-border); color: var(--aq-muted); }
:where(.faq-categories a:hover, .legal-toc a:hover) { color: var(--aq-accent); }

:where(.news-signal-card) { border-radius: var(--aq-card-radius); border-color: var(--aq-border); background: color-mix(in srgb, var(--aq-on-dark) 8%, transparent); }
:where(.news-updates-panel) { background: var(--aq-surface); }
:where(.news-context-card) { background: var(--aq-mist); }
:where(.news-disclosure) { border-radius: var(--aq-control-radius); background: var(--aq-surface); }
:where(.news-context-list li, .update-card) { border-color: var(--aq-border); }
:where(.market-ticker, .market-module) { border-color: var(--aq-border); background: var(--aq-surface); }
:where(.ticker-item) { border-color: var(--aq-border); }

/* Shared footer and utility states. */
:where(.site-footer) { border-color: var(--aq-border); background: var(--aq-mint-soft); }
:where(.footer-column a, .footer-link-button) { color: var(--aq-muted); }
:where(.footer-column a:hover, .footer-link-button:hover) { color: var(--aq-accent); }
:where(.footer-bottom) { border-color: var(--aq-border); color: var(--aq-muted); }
:where(.mobile-nav a:not(.button), .mobile-nav .nav-resources > summary) { color: var(--aq-text-soft); border-color: var(--aq-border); }
:where(.mobile-nav a:hover, .mobile-nav a[aria-current="page"], .mobile-nav .nav-resources[open] > summary) { color: var(--aq-accent); }
.mobile-nav-theme { display: none; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 4px; border-bottom: 1px solid var(--aq-border); color: var(--aq-muted); font-size: 14px; font-weight: 700; }

/* Chat and consent are part of the same public surface, including dark mode. */
:where(.aq-chat-panel) { border-color: var(--aq-border); border-radius: var(--aq-card-radius); background: var(--aq-surface); box-shadow: var(--aq-shadow-float); }
:where(.aq-chat-header) { border-color: var(--aq-border); background: var(--aq-mist); }
:where(.aq-chat-btn, .aq-chat-suggestion, .aq-chat-send, .aq-chat-input textarea) { border-color: var(--aq-border); color: var(--aq-text); background: var(--aq-surface-raised); }
:where(.aq-chat-msg) { border-color: var(--aq-border); color: var(--aq-text-soft); background: var(--aq-mint-soft); }
:where(.aq-chat-msg.user, .aq-chat-send, .aq-chat-launcher) { color: var(--aq-accent-ink); background: var(--aq-accent); }
:where(.aq-chat-launcher:hover, .aq-chat-send:hover) { color: var(--aq-accent-ink); background: var(--aq-accent-hover); }
:where(.aq-chat-suggestion) { color: var(--aq-accent); background: var(--aq-mist); }
:where(.aq-consent) { border-color: var(--aq-border); background: var(--aq-surface); box-shadow: var(--aq-shadow-float); }
:where(.aq-consent-copy h2, .aq-consent-copy p, .aq-consent-button) { color: var(--aq-text); }
:where(.aq-consent-copy p) { color: var(--aq-text-soft); }
:where(.aq-consent-button) { border-color: var(--aq-border); background: var(--aq-surface-raised); }
:where(.aq-consent-button-primary) { color: var(--aq-accent-ink); background: var(--aq-accent); }

@media (max-width: 1180px) {
  .theme-toggle-desktop { display: inline-grid; }
  .mobile-nav-theme { display: flex; }
  .theme-toggle-mobile { display: inline-grid; }
  .header-actions { gap: 7px; }
}

@media (max-width: 620px) {
  .theme-toggle-desktop { width: 40px; min-width: 40px; height: 40px; }
  .theme-toggle-mobile { width: 42px; min-width: 42px; height: 42px; }
  :where(.topic-grid, .roadmap-grid) { gap: 12px; }
  :where(.faq-content) { padding: 20px 16px; }
  :where(.news-updates-panel, .news-context-card, .free-tool-card, .legal-document) { border-radius: var(--aq-card-radius); }
}

@media (prefers-reduced-motion: reduce) {
  .theme-toggle:hover { transform: none; }
}

/* Specificity guard: legacy route selectors predate this layer, so these shared
   surfaces intentionally win over their older gradients and one-off fills. */
html[data-theme] .hero-section,
html[data-theme] .page-hero,
html[data-theme] .home-benefits,
html[data-theme] .home-resources,
html[data-theme] .home-final-cta,
html[data-theme] .home-faq { background: var(--aq-bg) !important; }
html[data-theme] .home-workflow,
html[data-theme] .muted-section,
html[data-theme] .news-feed-section,
html[data-theme] .market-intelligence-section { background: var(--aq-mist) !important; }
html[data-theme] .home-reassurance { background: var(--aq-mint-soft) !important; }
html[data-theme] .home-product-proof,
html[data-theme] .news-hero,
html[data-theme] .boundaries-section {
  color: var(--aq-strong-text) !important;
  background: var(--aq-strong-bg) !important;
}
html[data-theme] .home-product-proof h2,
html[data-theme] .news-hero h1,
html[data-theme] .news-hero h2,
html[data-theme] .news-hero h3,
html[data-theme] .boundaries-section h2,
html[data-theme] .boundaries-section h3,
html[data-theme] .home-section-heading-dark h2 {
  color: var(--aq-strong-text) !important;
}
html[data-theme] .home-product-proof p,
html[data-theme] .news-hero .page-lead,
html[data-theme] .boundaries-section p,
html[data-theme] .home-section-heading-dark > div > p {
  color: var(--aq-strong-muted) !important;
}
html[data-theme] .home-product-proof .section-kicker,
html[data-theme] .news-hero .eyebrow,
html[data-theme] .home-section-heading-dark .section-kicker {
  color: var(--aq-strong-accent) !important;
}
html[data-theme] .page-hero::before,
html[data-theme] .page-hero::after,
html[data-theme] .hero-section::before,
html[data-theme] .home-hero::before,
html[data-theme] .news-hero::before { display: none !important; }

html[data-theme] .product-evidence-grid article,
html[data-theme] .home-benefit-grid article,
html[data-theme] .home-resource-grid article,
html[data-theme] .ecosystem-card,
html[data-theme] .resource-grid article,
html[data-theme] .topic-grid article,
html[data-theme] .free-tool-card,
html[data-theme] .roadmap-column,
html[data-theme] .news-updates-panel,
html[data-theme] .news-context-card,
html[data-theme] .faq-content,
html[data-theme] .legal-document,
html[data-theme] .latest-episode,
html[data-theme] .podcast-feature,
html[data-theme] .market-module,
html[data-theme] .updates-panel {
  border-radius: var(--aq-card-radius);
  border-color: var(--aq-border);
  box-shadow: var(--aq-shadow-card);
  background: var(--aq-surface) !important;
}
html[data-theme] .topic-grid article:nth-child(1),
html[data-theme] .roadmap-column:first-child,
html[data-theme] .home-boundaries-heading { background: var(--aq-mint-soft) !important; }
html[data-theme] .free-tool-card:first-child,
html[data-theme] .roadmap-column:nth-child(2),
html[data-theme] .news-context-card { background: var(--aq-mist) !important; }
html[data-theme] .free-tool-card.is-soon,
html[data-theme] .roadmap-column:nth-child(3) { background: var(--aq-bg-deep) !important; }
html[data-theme] .home-boundaries-card { border-radius: var(--aq-card-radius); background: var(--aq-surface) !important; }
html[data-theme] .home-step-list li,
html[data-theme] .home-boundary-columns article { background: var(--aq-surface) !important; }
html[data-theme] .home-boundary-columns article:last-child { background: var(--aq-warm-soft) !important; }
html[data-theme] .home-final-card { background: var(--aq-mist) !important; }
html[data-theme] .news-disclosure { color: var(--aq-text-soft) !important; background: var(--aq-surface) !important; }
html[data-theme] .product-screen-frame,
html[data-theme] .hero-live-frame {
  border-color: var(--aq-border-strong) !important;
  background: var(--aq-strong-surface) !important;
}
html[data-theme] .product-screen-frame figcaption,
html[data-theme] .hero-live-frame figcaption {
  color: var(--aq-muted) !important;
}
html[data-theme="dark"] .product-screen-frame figcaption,
html[data-theme="dark"] .hero-live-frame figcaption {
  color: var(--aq-on-dark-muted) !important;
}
html[data-theme] .product-evidence-grid h3 {
  color: var(--aq-text) !important;
}
html[data-theme] .product-evidence-grid p {
  color: var(--aq-muted) !important;
}
html[data-theme="dark"] .product-evidence-grid h3 {
  color: var(--aq-on-dark) !important;
}
html[data-theme="dark"] .product-evidence-grid p {
  color: var(--aq-on-dark-muted) !important;
}
html[data-theme] .news-signal-card {
  color: var(--aq-text);
  border-color: var(--aq-border-strong) !important;
  background: var(--aq-surface) !important;
  backdrop-filter: none;
}
html[data-theme] .news-signal-card .news-signal-index {
  color: var(--aq-text) !important;
}
html[data-theme] .news-signal-card p {
  color: var(--aq-accent-strong) !important;
}
html[data-theme] .news-signal-card strong {
  color: var(--aq-text) !important;
}
html[data-theme] .news-signal-card > span:last-child {
  color: var(--aq-muted) !important;
}
html[data-theme] .boundaries-card {
  color: var(--aq-strong-text) !important;
  border-color: var(--aq-border) !important;
  background: var(--aq-strong-bg) !important;
  box-shadow: var(--aq-shadow-card);
}
html[data-theme] .boundaries-copy h2,
html[data-theme] .boundary-list strong {
  color: var(--aq-strong-text) !important;
}
html[data-theme] .boundaries-copy > p:not(.section-kicker),
html[data-theme] .boundary-list p {
  color: var(--aq-strong-muted) !important;
}
html[data-theme="dark"] .news-signal-card {
  background: color-mix(in srgb, var(--aq-on-dark) 8%, transparent) !important;
}
html[data-theme="dark"] .news-signal-card .news-signal-index {
  color: var(--aq-accent-ink) !important;
}
html[data-theme="dark"] .news-signal-card p {
  color: var(--aq-cyan) !important;
}
html[data-theme="dark"] .news-signal-card strong {
  color: var(--aq-on-dark) !important;
}
html[data-theme="dark"] .news-signal-card > span:last-child {
  color: var(--aq-on-dark-muted) !important;
}
html[data-theme="light"] .home-product-proof::after {
  opacity: .3;
  background: linear-gradient(90deg, color-mix(in srgb, var(--aq-accent) 7%, transparent) 1px, transparent 1px);
  background-size: 110px 100%;
}
html[data-theme="light"] .hero-live-frame img,
html[data-theme="light"] .product-screen-frame img {
  /* The first-party screen captures are authored in the advisor's dark UI.
     Render a readable light variant when the public shell is in light mode. */
  filter: invert(1) hue-rotate(180deg) saturate(.72) brightness(1.08);
}

html[data-theme] .site-header { background: var(--aq-header-bg) !important; }
html[data-theme] .site-header.is-scrolled { background: var(--aq-header-bg-scrolled) !important; }
html[data-theme] .desktop-nav .nav-resources-panel,
html[data-theme] .mobile-nav { background: var(--aq-surface) !important; }
html[data-theme] .site-footer { background: var(--aq-mint-soft) !important; }

html[data-theme="dark"] .button-primary,
html[data-theme="dark"] .button-light,
html[data-theme="dark"] .language-switch a[aria-current="page"],
html[data-theme="dark"] .home-step-list li > span,
html[data-theme="dark"] .aq-chat-launcher,
html[data-theme="dark"] .aq-chat-msg.user,
html[data-theme="dark"] .aq-chat-send,
html[data-theme="dark"] .aq-consent-button-primary {
  color: var(--aq-accent-ink) !important;
}


/* Cinematic welcome and editorial public refresh. Public-only tokens live in
   public-theme.css so the separate member portal retains its own appearance. */
.site-backdrop::after { display: none; }
.header-inner { gap: clamp(14px, 2vw, 28px); }
.brand-logo-lockup { width: 120px; }
.desktop-nav > a, .desktop-nav > .nav-resources > summary {
  font-size: 13px;
  letter-spacing: .025em;
}
.button { font-size: 14px; font-weight: 650; }
.button-primary { border-radius: var(--aq-pill-radius); }
.button-light { color: var(--aq-accent-ink); background: var(--aq-accent); border-radius: var(--aq-pill-radius); box-shadow: var(--aq-shadow-button); }
.button-light:hover { color: var(--aq-accent-ink); background: var(--aq-accent-hover); box-shadow: var(--aq-shadow-button); }
.section-kicker, .eyebrow {
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
html[data-theme] .site-header.is-scrolled { box-shadow: 0 1px 0 var(--aq-border); }
html[data-theme] body[data-page="home"] .site-header:not(.is-scrolled) {
  --aq-accent: var(--aq-hero-accent);
  --aq-accent-ink: var(--aq-hero-bg);
  --aq-focus: var(--aq-hero-accent);
  color: var(--aq-on-dark);
  border-color: color-mix(in srgb, var(--aq-on-dark) 14%, transparent);
  background: var(--aq-hero-bg) !important;
  box-shadow: none;
}
body[data-page="home"] .site-header:not(.is-scrolled) .brand-logo-light { display: none; }
body[data-page="home"] .site-header:not(.is-scrolled) .brand-logo-dark { display: block; }
body[data-page="home"] .site-header:not(.is-scrolled) .desktop-nav > a,
body[data-page="home"] .site-header:not(.is-scrolled) .desktop-nav > .nav-resources > summary {
  color: var(--aq-on-dark-soft);
}
body[data-page="home"] .site-header:not(.is-scrolled) :is(.language-switch, .theme-toggle-desktop, .menu-toggle) {
  color: var(--aq-on-dark);
  background: var(--aq-hero-raised);
  border-color: color-mix(in srgb, var(--aq-on-dark) 24%, transparent);
}
body[data-page="home"] .site-header:not(.is-scrolled) .language-switch a { color: var(--aq-on-dark); }
body[data-page="home"] .site-header:not(.is-scrolled) .language-switch a[aria-current="page"] { color: var(--aq-hero-bg); }
/* Menus use the chosen page theme even while the masthead is dark. */
body[data-page="home"] .site-header:not(.is-scrolled) :is(.nav-resources-panel, .mobile-nav) {
  --aq-accent: var(--aq-focus);
  --aq-focus: var(--aq-text);
  --aq-accent-ink: var(--aq-bg);
}
html[data-theme] body[data-page="home"] .site-header:not(.is-scrolled) .header-cta {
  color: var(--aq-hero-bg) !important;
  background: var(--aq-hero-accent);
  box-shadow: none;
}
.home-hero .hero-primary-cta b { color: var(--aq-on-dark); background: transparent; }
body[data-page="home"] .site-header:not(.is-scrolled) .menu-toggle span { background: var(--aq-on-dark); }

html[data-theme] body[data-page="home"] .home-hero {
  --aq-focus: var(--aq-hero-accent);
  color: var(--aq-on-dark);
  background: linear-gradient(105deg, var(--aq-hero-bg) 35%, var(--aq-hero-raised)) !important;
  border: 0;
  padding-block: clamp(32px, 4.5vw, 56px) clamp(64px, 6.5vw, 88px);
}
.home-hero::after { display: none; }
.home-hero-grid {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(32px, 4vw, 60px);
}
.home-hero-copy, .home-hero-product { grid-column: auto; max-width: none; width: 100%; animation: none; }
.home-hero-copy .eyebrow { color: var(--aq-hero-accent); text-transform: uppercase; font-size: 12px; letter-spacing: .12em; line-height: 1.75; max-width: 42ch; }
.home-hero-copy h1 { color: var(--aq-on-dark); font-size: clamp(44px, 4.5vw, 65px); line-height: 1.06; letter-spacing: -.045em; font-weight: 500; margin-bottom: 24px; }
.home-hero-copy .hero-lead { color: var(--aq-on-dark-soft); font-size: 17px; line-height: 1.75; max-width: 48ch; }
.home-hero-copy .button-row { gap: 20px; margin-top: 32px; }
html[data-theme] .home-hero .button-primary { color: var(--aq-on-dark) !important; background: var(--aq-hero-button); border-color: transparent; box-shadow: none; }
html[data-theme] .home-hero .button-primary:hover { background: var(--aq-hero-button-hover); }
.home-hero .hero-secondary-link { color: var(--aq-on-dark); font-size: 14px; }
.home-hero .hero-secondary-link:hover { color: var(--aq-hero-accent); }
.welcome-video { margin: 0; min-width: 0; }
.welcome-video-stage { position: relative; aspect-ratio: 16 / 9; background: var(--aq-hero-bg); border: 1px solid color-mix(in srgb, var(--aq-on-dark) 22%, transparent); border-radius: 8px; overflow: hidden; }
.welcome-video video { width: 100%; height: 100%; object-fit: contain; }
.welcome-video video:focus-visible { outline: 3px solid var(--aq-hero-accent); outline-offset: -4px; }
.welcome-video-play {
  position: absolute; inset: auto 0 0; width: 100%; min-height: 82px;
  display: flex; align-items: center; justify-content: flex-start; gap: 12px;
  padding: 24px; border: 0; color: var(--aq-on-dark); cursor: pointer;
  background: linear-gradient(transparent, color-mix(in srgb, var(--aq-hero-bg) 96%, transparent) 45%);
  font-size: 14px; font-weight: 650;
}
.welcome-play-icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; padding-left: 3px; border: 1px solid var(--aq-on-dark); border-radius: 50%; font-size: 13px; background: var(--aq-hero-bg); }
.welcome-video-play:hover .welcome-play-icon { color: var(--aq-hero-bg); background: var(--aq-hero-accent); border-color: var(--aq-hero-accent); }
.welcome-video-play:focus-visible { outline: 3px solid var(--aq-hero-accent); outline-offset: -4px; }
.welcome-video-play:disabled { cursor: progress; }
.welcome-video-play[hidden], .welcome-video-status[hidden] { display: none; }
.welcome-video figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 20px; padding-top: 16px; color: var(--aq-on-dark-muted); font-size: 12px; letter-spacing: .025em; }
.welcome-video figcaption > span:first-child { color: var(--aq-on-dark-soft); }
.welcome-video .welcome-video-status { margin: 14px 0 0; color: var(--aq-on-dark); font-size: 14px; }
.welcome-video-download { color: var(--aq-on-dark); text-decoration: underline; }

html[data-theme] .home-reassurance { background: var(--aq-bg) !important; border-bottom: 1px solid var(--aq-border); }
.home-reassurance article { padding-block: 30px; border-inline: 0; }
.home-reassurance article:first-child { border-left: 0; }
.home-reassurance article + article { border-left: 1px solid var(--aq-border); }
.home-reassurance article > span { color: var(--aq-accent); background: transparent; }
.home-section-heading h2, .home-boundaries-heading h2, .home-final-card h2 { font-weight: 500; font-size: clamp(34px, 3.6vw, 48px); line-height: 1.12; letter-spacing: -.04em; }
.home-section-heading { margin-bottom: 44px; }
.home-section-heading .section-kicker { margin: 0 0 24px; }
.home-section-heading .section-kicker::after { content: ""; display: block; width: 44px; height: 2px; margin-top: 18px; background: var(--aq-accent); }
html[data-theme] .home-product-proof { background: var(--aq-mist) !important; }
html[data-theme] .home-product-proof::after { display: none; }
.home-section-heading-dark { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: clamp(30px, 7vw, 100px); }
.product-screens { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 22px; align-items: center; }
.product-screen-frame { padding: 10px; border-radius: 8px; box-shadow: none; }
.product-screen-frame img { border-radius: 4px; }
.product-screen-frame figcaption { line-height: 1.6; align-items: baseline; font-weight: 500; }
.product-screen-frame figcaption span { display: none; }
.product-evidence-grid { margin-top: 40px; gap: 30px; }
html[data-theme] .product-evidence-grid article,
html[data-theme] .home-benefit-grid article,
html[data-theme] .home-resource-grid article {
  padding: 28px 0 0; border: 0; border-top: 1px solid var(--aq-border-strong);
  border-radius: 0; box-shadow: none; background: transparent !important;
}
.product-evidence-grid article > span { color: var(--aq-accent); font-size: 12px; margin-bottom: 20px; }
.home-benefit-grid, .home-resource-grid { gap: 36px; }
.home-benefit-grid article { min-height: 0; }
.home-benefit-grid article > span { margin-bottom: 28px; font-size: 14px; }
.home-benefit-grid h3, .home-resource-grid h3, .product-evidence-grid h3 { font-weight: 500; font-size: 23px; line-height: 1.3; }
.home-benefit-grid p, .home-resource-grid p, .product-evidence-grid p, .home-step-list p, .home-boundaries-heading > p:last-child, .home-faq-list p { font-size: 16px; }
html[data-theme] .home-workflow { background: var(--aq-bg) !important; }
.home-workflow-grid { gap: 70px; }
.home-step-list { gap: 0; border-top: 1px solid var(--aq-border); }
html[data-theme] .home-step-list li { border: 0; border-bottom: 1px solid var(--aq-border); border-radius: 0; padding: 28px 0; background: transparent !important; }
html[data-theme] .home-step-list li > span { border-radius: 0; color: var(--aq-accent) !important; background: transparent; font-size: 16px; }
.home-step-list h3 { font-size: 22px; font-weight: 500; }
html[data-theme] .home-benefits { background: var(--aq-mist) !important; }
.home-boundaries { padding-top: 0; }
html[data-theme] .home-boundaries-card { border: 0; border-top: 1px solid var(--aq-border); border-radius: 0; box-shadow: none; gap: 36px; background: var(--aq-mist) !important; }
html[data-theme] .home-boundaries { background: var(--aq-mist); }
html[data-theme] .home-boundaries-heading { background: transparent !important; }
.home-boundaries-heading { padding-left: 0; }
.home-boundary-columns { padding-right: 0; }
.home-boundary-columns article { border-radius: 8px; padding: 22px; }
.home-resource-grid article { min-height: 255px; }
.home-resource-grid article > span { margin-bottom: 28px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.home-faq-list { border-top-width: 1px; }
.home-faq-list summary { padding-inline: 0; font-weight: 600; }
.home-final-card { border-radius: 8px; border-color: var(--aq-border); }
html[data-theme] .site-footer { background: var(--aq-mist) !important; }
.footer-column h2, .footer-column h3 { letter-spacing: .1em; }

@media (max-width: 1180px) {
  .home-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
  .home-hero-copy h1 { font-size: 48px; }
}
@media (max-width: 900px) {
  .home-hero-grid, .home-section-heading-dark, .product-screens { grid-template-columns: 1fr; }
  .home-hero-copy, .home-hero-product { grid-column: 1; }
  .home-hero-product { max-width: 720px; }
  .home-hero-copy h1 { max-width: 16ch; font-size: clamp(40px, 7vw, 58px); }
  .home-workflow-grid { gap: 36px; }
  .product-screens { gap: 24px; }
  .scenario-screen-frame { width: min(100%, 520px); justify-self: center; }
  .home-boundaries-heading, .home-boundary-columns { padding-inline: 0; }
}
@media (max-width: 620px) {
  html[data-theme] body[data-page="home"] .home-hero { padding-block: 44px 48px; }
  .home-hero-copy h1 { font-size: clamp(38px, 10.7vw, 48px); line-height: 1.09; letter-spacing: -.04em; }
  .home-hero-copy .hero-lead { font-size: 16px; }
  .home-hero-copy .button-row { gap: 20px; }
  .welcome-video-play { min-height: 66px; padding: 12px; gap: 10px; font-size: 13px; }
  .welcome-play-icon { flex-basis: 36px; height: 36px; }
  .welcome-video figcaption { font-size: 12px; padding-top: 12px; }
  .home-reassurance article, .home-reassurance article + article { border-left: 0; padding-inline: 0; }
  .product-evidence-grid, .home-benefit-grid, .home-resource-grid { gap: 28px; }
  .home-section-heading h2, .home-boundaries-heading h2, .home-final-card h2 { font-size: 34px; }
  .home-boundaries-card { padding-block: 36px; }
  .home-step-list li { grid-template-columns: 36px minmax(0, 1fr); gap: 14px; }
  .home-step-list li > span { width: 30px; }
  .home-resource-grid article { min-height: 0; }
}


/* Keep the public masthead controls separate from the wordmark at 320px. */
@media (max-width: 360px) {
  .site-header .brand-logo-lockup { width: 82px; }
  .header-inner { gap: 10px; }
  .header-actions { gap: 4px; }
}
.final-cta.shell { padding-inline: var(--aq-page-pad); }

/* The homepage masthead is art-directed dark in dark mode only. The shared
   cinematic rules above intentionally use the dark palette as their baseline;
   restore the light public surface when the visitor has selected light mode. */
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) {
  --aq-accent: var(--aq-light-accent);
  --aq-accent-ink: var(--aq-light-accent-ink);
  --aq-focus: var(--aq-light-focus);
  color: var(--aq-text);
  border-color: var(--aq-border);
  background: var(--aq-surface) !important;
  box-shadow: 0 1px 0 var(--aq-border);
}
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) .brand-logo-light { display: block; }
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) .brand-logo-dark { display: none; }
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) .desktop-nav > a,
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) .desktop-nav > .nav-resources > summary {
  color: var(--aq-muted);
}
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) .desktop-nav > a:hover,
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) .desktop-nav > .nav-resources > summary:hover {
  color: var(--aq-text);
}
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) :is(.language-switch, .theme-toggle-desktop, .menu-toggle) {
  color: var(--aq-text);
  background: var(--aq-surface);
  border-color: var(--aq-border);
}
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) .language-switch a { color: var(--aq-muted); }
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) .language-switch a[aria-current="page"] { color: var(--aq-accent-ink); }
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) .menu-toggle span { background: var(--aq-text); }
html[data-theme="light"] body[data-page="home"] .site-header:not(.is-scrolled) .header-cta {
  color: var(--aq-light-accent-ink) !important;
  background: var(--aq-accent);
}

html[data-theme="light"] body[data-page="home"] .home-hero {
  color: var(--aq-text);
  background: linear-gradient(105deg, var(--aq-bg) 35%, var(--aq-mist)) !important;
}
html[data-theme="light"] body[data-page="home"] .home-hero-copy .eyebrow { color: var(--aq-accent); }
html[data-theme="light"] body[data-page="home"] .home-hero-copy h1 { color: var(--aq-text); }
html[data-theme="light"] body[data-page="home"] .home-hero-copy .hero-lead { color: var(--aq-text-soft); }
html[data-theme="light"] body[data-page="home"] .home-hero .hero-secondary-link { color: var(--aq-text); }
html[data-theme="light"] body[data-page="home"] .home-hero .hero-secondary-link:hover { color: var(--aq-accent); }
html[data-theme="light"] body[data-page="home"] .welcome-video figcaption { color: var(--aq-muted); }
html[data-theme="light"] body[data-page="home"] .welcome-video figcaption > span:first-child { color: var(--aq-text-soft); }
html[data-theme="light"] body[data-page="home"] .welcome-video .welcome-video-status { color: var(--aq-text); }

/* Shared reading rhythm and task-oriented controls. */
html { scrollbar-gutter: stable; }
.skip-link { color: var(--aq-accent-ink); }
.button { min-height: 48px; }
.button:active { transform: translateY(0); }
.hero-secondary-link { min-height: 48px; display: inline-flex; align-items: center; gap: 9px; }
.theme-toggle, .menu-toggle { border-radius: 12px; }
.desktop-nav > a, .desktop-nav > .nav-resources > summary { font-size: 14px; letter-spacing: 0; }
.desktop-nav .nav-resources-panel { width: 286px; left: 0; padding: 8px; transform: none; border-radius: 16px; }
.desktop-nav .nav-resources-panel a { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 13px 14px; }
.nav-resource-label { color: var(--aq-text); font-size: 14px; font-weight: 650; }
.nav-resource-description { color: var(--aq-muted); font-size: 12px; font-weight: 400; white-space: normal; }
.desktop-nav .nav-resources-panel a[aria-current="page"],
.desktop-nav .nav-resources-panel a:hover { background: var(--aq-mist); }
.desktop-nav .nav-resources > summary.is-current { color: var(--aq-accent); border-bottom-color: var(--aq-accent); }
.mobile-nav .nav-resources > summary.is-current { color: var(--aq-accent); }
.mobile-nav .nav-resources-panel a { flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; padding-block: 11px; }
.nav-scrim { position: fixed; inset: var(--aq-header-height) 0 0; z-index: 49; background: color-mix(in srgb, var(--aq-dark) 38%, transparent); backdrop-filter: blur(3px); }
.mobile-nav { position: absolute; top: 100%; inset-inline: 0; overscroll-behavior: contain; }
.mobile-nav-inner { padding-bottom: max(24px, env(safe-area-inset-bottom)); overscroll-behavior: contain; }

.page-hero { padding-block: clamp(48px, 6vw, 80px); }
.page-hero .narrow-shell { max-width: var(--aq-shell); margin-inline: auto; }
.page-hero h1 { max-width: 22ch; padding: 0; border: 0; margin-bottom: 22px; font-size: clamp(38px, 4.4vw, 62px); line-height: 1.1; font-weight: 500; letter-spacing: -.045em; }
.page-hero .page-lead { max-width: 65ch; margin: 0; font-size: 18px; line-height: 1.7; }
.page-hero .updated-label { margin: 20px 0 0; font-size: 13px; color: var(--aq-muted); }
.section-heading h2 { font-size: clamp(30px, 3.1vw, 42px); line-height: 1.15; font-weight: 500; }
.section-heading { margin-bottom: 32px; }

html[data-theme] .home-benefit-grid article,
html[data-theme] .home-resource-grid article,
html[data-theme] .product-evidence-grid article {
  padding: clamp(24px, 3vw, 34px); border: 1px solid var(--aq-border); border-radius: var(--aq-card-radius); background: var(--aq-surface) !important;
}
.home-benefit-grid article > span, .home-resource-grid article > span, .product-evidence-grid article > span { margin-bottom: 24px; }
.home-resource-grid article { position: relative; transition: border-color 160ms ease, box-shadow 160ms ease; }
.home-resource-grid article:hover, .home-resource-grid article:has(a:focus-visible) { border-color: var(--aq-border-strong); box-shadow: var(--aq-shadow-float); }
.home-resource-grid a::after { content: ""; position: absolute; inset: 0; border-radius: var(--aq-card-radius); }
.home-resource-grid a:focus-visible { outline: none; }
.home-resource-grid article:has(a:focus-visible) { outline: 3px solid var(--aq-focus); outline-offset: 3px; }
.home-reassurance strong { font-weight: 600; }
.welcome-video-stage { border-radius: var(--aq-card-radius); }
.home-faq-list summary, .faq-content summary { list-style: none; font-weight: 600; }
.home-faq-list summary::-webkit-details-marker, .faq-content summary::-webkit-details-marker { display: none; }

.market-ticker-heading { min-height: 40px; gap: 10px; }
.market-ticker-controls { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 4px 18px; }
.ticker-pause { min-height: 40px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border: 1px solid var(--aq-border); border-radius: 8px; background: var(--aq-surface); color: var(--aq-text-soft); font: 500 12px/1.3 var(--aq-body); cursor: pointer; letter-spacing: 0; }
.ticker-pause:hover { border-color: var(--aq-border-strong); color: var(--aq-accent); }
.market-ticker.is-paused .ticker-viewport { overflow-x: auto; mask-image: none; scrollbar-width: thin; scrollbar-color: var(--aq-border-strong) transparent; }
.market-ticker.is-paused .ticker-track { animation: none; transform: none; }
.market-ticker.is-paused .ticker-track > [aria-hidden="true"] { display: none; }
.ticker-price, .ticker-change { font-variant-numeric: tabular-nums; }

.faq-search { max-width: 700px; margin-top: 28px; }
.faq-search-field { position: relative; display: flex; align-items: center; }
.faq-search-icon { position: absolute; left: 18px; color: var(--aq-muted); pointer-events: none; }
.faq-search input { min-height: 56px; padding: 14px 58px 14px 50px; border: 1px solid var(--aq-border-strong); border-radius: 12px; box-shadow: var(--aq-shadow-card); background: var(--aq-surface); }
.faq-search input::-webkit-search-cancel-button { display: none; }
.faq-search-clear { position: absolute; right: 7px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 8px; font-size: 24px; line-height: 1; color: var(--aq-text-soft); background: transparent; cursor: pointer; }
.faq-search-clear:hover { background: var(--aq-mist); }
.faq-search-status { min-height: 22px; margin: 8px 0 0; color: var(--aq-muted); font-size: 13px; }
.faq-categories { border-top: 0; gap: 4px; }
.faq-categories .section-kicker { margin: 0 0 12px; font-size: 11px; }
.faq-categories a { display: flex; justify-content: space-between; gap: 12px; min-height: 48px; padding: 12px; border: 1px solid transparent; border-radius: 10px; color: var(--aq-text-soft); font-size: 14px; font-weight: 500; }
.faq-categories a span { font: 12px var(--aq-mono); color: var(--aq-muted); }
.faq-categories a:hover, .faq-categories a[aria-current="location"] { padding-left: 12px; border-color: var(--aq-border); color: var(--aq-accent); background: var(--aq-mist); }
html[data-theme] .faq-content { padding: 0; border: 0; box-shadow: none; background: transparent !important; }
.faq-content section { padding: clamp(20px, 3vw, 32px); border: 1px solid var(--aq-border); border-radius: var(--aq-card-radius); background: var(--aq-surface); scroll-margin-top: calc(var(--aq-header-height) + 24px); }
.faq-content section + section { margin-top: 24px; }
.faq-content h2 { margin-bottom: 10px; padding-bottom: 18px; border-bottom: 1px solid var(--aq-border); font-size: 26px; font-weight: 500; line-height: 1.2; }
.faq-content details:last-child { border-bottom: 0; }
.faq-content details { scroll-margin-top: calc(var(--aq-header-height) + 24px); }
.faq-content summary { padding-inline: 0; font-size: 16px; }
.faq-content details p { padding: 0 44px 22px 0; font-size: 16px; line-height: 1.75; color: var(--aq-text-soft); }
.faq-empty { padding: 28px; border: 1px solid var(--aq-border); border-radius: var(--aq-card-radius); background: var(--aq-mist); }
.faq-empty p { margin-top: 0; }
.faq-support { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-top: 32px; padding: 28px 0 0; border-top: 1px solid var(--aq-border); }
.faq-support h2 { padding: 0; border: 0; margin: 0 0 6px; font-size: 20px; }
.faq-support p { margin: 0; color: var(--aq-muted); font-size: 14px; }

.topic-grid { gap: 16px; border: 0; }
.topic-grid article, .topic-grid article:nth-child(1) { grid-column: auto; min-height: 220px; padding: 28px; border: 1px solid var(--aq-border); }
.topic-grid article > span { margin-bottom: 26px; color: var(--aq-accent); }
.topic-grid article:hover { transform: none; }
.podcast-feature h2 { font-weight: 500; line-height: 1.15; }
.latest-episode h2 { max-width: 26ch; font-size: clamp(28px, 3vw, 40px); line-height: 1.2; font-weight: 500; }
.episode-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 20px; }
.episode-date { font-size: 13px; color: var(--aq-muted); }
[data-podcast-state] { font-size: 15px; color: var(--aq-muted); }
.free-tool-card, .free-tool-card:first-child { min-height: 320px; border-top-width: 1px; }
.free-tool-card:first-child h3 { font-size: clamp(28px, 3vw, 40px); line-height: 1.15; font-weight: 500; }
.free-tool-card.is-soon h3 { font-size: 24px; font-weight: 500; }
.free-tool-card p { font-size: 16px; }
.free-tool-badge, .free-tool-tags span { font-weight: 500; letter-spacing: 0; text-transform: none; }

.news-hero h1 { font-size: clamp(38px, 4.5vw, 62px); line-height: 1.1; font-weight: 500; }
.news-signal-card .news-signal-index { font-size: 46px; font-weight: 500; }
.news-updates-panel .updates-header { gap: 18px; flex-wrap: wrap; }
.news-updates-panel .updates-header h2 { font-size: clamp(28px, 3vw, 40px); font-weight: 500; line-height: 1.2; }
.news-updates-panel .updates-grid { max-height: none; overflow: visible; }
.news-updates-panel .update-card { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 18px; padding: 24px 0 24px 36px; }
.news-updates-panel .update-card h3 { font-size: 18px; font-weight: 500; }
.news-updates-panel .update-card p { grid-column: 1 / -1; margin: 0; overflow-wrap: anywhere; font-size: 15px; }
.news-updates-panel .update-card time { font-size: 12px; color: var(--aq-muted); }
.updates-state { color: var(--aq-muted); font-size: 14px; line-height: 1.6; }
.updates-retry { margin-top: 20px; }
.news-context-card h2 { font-weight: 500; }
.roadmap-grid { gap: 16px; border: 0; }
.roadmap-grid::before { display: none; }
.roadmap-column { padding: 32px; border: 1px solid var(--aq-border); }
.roadmap-column::before { display: none; }
.roadmap-column h2 { font-size: 28px; font-weight: 500; }
.roadmap-column > p { margin-top: 0; font-size: 16px; }
.roadmap-state { margin-bottom: 20px; font-weight: 500; letter-spacing: .02em; }
.legal-document { max-width: 820px; padding: clamp(24px, 4vw, 48px); }
.legal-document h2 { font-size: 26px; font-weight: 500; line-height: 1.25; }
.legal-document p, .legal-document li, .legal-document .kvs { font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.legal-toc a[aria-current="location"] { color: var(--aq-accent); }

body.consent-open { padding-bottom: var(--aq-consent-height, 240px); }
body .aq-consent { border-top: 1px solid var(--aq-border-strong); padding-bottom: max(17px, env(safe-area-inset-bottom)); }
.aq-consent-copy p { max-width: 660px; }
.aq-chat { bottom: max(20px, env(safe-area-inset-bottom)); }
.aq-chat-msg { overflow-wrap: anywhere; }
.aq-chat-panel { max-height: calc(100dvh - 32px); display: flex; flex-direction: column; }
.aq-chat-body { min-height: 0; overflow-y: auto; }
.aq-chat-messages { min-height: 100px; }
.aq-chat-footer { flex-shrink: 0; }

@media (max-width: 860px) {
  .faq-categories { gap: 8px; }
  .faq-categories .section-kicker { flex-basis: 100%; margin-bottom: 4px; }
  .faq-categories a { border-color: var(--aq-border); background: var(--aq-surface); }
  .roadmap-column { padding: 28px; }
  .news-context-card { position: static; }
}
@media (max-width: 620px) {
  .page-hero { padding-block: 40px 36px; }
  .page-hero h1 { font-size: clamp(34px, 9.5vw, 44px); padding: 0; }
  .page-hero .page-lead { font-size: 16px; }
  .home-section-heading h2, .home-boundaries-heading h2, .home-final-card h2 { font-size: 30px; }
  .market-ticker-controls { justify-content: space-between; width: 100%; gap: 4px 8px; }
  .market-ticker-state { font-size: 10px; }
  .ticker-pause { font-size: 11px; padding-inline: 8px; }
  .faq-content section { padding: 22px 18px; }
  .faq-content h2 { font-size: 23px; }
  .faq-categories a { font-size: 13px; }
  .faq-content details p { padding-right: 12px; font-size: 15px; }
  .news-updates-panel .update-card { grid-template-columns: 1fr; }
  .news-updates-panel .update-card p { grid-column: 1; }
  .news-updates-panel .update-card time { grid-row: 2; }
  .topic-grid article, .topic-grid article:nth-child(1) { min-height: 0; padding: 24px; }
  .aq-chat { bottom: max(12px, env(safe-area-inset-bottom)); }
  .aq-chat-title { font-size: 14px; }
  .aq-chat-header { gap: 6px; padding-left: 12px; }
  .aq-chat-btn { padding-inline: 8px; font-size: 12px; }
  .aq-chat-body { padding: 12px; }
  .aq-consent-inner { gap: 14px; }
  body .aq-consent-copy p { font-size: 14px; }
  body .aq-consent-button { font-size: 14px; }
}
@media print {
  .nav-scrim, .faq-search, .faq-categories, .faq-support { display: none; }
  .faq-content section { break-inside: avoid; }
  body.consent-open { padding-bottom: 0; }
}
