html { scroll-behavior:smooth; }
body { margin:0; }
.skip-link { position:fixed;top:0;left:1rem;z-index:99999;transform:translateY(-150%);padding:1rem;background:#042938;color:#fff; }
.skip-link:focus { transform:none; }
:focus-visible { outline:3px solid #c2a04d;outline-offset:4px; }
.elementor-invisible { visibility:visible!important; }
.elementor-widget-nav-menu .elementor-menu-toggle { border:0;background:transparent; }
.elementor-widget-nav-menu .sub-menu { display:none;position:absolute;z-index:1000;min-width:220px; }
.elementor-widget-nav-menu li { position:relative; }
.elementor-widget-nav-menu li.submenu-open > .sub-menu { display:block; }
@media (min-width:1025px) and (hover:hover) {
  .elementor-nav-menu--main li:not(.submenu-dismissed):hover > .sub-menu { display:block; }
}
.submenu-toggle { border:0;background:transparent;color:inherit;font-size:16px;padding:4px;position:absolute;right:0;top:12px;cursor:pointer; }
.elementor-widget-nav-menu .menu-item-has-children > a { padding-right:24px!important; }
nav.elementor-nav-menu--dropdown { display:none; }
nav.elementor-nav-menu--dropdown.is-open { display:block;max-height:80vh;overflow:auto;position:relative;top:0; }
nav.elementor-nav-menu--dropdown .sub-menu { position:static; }
.elementor-widget-image-carousel .swiper-wrapper, .veterans-carousel .uael-img-gallery-wrap { display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none; }
.elementor-widget-image-carousel .swiper-wrapper { transform:none!important; }
.elementor-widget-image-carousel .swiper-slide { flex:0 0 100%;min-width:0;max-width:none!important;width:auto!important;scroll-snap-align:start; }
.elementor-widget-image-carousel .swiper-slide img { width:100%;object-fit:contain; }
.elementor-widget-image-carousel .elementor-image-carousel-wrapper, .veterans-carousel { position:relative; }
@media(min-width:768px) {
  .elementor-element-4964647 .swiper-wrapper { gap:25px; }
  .elementor-element-4964647 .swiper-slide { flex-basis:calc((100% - 25px) / 2); }
}
.veterans-carousel .uael-img-gallery-wrap { gap:20px;max-width:100%;opacity:1;visibility:visible; }
.veterans-carousel .uael-grid-item { flex:0 0 calc((100% - 60px) / 4);width:auto!important;max-width:100%;padding:0!important;position:relative!important;left:auto!important;top:auto!important;scroll-snap-align:start; }
@media(max-width:1023px) { .veterans-carousel .uael-grid-item { flex-basis:calc((100% - 40px) / 3); } }
@media(max-width:766px) { .veterans-carousel .uael-grid-item { flex-basis:100%; } }
.carousel-control { position:absolute;z-index:2;top:45%;border:0;background:#042938bb;color:white;font-size:32px;line-height:1.1;padding:4px 12px;cursor:pointer; }
.carousel-prev { left:8px; }.carousel-next { right:8px; }
.veterans-carousel .carousel-control { background:transparent;color:#333;padding:4px;font-size:30px;top:40%; }
.veterans-carousel .carousel-prev { left:-22px; }
.veterans-carousel .carousel-next { right:-22px; }
@media(max-width:1200px) { .veterans-carousel { margin-inline:18px; } }
.carousel-pages { display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2px;padding:6px 0; }
.carousel-dot { border:0;background:transparent;padding:0;width:22px;height:26px;cursor:pointer; }
.carousel-dot::before { content:"";display:block;margin:auto;width:7px;height:7px;border-radius:50%;background:#526773; }
.carousel-dot[aria-current="true"]::before { background:#042938;outline:1px solid #042938;outline-offset:2px; }
.carousel-pause { border:0;background:transparent;color:#042938;padding:4px 8px;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer; }
.carousel-pages [hidden], .image-dialog button[hidden] { display:none!important; }
.elementor-widget-video iframe { width:100%;height:100%;border:0;aspect-ratio:16/9; }
.elementor-widget-video .elementor-wrapper { aspect-ratio:16/9; }
.native-accordion { border:1px solid #d5d8dc;margin-bottom:4px; }
.native-accordion summary { padding:18px 20px;cursor:pointer;color:#042938;font-weight:600; }
.native-accordion[open] summary { color:#9b7a2e; }
.accordion-content { padding:0 20px 20px; }
.appointment-options { padding:20px;line-height:1.8;text-align:center; }
.appointment-options h3 { color:inherit; }
.appointment-options .elementor-button { display:inline-block;margin:8px;background:#c2a04d;color:#042938;font-weight:600;padding:14px 22px; }
.appointment-options .portal-button { background:#042938;color:white;border:1px solid #c2a04d; }
.appointment-note { font-size:14px; }
.image-dialog { max-width:95vw;max-height:95vh;padding:12px;border:0;background:#fff; }
.image-dialog::backdrop { background:#000c; }
.image-dialog img { max-width:90vw;max-height:85vh;object-fit:contain; }
.image-dialog button { position:absolute;right:12px;top:12px;background:#042938;color:white;border:0;font-size:30px;cursor:pointer; }
.image-dialog .image-dialog-prev { left:12px;right:auto;top:45%;min-width:44px;min-height:44px; }
.image-dialog .image-dialog-next { right:12px;top:45%;min-width:44px;min-height:44px; }
.image-dialog-caption { color:#042938;text-align:center;margin:8px 0 0; }
.not-found { max-width:1100px;margin:80px auto;padding:30px;text-align:center; }
@media(max-width:1024px) { .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown .elementor-nav-menu { display:block; } .elementor-nav-menu--dropdown .submenu-toggle { right:12px;top:8px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important;transition:none!important; } }
.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.is-open { max-height:80vh!important;height:auto!important;transform:none!important;opacity:1!important;width:min(92vw,420px); }
.elementor-widget-image-carousel .swiper:not(.swiper-initialized) .swiper-wrapper { display:flex!important; }
.elementor-widget-nav-menu .elementor-widget-container { position:relative; }
.elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.is-open { position:absolute;top:100%!important;left:0;z-index:1001; }
.elementor-widget-nav-menu .elementor-menu-toggle { position:relative;z-index:1002; }
.video-fallback { display:block;font-size:12px;text-align:right;padding:3px 8px;color:#042938;background:#fff; }
.video-poster { width:100%;height:100%;position:relative;display:block;overflow:hidden;border:0;padding:0;background:#042938;cursor:pointer;aspect-ratio:16/9; }
.video-poster img { display:block;width:100%;height:100%;object-fit:cover; }
.video-poster span { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:72px;height:52px;border-radius:12px;background:#042938d9;color:white;font-size:30px;padding-left:5px; }
.video-poster:hover span,.video-poster:focus-visible span { background:#c2a04d;color:#042938; }
.elementor-3746 .elementor-widget-text-path:has(.service-photo-label) { width:max-content!important; }
.service-photo-label { display:inline-block;color:#000;font:400 20px/1.2 Biryani,sans-serif;white-space:nowrap;transform:translateY(42px) rotate(-11deg);transform-origin:left center; }
@media(max-width:767px) { .service-photo-label { font-size:32px;transform:translateY(42px) rotate(-20deg); } }
.elementor-3701 .elementor-element-de3c8f8 { font-size:12px;line-height:18px; }

@media (max-width:1024px) {
  .elementor-widget-nav-menu .elementor-menu-toggle { min-width:44px;min-height:44px; }
  header .elementor-widget-nav-menu .elementor-menu-toggle { color:#fff; }
}
@media (min-width:768px) and (max-width:1024px) {
  /* The original tablet columns total 120%; leave room for the patient portal button. */
  .elementor-3780 .elementor-element.elementor-element-a34df40 { --width:60%; }
  /* Match the neighboring breakpoints rather than the source's 28rem tablet typo. */
  .elementor-6362 .elementor-element:is(.elementor-element-2cd75c0,.elementor-element-1b918ac,.elementor-element-900f79e,.elementor-element-02352d9,.elementor-element-ce8f6eb) .elementor-heading-title { font-size:1.1rem;line-height:1.2; }
  .elementor-6362 .elementor-element.elementor-element-9c01d08 .elementor-heading-title { font-size:13px;line-height:1.2; }
  /* Keep internship portraits inside their narrower tablet columns. */
  .elementor-5861 .elementor-element:is(.elementor-element-f31e4b4,.elementor-element-f969876) img { max-width:min(100%,350px);height:auto;max-height:15em;object-fit:contain; }
  /* Keep the two-column badge grid visible inside the narrower tablet footer. */
  .elementor-3837 .elementor-element.elementor-element-bf74b76 > .elementor-widget-container { padding-inline:1rem; }
  .elementor-3837 a[href^="mailto:"] { overflow-wrap:anywhere; }
}
