/* Focused changes on the restored version 44. */
.hotel-hero .hero-content>.hero-practice-name{font-size:clamp(18px,1.6vw,23px);letter-spacing:.13em;line-height:1.55;max-width:none;color:#fff}
.values-strip .value-item:first-child p{font-family:var(--sans)!important;font-size:inherit;font-weight:500;letter-spacing:inherit;line-height:1.8}
.section-heading h1,.section-heading h2,.google-review-heading h2{border:0;background:transparent;padding:0;box-shadow:none;border-radius:0}
.technology-grid>figure{border:0;padding:0;background:transparent;box-shadow:none}
.site-header .header-inner{position:relative;height:112px}
.site-header nav{padding-top:25px}
.header-phone{position:absolute;right:0;top:10px;display:inline-flex;align-items:center;gap:7px;color:#39463d;font:600 13px/1.4 var(--sans);letter-spacing:.02em;text-decoration:none;white-space:nowrap}
.header-phone:hover{color:#17281d;text-decoration:underline;text-underline-offset:4px}
.header-phone svg{flex:none}
.site-header nav .button{border-radius:999px;background:linear-gradient(115deg,#d5d6d5 0%,#fafafa 26%,#e4e5e4 47%,#bfc2c0 72%,#f2f3f2 100%);border:1px solid #b6bcb7;color:#2f3933;box-shadow:inset 0 1px 0 #fff,0 3px 10px #26372d12;transition:box-shadow .2s,filter .2s}
.site-header nav .button:hover,.site-header nav .button:focus-visible{filter:brightness(1.05);box-shadow:inset 0 1px 0 #fff,0 4px 14px #26372d25;color:#223128}
@media(min-width:1101px) and (max-width:1450px){.site-header nav{gap:15px;font-size:12px}.site-header .wordmark{width:180px;flex-basis:180px}.site-header nav .button{font-size:10px;padding:12px 15px}}
@media(max-width:1100px){.site-header .header-inner{height:108px;padding-bottom:20px}.header-phone{top:auto;bottom:7px;right:0;font-size:12px}.site-header nav{top:108px;padding-top:15px;max-height:calc(100dvh - 108px)}.site-header nav .header-phone{position:static}.site-header nav .button{font-size:13px}}
@media(max-width:760px){.hotel-hero .hero-content>.hero-practice-name{font-size:16px;letter-spacing:.09em;max-width:none}.values-strip .value-item:first-child p{font-size:inherit}.site-header .wordmark{width:185px;flex-basis:185px}.site-header .header-inner{height:104px}.site-header nav{top:104px;max-height:calc(100dvh - 104px)}.header-phone{font-size:12px;bottom:7px}}
.values-strip .value-item:first-child p{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;line-height:1.8}
/* Navigation and warm photographic finish. */
.site-header .header-inner{height:96px;padding-bottom:0;gap:20px}
.site-header nav{padding-top:0;gap:18px}
.site-header nav .header-phone{position:static;display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:0;flex-shrink:0}
.site-header nav .header-phone:hover{background:#e9ece5;text-decoration:none;border-radius:8px}
.arrow-icon{display:none!important}
.text-link:hover,.hero-bottom a:hover{color:#354832;text-decoration:underline;text-underline-offset:5px}
main img:not(.practice-logo){filter:brightness(1.09) saturate(1.18) sepia(.035)}
.hotel-hero .hero-photo img{filter:brightness(1.13) saturate(1.23) sepia(.05)}
.technology-grid>figure>img{filter:brightness(1.27) contrast(1.07) saturate(1.16)}
@media(min-width:1101px) and (max-width:1450px){.site-header .wordmark{width:165px;flex-basis:165px}.site-header nav{font-size:11px;gap:12px}.site-header nav .header-phone{font-size:11px}.site-header nav .button{padding:12px 14px;font-size:10px}}
@media(max-width:1100px){.site-header .header-inner{height:86px}.site-header nav{top:86px;max-height:calc(100dvh - 86px);padding:20px}.site-header nav .header-phone{font-size:15px;padding-block:12px}.site-header nav .button{font-size:13px}}
@media(max-width:760px){.site-header .header-inner{height:82px}.site-header nav{top:82px;max-height:calc(100dvh - 82px)}}
/* More readable introduction and compact mobile approach strip. */
.hotel-hero .hero-content>.hero-practice-name{font-style:italic}
.intro-copy .practice-introduction{font-size:clamp(20px,2vw,26px);line-height:1.7;font-weight:500;color:#354132;max-width:780px}
.service-detail>summary:after,.service-detail[open]>summary:after{content:none!important;display:none!important}
.service-action-label{font:600 10px/1.4 var(--sans);letter-spacing:.03em;text-transform:none;color:#536345;background:#edf0e7;border-radius:999px;padding:7px 10px;white-space:nowrap;flex-shrink:0}
.service-detail>summary:hover .service-action-label{background:#dfe6d5;color:#34472b}
.service-detail[open]>summary .service-action-label{background:#dfe6d5}
.service-back{grid-column:1/-1;justify-self:start;border:1px solid #b9c4ac;border-radius:999px;padding:12px 20px;background:#f4f6ef;color:#3e5034;font:600 13px/1.5 var(--sans);cursor:pointer}
.service-back:hover,.service-back:focus-visible{background:#e3e9da}
@media(max-width:760px){.values-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;gap:0}.values-strip .value-item{min-width:0;padding:18px 8px;border-bottom:0;border-right:1px solid #c9cbbc}.values-strip .value-item:last-child{border-right:0}.values-strip .value-item h2{font-size:11px!important;line-height:1.4;letter-spacing:.035em;margin:0 0 7px}.values-strip .value-item p,.values-strip .value-item:first-child p{font-size:9px!important;line-height:1.65;letter-spacing:.015em;margin:0;text-transform:none}.intro-copy .practice-introduction{font-size:20px;line-height:1.75}.service-detail>summary{gap:10px}.service-action-label{font-size:9px;padding:7px 8px}.service-detail[open]>summary{font-size:19px}.service-back{width:100%;text-align:center}}
.intro-copy>p.practice-introduction{font-size:clamp(20px,2vw,26px);line-height:1.7}
@media(max-width:760px){.intro-copy>p.practice-introduction{font-size:20px;line-height:1.75}}
.service-name{min-width:0;flex:1;overflow-wrap:break-word}
.service-back-top{display:none}
@media(max-width:760px){.service-back-top{display:block;margin-bottom:4px}.team-section .people-grid{grid-template-columns:1fr;max-width:420px!important;margin-inline:auto;gap:34px!important}.team-section .owner-feature{margin-bottom:34px}.team-section .owner-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}.team-section .person>p:not(.role){font-size:14px;line-height:1.8}}
/* Centered service hierarchy and full-quality treatment illustrations. */
.service-group-title{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;width:100%}
.service-group-title h3{width:100%;text-align:center;margin:0}
.service-presentation>.service-photo-title{grid-column:1/-1;text-align:center;width:100%;margin:0 0 5px;font-size:clamp(24px,2.4vw,32px)}
.service-presentation figure{position:static;align-self:start;margin:0;width:100%}
.service-presentation img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:transparent;filter:brightness(1.025) saturate(1.06);border-radius:5px}
@media(max-width:760px){.service-group-title{gap:8px;margin-bottom:14px}.service-group-title h3{font-size:21px}.service-presentation>.service-photo-title{font-size:24px;line-height:1.35;margin-bottom:0}.service-presentation{gap:18px}.service-presentation>.service-back-top{grid-row:1}.service-presentation>.service-photo-title{grid-row:2}}
@media(max-width:760px){.service-groups{grid-template-columns:minmax(0,1fr)!important;gap:20px}.service-group{padding:22px 20px;min-width:0}.service-group-title h3{overflow-wrap:normal}.service-detail>summary{font-size:15px}}
/* Uniform colleague portraits, with more of Agnes's supplied photograph visible. */
.people-grid .person{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.people-grid .person .person-photo{width:250px!important;height:345px!important;aspect-ratio:auto!important;flex:none;border-radius:7px;margin:0 auto!important;background:#e7e9e2;overflow:hidden}
.people-grid .person h3{margin:22px 0 8px;min-height:34px;line-height:1.4}
.people-grid .person .role{margin:0 0 12px;min-height:22px;line-height:1.6}
.people-grid .person .person-photo:not(.asher-photo):not(.agnes-photo) img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.people-grid .person .agnes-photo img{position:absolute;width:235%;height:auto;max-width:none;left:-3.5%;top:-7.2%;clip-path:inset(9.78% 58.69% 10.6% 4.35%);transform:none;object-fit:initial}
@media(max-width:760px){.people-grid .person .person-photo{width:250px!important;height:345px!important}.people-grid .person h3{min-height:0}.people-grid .person .role{min-height:0}}
.people-grid .person .portrait-image-area{position:absolute;inset:12px 16px 33px;overflow:hidden;border-radius:4px}
.people-grid .person .agnes-photo img{width:270%;left:-11.74%;top:-12.3%;clip-path:none}
.people-grid .person .asher-photo img{position:absolute;width:270%;height:auto;max-width:none;left:-130%;top:-8%;transform:none}
/* Clean original portraits, with no screenshot edges or inset color. */
.people-grid .person .person-photo{border-radius:18px;background:transparent;border:0}
.people-grid .person .portrait-image-area{inset:0;border-radius:18px;background:transparent}
.people-grid .person .person-photo img,.people-grid .person .agnes-photo img,.people-grid .person .asher-photo img{position:static!important;width:100%!important;height:100%!important;max-width:100%;object-fit:cover!important;object-position:center;transform:none;clip-path:none;filter:brightness(1.025) saturate(1.04)}
.people-grid .person .person-photo:not(.asher-photo):not(.agnes-photo) img{object-position:50% 30%}
/* A calmer review carousel, with manual controls and honest attribution. */
.verified-review-slider{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1050px;margin:32px auto 0;min-height:285px}
.verified-review-slider .review-box{border:0;border-radius:20px;padding:30px 34px;background:#fffefa;box-shadow:0 8px 30px #33402c0a;min-height:285px}
.verified-review-slider .review-box[hidden]{display:none!important}
.verified-review-slider .review-box blockquote{font-family:var(--sans);font-size:18px;line-height:1.8;font-weight:500}
.review-box-top h3{font-size:15px}.review-avatar{background:#e7eddf}.review-box .stars{color:#e5a713;letter-spacing:3px}
.review-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:26px}
.review-controls button{border:1px solid #aab6a1;border-radius:999px;padding:12px 24px;background:#f7f8f1;color:#33452b;font:600 12px var(--sans);cursor:pointer}
.review-controls button:hover,.review-controls button:focus-visible{background:#e0e8d6}.review-page{font:500 12px var(--sans);color:#4e5a45}
.google-review-summary .button{border-radius:999px}.google-review-summary{gap:25px}.review-snapshot{text-align:center;margin-top:22px}
/* Bring the imaging unit forward without showing unnecessary floor space. */
.technology-section .technology-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center}
.technology-section .technology-grid>figure{max-width:none;width:100%;border:0;padding:0;background:transparent}
.technology-section .technology-grid>figure>img{display:block;width:100%;height:510px;object-fit:cover;object-position:67% 14%;border-radius:20px;filter:brightness(1.16) contrast(1.06) saturate(1.08)}
.technology-section .technology-grid figcaption{font-size:12px;text-align:center;margin-top:12px;color:#54604c}
.technology-intro{max-width:650px!important;margin:18px auto 0;line-height:1.8}
.technology-section .technology-list{gap:0 26px}.technology-section .info-card{padding:22px 0;border:0;border-bottom:1px solid #cdd4c5;background:transparent}
.technology-section .technology-list h3{font-size:18px;line-height:1.5;margin-bottom:7px}.technology-section .technology-list p{font-size:14px;line-height:1.75}
@media(max-width:760px){.verified-review-slider{grid-template-columns:1fr;min-height:290px;gap:0}.verified-review-slider .review-box{padding:25px 22px;min-height:290px}.verified-review-slider .review-box blockquote{font-size:16px}.review-box-top .google-word{font-size:16px}.review-box-top h3{font-size:13px}.review-controls{gap:18px}.review-controls button{padding:12px 20px}.technology-section .technology-grid{grid-template-columns:1fr;gap:25px}.technology-section .technology-grid>figure>img{height:370px;object-position:70% 12%}.technology-section .technology-list{grid-template-columns:1fr;gap:0}.technology-section .technology-list h3{font-size:18px}.technology-section .technology-list p{font-size:14px}}
/* Natural photographs: remove processing and avoid enlarging a tight crop. */
.technology-section .technology-grid{grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:65px;align-items:center;max-width:1100px;margin-inline:auto}
.technology-section .technology-grid>.imaging-original{width:100%;max-width:420px;margin:0 auto}
.technology-section .technology-grid>.imaging-original>img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center;filter:none!important;border-radius:16px}
.imaging-explainer>h3{font-size:clamp(25px,2.5vw,34px);line-height:1.4;margin:12px 0 20px}
.imaging-explainer p{font-size:15px;line-height:1.85;color:#4b5647}
.imaging-benefits{display:grid;gap:20px;margin:24px 0 28px}.imaging-benefits h4{font-size:16px;margin:0 0 7px}.imaging-benefits p{margin:0;font-size:14px}
.imaging-explainer .button{border-radius:999px}.technology-section .additional-technology{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;margin-top:45px;border-top:1px solid #d3d9cc}.technology-section .additional-technology .info-card{padding:24px 0}
.visit-preparation{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:40px;align-items:start}
.visit-preparation>figure{margin:0;width:100%;max-width:570px;border-radius:16px;overflow:hidden;align-self:start}
.visit-preparation>figure>img{display:block;width:100%;height:auto!important;aspect-ratio:3/2;object-fit:contain;filter:none!important;transform:none;border-radius:16px}
/* Continuous review rail: three readable cards, with a swipeable mobile layout. */
.reviews-section{background:#f0f2eb}
.google-review-heading{align-items:center;gap:30px}.google-review-heading .google-word{font-size:30px}
.google-review-summary{display:flex;justify-content:space-between;align-items:center;background:transparent;border:0;box-shadow:none;padding:20px 0 8px}
.google-review-summary .rating-highlight{display:flex;align-items:center;gap:18px}.google-review-summary .rating-highlight>strong{font:600 44px/1 var(--heading);color:#354331}.google-review-summary p{font-size:13px}.google-review-summary .stars{color:#e5a713}.google-review-summary>div:last-child>p{display:none}
.verified-review-slider{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:20px;max-width:none;min-height:0;margin:25px 0 0;padding:4px 0 18px;scrollbar-width:thin;scrollbar-color:#a8b39d transparent}
.verified-review-slider .review-box{display:flex;flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;min-height:240px;padding:26px 24px;border:1px solid #dde3d6;border-radius:14px;background:#fff;box-shadow:none}
.verified-review-slider .review-box-top{gap:10px}.verified-review-slider .review-box-top h3{font-size:14px}.verified-review-slider .review-source{font-size:10px;color:#6a7465}.verified-review-slider .review-avatar{width:34px;height:34px}
.verified-review-slider .review-box .stars{margin:20px 0 10px;font-size:18px;letter-spacing:2px}.verified-review-slider .review-box blockquote{font-size:16px;line-height:1.8;margin:0 0 22px}.verified-review-slider .review-box>a{font-size:11px;margin-top:auto}
.review-controls{justify-content:flex-end;margin-top:15px;gap:18px}.review-controls button{background:#fff;border-color:#bdc7b3;padding:10px 20px}.review-snapshot{text-align:left;font-size:11px!important;max-width:850px;margin-top:20px}
@media(max-width:1000px){.technology-section .technology-grid{gap:32px}.verified-review-slider .review-box{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:760px){.technology-section .technology-grid{grid-template-columns:1fr;gap:28px}.technology-section .technology-grid>.imaging-original{max-width:300px}.technology-section .technology-grid>.imaging-original>img{height:auto!important;aspect-ratio:3/4}.imaging-explainer>h3{font-size:26px}.imaging-explainer p{font-size:14px}.technology-section .additional-technology{grid-template-columns:1fr;gap:0;margin-top:30px}.visit-preparation{grid-template-columns:1fr;gap:28px}.visit-preparation>figure{max-width:100%}.visit-preparation>figure>img{height:auto!important;aspect-ratio:3/2}.google-review-heading{display:block}.google-review-heading .google-word{display:inline-block;margin-top:18px;font-size:25px}.google-review-summary{align-items:flex-start;gap:20px;flex-wrap:wrap}.google-review-summary .rating-highlight>strong{font-size:38px}.google-review-summary>div:last-child{width:100%}.google-review-summary .button{width:auto;font-size:11px;min-height:44px;padding:12px 18px}.verified-review-slider{gap:14px;margin-top:20px}.verified-review-slider .review-box{flex-basis:88%;min-height:240px;padding:24px 21px}.verified-review-slider .review-box blockquote{font-size:16px}.review-controls{justify-content:space-between}.review-controls button{padding:11px 20px}}
/* A neutral banner finish with only a trace of warmth. */
.hotel-hero .hero-photo img{filter:brightness(1.1) saturate(1.08) sepia(.025)}
/* Client's final typography, biography and appointment refinements. */
body.luxury-home .hotel-hero #hero-title{font-size:clamp(44px,4.2vw,62px);line-height:1.12;max-width:610px}
body .introduction h2{font-size:clamp(27px,2.6vw,36px);line-height:1.35;letter-spacing:.015em}
body .intro-copy .lead{font-size:22px;line-height:1.55;margin-bottom:16px}
body .intro-copy>p.practice-introduction{font-size:16px;line-height:1.85;font-weight:400}
.introduction{gap:65px;align-items:center}
body .button.appointment-cta,body button.appointment-cta,body .mobile-booking .appointment-cta{border-radius:999px;background:linear-gradient(115deg,#d5d6d5 0%,#fafafa 26%,#e4e5e4 47%,#bfc2c0 72%,#f2f3f2 100%);border:1px solid #b6bcb7;color:#2f3933;text-transform:uppercase;letter-spacing:.065em;box-shadow:inset 0 1px 0 #fff,0 3px 10px #26372d12}
body .appointment-cta:hover,body .appointment-cta:focus-visible{filter:brightness(1.04);color:#223128}
.owner-copy .doctor-bio-intro{font-size:16px;line-height:1.85}
.doctor-bio-details{width:100%;text-align:left;margin-top:16px;color:#465044}
.doctor-bio-details>summary{display:inline-block;cursor:pointer;list-style:none;font:600 12px/1.5 var(--sans);border-bottom:1px solid #9ea995;padding:7px 0;color:#405138}
.doctor-bio-details>summary::-webkit-details-marker{display:none}
.doctor-bio-details>summary:hover,.doctor-bio-details>summary:focus-visible{color:#24361b;background:#e7ecdf}
.doctor-bio-details p,.owner-copy .doctor-bio-details p{font-size:14px;line-height:1.9;margin:16px 0 0}
.person .doctor-bio-intro{font-size:14px!important;line-height:1.85!important}
.person .doctor-bio-details{margin-top:auto;padding-top:8px;text-align:center}
.person .doctor-bio-details p{text-align:left}
body .care-section .services-tagline{font-size:21px;font-weight:500;line-height:1.6;margin:17px auto 5px;max-width:800px}
body .care-section .services-scope{font-size:14px;font-weight:400;line-height:1.75;margin:0 auto;max-width:800px}
body #checkups .checkup-copy-heading{font-size:21px;text-transform:none;letter-spacing:0;line-height:1.4;margin:0 0 18px}
@media(max-width:760px){body.luxury-home .hotel-hero #hero-title{font-size:40px;max-width:355px}.introduction{gap:22px}body .introduction h2{font-size:27px}body .intro-copy .lead{font-size:19px}body .intro-copy>p.practice-introduction{font-size:15px;line-height:1.85}body .care-section .services-tagline{font-size:19px}body .care-section .services-scope{font-size:13px}.owner-copy .doctor-bio-intro{font-size:15px}.owner-copy .doctor-bio-details{text-align:left}.mobile-booking .appointment-cta{margin:6px;font-size:9px!important;letter-spacing:.025em!important;padding:13px 9px!important}.hotel-hero .appointment-cta{font-size:9px!important}.doctor-bio-details p{font-size:14px}}
