/* Aldaher CMS 2.1.0 — public experience layer */
:root{--ald-radius-xl:32px;--ald-radius-lg:24px;--ald-shadow:0 24px 70px rgba(16,48,55,.10);--ald-shadow-soft:0 14px 42px rgba(16,48,55,.075)}

/* Professional cross-fade hero transition. */
.aldaher-hero{isolation:isolate;overflow:hidden}
.aldaher-hero .hero-slide{opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:0!important;transition:opacity .85s cubic-bezier(.22,.61,.36,1),visibility 0s linear .85s!important}
.aldaher-hero .hero-slide.active{opacity:1!important;visibility:visible!important;pointer-events:auto!important;z-index:1!important;transition:opacity .85s cubic-bezier(.22,.61,.36,1),visibility 0s!important}
.aldaher-hero .hero-slide>img{transform:scale(1.035);transition:transform 7s ease!important}
.aldaher-hero .hero-slide.active>img{transform:scale(1)}
.aldaher-hero .hero-content,.aldaher-hero .hero-rating-card{opacity:0;transform:translateY(14px);transition:opacity .62s ease .18s,transform .62s ease .18s}
.aldaher-hero .hero-slide.active .hero-content,.aldaher-hero .hero-slide.active .hero-rating-card{opacity:1;transform:none}
.header-today-hours{font-variant-numeric:tabular-nums}

/* Compact editorial section headers. */
.aldaher-services-section .section-head,.aldaher-gallery-section .section-head{align-items:flex-end;margin-bottom:clamp(28px,4vw,46px)}
.aldaher-services-section .section-head h2,.aldaher-gallery-section .section-head h2{max-width:720px;font-size:clamp(30px,4.3vw,52px);line-height:1.06}
.aldaher-services-section .section-head p,.aldaher-gallery-section .section-head p{max-width:650px;font-size:clamp(14px,1.4vw,17px);line-height:1.65}

