/* Shared static-page and accessibility enhancements. */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; top: 12px; left: 16px; transform: translateY(-160%);
  background: #f2efe8; color: #07090b; padding: 13px 18px; z-index: 100;
}
.skip-link:focus { transform: none; }
a:focus-visible, button:focus-visible { outline: 2px solid #c5a56a; outline-offset: 4px; }
.breadcrumbs {
  display: flex; flex-wrap: wrap; gap: 8px 12px; font-size: 12px;
  line-height: 1.65; color: #abb7c2; margin-bottom: 30px;
}
.breadcrumbs a:hover { color: #e4c994; }
.seo-page .professional-links { margin-top: 25px; }
.professional-link { max-width: 100%; text-align: center; overflow-wrap: anywhere; gap: 7px; }
.professional-links-wrap h3 { font-size: 18px; margin: 24px 0 12px; }
.directory-section { padding: 46px 8vw; border-top: 1px solid #293139; }
.directory-section > h2 { font: 400 clamp(30px, 3vw, 44px)/1.2 Georgia, serif; margin: 0 0 26px; }
.directory-section > .directory-grid + h2 { margin-top: 48px; }
.directory-section > p { max-width: 860px; color: #b7c0c7; line-height: 1.85; font-size: 16px; }
.directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.directory-card {
  display: block; min-width: 0; border: 1px solid #293139;
  background: linear-gradient(135deg, #101a24, #0b1015); padding: 28px;
}
.directory-card:hover { border-color: #c5a56a; }
.directory-card h3 { font: 400 28px/1.3 Georgia, serif; margin: 17px 0; color: #f2efe8; overflow-wrap: anywhere; }
.directory-card h3 span { color: #c5a56a; }
.directory-card p { color: #b7c0c7; font-size: 15px; line-height: 1.75; }
.directory-card small { color: #c5a56a; font-size: 12px; line-height: 1.65; }
.article-copy { max-width: 1120px; margin: 0 auto; }
.article-copy section { margin: 35px 0; padding-top: 25px; border-top: 1px solid #293139; }
.article-copy h2 { font: 400 32px/1.25 Georgia, serif; color: #f2efe8; }
.article-copy h3 { font-size: 16px; color: #c5a56a; }
.article-copy p { color: #b7c0c7; font-size: 16px; line-height: 1.85; }
.guide-cta { margin-top: 30px !important; color: #c5a56a !important; }
.guide-cta a { text-decoration: underline; text-underline-offset: 4px; }
.seo-footer nav, .home-footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; line-height: 1.65; }
.seo-footer nav { margin-top: 18px; }
.seo-footer a, .home-footer-links a { color: #c5a56a; font-size: 12px; }
.seo-home footer { flex-wrap: wrap; gap: 25px; }
.home-footer-links { flex-basis: 100%; }
.home-footer-links .professional-link { min-height: 44px; }
.seo-home .company-card h3 a:hover { color: #c5a56a; }
.seo-home .hero-stats { position: relative; inset: auto; width: 100%; margin-top: 42px; padding-top: 24px; gap: 24px; z-index: 1; }
.seo-home .primary, .seo-home .secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; line-height: 1.5; }
.seo-home .hero-actions { flex-wrap: wrap; }
.seo-home .hero-stats span { font-size: 11px; line-height: 1.6; }
.seo-home .menu { min-width: 44px; min-height: 44px; cursor: pointer; }
@media (min-width: 1001px) {
  .seo-home .hero { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.8fr); gap: 0 40px; min-height: auto; }
  .seo-home .hero-logo { position: relative; top: auto; right: auto; grid-column: 2; grid-row: 1 / 6; width: 100%; max-width: 390px; align-self: start; justify-self: end; }
  .seo-home .hero h1 { font-size: clamp(54px, 6.6vw, 98px); line-height: 1.05; max-width: none; }
  .seo-home .hero > p { max-width: none; }
  .seo-home .hero > .eyebrow, .seo-home .hero h1, .seo-home .hero > p, .seo-home .hero-actions { grid-column: 1; }
  .seo-home .hero-stats { grid-column: 1 / -1; }
}
@media (min-width: 801px) and (max-width: 1000px) {
  .seo-home .hero-logo { position: relative; top: auto; right: auto; width: 230px; margin: 0 auto 35px; }
  .seo-home .hero h1, .seo-home .hero > p { max-width: none; }
}
@media (max-width: 800px) {
  .seo-home .site-header nav.is-open {
    display: flex; position: absolute; top: 72px; left: 20px; right: 20px;
    padding: 20px; background: #0b0e11; border: 1px solid #293139;
    flex-direction: column; align-items: stretch; gap: 8px;
  }
  .seo-home .site-header nav.is-open a { padding: 12px; }
  .directory-section { padding: 35px 22px; }
  .directory-grid { grid-template-columns: 1fr; }
  .directory-card { padding: 23px; }
  .directory-card h3 { font-size: 26px; }
  .seo-home .hero { min-height: auto; }
  .seo-home .hero h1 { font-size: clamp(40px, 11vw, 58px); line-height: 1.04; }
  .seo-home .hero-stats { margin-top: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
