/* Services directory: shared visual language with About Us. */
.services-directory-page{overflow-wrap:anywhere;background:#fff;--services-ink:#35243d;--services-line:#eddfeb}
.services-directory-page .inner-page-banner{padding:36px 0;background:linear-gradient(115deg,#481641 0%,#80206f 60%,#a71e91 100%)}
.services-directory-page .inner-page-banner-content{max-width:740px;padding-left:0;border-left:0}
.services-directory-page .inner-page-banner h1{font-size:clamp(30px,4vw,46px);letter-spacing:-1px;line-height:1.12;color:#fff;margin-bottom:20px}
.services-directory-page .inner-page-banner p{max-width:590px;font-size:15px;line-height:1.8;color:#f3dfef}
.services-directory-page .inner-page-kicker{color:#f3dfef;font-size:11px;letter-spacing:2.2px}
.services-directory-page .custom-breadcrumb{font-size:12px;letter-spacing:.3px;margin-top:26px}
.services-directory-page>#services{padding:80px 0;background:linear-gradient(180deg,#fff,#fcf5fa)}
.services-directory-page .section-title{display:table;font-size:clamp(28px,3.1vw,42px);line-height:1.15;letter-spacing:-1.2px;color:var(--services-ink);border-bottom:2px solid var(--clinic-primary);padding-bottom:0;margin-bottom:20px}
.services-directory-page .section-title span{color:var(--clinic-primary)}
.services-directory-page .section-kicker{font-size:11px;letter-spacing:2.2px;margin-bottom:15px}
.services-directory-page .section-lead{font-size:15px;line-height:1.85;color:#685970;margin-bottom:0}
.services-directory-page .services-search-box{background:#fff;border:1px solid var(--services-line);border-radius:16px 0 16px 0;box-shadow:0 7px 24px #48193e08;padding:10px 12px 10px 20px}
.services-directory-page .services-search-box:focus-within{border-color:var(--clinic-primary);box-shadow:0 0 0 3px #a71e9114}
.services-directory-page .btn-search-service{border-radius:10px 0 10px 0;flex-shrink:0}
.services-directory-page .service-listing-card{display:flex;flex-direction:column;height:100%;padding:0;background:#fff;border:1px solid var(--services-line);border-radius:26px 0 26px 0;overflow:hidden;box-shadow:0 8px 26px #48193e05;transition:border-color .45s ease,box-shadow .3s ease}
.services-directory-page .service-listing-card:hover{transform:none;border-color:#80206f;box-shadow:0 12px 28px #64165820}
.services-directory-page .service-listing-image{position:relative;height:220px;margin:0;overflow:hidden;background:linear-gradient(140deg,#faf4fc,#efe1f5);border-bottom:1px solid var(--services-line);border-radius:0}
.services-directory-page .service-listing-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;padding:0;transition:transform .45s ease}
.services-directory-page .service-listing-card:hover .service-listing-image img{transform:scale(1.04)}
.services-directory-page .service-image-placeholder{height:100%;display:grid;place-items:center;font-size:52px;color:var(--clinic-primary);background:transparent}
.services-directory-page .service-card-content{position:relative;isolation:isolate;padding:28px;display:flex;flex-direction:column;flex:1;text-align:center}
.services-directory-page .service-card-content::before,.services-directory-page .service-card-content::after{content:"";position:absolute;top:0;bottom:0;width:51%;background:#80206f;z-index:-1;transform:scaleX(0);transition:transform .45s ease;pointer-events:none}
.services-directory-page .service-card-content::before{left:0;transform-origin:left center}
.services-directory-page .service-card-content::after{right:0;transform-origin:right center}
.services-directory-page .service-listing-card:hover .service-card-content::before,.services-directory-page .service-listing-card:hover .service-card-content::after{transform:scaleX(1)}
.services-directory-page .service-card-content h3{font-size:21px;line-height:1.4;margin:0 0 12px}
.services-directory-page .service-card-content h3 a{color:var(--services-ink);transition:color .35s ease}
.services-directory-page .service-card-content p{font-size:14px;line-height:1.85;color:#685970;margin-bottom:24px;transition:color .35s ease}
.services-directory-page .service-read-more{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--services-line);color:var(--clinic-primary);font-size:12px;font-weight:600;text-align:left;transition:color .35s ease,border-color .35s ease}
.services-directory-page .service-listing-card:hover h3 a,.services-directory-page .service-listing-card:hover p,.services-directory-page .service-listing-card:hover .service-read-more{color:#fff}
.services-directory-page .service-listing-card:hover .service-read-more{border-color:#ffffff40}
.services-directory-page a:focus-visible{outline:2px solid var(--clinic-primary);outline-offset:4px}
.services-directory-page .service-listing-card:hover a:focus-visible,.services-directory-page .inner-page-banner a:focus-visible{outline-color:#fff}
.services-directory-page .front-empty-state{padding:48px 24px;background:#fff;border:1px solid var(--services-line);border-radius:26px 0 26px 0}
.services-directory-page .appointment-cta-section{padding:64px 0;background:#fff}
.services-directory-page .appointment-cta-card{padding:40px;border:1px solid var(--services-line);border-radius:26px 0 26px 0;background:linear-gradient(135deg,#fcf5fa,#f7f2fa);box-shadow:none}
.services-directory-page .appointment-cta-label{color:var(--clinic-primary);background:transparent;padding:0;font-size:11px;letter-spacing:1.5px}
.services-directory-page .appointment-cta-content h2{display:table;color:var(--services-ink);font-size:clamp(26px,3vw,34px);line-height:1.2;letter-spacing:-.6px;border-bottom:2px solid var(--clinic-primary)}
.services-directory-page .appointment-cta-content h2 span{color:var(--clinic-primary)}
.services-directory-page .appointment-cta-content p{color:#685970;font-size:14px;line-height:1.85}
.services-directory-page .btn-appointment-cta{background:var(--clinic-primary);color:#fff;border:1px solid var(--clinic-primary);border-radius:14px 0 14px 0;min-height:52px}
.services-directory-page .btn-appointment-cta:hover{background:#80206f;color:#fff;border-color:#80206f}
@media(max-width:991px){.services-directory-page>#services{padding:60px 0}.services-directory-page .appointment-cta-section{padding:48px 0}}
@media(max-width:575px){.services-directory-page .inner-page-banner{padding:28px 0}.services-directory-page>#services{padding:46px 0}.services-directory-page .service-listing-image{height:220px}.services-directory-page .service-card-content{padding:24px}.services-directory-page .appointment-cta-card{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){.services-directory-page .service-listing-card,.services-directory-page .service-listing-image img,.services-directory-page .service-card-content::before,.services-directory-page .service-card-content::after,.services-directory-page .service-card-content h3 a,.services-directory-page .service-card-content p,.services-directory-page .service-read-more{transition:none}.services-directory-page .service-listing-card:hover .service-listing-image img{transform:none}}
/* Restore the wide services listing container. */
.services-directory-page>#services>.container{width:97%;max-width:none}

/* Keep service card colors unchanged on hover. */
.services-directory-page .service-card-content::before,.services-directory-page .service-card-content::after{display:none}
.services-directory-page .service-listing-card:hover h3 a{color:var(--services-ink)}
.services-directory-page .service-listing-card:hover p{color:#685970}
.services-directory-page .service-listing-card:hover .service-read-more{color:var(--clinic-primary);border-color:var(--services-line)}