html { scrollbar-gutter: stable; }
body { overflow-x: clip; }
.request-form:focus { outline: none; }
.service-card { position: relative; }
.service-more::after { content: ""; position: absolute; inset: 0; }
.service-card:focus-within { outline: 2px solid #9c7129; outline-offset: 3px; }
.service-more:focus-visible { outline: none; }
.primary-nav .language-switcher a { min-width: 32px; text-align: center; }
.has-section-navigation .primary-nav .current-menu-item > a::after { transform: scaleX(0); }
.has-section-navigation .primary-nav a.is-section-current::after,
.has-section-navigation .primary-nav a:hover::after,
.has-section-navigation .primary-nav a:focus-visible::after { transform: scaleX(1); }
.primary-nav a.is-section-current { color: var(--gold); }
.field-optional { font-size: .9em; color: #b9c6ce; font-weight: 400; }
.form-panel .field-optional { color: var(--muted); }
.field-error { color: #ffb3aa; font-size: 12px; line-height: 1.4; }
.form-panel .field-error { color: #a52921; }
.request-form [aria-invalid="true"] { border-width: 2px; }
.request-form input:focus,.request-form textarea:focus { scroll-margin-block: 100px 90px; }
.contact-page-main .map-link { min-height: 44px; }
.contact-page-main .request-form input:not([type="hidden"]) { min-height: 44px; }
.contact-page-main .request-form .button { min-height: 46px; }
.map-embed { position: relative; }
.map-embed.has-map-control:not(.is-map-active) iframe { pointer-events: none; }
.map-activate { position: absolute; z-index: 2; top: 8px; left: 8px; min-height: 44px; padding: 8px 12px; border: 1px solid #9aa9b2; background: white; color: var(--ink); font-size: 12px; font-weight: 500; }
.map-activate:hover,.map-activate[aria-pressed="true"] { background: var(--navy); color: white; }
.footer-services a,.site-footer .menu a { display: inline-flex; align-items: center; min-height: 28px; }
.site-footer .footer-company-name { color: var(--white); font-weight: 600; }
.site-footer .footer-contact-label { color: #a5b7c2; font-size: 12px; }
.site-footer .footer-business-hours { line-height: 1.45; }

@media (min-width: 1101px) and (max-width: 1250px) {
  .header-inner { gap: 16px; }
  .header-inner .custom-logo { width: 180px; }
  .primary-nav { gap: 12px; }
  .primary-nav ul { gap: 14px; }
  .header-inner > .button { padding-inline: 12px; font-size: 12px; }
}
@media (min-width: 761px) and (max-width: 1050px) {
  .contact-page-main .contact-page-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 18px 22px; }
}
@media (max-width: 760px) {
  .home-funnel .service-card { grid-template-columns: 30px minmax(0, 1fr) 80px; }
  .home-funnel .service-more { font-size: 12px; }
  .home-funnel .service-card h3 { font-size: 15px; }
  .home-funnel .about-media { margin-inline: 0; }
  .home-funnel .photo-benefits { left: 12px; right: 12px; bottom: 16px; padding: 20px 14px; }
  .contact-page-main .request-form textarea { min-height: 60px; height: 74px; }
  .contact-page-main .request-form label { font-size: 13px; }
  .site-footer .menu { gap: 8px; }
  .footer-services { gap: 6px; }
  .footer-services a,.site-footer .menu a { min-height: 36px; }
}
@media (max-width: 360px) {
  .home-funnel .service-card { grid-template-columns: 26px minmax(0, 1fr) 76px; gap: 8px; }
  .home-funnel .service-card h3 { font-size: 14px; }
}
