html,
body {
  overflow-x: clip;
}

.btn,
.nav-cta,
.cta button,
.subscribe button {
  white-space: nowrap;
}

.trial-cta .btn {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 380px) {
  .trial-cta .btn,
  .cta-row .btn {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    padding-inline: 14px;
  }
}

.btn-primary {
  background: var(--teal);
  background-image: none;
}

.btn-primary:hover,
.cta button:hover,
.subscribe button:hover {
  background: var(--teal-d);
}

.btn-outline,
.top .btn-outline,
.page-head .btn-outline,
.site-nav .nav-cta,
.screen-foot a,
.qa p a,
.points a,
.closer .band-note a {
  color: var(--teal-d);
}

.page-head .eyebrow,
.band-shell > .wrap > .kicker {
  color: var(--teal-d);
}

.cover-group .pills a.here,
.status .launch-note a,
.article-card .article-meta .article-tag {
  color: var(--teal-d);
}

.toc > .band-label,
.wrap.others > .band-label,
.cover-group > .cover-label.launch-note,
.compare th {
  color: var(--ink-2);
}

.feature .copy .form-note,
.trial-cta .form-note,
.hero-ask-copy .form-note,
.band-shell.closer > .wrap > p.fine,
.article .byline,
.article .article-cta small,
.article-card .article-meta,
figcaption.shot-cap,
.demo figcaption,
.answer .ask small,
.answer dt,
.screen .steps small,
.screen-foot > span,
.ask-row b,
.tick.todo {
  color: var(--ink-2);
}

.steps li.key .n,
.flow div::before,
.ask-q {
  background: var(--teal);
}

:focus-visible {
  outline: 3px solid var(--teal-d);
  outline-offset: 3px;
  border-radius: 4px;
}

.hero .actions > .btn:focus-visible,
.band-dark > .wrap > .actions .btn:focus-visible,
.cta > .wrap > .actions .btn:focus-visible,
.cta > .form button:focus-visible,
.site-foot nav a:focus-visible,
.site-foot .subscribe button:focus-visible,
.band-dark > .wrap > .more a:focus-visible,
.band-dark > .wrap > .band-note a:focus-visible,
.made > .wrap > .band-note a:focus-visible {
  outline-color: var(--teal-l);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Header: keep nav labels on one line; use the menu below 1200px, where the full nav no longer fits. */
.site-nav a { white-space: nowrap; }
@media (min-width: 861px) { .site-nav { gap: 18px; } }
@media (min-width: 861px) and (max-width: 1199px) {
  .menu-toggle { display: flex; }
  .site-nav { display: none; position: absolute; left: 0; right: 0; top: 72px; background: var(--paper);
    border-bottom: 1px solid var(--rule); flex-direction: column; align-items: stretch; gap: 0;
    padding: 8px var(--gutter) 16px; box-shadow: 0 12px 24px rgba(22,32,47,.08); }
  .site-head.open .site-nav { display: flex; }
  .site-nav a { padding: 12px 0; border-bottom: 1px solid var(--rule); font-size: 16px; }
  .site-nav a:last-child { border-bottom: 0; }
}

/* UX audit, November 2026: header, skip link, contrast and link affordance. */
:root { --ink-3: #66718a; }
.brand { white-space: nowrap; flex-shrink: 0; }
.skip-link { position: absolute; left: -999px; top: 8px; z-index: 100; padding: 8px 12px; border-radius: 6px;
  background: var(--paper); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: underline; }
.skip-link:focus { left: 8px; }
body .eyebrow, body .kicker, body .band-label, body .cover-label, body .tag, body .article-tag, body .ask-tag,
body .tile-tags .tag, body .page-head .eyebrow { color: var(--teal-d); }
body .more, body .rates-table th, body .rate-group th, body .compare th { color: var(--ink-2); }
p a:not([class]), li a:not([class]), dd a:not([class]), td a:not([class]) { text-decoration: underline; text-underline-offset: 3px; }
