/* Styles scoped to the SEO content; original site components keep their styles. */
.seo-page {
  box-sizing: border-box;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 24px;
  color: var(--ast-global-color-3, #334155);
  font-family: Montserrat, sans-serif;
  line-height: 1.65;
}
.seo-page *, .seo-page *::before, .seo-page *::after { box-sizing: border-box; }
.seo-page h1 { max-width: 950px; }
.seo-page h1, .seo-page h2, .seo-page h3 { overflow-wrap: anywhere; }
.seo-page h2 { margin: 0 0 24px; }
.seo-page h3 { margin: 0 0 16px; font-size: 1.25rem; }
.seo-page p { margin: 0 0 20px; }
.seo-intro { margin-bottom: 48px; }
.seo-eyebrow { font-weight: 600; }
.seo-page > section { margin-top: 48px; }
.seo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.seo-grid article { padding: 24px; border: 1px solid #d1d5db; border-radius: 8px; background: #fff; overflow-wrap: anywhere; }
.seo-page a { text-decoration: underline; text-underline-offset: 3px; }
.seo-page a:hover { text-decoration-thickness: 2px; }
.seo-page a:focus-visible, .seo-page summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.seo-page details { padding: 18px 0; border-bottom: 1px solid #d1d5db; }
.seo-page summary { font-weight: 600; cursor: pointer; }
.seo-page details p { margin: 16px 0 0; }
.seo-keyword-group { margin-top: 28px; }
.seo-page .seo-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.seo-page .seo-chip { display: block; max-width: 100%; min-width: 0; padding: 6px 12px; border: 1px solid #d1d5db; border-radius: 18px; background: #f8fafc; color: #334155; font-size: 0.875rem; line-height: 1.5; white-space: break-spaces; overflow-wrap: anywhere; }
@media (max-width: 921px) { .seo-grid { grid-template-columns: 1fr; } }
@media (max-width: 544px) {
  .seo-page { padding: 32px 20px; }
  .seo-page h1 { font-size: 1.75rem; }
  .seo-page h2 { font-size: 1.5rem; }
  .seo-page > section { margin-top: 36px; }
  .seo-grid article { padding: 20px; }
}
/* Fit the inherited logo beside the menu button on narrow phones. */
@media (max-width: 360px) {
  #masthead .custom-logo-link img { width: 200px; max-width: 100%; }
}
