/* Shared review refinements across all four pages. */
.payment-symbol .icon{color:#243d54!important}.gallery-slide.in-window{background:#213746}
.location-top>p br{display:contents}.location-top>p br::after{content:' '}
.gallery-slide figcaption strong{color:inherit!important;display:block}.gallery-tag{display:block;margin-bottom:8px}.gallery-slide figcaption{background:#20394b!important;color:#e8f1ff!important}
.eyebrow,.hero-copy>.eyebrow,.gallery-heading .eyebrow,.appointment .eyebrow,.doctor-info .eyebrow{font-size:clamp(19px,1.7vw,28px);line-height:1.35;letter-spacing:.055em;font-weight:700;text-wrap:balance}
.care-no{font-size:clamp(23px,2vw,32px);letter-spacing:.065em;display:block;margin-bottom:27px;padding-right:85px}
.photo-caption{font-size:clamp(15px,1.35vw,21px);line-height:1.5;letter-spacing:.06em;margin-top:22px;text-align:center;text-wrap:balance}
.hero-proof{display:flex;font-size:clamp(20px,1.8vw,29px);line-height:1.5;gap:20px;margin-top:35px}.hero-proof>.icon{width:64px;height:64px;flex:none;padding:14px}.hero-proof strong{display:inline-block;margin-top:5px}
.hero-photo{aspect-ratio:3/2;border-radius:65px 65px 24px 24px}.hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important}.hero-sticker{position:relative;inset:auto;margin:-22px 22px 0;width:fit-content;font-size:clamp(16px,1.5vw,22px);padding:18px 24px}.hero-visual{align-self:center}
.theme-toggle{min-height:68px;font-size:18px;padding:16px 22px;gap:12px}.theme-toggle>.icon{width:31px;height:31px}
.ribbon-enter{animation:ribbon-impact 1.1s cubic-bezier(.2,.8,.2,1) both;transform-origin:50% 50%}@keyframes ribbon-impact{0%{transform:translateX(-105%)}60%{transform:translateX(2.5%) skewX(-1deg)}78%{transform:translateX(-1%) skewX(.5deg)}90%{transform:translateX(.4%)}100%{transform:none}}
.gallery-track{height:600px;max-height:none}.gallery-slide{background:#c2a39430;display:none}.gallery-slide.in-window{display:flex;flex-direction:column;justify-content:center}.gallery-slide img{object-fit:contain;object-position:center;width:100%;height:100%;transform:none!important;filter:none!important}.gallery-slide.is-active img{height:calc(100% - 100px);flex:1;min-height:0}.gallery-slide::after{display:none}.gallery-slide figcaption{position:static;inset:auto;min-height:100px;padding:17px 24px;background:var(--paper);color:var(--ink);flex-shrink:0;display:none}.gallery-slide.is-active figcaption{display:block}.gallery-slide figcaption strong{font-size:23px;line-height:1.35}.gallery-tag{font-size:12px;letter-spacing:.09em}.gallery-foot>span:first-child{font-size:clamp(20px,1.8vw,29px);font-weight:500}.gallery-foot>span:last-child{flex-shrink:0}.gallery-controls #gallery-play .icon{width:23px;height:23px}
[data-theme=dark] .gallery-slide figcaption{background:#20394b;color:#e8f1ff}
.why-photo{height:auto;align-self:start;border-radius:45px;overflow:hidden}.why-photo>img{height:auto;width:100%;object-fit:contain;transform:none!important;display:block}.photo-note{position:relative;inset:auto;margin:0;border-radius:0;padding:22px}.subhero-photo{height:auto;align-self:center;border-radius:48px;overflow:hidden}.subhero-photo>img{display:block;width:100%;height:auto;object-fit:contain;transform:none!important}.photo-badge{position:relative;inset:auto;margin:0;border-radius:0;display:flex;justify-content:center;padding:24px;font-size:21px}.subhero-photo{max-width:540px;justify-self:center}.team-section .section-heading h2{font-size:clamp(46px,4.7vw,86px)}
.doctor>img{object-fit:contain;object-position:center;background:#c2a39425;transform:none!important;border-radius:24px;height:auto;max-height:480px;width:100%}.doctor:hover>img{transform:none!important}.doctor-info .eyebrow{font-size:18px}.doctor{overflow:hidden}.doctor-info.glass{margin-top:0}
.care-card .care-list{list-style:none;display:grid;grid-template-columns:1fr;gap:10px;padding:0;margin:25px 0 35px}.care-list li{display:flex;align-items:center;gap:15px;border:1px solid #ffffff55;border-radius:15px;background:#ffffff15;padding:13px 17px;min-height:59px;font-size:19px;line-height:1.4}.care-list li .icon{width:28px;height:28px;flex:none}.care-card h3{padding-right:0}.care-card>.text-link{margin-top:auto}.care-card{display:flex;flex-direction:column}.care-card p{margin-bottom:0}.care-card .service-icon{flex-shrink:0}
.location-top{align-items:center;gap:50px}.location-top h2{font-size:clamp(43px,4vw,74px);max-width:830px;line-height:1.13}.location-top>.eyebrow{font-size:30px}.location-top>p{font-size:clamp(23px,2.1vw,34px);line-height:1.5;max-width:480px;border-left:3px solid #b7d5e7;padding-left:27px;text-wrap:balance}.location-top>p br{display:none}.location-top>div{flex:1.5}.location-top>p{flex:1}
.location-section .directions-button,.location-section .directions-button:visited{display:inline-flex;color:#fff;min-height:60px;padding:16px 22px;border-radius:17px;font-size:20px;background:linear-gradient(110deg,#174db0 0%,#176844 38%,#8c4c00 65%,#a82421 100%);box-shadow:inset 0 1px #ffffff66,0 7px 24px #0003;text-decoration:none}.directions-button:hover{filter:brightness(1.15)}
.payments>span{font-size:clamp(24px,2.5vw,38px);font-weight:650;letter-spacing:.035em;text-transform:none}.payments>div{display:grid;grid-template-columns:repeat(4,1fr)}.payment-method{min-height:175px;justify-content:center;gap:9px}.payment-symbol{height:80px;width:120px;border-radius:10px;background:#e8edf4;color:#243d54;display:grid;place-items:center}.payment-symbol .icon{width:62px;height:54px;stroke-width:1.7}.payment-method strong{font-size:21px}.payment-method:last-child{grid-column:auto}.footer-grid p{font-size:21px}.footer-grid .footer-hours{font-size:23px;line-height:1.75}.footer-grid .family-motto{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:36px;line-height:1.28;max-width:350px}.dock-instagram{background:linear-gradient(145deg,#7d5ac6,#bc456e,#ba6b38);color:#fff}.contact-dock{gap:12px}.footer-grid.glass{gap:45px;grid-template-columns:1fr 1.1fr 1.2fr}
.service-item{min-height:430px;display:flex;flex-direction:column}.service-item h2{margin-bottom:20px}.service-description{font-size:20px;line-height:1.6;color:var(--ink);margin:0 0 30px}.service-item>.text-link{margin-top:auto}.service-item .service-icon{flex-shrink:0}[data-theme=dark] .service-description{color:#e2ebf5}
@media(max-width:1050px){.hero-proof{font-size:21px;gap:12px}.hero-proof>.icon{width:52px;height:52px;padding:11px}.hero-copy{padding-right:0}.care-no{padding-right:0}.gallery-track{height:555px}.footer-grid.glass{grid-template-columns:1fr 1fr}.footer-grid .footer-hours{font-size:21px}.location-top{gap:30px}.location-top>p{font-size:24px}.care-list li{font-size:18px;padding:12px}.care-card .care-list{margin-bottom:30px}.doctor{display:block;padding:20px}.doctor>img{width:100%;max-height:380px}.doctor-info.glass{padding:20px 5px}.doctor h3{font-size:26px}}
@media(max-width:820px){.hero-copy{display:block}.hero-copy>p{max-width:570px}.hero-proof{font-size:24px}.hero-sticker{margin:-18px 20px 0}.gallery-track{height:550px}.location-top{display:block}.location-top>p{max-width:650px;margin-top:30px}.subhero{grid-template-columns:1fr}.subhero-photo{width:100%;max-width:480px}.payments>div{grid-template-columns:repeat(2,1fr)}.footer-grid .family-motto{font-size:32px}.footer-grid>div:first-child{gap:30px}.doctor{display:grid;grid-template-columns:43% 1fr}.doctor>img{max-height:360px}.doctor-info.glass{padding:0}.service-description{font-size:19px}.service-item{min-height:470px}}
@media(max-width:540px){.eyebrow,.hero-copy>.eyebrow,.gallery-heading .eyebrow,.appointment .eyebrow{font-size:20px;line-height:1.35;letter-spacing:.045em}.hero-proof{display:flex;font-size:22px;gap:13px}.hero-proof>.icon{width:49px;height:49px}.hero-proof br{display:none}.hero-proof strong{display:block}.hero-photo{aspect-ratio:3/2;border-radius:30px}.hero-sticker{margin:12px 0 0;font-size:16px;width:100%;padding:17px;justify-content:center}.photo-caption{font-size:16px;line-height:1.6}.theme-toggle{height:60px;width:60px;min-height:60px;padding:13px;left:12px;bottom:14px}.theme-toggle>.icon{width:30px;height:30px}.contact-dock{right:12px;bottom:14px;gap:7px}.dock-facebook{width:45px;height:54px;border-radius:16px}.dock-facebook .icon{width:25px;height:25px}.floating-wa{min-height:60px;padding:13px 12px;gap:7px}.floating-wa span{font-size:14px}.floating-wa>.icon{width:23px;height:23px}.gallery-track{height:510px;gap:7px}.gallery-slide.in-window{flex:.35 1 0;border-radius:20px}.gallery-slide.is-active{flex:6 1 0}.gallery-slide.is-active img{height:calc(100% - 110px)}.gallery-slide figcaption{min-height:110px;padding:16px}.gallery-slide figcaption strong{font-size:21px}.gallery-tag{font-size:11px}.gallery-foot{display:block}.gallery-foot>span:first-child{font-size:21px}.gallery-foot>span:last-child{display:flex;margin-top:15px;font-size:14px}.why-photo{height:auto;border-radius:28px}.photo-note{font-size:25px}.doctor{display:block;padding:17px}.doctor>img{max-height:none;height:auto}.doctor-info.glass{padding:24px 8px}.doctor-info .eyebrow{font-size:18px}.team-section .section-heading h2{font-size:46px}.care-no{font-size:27px;margin-top:24px;padding-right:0}.care-list li{font-size:18px}.care-card{padding:27px}.location-top h2{font-size:45px}.location-top>p{font-size:25px;padding-left:20px}.location-info.glass{padding:23px}.info-block p{font-size:19px}.location-section .directions-button{font-size:18px;padding:14px 18px}.payment-method{min-height:175px}.payment-method strong{font-size:19px}.payment-symbol{width:105px;height:70px}.payments>div{gap:12px}.footer-grid.glass{grid-template-columns:1fr;padding:27px;gap:30px}.footer-grid p{font-size:20px}.footer-grid .footer-hours{font-size:21px}.footer-grid .family-motto{font-size:36px}.footer-grid>div:first-child{display:block}.subhero-photo{border-radius:30px;height:auto}.photo-badge{font-size:19px;padding:22px 15px}.service-item{min-height:390px}.service-description{font-size:20px}.service-item h2{margin-bottom:20px}}
@media(max-width:380px){.contact-dock{gap:6px}.floating-wa span{display:none}.floating-wa{width:60px;justify-content:center;padding:13px}.floating-wa>.icon{width:29px;height:29px}.dock-facebook{width:46px}.gallery-track{height:465px}.gallery-slide figcaption strong{font-size:19px}.hero-proof{font-size:20px}.care-card{padding:23px}.location-top h2{font-size:39px}.team-section .section-heading h2{font-size:41px}}
@media(prefers-reduced-motion:reduce){.ribbon-enter{animation:none;transform:none}}
