/* Only CMS-independent behavior. Original visual declarations are captured unchanged. */
/* SmartMenus sets this width at runtime on the source site. Keep the panel
   behind the full, unwrapped label when running without that CMS plugin. */
.elementor-nav-menu--main .menu-item-has-children>.sub-menu{width:max-content!important;min-width:10em;max-width:1000px}
.elementor-nav-menu--main .menu-item-has-children:hover>.sub-menu,
.elementor-nav-menu--main .menu-item-has-children:focus-within>.sub-menu{display:block!important;position:absolute;z-index:30}
.elementor-nav-menu--dropdown.elementor-nav-menu__container.is-open{display:block!important;max-height:var(--menu-height)!important;transform:scaleY(1)!important;visibility:visible!important}
.elementor-nav-menu__container .sub-menu{display:none!important}
.elementor-nav-menu__container .sub-menu.is-open{display:block!important;position:static}
.contact-status:empty{display:none}.contact-status a{color:inherit;text-decoration:underline}
.swiper-wrapper{display:flex!important;overflow:visible;will-change:transform;scrollbar-width:none;align-items:stretch}
.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-slide{flex-shrink:0;height:auto}
.elementor-image-carousel-wrapper .swiper-slide{width:calc(100% / var(--visible-slides,3))}
.elementor-widget-testimonial-carousel .swiper-slide{width:100%}
.elementor-swiper-button{cursor:pointer;z-index:5}
.elementor-background-video-container video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;top:0!important;left:0!important;transform:none!important}
@media(max-width:1024px) and (min-width:768px){.elementor-image-carousel-wrapper .swiper-slide{width:calc(100% / var(--tablet-slides,2))}}
@media(max-width:767px){.elementor-image-carousel-wrapper .swiper-slide{width:calc(100% / var(--mobile-slides,1))}}
[data-logo-marquee] .swiper-wrapper{gap:var(--slide-gap)}
[data-logo-marquee] .swiper-slide{width:calc((100% - (var(--visible-slides,8) - 1) * var(--slide-gap)) / var(--visible-slides,8))}
.elementor-gallery__container{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.elementor-gallery__container .e-gallery-item{position:relative;aspect-ratio:4/3;display:block}
.elementor-gallery__container .e-gallery-image{width:100%;height:100%;background-size:cover;background-position:center}
@media(max-width:1024px) and (min-width:768px){[data-logo-marquee] .swiper-slide{width:calc((100% - (var(--tablet-slides,4) - 1) * var(--slide-gap)) / var(--tablet-slides,4))}.elementor-gallery__container{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){[data-logo-marquee] .swiper-slide{width:calc((100% - (var(--mobile-slides,3) - 1) * var(--slide-gap)) / var(--mobile-slides,3))}.elementor-gallery__container{grid-template-columns:1fr}}

.swiper{overflow:hidden;touch-action:pan-y}

/* Services intro redesign requested by Daniel. All other sections retain source styles. */
.avenues-services-intro{--services-accent:#007e9f;background:#fff;color:#292929;padding:72px 24px}
.avenues-services-intro__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto 1fr;grid-template-areas:"heading list" "action list";column-gap:96px;row-gap:32px;align-items:start}
.avenues-services-intro h2{grid-area:heading;margin:0;font-family:Montserrat,sans-serif;font-weight:700;font-size:34px;line-height:1.3;letter-spacing:-.025em;color:#292929}
.avenues-services-intro h2 .avenues-services-intro__accent{color:var(--services-accent)}
.avenues-services-intro__phrase{white-space:nowrap}
.avenues-services-intro__list{grid-area:list;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;list-style:none;margin:0;padding:0;border-top:1px solid #cfe7ed;font-family:Lato,sans-serif}
.avenues-services-intro__list li{margin:0;min-width:0}
.avenues-services-intro__linked{grid-column:1/-1;border-bottom:1px solid #cfe7ed}
.avenues-services-intro__linked a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;color:#292929;font-size:18px;font-weight:600;line-height:1.5;text-decoration:none;transition:color .15s}
.avenues-services-intro__linked svg{width:22px;height:22px;flex:0 0 22px;color:var(--services-accent)}
.avenues-services-intro__linked a:hover{color:var(--services-accent)}
.avenues-services-intro__additional{grid-column:1/-1;padding:12px 0 0;font-size:16px;line-height:1.5;color:#534a45}
[data-captured-page="/services/"] .avenues-services-intro .avenues-services-intro__cta.elementor-button{grid-area:action;justify-self:start;align-self:start;margin:0;padding:15px 23px;background:var(--services-accent);color:#fff;border:2px solid var(--services-accent);border-radius:28px;box-shadow:none;font-family:Lato,sans-serif;font-size:16px;font-weight:600;line-height:1.25;text-decoration:none;transition:background .15s,color .15s}
[data-captured-page="/services/"] .avenues-services-intro .avenues-services-intro__cta.elementor-button:hover{background:#006a86;color:#fff}
.avenues-services-intro a:focus-visible{outline:2px solid var(--services-accent);outline-offset:5px}
@media(max-width:1100px){.avenues-services-intro__inner{column-gap:56px}.avenues-services-intro h2{font-size:30px}}
@media(max-width:900px){.avenues-services-intro{padding:56px 24px}.avenues-services-intro__inner{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"heading" "list" "action";row-gap:32px}.avenues-services-intro h2{max-width:650px}}
@media(max-width:480px){.avenues-services-intro{padding:40px 24px 48px}.avenues-services-intro h2{font-size:26px;line-height:1.35}.avenues-services-intro__linked a{font-size:17px;padding:16px 0;gap:16px}.avenues-services-intro__additional{font-size:15px}.avenues-services-intro__list{column-gap:20px}}
