/* Retain the existing design; support it without WordPress or Elementor runtime. */
.practice-wordmark { display: inline-flex; flex-direction: column; justify-content: center; min-height: 130px; padding: 16px 0; color: #E40B0B; font-family: "Playfair Display", Georgia, serif; font-size: clamp(24px, 2.8vw, 36px); font-weight: 600; line-height: 1.12; text-align: center; }
.practice-wordmark-sub { display: block; margin-top: 10px; font-family: "Montserrat", Arial, sans-serif; font-size: 16px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.practice-provider { display: block; margin-top: 12px; font-family: "Montserrat", Arial, sans-serif; font-size: 14px; line-height: 1.4; font-weight: 500; letter-spacing: 0; text-transform: none; color: #333; }
footer .practice-provider { color: #fff; }
.practice-brand { display: inline-block; width: 100%; max-width: 340px; padding: 16px 0; text-align: center; }
.practice-brand img.practice-logo { display: block; width: 100% !important; max-width: 340px !important; height: auto !important; margin: 0 auto; }
.practice-brand .practice-provider { margin-top: 8px; }
footer .practice-brand img.practice-logo { background: #fff; padding: 10px; border-radius: 3px; }
footer .practice-wordmark { color: #fff; }
.practice-details { max-width: 1140px; margin: 0 auto; padding: 48px 24px; display: grid; grid-template-columns: 1fr 2fr; gap: 40px; font-family: "Montserrat", Arial, sans-serif; }
.practice-details h2 { margin: 0 0 16px; font-family: "Playfair Display", Georgia, serif; font-size: 28px; }
.practice-details p { font-size: 17px; line-height: 1.65; margin: 0; }
.practice-footer-details { background: #000; color: #fff; padding: 18px 24px 28px; text-align: center; font-family: "Montserrat", Arial, sans-serif; font-size: 16px; line-height: 1.65; }
.practice-footer-details p { max-width: 1000px; margin: 0 auto 8px; }
@media(max-width: 767px) { .practice-details { grid-template-columns: 1fr; gap: 28px; padding: 32px 20px; } .practice-wordmark { min-height: 100px; } }
.elementor-invisible { visibility: visible !important; }
.e-con.e-parent { content-visibility: visible; }
.elementor-tab-title:focus-visible,
.hfe-nav-menu__toggle:focus-visible,
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.elementor-tab-content[hidden] { display: none !important; }
.hfe-nav-menu .menu-item-has-children:focus-within > .sub-menu,
.hfe-nav-menu .static-submenu-open > .sub-menu {
  display: block !important; visibility: visible !important; opacity: 1 !important;
}
.static-comment-notice { padding: 1rem; border: 1px solid #ddd; }
@media (max-width: 767px) {
  .hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__toggle { display: flex !important; }
  .hfe-nav-menu__breakpoint-mobile nav.hfe-nav-menu__layout-horizontal { display: none !important; }
  .hfe-nav-menu__breakpoint-mobile .static-menu-open nav.hfe-nav-menu__layout-horizontal {
    display: block !important; position: relative; width: 100%; background: #fff;
    visibility: visible !important; opacity: 1 !important; z-index: 99;
  }
  .hfe-nav-menu__breakpoint-mobile nav > ul.hfe-nav-menu { display: block !important; }
  .hfe-nav-menu__breakpoint-mobile nav .menu-item { width: 100%; }
  .hfe-nav-menu__breakpoint-mobile nav .sub-menu {
    position: static !important; width: 100% !important; min-width: 0 !important;
    display: none; margin: 0; box-shadow: none;
  }
  .hfe-nav-menu__breakpoint-mobile nav a { white-space: normal !important; }
}