/* About: less empty space, balanced image/copy. */
.aldaher-about-section{padding-block:clamp(58px,7vw,92px)!important}
.aldaher-about-grid{grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr)!important;gap:clamp(34px,6vw,82px)!important;align-items:center}
.aldaher-about-grid .about-image{min-height:0!important;aspect-ratio:4/4.35;border-radius:var(--ald-radius-xl);overflow:hidden;box-shadow:var(--ald-shadow)}
.aldaher-about-grid .about-image img{height:100%;width:100%;object-fit:cover}
.aldaher-about-grid .about-copy{padding-block:0!important}
.aldaher-about-grid .about-copy h2{font-size:clamp(32px,4vw,54px);line-height:1.06;margin-bottom:18px}
.aldaher-about-grid .about-copy>p{font-size:clamp(15px,1.35vw,18px);line-height:1.75;margin-bottom:24px}
.aldaher-about-grid .check-grid{gap:10px;margin-block:20px 26px}
.aldaher-about-grid .check-grid span{padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:#fff}

/* Why us: premium split editorial layout based on the reference's hierarchy, not a copy. */
.aldaher-features-section{padding-block:clamp(64px,8vw,108px)!important;background:linear-gradient(145deg,#f8fbfb,#eef6f6)}
.aldaher-features-shell{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:clamp(34px,6vw,86px);padding:clamp(28px,5vw,68px);border:1px solid rgba(15,143,157,.14);border-radius:36px;background:#fff;box-shadow:var(--ald-shadow)}
.aldaher-features-intro{align-self:center;position:sticky;top:120px}
.aldaher-features-intro h2{font-size:clamp(34px,4.4vw,58px);line-height:1.04;letter-spacing:-.045em;margin:12px 0 18px}
.aldaher-features-intro p{font-size:16px;line-height:1.75;color:var(--muted);max-width:520px;margin:0 0 28px}
.aldaher-feature-list{display:grid;gap:0;border-top:1px solid var(--line)}
.aldaher-feature-list article{display:grid;grid-template-columns:44px minmax(0,1fr) 42px;gap:18px;align-items:start;padding:23px 4px;border-bottom:1px solid var(--line)}
.aldaher-feature-list article>span{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--primary);padding-top:5px}
.aldaher-feature-list h3{font-size:clamp(18px,1.8vw,24px);line-height:1.3;margin:0 0 6px}
.aldaher-feature-list p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}
.aldaher-feature-list i{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:color-mix(in srgb,var(--primary) 10%,white);color:var(--primary)}
.aldaher-feature-list i svg{width:19px;height:19px}

/* Gallery: asymmetric, controlled and fully responsive. */
.aldaher-gallery-section{padding-block:clamp(68px,8vw,112px)!important;background:#fff}
.aldaher-gallery-section .gallery-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;grid-auto-rows:clamp(150px,16vw,240px)!important;gap:16px!important}
.aldaher-gallery-section .gallery-item{grid-column:span 4!important;grid-row:span 1!important;border-radius:24px!important;overflow:hidden!important;position:relative!important;box-shadow:var(--ald-shadow-soft)!important}
.aldaher-gallery-section .gallery-item:nth-child(1){grid-column:span 7!important;grid-row:span 2!important}
.aldaher-gallery-section .gallery-item:nth-child(2){grid-column:span 5!important}
.aldaher-gallery-section .gallery-item:nth-child(3){grid-column:span 5!important}
.aldaher-gallery-section .gallery-item:nth-child(4),.aldaher-gallery-section .gallery-item:nth-child(5),.aldaher-gallery-section .gallery-item:nth-child(6){grid-column:span 4!important}
.aldaher-gallery-section .gallery-media,.aldaher-gallery-section .gallery-media img{width:100%;height:100%;display:block}
.aldaher-gallery-section .gallery-media img{object-fit:cover;transition:transform .55s ease,filter .55s ease}
.aldaher-gallery-section .gallery-item:hover .gallery-media img{transform:scale(1.04);filter:saturate(1.04)}
.aldaher-gallery-section .gallery-caption{position:absolute!important;inset:auto 14px 14px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;padding:11px 14px!important;border-radius:15px!important;background:rgba(255,255,255,.9)!important;backdrop-filter:blur(12px);box-shadow:0 10px 28px rgba(9,38,46,.12)!important}

/* Insurance becomes a deliberately small, independent content block. */
.aldaher-insurance-section{padding-block:clamp(28px,4vw,48px)!important;background:#fff!important}
.aldaher-insurance-wrap{display:flex;justify-content:center}
.aldaher-insurance-section .agr-insurance-badge{width:min(100%,880px)!important;max-width:880px!important;padding:1rem 1.15rem!important;border-radius:20px!important;box-shadow:0 14px 42px rgba(10,48,91,.085)!important}
.aldaher-insurance-section .agr-insurance-badge__icon{flex-basis:3rem!important;width:3rem!important;height:3rem!important;min-width:3rem!important;min-height:3rem!important;max-width:3rem!important;max-height:3rem!important;border-radius:14px!important}
.aldaher-insurance-section .agr-insurance-badge__copy strong{font-size:clamp(1.05rem,1.8vw,1.35rem)!important}
.aldaher-insurance-section .agr-insurance-badge__copy small{font-size:.86rem!important}

/* Google reviews: strong two-zone hierarchy, no giant empty canvas. */
.aldaher-google-reviews-section{padding-block:clamp(62px,8vw,104px)!important;background:linear-gradient(155deg,#edf6fb 0%,#f8fbfd 46%,#edf8f7 100%)!important}
.aldaher-google-reviews-section .agr-reviews-panel{display:grid!important;grid-template-columns:minmax(250px,.68fr) minmax(0,1.32fr)!important;column-gap:clamp(28px,5vw,72px)!important;row-gap:20px!important;padding:clamp(26px,4.5vw,58px)!important;border-radius:34px!important;box-shadow:0 30px 90px rgba(10,38,77,.13)!important;min-height:0!important}
.aldaher-google-reviews-section .agr-reviews-head{grid-column:1!important;display:block!important;margin:0!important;align-self:center!important}
.aldaher-google-reviews-section .agr-reviews-head h2{font-size:clamp(31px,4.2vw,54px)!important;line-height:1.04!important;margin-bottom:14px!important}
.aldaher-google-reviews-section .agr-reviews-summary{margin-top:24px!important;width:max-content!important;max-width:100%!important}
.aldaher-google-reviews-section [data-agr-content]{grid-column:2!important;grid-row:1/span 2!important;align-self:center!important;min-width:0!important}
.aldaher-google-reviews-section .agr-reviews-track{grid-auto-columns:minmax(280px,1fr)!important;gap:18px!important;padding:4px 4px 12px!important}
.aldaher-google-reviews-section .agr-review-card{min-height:310px!important;padding:clamp(20px,2.5vw,30px)!important;border-radius:26px!important;box-shadow:0 18px 48px rgba(29,61,78,.10)!important}
.aldaher-google-reviews-section .agr-reviews-controls,.aldaher-google-reviews-section .agr-live-bar{grid-column:1/-1!important}
.aldaher-google-reviews-section .agr-reviews-footer{margin-top:16px!important}

/* Contact + location unified in one coherent component. */
.aldaher-contact-location-section{padding-block:clamp(68px,8vw,108px)!important;background:#fff}
.aldaher-contact-location{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);overflow:hidden;border-radius:36px;background:#103b43;box-shadow:0 32px 90px rgba(10,48,56,.18);min-height:560px}
.aldaher-contact-card{padding:clamp(30px,5vw,68px);display:flex;flex-direction:column;justify-content:center;color:#fff}
.aldaher-contact-card .section-kicker{color:#7dd7d0}
.aldaher-contact-card h2{font-size:clamp(34px,4.2vw,56px);line-height:1.05;letter-spacing:-.04em;margin:12px 0 18px;color:#fff}
.aldaher-contact-card>p{font-size:16px;line-height:1.75;color:#c5d9dc;margin:0 0 26px}
.aldaher-contact-actions{display:flex;flex-wrap:wrap;gap:11px;margin-bottom:30px}
.aldaher-contact-card .btn-light{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}
.aldaher-contact-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:24px}
.aldaher-contact-facts>div{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:17px;background:rgba(255,255,255,.075)}
.aldaher-contact-facts .icon-box{background:rgba(255,255,255,.1);color:#81d9d3;flex:none}
.aldaher-contact-facts strong,.aldaher-contact-facts small{display:block}.aldaher-contact-facts strong{margin-bottom:6px;color:#fff}.aldaher-contact-facts small{color:#c5d9dc;line-height:1.55}
.aldaher-contact-map{min-width:0;position:relative}
.aldaher-contact-map>.acm-location{display:block!important;height:100%!important;min-height:560px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#dfeaec!important}
.aldaher-contact-map .acm-location-copy{display:none!important}
.aldaher-contact-map .acm-map-shell{min-height:560px!important;height:100%!important}
.aldaher-map-fallback{height:100%;min-height:560px;display:grid;place-content:center;text-align:center;gap:16px;background:linear-gradient(135deg,#d9e7e8,#f0f5f4);padding:30px}
.aldaher-map-fallback>span{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;margin:auto;background:var(--primary);color:#fff}.aldaher-map-fallback svg{width:32px;height:32px}

/* FAQ: compact split layout and restrained spacing. */
.aldaher-faq-section{padding-block:clamp(58px,7vw,92px)!important}
.aldaher-faq-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:clamp(30px,5vw,72px);align-items:start}
.aldaher-faq-intro{position:sticky;top:120px}
.aldaher-faq-intro h2{font-size:clamp(31px,4vw,50px);line-height:1.08;margin:10px 0 15px}
.aldaher-faq-intro p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 22px}
.aldaher-faq-layout .faq-list{max-width:none!important;margin:0!important;gap:8px!important}
.aldaher-faq-layout .faq-item{border-radius:15px!important;box-shadow:none!important}
.aldaher-faq-layout .faq-question{min-height:62px!important;padding:13px 15px 13px 17px!important}
.aldaher-faq-layout .faq-question-text{font-size:15px!important}
.aldaher-faq-layout .faq-answer>div{padding-block-end:17px!important;font-size:14px!important;line-height:1.65!important}

.site-footer .footer-bottom{justify-content:center!important}

@media(max-width:980px){
 .aldaher-about-grid,.aldaher-features-shell,.aldaher-faq-layout{grid-template-columns:1fr!important}
 .aldaher-features-intro,.aldaher-faq-intro{position:static}
 .aldaher-google-reviews-section .agr-reviews-panel{grid-template-columns:1fr!important}
 .aldaher-google-reviews-section .agr-reviews-head,.aldaher-google-reviews-section [data-agr-content]{grid-column:1!important;grid-row:auto!important}
 .aldaher-contact-location{grid-template-columns:1fr!important}
 .aldaher-contact-map>.acm-location,.aldaher-contact-map .acm-map-shell,.aldaher-map-fallback{min-height:420px!important}
 .aldaher-gallery-section .gallery-item:nth-child(n){grid-column:span 6!important;grid-row:span 1!important}
 .aldaher-gallery-section .gallery-item:nth-child(1){grid-column:span 12!important;grid-row:span 2!important}
}
@media(max-width:700px){
 .aldaher-hero .hero-slide>img{transform:none!important}.aldaher-hero .hero-content,.aldaher-hero .hero-rating-card{transform:none}
 .header-utility-inner .header-today-hours{display:inline-flex!important}
 .header-utility-inner>span:first-child{display:none!important}
 .aldaher-about-section,.aldaher-services-section,.aldaher-features-section,.aldaher-gallery-section,.aldaher-google-reviews-section,.aldaher-contact-location-section,.aldaher-faq-section{padding-block:48px!important}
 .aldaher-about-grid .about-image{aspect-ratio:4/3.5}
 .aldaher-features-shell{padding:24px 18px;border-radius:25px}
 .aldaher-feature-list article{grid-template-columns:34px minmax(0,1fr) 34px;gap:10px;padding:18px 0}
 .aldaher-feature-list i{width:32px;height:32px;border-radius:11px}
 .aldaher-gallery-section .gallery-grid{grid-template-columns:1fr!important;grid-auto-rows:auto!important;gap:12px!important}
 .aldaher-gallery-section .gallery-item:nth-child(n){grid-column:1!important;grid-row:auto!important;aspect-ratio:16/10!important;border-radius:19px!important}
 .aldaher-gallery-section .gallery-item:first-child{aspect-ratio:4/3!important}
 .aldaher-insurance-section{padding-block:24px!important}
 .aldaher-insurance-section .agr-insurance-badge{width:100%!important;padding:.9rem!important;border-radius:18px!important}
 .aldaher-insurance-section .agr-insurance-badge__accent{display:none!important}
 .aldaher-google-reviews-section .agr-reviews-panel{padding:22px 17px!important;border-radius:25px!important}
 .aldaher-google-reviews-section .agr-reviews-track{grid-auto-columns:100%!important}
 .aldaher-google-reviews-section .agr-review-card{min-height:260px!important}
 .aldaher-contact-location{border-radius:26px;min-height:0}
 .aldaher-contact-card{padding:30px 20px}
 .aldaher-contact-facts{grid-template-columns:1fr}
 .aldaher-contact-map>.acm-location,.aldaher-contact-map .acm-map-shell,.aldaher-map-fallback{min-height:350px!important}
 .aldaher-faq-layout{gap:24px}
 .aldaher-faq-intro .btn{display:none}
}
@media(prefers-reduced-motion:reduce){.aldaher-hero .hero-slide,.aldaher-hero .hero-slide>img,.aldaher-hero .hero-content,.aldaher-hero .hero-rating-card{transition:none!important;transform:none!important}}
