html { scroll-behavior: smooth; scroll-padding-top: 100px; }
.mainvisual { position: relative; }
.btn_nav { cursor: pointer; text-align: left; background: transparent; }
.btn_nav > .menu, .btn_nav > .title { display: block; }
.news_list li:first-child { display: block; }
.fade.fade_block:not(.reveal-pending), .fade.fade_group:not(.reveal-pending) > * { opacity: 1; transform: translate3d(0,0,0); }
.mainvisual .slide:not(.slick-initialized) .slide_item:not(:first-child) { display: none; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--primary); outline-offset: 5px; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 9999; background: white; padding: 12px 20px; color: var(--primary); }
.skip-link:focus { top: 16px; }
@media (max-width:800px) { html { scroll-padding-top: 70px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation:none !important; transition:none !important; } }
/* The contact block keeps its original width; the appended services span the page. */
.contact-before-service { position: relative; z-index: 10; }
.contact-before-service .footer_top { margin-bottom: 100px; }
.contact-before-service .cmn_contact { margin-bottom: 0; }
.footer .footer-banners { padding-top: 100px; }
.footer .footer-banners::before { display: none; }
.service-details { position: relative; isolation: isolate; }
.service-details .page_title_inner h2 { width: 100%; }
.service-details .use_insurance { display: block; }
.service-details .use_insurance_nav { width: 100%; padding: 0; gap: 0; background: transparent; border-radius: 0; }
.service-details .use_insurance_nav_item { flex: none; border: 0; padding: 0 8px; cursor: pointer; white-space: normal; }
.service-details .use_insurance_nav_item::after { display: none; }
.service-details .use_insurance_nav_item:focus-visible { outline: 3px solid var(--foreground); outline-offset: -4px; }
.service-details .use_insurance_tab_item:not([hidden]) { display: block; }
.service-details .use_insurance_tab_item[hidden] { display: none; }
@media (max-width:800px) {
  .contact-before-service .footer_top { margin-bottom: 60px; }
  .footer .footer-banners { padding-top: 60px; }
  .service-details .use_insurance_nav { width: 90%; }
}
