/* V2: one spatial visual language, from the opening scene to the final invitation. */
:root{--lift-shadow:#bfd4f1;--blue-shadow:#0946be;--scene-x:0px;--scene-y:0px;--scene-r:0deg}
.site-header{border-bottom-color:#dce8f5;background:#fffffff5}
.brand-symbol{background:linear-gradient(150deg,#4389ff 0%,#1d68ed 44%,#1655d3 100%);border:1px solid #1760dd;box-shadow:inset 0 2px 0 #ffffff68,inset 2px 0 3px #ffffff30,0 4px 0 #0946b6,0 7px 13px #1451bd20;transition:transform .2s,box-shadow .2s}
.brand:hover .brand-symbol{transform:rotate(-7deg) translateY(-2px);box-shadow:inset 0 2px 0 #ffffff68,0 6px 0 #0946b6,0 10px 16px #1451bd20}
.button{border-radius:16px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.button-primary{background:linear-gradient(175deg,#3078f7 0%,#1c62e7 65%,#155adc 100%);border:1px solid #1557d8;box-shadow:inset 0 2px 0 #ffffff3d,0 5px 0 #1047b6,0 9px 17px #1b60e51c;text-shadow:0 1px 1px #1b50a426}
.button-primary:hover{background:linear-gradient(175deg,#4389ff,#236ded 65%,#1b60e1);box-shadow:inset 0 2px 0 #ffffff50,0 7px 0 #1047b6,0 13px 24px #1b60e530;transform:translateY(-2px)}
.button-primary:active{transform:translateY(4px);box-shadow:inset 0 1px 0 #ffffff3d,0 1px 0 #1047b6,0 3px 5px #1b60e522}
.button-white{background:linear-gradient(#fff,#edf5ff);border:1px solid #d9e8ff;box-shadow:inset 0 2px 0 white,0 5px 0 #a6c6f8,0 9px 17px #0d43a333}
.button-white:hover{box-shadow:inset 0 2px 0 white,0 7px 0 #a6c6f8,0 13px 22px #0d43a333;transform:translateY(-2px)}
.button-white:active{transform:translateY(4px);box-shadow:0 1px 0 #a6c6f8}
.hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 73% 38%,#dbeeff 0%,#eaf5ff 26%,#f5faff 53%,#fff 85%);overflow:hidden;border-bottom:1px solid #deebfa}
.hero:after{content:'';position:absolute;left:53%;right:-12%;bottom:-113px;height:170px;border-top:1px solid #d0e4f8;border-radius:50%;background:linear-gradient(#e8f3fe80,#fff);transform:rotate(-7deg);z-index:-1}
.hero-grid{grid-template-columns:1fr 1.06fr;gap:10px;min-height:668px;padding-top:36px;padding-bottom:46px}
.hero-copy{position:relative;z-index:5;padding-block:27px}
.hero-copy>.eyebrow{border:1px solid #d7e7fb;border-radius:20px;padding:8px 12px;width:fit-content;background:#ffffffbd;font-size:.6875rem;letter-spacing:.075em;box-shadow:0 2px 0 #e3effe}
.hero-copy .eyebrow-line{width:14px}
.hero h1{font-size:clamp(3.5rem,5.45vw,5.1rem);letter-spacing:-.066em;line-height:1.09;margin-top:22px}
.hero h1 .blue-word{position:relative;display:inline-block;text-shadow:0 3px 0 #cbdffb}
.hero h1 .blue-word:after{content:'';position:absolute;left:2px;right:-8px;bottom:-6px;height:8px;border-radius:50%;border-top:4px solid #79b7ff;transform:rotate(-3deg);opacity:.8}
.hero-intro{max-width:390px;font-size:1.0625rem}
.hero-actions{gap:22px;margin-top:30px}
.hero-actions>.text-link{font-size:.875rem}
.hero-location{font-size:.75rem;margin-top:28px;color:#557392}
.hero-scene{position:relative;display:block;align-self:center;height:557px;min-width:0;perspective:1000px;isolation:isolate;overflow:visible;--scene-x:0px;--scene-y:0px;--scene-r:0deg;--note-x:0px;--note-y:0px}
.scene-aura{position:absolute;width:88%;aspect-ratio:1;left:7%;top:6%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#e0f0ff 0%,#dceeff99 53%,#c9e3ff4d 73%,transparent 74%);z-index:-2;box-shadow:inset 0 1px 1px #fff}
.scene-halo{position:absolute;width:95%;aspect-ratio:1;left:3%;top:2%;border:1px solid #c6e0fa9c;border-radius:50%;z-index:-2;transform:rotateX(14deg) rotateZ(-16deg)}
.scene-halo:before{content:'';position:absolute;inset:23px;border:1px dashed #b7d5f6a0;border-radius:50%;opacity:.7}
.scene-grid{position:absolute;width:120px;height:85px;right:-4%;top:16%;z-index:-2;background-image:radial-gradient(circle,#8abcf090 1.2px,transparent 1.6px);background-size:13px 13px;mask-image:linear-gradient(130deg,black,transparent)}
.scene-shadow{position:absolute;left:23%;right:18%;bottom:55px;height:24px;border-radius:50%;background:#709de65c;filter:blur(18px);transform:scale(.88);z-index:-1}
.scene-heart-layer{position:absolute;inset:6px -31px 21px -27px;display:grid;place-items:center;transform:translate3d(var(--scene-x),var(--scene-y),0) rotate(var(--scene-r));transition:transform .65s cubic-bezier(.2,.75,.2,1);pointer-events:none;z-index:1;will-change:transform}
.hero-scene .hero-art{width:100%;margin:0;mix-blend-mode:normal;animation:none;filter:drop-shadow(0 18px 16px #3266a41a);transform-origin:50% 60%;will-change:transform}
.hero-scene .hero-art img{width:100%;aspect-ratio:1;object-fit:contain;animation:none;pointer-events:none}
.scene-note{position:absolute;display:flex;align-items:center;gap:12px;z-index:3;padding:16px 19px 16px 15px;background:linear-gradient(150deg,#ffffff,#f9fcff);border:1px solid #d4e3f6;border-radius:20px;box-shadow:inset 0 2px 0 #fff,0 5px 0 #cfdef2,0 14px 35px #295b9824;line-height:1.45;transform:translate(var(--note-x),var(--note-y)) rotate(var(--card-r,0deg));transition:transform .6s cubic-bezier(.2,.75,.2,1),box-shadow .2s;font-size:.8125rem;color:#56708d}
.scene-note strong{display:block;color:var(--ink);font-size:1.0625rem;font-weight:800;letter-spacing:-.035em}
.scene-note-listen{left:-17px;top:72px;--card-r:-8deg}
.scene-note-care{right:-16px;bottom:62px;--card-r:7deg}
.scene-note-icon{display:grid;place-items:center;width:42px;height:46px;border:1px solid #cfe1fa;border-radius:14px;background:linear-gradient(145deg,#f1f8ff,#cfe4ff);color:#1b65df;box-shadow:inset 0 2px 0 #fff,0 3px 0 #b4cdef;flex-shrink:0}
.scene-note-icon>.icon{width:23px;height:23px}
.scene-note-arrow{align-self:flex-start;font-size:1rem;color:#4d7abe;margin-left:3px}
.scene-note:hover{transform:translate(var(--note-x),calc(var(--note-y) - 4px)) rotate(0);box-shadow:inset 0 2px 0 #fff,0 8px 0 #cadcf4,0 21px 40px #295b9829}
.scene-note:active{transform:translateY(4px) rotate(0);box-shadow:0 1px 0 #cadcf4}
.scene-caption{position:absolute;left:12%;bottom:0;display:flex;align-items:center;gap:10px;font-size:.6875rem;letter-spacing:.1em;font-weight:800;color:#6483a6}
.hero-bottom{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:40px;margin-top:-5px}
.scroll-cue{display:inline-flex;align-items:center;gap:10px;font-size:.75rem;font-weight:600;color:#587291;min-height:36px}
.scroll-cue>span{display:grid;place-items:center;width:29px;height:33px;border:1px solid #c9dcf5;border-radius:12px;background:#fff;box-shadow:0 2px 0 #deebfb;color:var(--blue);font-size:1rem;transition:transform .2s}
.scroll-cue:hover>span{transform:translateY(3px)}
.motion-toggle{display:flex;gap:7px;align-items:center;padding:7px 11px;border:1px solid #d2e3f7;border-radius:10px;background:#ffffffa8;color:#466485;font-size:.75rem;min-height:34px;box-shadow:0 2px 0 #e3edfa}
.motion-toggle>.icon{width:14px;height:14px;stroke-width:2}
.motion-toggle:hover{background:#fff;color:var(--blue)}
.hero-scene[data-motion="running"] .hero-art{animation:scene-float 6s ease-in-out infinite}
.hero-scene[data-motion="running"] .scene-shadow{animation:scene-shadow 6s ease-in-out infinite}
.hero-scene[data-motion="paused"] .hero-art,.hero-scene[data-motion="paused"] .scene-shadow{animation-play-state:paused}
.quick-info{margin-top:26px;background:none;border:0;box-shadow:none;padding:0;gap:19px;border-radius:0}
.quick-item{background:#fff;border:1.5px solid #dbe6f4!important;border-radius:19px;padding:21px 22px;box-shadow:0 5px 0 #e5edf8;transition:transform .22s,box-shadow .22s}
.quick-item:hover{transform:translateY(-4px);box-shadow:0 9px 0 #e5edf8}
.quick-item:active{transform:translateY(4px);box-shadow:0 1px 0 #e5edf8}
.quick-item strong{font-size:.875rem;letter-spacing:-.02em}
.quick-item small{font-size:.75rem}
.quick-icon{border:1px solid #cfe0f8;background:linear-gradient(150deg,#f8fbff,#dceaff);box-shadow:inset 0 2px 0 white,0 3px 0 #c8daf3;transform:rotate(-4deg);transition:transform .25s}
.quick-item:hover .quick-icon{transform:rotate(4deg)}
.services{padding-top:86px}
.services-grid{gap:24px;perspective:1100px}
.service-card{position:relative;border:1.5px solid #d9e5f3;border-radius:26px;padding:31px;background:linear-gradient(150deg,#fff,#f7faff);box-shadow:inset 0 2px 0 white,0 7px 0 #dce7f6;transform:rotate(var(--rest-angle,0deg));transition:transform .3s cubic-bezier(.2,.75,.2,1),box-shadow .3s;transform-style:preserve-3d;will-change:transform}
.service-card:first-child{--rest-angle:-1.5deg}
.service-card:nth-child(3){--rest-angle:1.5deg}
.service-card-blue{background:linear-gradient(155deg,#f1f7ff,#e2eeff);border-color:#bdd6f9;box-shadow:inset 0 2px 0 #fff,0 7px 0 #bdd4f4}
.service-card:hover,.service-card:focus-within{transform:translateY(-8px) rotate(0);box-shadow:inset 0 2px 0 #fff,0 13px 0 #dce7f6,0 22px 40px #28528a10}
.service-card-blue:hover,.service-card-blue:focus-within{box-shadow:inset 0 2px 0 #fff,0 13px 0 #bdd4f4,0 22px 40px #28528a10}
.service-card.is-tilting{transform:perspective(900px) translateY(-7px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.service-top{margin-bottom:30px;transform:translateZ(16px)}
.service-icon{width:65px;height:65px;border-radius:21px;border:1px solid #c4daf8;background:linear-gradient(140deg,#fff 8%,#eef6ff 55%,#c5ddff);box-shadow:inset 0 3px 0 #fff,inset 2px 0 3px #ffffff80,0 6px 0 #b7cfef,0 10px 17px #4575b521;transform:rotate(-8deg);transition:transform .3s}
.service-icon>.icon{width:31px;height:31px;stroke-width:1.8;filter:drop-shadow(0 1px 0 #fff)}
.service-card:hover .service-icon{transform:rotate(4deg) translateY(-2px)}
.service-number{font-size:.8125rem;color:#8198b6;border:1px solid #d8e5f6;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;background:#ffffff9e}
.service-card :is(h2,h3){font-size:1.375rem;transform:translateZ(8px)}
.service-card>p{font-size:1rem;line-height:1.8}
.card-link{font-size:.875rem;border-top:1px solid #d6e4f5}
.card-link>span{width:32px;height:32px;display:grid;place-items:center;border-radius:11px;border:1px solid #c8dcf9;background:linear-gradient(#fff,#e9f2ff);box-shadow:0 3px 0 #c4d8f4;line-height:1;transition:transform .2s,box-shadow .2s}
.card-link:hover>span{transform:translateY(-2px);box-shadow:0 5px 0 #c4d8f4}
.card-link:active>span{transform:translateY(2px);box-shadow:0 1px 0 #c4d8f4}
.doctor-section{background:radial-gradient(ellipse at 15% 55%,#e8f2ff,#f7fbff 58%,#fff 100%);border-block:1px solid #e1edf9}
.portrait-wrap{padding:9px;background:#fff;border:1px solid #d3e1f4;border-radius:33px;box-shadow:0 8px 0 #d5e4f7,0 22px 40px #31578a10;transform:rotate(-2deg)}
.portrait-placeholder{border-radius:25px;border-color:#cfdef3;box-shadow:inset 0 2px 7px #5e86bc18}
.portrait-monogram{color:#80aae5;text-shadow:0 3px 0 #c8ddff,0 6px 0 #b2ccf0,0 10px 22px #4274ae24}
.doctor-nameplate{left:28px;right:28px;bottom:30px;border:1px solid #d3e2f6;box-shadow:0 5px 0 #cedff5,0 13px 24px #3156871c;transform:rotate(2deg)}
.doctor-values .icon{box-shadow:0 2px 0 #bcd5f7;border:1px solid #d0e3fe;padding:3px;width:24px;height:24px}
.visit-steps{gap:45px}
.step-number{width:58px;height:58px;border-radius:20px;background:linear-gradient(145deg,#f9fcff,#d9eaff);border:1px solid #bfd6f5;box-shadow:inset 0 2px 0 white,0 6px 0 #b9d0f0,0 10px 15px #446dae12;transform:rotate(-7deg);transition:transform .25s;font-size:1.4rem}
.visit-step:nth-child(2) .step-number{transform:rotate(6deg)}
.visit-step:hover .step-number{transform:rotate(0) translateY(-3px)}
.step-line{height:2px;background:repeating-linear-gradient(to right,#b8d3f5 0,#b8d3f5 6px,transparent 6px,transparent 14px)}
.hours-card{border:1.5px solid #d6e4f6;border-radius:27px;box-shadow:inset 0 2px 0 white,0 7px 0 #d5e4f8,0 18px 32px #264d8010}
.faq-plus{background:linear-gradient(#f8fbff,#e6f0ff);border:1px solid #cbddf7;box-shadow:0 3px 0 #c8daf4;width:32px;height:32px;border-radius:11px}
.faq-list details[open] .faq-plus{box-shadow:1px 2px 0 #c8daf4}
.appointment-section{min-height:270px;overflow:visible;position:relative;isolation:isolate;background:radial-gradient(ellipse at 12% 50%,#5a9cff 0,#2e77ee 28%,#1c5edf 70%);border:1px solid #1752cc;box-shadow:inset 0 2px 0 #ffffff3b,0 8px 0 #1346b6,0 24px 40px #154bac20;border-radius:29px;padding-left:225px;gap:22px}
.appointment-section:before,.appointment-section:after{display:none}
.appointment-heart{position:absolute;left:-40px;top:16px;width:273px;height:auto;transform:rotate(-16deg);filter:drop-shadow(0 14px 10px #062e7929);pointer-events:none;z-index:-1}
.appointment-copy,.appointment-actions{position:relative;z-index:2}
.appointment-section h2{font-size:2.1rem}
.appointment-actions{min-width:260px}
.appointment-actions>span{font-size:.75rem;max-width:260px}
.site-footer{background:linear-gradient(#fff,#f8fbff)}
.dialog-symbol{background:linear-gradient(145deg,#f8fcff,#d3e6ff);border:1px solid #c6dcf9;box-shadow:inset 0 2px 0 white,0 4px 0 #bcd2f2}
@keyframes scene-float{0%,100%{transform:translateY(5px) rotate(-1deg)}50%{transform:translateY(-11px) rotate(1deg)}}
@keyframes scene-shadow{0%,100%{transform:scale(.9);opacity:.72}50%{transform:scale(1.05);opacity:.45}}
@media(min-width:1600px){.hero-grid{min-height:705px}.hero-scene{height:605px}.hero h1{font-size:5.3rem}}
@media(max-width:1199px){.hero-grid{min-height:620px;gap:4px}.hero h1{font-size:4.2rem}.hero-scene{height:515px}.scene-heart-layer{inset:10px -31px 15px -30px}.scene-note-listen{top:48px;left:1px}.scene-note-care{right:-3px;bottom:57px}.scene-note{padding:13px 15px 13px 13px;gap:10px}.scene-note strong{font-size:1rem}.scene-note-icon{width:38px;height:41px}.scene-note-arrow{display:none}.scene-caption{left:8%}.scene-shadow{bottom:63px}.quick-info{gap:16px}.quick-item{padding:18px 16px;gap:12px}.quick-item strong{font-size:.8125rem}.quick-item small{font-size:.75rem}.services-grid{gap:20px}.service-card{padding:27px 24px}.service-card :is(h2,h3){font-size:1.25rem}.appointment-section{padding-left:195px;padding-right:35px;gap:20px}.appointment-heart{width:235px;left:-35px;top:25px}.appointment-section h2{font-size:1.8rem}.appointment-actions{min-width:235px}}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr 1fr;min-height:555px;padding-bottom:30px}.hero-copy{padding-block:20px}.hero h1{font-size:3.6rem}.hero-copy>.eyebrow{font-size:.625rem;padding:7px 10px;letter-spacing:.025em}.hero-intro{font-size:1rem}.hero-actions{gap:12px}.hero-actions>.text-link{font-size:.8125rem}.hero-location{font-size:.6875rem;row-gap:5px;max-width:330px}.hero-scene{height:450px}.scene-note{font-size:.75rem;padding:11px 13px 11px 10px;border-radius:16px;gap:8px}.scene-note strong{font-size:.875rem}.scene-note-icon{width:33px;height:36px;border-radius:11px}.scene-note-icon>.icon{width:20px;height:20px}.scene-note-listen{top:32px;left:10px}.scene-note-care{bottom:63px;right:-6px}.scene-heart-layer{inset:24px -27px 12px -21px}.scene-shadow{bottom:68px}.scene-caption{font-size:.625rem;bottom:13px;left:7%}.scene-halo{top:10%}.scene-aura{top:12%}.scene-grid{right:-1%;width:60px}.hero-bottom{padding-bottom:28px}.quick-info{gap:12px}.quick-item{padding:17px 12px;gap:9px}.quick-item strong{font-size:.8125rem}.quick-item small{font-size:.75rem}.quick-item .quick-icon{width:34px;height:36px}.service-card{padding:24px 21px}.service-card :is(h2,h3){font-size:1.125rem}.service-card>p{font-size:1rem}.service-icon{width:58px;height:58px;border-radius:18px}.service-top{margin-bottom:25px}.service-number{width:27px;height:27px;font-size:.75rem}.portrait-wrap{padding:7px;border-radius:31px}.doctor-nameplate{left:22px;right:22px}.appointment-section{padding-left:158px;padding-right:26px;min-height:260px}.appointment-heart{width:198px;left:-29px;top:47px}.appointment-section h2{font-size:1.55rem}.appointment-section .eyebrow{font-size:.625rem}.appointment-actions{min-width:205px}.appointment-actions .button{padding-inline:16px;font-size:.8125rem}.appointment-actions>span{max-width:205px;font-size:.6875rem}}
@media(max-width:740px){.hero{background:radial-gradient(ellipse at 72% 62%,#dfefff 0,#f0f8ff 35%,#fff 75%)}.hero:after{left:-30%;right:-25%;bottom:-105px;transform:rotate(-6deg)}.hero-grid{display:flex;flex-direction:column;gap:0;padding-top:24px;padding-bottom:4px}.hero-copy{padding-block:16px;width:100%}.hero-copy>.eyebrow{font-size:.625rem;letter-spacing:.045em;padding:7px 10px}.hero h1{font-size:clamp(3.1rem,10.6vw,4.1rem);margin-block:21px 25px;line-height:1.11}.hero h1 br:nth-of-type(2){display:none}.hero h1 .blue-word:before{content:' '}.hero h1 .blue-word:after{left:8px;bottom:-7px;height:7px;border-top-width:3px;right:-2px}.hero-intro{font-size:1rem;line-height:1.8;max-width:440px}.hero-actions{gap:14px;margin-top:25px}.hero-actions .button{font-size:.875rem;min-height:54px;padding-inline:18px}.hero-actions>.text-link{font-size:.8125rem}.hero-location{font-size:.75rem;max-width:100%;margin-top:25px}.hero-scene{height:399px;width:100%;max-width:500px;margin:0 auto}.scene-heart-layer{inset:0 -5px 6px -5px}.scene-aura{width:84%;left:8%;top:0}.scene-halo{width:91%;left:4%;top:-4%}.scene-grid{right:2%;top:20%;height:65px}.scene-note-listen{left:3px;top:36px}.scene-note-care{right:5px;bottom:58px}.scene-note{font-size:.75rem;border-radius:16px;padding:11px 14px 11px 11px;gap:9px;box-shadow:inset 0 2px 0 #fff,0 4px 0 #cfdef2,0 10px 24px #295b981c}.scene-note strong{font-size:.875rem}.scene-note-icon{width:33px;height:37px}.scene-shadow{bottom:41px;left:24%;right:20%;height:15px;filter:blur(12px)}.scene-caption{bottom:3px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:.625rem;letter-spacing:.12em}.scene-caption .caption-line{width:24px}.hero-bottom{padding-block:10px 25px;gap:8px;margin-top:0;align-items:center}.scroll-cue{font-size:.6875rem;gap:7px}.scroll-cue>span{width:25px;height:29px;border-radius:10px}.motion-toggle{font-size:.6875rem;gap:5px;padding:6px 8px;min-height:31px}.motion-toggle>.icon{width:13px;height:13px}.quick-info{grid-template-columns:1fr;gap:12px;margin-top:24px;width:calc(100% - 40px)}.quick-item{padding:17px 20px;border-radius:17px;gap:14px;align-items:center}.quick-item strong{font-size:.875rem}.quick-item small{font-size:.8125rem}.quick-item .quick-icon{width:41px;height:43px}.quick-item:hover{transform:translateY(-2px);box-shadow:0 7px 0 #e5edf8}.services{padding-top:62px}.services-grid{gap:26px;padding-inline:4px}.service-card{padding:27px 25px;--rest-angle:0deg!important;border-radius:23px}.service-card :is(h2,h3){font-size:1.4rem;line-height:1.35}.service-card>p{font-size:1rem;line-height:1.8}.service-top{margin-bottom:25px}.service-icon{width:60px;height:60px;border-radius:19px}.service-number{width:31px;height:31px;font-size:.8125rem}.service-card:hover{transform:none;box-shadow:0 7px 0 #dce7f6}.service-card-blue:hover{box-shadow:0 7px 0 #bdd4f4}.portrait-wrap{max-width:440px;transform:rotate(-1.5deg);width:calc(100% - 10px)}.doctor-nameplate{left:22px;right:22px;transform:rotate(1.5deg)}.portrait-placeholder{height:427px}.portrait-pending{bottom:110px}.visit-steps{gap:30px}.visit-step{grid-template-columns:49px 1fr;column-gap:22px}.step-number{width:49px;height:51px;border-radius:16px;font-size:1.25rem}.hours-card{border-radius:23px}.appointment-section{overflow:hidden;min-height:335px;display:flex;flex-direction:column;align-items:flex-start;padding:32px 28px 36px;margin-top:8px;gap:28px;background:radial-gradient(ellipse at 100% 32%,#5094fb,#2167e7 55%)}.appointment-section h2{font-size:1.9rem;max-width:350px}.appointment-section .eyebrow{font-size:.6875rem;max-width:235px}.appointment-heart{width:240px;left:auto;right:-112px;top:55px;opacity:.32;transform:rotate(-20deg);z-index:0}.appointment-copy{max-width:100%}.appointment-actions{min-width:0;align-items:flex-start;gap:17px;max-width:100%}.appointment-actions .button{font-size:.875rem;padding:15px 19px}.appointment-actions>span{max-width:100%;font-size:.75rem;text-align:left}.site-footer{padding-bottom:92px}}
@media(max-width:390px){.hero h1{font-size:3.1rem}.hero-actions .button{font-size:.8125rem;padding-inline:14px}.hero-actions>.text-link{font-size:.75rem;gap:5px}.hero-copy>.eyebrow{font-size:.5625rem}.hero-location{font-size:.6875rem;gap:6px}.hero-scene{height:347px}.scene-note{font-size:.6875rem;padding:9px 11px 9px 9px;gap:7px}.scene-note strong{font-size:.8125rem}.scene-note-icon{width:29px;height:33px;border-radius:10px}.scene-note-icon>.icon{width:18px;height:18px}.scene-note-listen{top:24px;left:0}.scene-note-care{bottom:53px;right:0}.scene-heart-layer{inset:4px -8px 9px -8px}.scene-shadow{bottom:44px}.scene-caption{bottom:6px}.hero-bottom{flex-wrap:wrap;row-gap:9px;justify-content:space-between}.scroll-cue,.motion-toggle{font-size:.625rem}.scroll-cue{gap:5px}.motion-toggle{padding-inline:6px}.service-card :is(h2,h3){font-size:1.25rem}.portrait-placeholder{height:397px}.appointment-section h2{font-size:1.7rem}.appointment-section{padding-inline:25px}}
@media(prefers-reduced-motion:reduce){.hero-scene .hero-art,.hero-scene .scene-shadow{animation:none!important}.scene-heart-layer{transform:none!important}.service-card.is-tilting{transform:none!important}.scene-note{transform:rotate(var(--card-r,0deg))!important}}
@media print{.hero-bottom,.appointment-heart{display:none!important}.quick-info{display:block}.quick-item{box-shadow:none}.service-card,.portrait-wrap,.step-number,.hours-card{transform:none;box-shadow:none}.service-card p{font-size:11pt}}

/* Minimum sizes for information people need to read. */
.hero-copy>.eyebrow,.scene-caption,.appointment-section .eyebrow{font-size:.75rem}
.scene-note{font-size:.8125rem}.scene-note strong{font-size:1rem}
@media(max-width:740px){.hero-copy>.eyebrow,.scene-caption,.scene-note,.scroll-cue,.motion-toggle{font-size:.75rem}.scene-note strong{font-size:.875rem}.hero-bottom{flex-wrap:wrap;gap:12px}.brand-text>span{font-size:.75rem}}
.motion-paused .scene-heart-layer,.motion-paused .service-card,.motion-paused .service-icon{transition:none}

/* The supplied real portrait, integrated with the established card styling. */
.portrait-ready{max-width:465px;transform:rotate(-1deg)}
.portrait-photo{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;border:1px solid #d6e6f8;border-radius:25px;background:#eaf3ff}
.portrait-photo .doctor-photo-real{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.portrait-ready .doctor-nameplate{transform:rotate(1deg);z-index:2;background:#ffffffed;backdrop-filter:blur(10px)}
.quick-icon.quick-portrait{overflow:hidden;padding:0;background:#eaf3ff}
.quick-portrait>img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;transform:scale(1.65);transform-origin:50% 29%}
@media(max-width:740px){.portrait-ready{max-width:420px}.portrait-photo{border-radius:23px}}
