/* Shared interaction and editorial finishing layer. */
:root{--af-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth}
.af-site main{transition:opacity .22s ease,transform .22s var(--af-ease)}
.af-site.af-leaving main{opacity:0;transform:translateY(-6px)}
.af-motion .af-reveal{opacity:0;transform:translateY(26px);transition:opacity .75s var(--af-ease),transform .85s var(--af-ease);transition-delay:var(--af-delay,0ms)}
.af-motion .af-reveal.is-visible{opacity:1;transform:none}
.af-motion .af-service-card,.af-motion .af-team-card{animation:none}
.af-motion .af-reveal.is-visible:hover{transition-delay:0ms}
.af-site a,.af-site button{-webkit-tap-highlight-color:transparent}
.af-button:active{transform:translateY(1px) scale(.985)!important}
.af-card-link span,.af-team-more span{transition:transform .35s var(--af-ease)}
a:hover .af-card-link span,a:focus-visible .af-card-link span{transform:translate(3px,-3px)}
.af-nav a{position:relative;text-decoration:none!important}
.af-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--af-ease)}
.af-nav a:hover:after,.af-nav a[aria-current=page]:after{transform:scaleX(1)}
.af-faq summary span{transition:transform .3s var(--af-ease)}
.af-faq summary{transition:color .2s}.af-faq summary:hover{color:#718564}
.af-nav.is-open{animation:af-menu-in .3s var(--af-ease)}
@keyframes af-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Keep the panoramic media, with a wider reading area and an integrated review link. */
.af-hero{padding:52px max(48px,calc((100% - 1280px)/2)) 48px;min-height:650px}
.af-hero-copy{width:51%;min-height:550px;align-items:flex-start}
.af-hero-copy h1{font-size:clamp(64px,6.1vw,100px);margin:0 0 25px}
.af-hero-copy h2{max-width:490px}
.af-hero-copy .af-lead{max-width:470px}
.af-hero-photo.af-hero-video{left:34%}
.af-hero-copy .af-specialty{max-width:475px;padding-top:17px!important;font-size:11px}
.af-hero-actions{margin:26px 0 23px;flex-direction:row;flex-wrap:wrap;gap:12px 23px;align-items:center}
.af-hero-reviews{display:inline-flex;align-items:center;gap:14px;margin-top:24px;text-decoration:none;color:#243c34;line-height:1.4;padding:3px 0}
.af-hero-reviews>strong{font-family:AFSerif,Georgia,serif;font-size:33px;font-weight:450}
.af-hero-reviews>span{display:flex;flex-direction:column;gap:3px;border-left:1px solid #d2dacf;padding-left:14px}
.af-hero-reviews .af-stars{font-size:12px;color:#788758;letter-spacing:3px}
.af-hero-reviews small{font-size:11px;color:#657068}
.af-hero-reviews>svg{width:18px;height:18px;margin-left:8px;transition:transform .3s var(--af-ease)}
.af-hero-reviews:hover>svg{transform:translate(3px,-3px)}
.af-services-home{padding-block:56px 30px}
.af-team-home{padding-block:58px 48px}
.af-home-content{padding-block:0 16px}
.af-home-content>hr{margin:12px 0}
.af-home-content>.af-care-intro{padding-top:36px}
.af-home-content .af-section{padding-block:38px}
.af-care-opening>p:last-of-type{margin-bottom:24px}
.af-care-intro>.af-column>.af-columns-2{padding-block:32px!important}
.af-home-content>.af-section:has(.kt-svg-icon-list){margin-block:20px;padding-block:44px}
.af-home-content .af-why-us{padding:44px 40px!important;margin:24px 0 40px}
.af-home-content .af-home-cta{margin-bottom:12px}
.af-faq{padding-block:46px 64px}
.af-care-icon{stroke-width:1.5;width:30px;height:30px;flex-basis:30px}

/* Process uses the same typography and dividers as the care sections. */

.af-process-block{width:100%;padding:32px 0;margin:0}
.af-process-block h2{font-family:AFInter,"Segoe UI",sans-serif;font-size:clamp(30px,4vw,48px);font-weight:500;margin:0 0 28px;line-height:1.04;letter-spacing:-.045em}
.af-process-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;border:0;background:none;counter-reset:step}
.af-process-item{position:relative;padding:23px 0 23px 48px;border:0!important;border-top:1px solid var(--af-line)!important;counter-increment:step}
.af-process-item:before{content:"0" counter(step);position:absolute;left:0;top:27px;font-family:AFInter,"Segoe UI",sans-serif;font-size:13px;font-weight:500;line-height:1;color:#738369}
.af-process-item:after{display:none}
.af-process-item h3{font-size:22px;font-weight:500;line-height:1.3;margin:0 0 9px;letter-spacing:-.035em}
.af-process-item p{font-size:15px;line-height:1.75;color:var(--af-muted);margin:0;max-width:440px}
.af-process-note{display:flex;gap:11px;align-items:center;margin-top:3px;padding:18px 0 0;border-top:1px solid var(--af-line)}
.af-process-note svg{width:19px;height:19px;flex-shrink:0;color:#738369}
.af-process-note p{font-size:13px;color:var(--af-muted);margin:0}

/* Contact-first footer: identity, practical details and an embedded Google map. */
.af-footer{background:var(--af-ink);padding:52px 0 0;color:#eef2e9}
.af-footer-grid{display:grid;grid-template-columns:.85fr 1fr 1.4fr;gap:52px;padding:0;align-items:start}
.af-footer-grid>div{min-width:0}
.af-footer .af-brand{margin-bottom:22px}
.af-footer .af-brand img{background:#f4f5ef;width:36px;height:48px;padding:4px;border-radius:2px}
.af-footer .af-brand>span{font-size:25px}
.af-footer-grid h2{font-family:AFInter,"Segoe UI",sans-serif;font-size:18px;letter-spacing:-.025em;text-transform:none;color:#f2f5ef;margin:0 0 19px;font-weight:500}
.af-footer-grid p{font-size:14px;line-height:1.8;margin:0 0 18px;color:#becdc5}
.af-footer-grid a{font-size:13px;color:#e1e8de;text-decoration:none}
.af-footer-grid a:hover{text-decoration:underline}
.af-footer-grid .af-footer-phone{display:block;font-size:24px!important;white-space:nowrap;text-decoration:none;margin-bottom:6px;font-weight:500}
.af-footer-grid .af-footer-email{display:block;font-size:12px;overflow-wrap:anywhere}
.af-footer-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:25px}
.af-footer-grid .af-footer-hours-title{font-size:13px;margin:26px 0 12px;color:#becdc5;letter-spacing:0}
.af-footer-hours{display:grid;grid-template-columns:auto auto;gap:6px 25px;max-width:245px;margin:0;font-size:13px;color:#becdc5}
.af-footer-hours dt,.af-footer-hours dd{margin:0}.af-footer-hours dd{text-align:right;color:#eef2e9}
.af-footer .af-footer-review{display:flex;align-items:center;gap:12px;border-top:1px solid #ffffff24;padding-top:19px;margin-top:24px;text-decoration:none;max-width:240px}
.af-footer-review strong{font-family:AFInter,"Segoe UI",sans-serif;font-size:25px;font-weight:500;letter-spacing:-.04em}
.af-footer-review span{font-size:11px;color:#becdc5;line-height:1.8}.af-footer-review b{font-weight:400;letter-spacing:2px;color:#bccba6}
.af-footer .af-footer-booking{display:inline-flex;margin-top:25px;min-height:46px;padding:12px 16px;font-size:12px!important;border:1px solid #9bb0a1;box-shadow:none;max-width:none;gap:18px}
.af-footer .af-footer-booking span{font-size:17px}
.af-footer-location-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 15px;margin-bottom:14px}
.af-footer-location-head h2{margin:0}.af-footer-location-head a{font-size:12px;white-space:nowrap}
.af-footer .af-google-map{overflow:hidden;border:1px solid #ffffff26;border-radius:2px;background:#dfe4dd}
.af-footer .af-google-map iframe{display:block;width:100%;height:240px;border:0}
.af-footer-grid .af-footer-address{margin:13px 0 0;font-size:13px;line-height:1.7}
.af-footer-bottom{margin-top:38px;padding-block:21px;font-size:11px;color:#aebfb2;border-color:#ffffff24}
@media(min-width:1600px){.af-hero-copy{max-width:640px}.af-hero{min-height:690px}.af-hero-copy{min-height:580px}}
@media(max-width:1200px){.af-hero{padding-inline:32px}.af-hero-copy{width:57%}.af-hero-copy h1{font-size:72px}.af-footer-grid{grid-template-columns:1fr 1fr;gap:36px}.af-footer-grid>div:last-child{grid-column:1/-1}.af-footer .af-google-map iframe{height:270px}.af-process-grid{gap:22px}.af-process-item h3{font-size:19px}}
@media(max-width:760px){
 .af-hero{padding:32px 20px 0;min-height:0;display:flex;flex-direction:column}
 .af-hero-copy{width:100%;min-height:0;padding:0;display:block}
 .af-hero-copy h1{font-size:clamp(52px,12.8vw,76px);margin-bottom:22px}
 .af-hero-copy h2{font-size:20px}.af-hero-copy .af-lead{font-size:15px}
 .af-hero-actions{flex-direction:column;align-items:flex-start;margin-block:24px 19px;gap:13px}
 .af-hero-copy .af-specialty{font-size:11px}.af-hero-reviews{margin-top:19px}
 .af-hero-photo.af-hero-video{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:calc(100% + 40px);height:270px;min-height:0;margin:8px -20px 0;align-self:center}
 .af-hero-video:before{background:linear-gradient(180deg,#fafaf7,transparent 28%),linear-gradient(0deg,#fafaf7,transparent 20%)}
 .af-services-home{padding-block:34px 20px}.af-team-home{padding-block:38px 30px}
 .af-home-content>.af-care-intro{padding-top:26px}.af-home-content .af-section{padding-block:28px}
 .af-home-content .af-why-us{padding:30px 20px!important;margin-block:18px 28px}
 .af-home-content>.af-section:has(.kt-svg-icon-list){padding-block:32px}
 .af-faq{padding-block:32px 42px}.af-faq h2{font-size:35px;margin-bottom:20px}.af-faq summary{font-size:16px;gap:20px}

 .af-process-block{padding-block:26px}.af-process-block h2{font-size:32px;margin-bottom:24px}
 .af-process-grid{grid-template-columns:1fr;gap:0}.af-process-item{padding:20px 0 20px 38px}.af-process-item:before{top:25px;font-size:12px}.af-process-item h3{font-size:21px}.af-process-item p{font-size:14px}
 .af-process-note{align-items:flex-start}.af-process-note p{font-size:12px}
 .af-footer{padding-top:34px}.af-footer-grid{grid-template-columns:1fr;gap:30px}.af-footer-grid>div{grid-column:auto!important}
 .af-footer-grid>div+div{border-top:1px solid #ffffff24;padding-top:27px}
 .af-footer .af-brand{margin-bottom:16px}.af-footer-grid p{font-size:14px}.af-footer-grid h2{font-size:18px}
 .af-footer-links{margin-top:18px}.af-footer .af-footer-review{max-width:none;margin-top:20px;padding-top:16px}
 .af-footer-hours{max-width:280px}.af-footer .af-footer-booking{width:100%;justify-content:space-between}
 .af-footer .af-google-map iframe{height:240px}.af-footer-bottom{flex-wrap:wrap;gap:10px;margin-top:30px}

}
