@font-face{font-family:Manrope;src:url('../fonts/manrope.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Lora;src:url('../fonts/lora.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
:root{--green:oklch(38.1087% 0.06204748 250.00000);--ink:oklch(32.9047% 0.03857062 251.65585);--muted:oklch(51.5% 0.02378596 246.86820);--cream:oklch(97.3989% 0.00734424 233.86010);--sage:oklch(93.695% 0.02202629 238.50985);--line:oklch(91.046% 0.01816606 240.29835);--white:oklch(100% 0 0);--sand:oklch(95.026% 0.0143718 84.4186);--sand-accent:oklch(87.5% .065 80);--font-body:Manrope,Arial,sans-serif;--font-heading:Lora,Georgia,serif}
*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-top:6.875rem}body{margin:0;overflow-wrap:anywhere;color:var(--ink);background:oklch(100% 0 0);font-family:var(--font-body);font-size:0.9375rem;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-heading);font-weight:400;line-height:1.16;letter-spacing:-.04em}h1{font-size:clamp(2.5rem,calc(1rem + 3.6vw),4.125rem)}h2{font-size:clamp(2.0625rem,calc(1rem + 2.3vw),2.875rem);margin-bottom:1.5rem}h3{font-weight:600;line-height:1.4;letter-spacing:-.025em}p{margin-bottom:1.25rem}.container{width:min(80rem,calc(100% - 5rem));margin-inline:auto}.section{padding:5.5rem 0}.icon{width:1.375rem;height:1.375rem;vertical-align:middle}.eyebrow{font-family:var(--font-body);font-size:0.6875rem;line-height:1.5;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.375rem;color:var(--green)}.eyebrow-line{display:inline-block;width:1.5625rem;height:1px;background:currentColor;vertical-align:middle;margin-right:0.625rem}.button{display:inline-flex;max-width:100%;min-width:0;align-items:center;justify-content:center;gap:1.5rem;min-height:3.5rem;padding:1rem 1.625rem;border:1px solid var(--green);border-radius:0.375rem;background:var(--green);color:oklch(100% 0 0);font-size:0.8125rem;font-weight:600;line-height:1.5;text-align:center;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{background:oklch(31.724% 0.05566066 249.41830);transform:translateY(-2px);box-shadow:0 4px 12px oklch(31.6753% 0.05645321 249.59505 / 0.0705882353)}.button .icon{width:1.25rem;height:1.25rem}.button--small{min-height:2.75rem;padding:0.75rem 1.0625rem;font-size:0.75rem;gap:1rem}.button--outline{color:var(--green);background:transparent;border-color:oklch(82.0694% 0.02667599 245.74155)}.button--outline:hover{background:var(--sage)}.button--light{color:var(--green);background:var(--sage);border-color:var(--sage)}.button--light:hover{background:oklch(89.9491% 0.02955568 240.02535)}.button--cream{color:var(--green);background:var(--cream);border-color:var(--cream)}.button--cream:hover{background:oklch(100% 0 0)}.text-link{display:inline-flex;align-items:center;gap:1.25rem;font-size:0.8125rem;font-weight:650;border:0;background:transparent;padding:0 0 0.3125rem;border-bottom:1px solid oklch(80.2109% 0.02840992 243.69545);transition:gap .2s,color .2s;text-align:left}.text-link:hover{gap:1.75rem;color:oklch(51.157% 0.07891433 245.34115)}.text-link .icon{width:1.125rem;height:1.125rem}.skip-link{position:fixed;top:0.5rem;left:0.5rem;z-index:9999;padding:0.75rem 1.25rem;background:var(--green);color:oklch(100% 0 0);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid oklch(57.513% 0.100339 73.8936);outline-offset:5px}.prose{max-width:51.25rem}.prose a{text-decoration:underline}.prose h2{margin-top:3rem}.error-page{min-height:26.25rem;max-width:46.25rem}.utility-bar{background:var(--cream);border-bottom:1px solid oklch(94.1102% 0.01123441 239.39850);font-size:0.625rem;letter-spacing:.015em}.utility-inner{display:flex;align-items:center;gap:2.25rem;min-height:2.1875rem}.utility-inner>a{display:inline-flex;gap:0.4375rem;align-items:center}.utility-inner .icon{width:0.8125rem;height:0.8125rem}.utility-dot{padding:0 0.5rem}.utility-note{margin-left:auto;color:var(--muted)}.site-header{position:sticky;top:0;background:oklch(100% 0 0 / 0.9803921569);z-index:40;border-bottom:1px solid oklch(94.1102% 0.01123441 239.39850)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.875rem;min-height:5.75rem}.brand{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.brand-image{display:block;width:120px;height:52px;overflow:hidden}.brand-image img{width:120px;height:auto;max-width:none}.brand-caption{font-size:0.5rem;text-transform:uppercase;letter-spacing:.1em;line-height:1.4;margin-top:0.125rem}.main-nav{display:flex;gap:1.625rem;align-items:center;margin-left:1.125rem}.main-nav>a{font-size:0.75rem;font-weight:550;white-space:nowrap;position:relative;padding:0.75rem 0}.main-nav>a:hover,.main-nav>a[aria-current]{color:oklch(50.5938% 0.08853834 243.99925)}.main-nav>a[aria-current]:after{position:absolute;content:'';height:2px;bottom:2px;left:0;right:0;background:var(--green)}.header-actions{display:flex;align-items:center;gap:1.5625rem}.header-phone{font-size:0.875rem;white-space:nowrap;font-weight:750;letter-spacing:-.02em;line-height:1.6}.header-phone span{display:block;font-size:0.5625rem;letter-spacing:0;color:var(--muted);font-weight:400}.menu-toggle{display:none;width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:0.375rem;background:oklch(100% 0 0);align-items:center;justify-content:center}.menu-toggle .icon{width:1.625rem;height:1.625rem}.admin-bar .site-header{top:32px}
.hero{background:var(--cream);padding:2.75rem 0 2.5rem;overflow:hidden}.hero-main{display:grid;grid-template-columns:1.1fr 1fr;gap:3.75rem;align-items:center}.hero-copy{padding:0.75rem 0 2.1875rem}.hero-copy .eyebrow{margin-bottom:1.75rem;font-size:0.625rem}.hero h1{margin:0 0 1.6875rem;line-height:1.17;font-size:clamp(2.8125rem,calc(1rem + 3.5vw),4.125rem);letter-spacing:-.048em;white-space:nowrap}.hero h1 span{color:oklch(56.0256% 0.07856189 244.52985)}.hero-description{font-size:1rem;color:oklch(51.5% 0.02396196 246.86015);line-height:1.8;max-width:28.75rem;margin-bottom:2rem}.hero-actions{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}.hero-actions .text-link{border:0;padding:0;font-size:0.75rem}.hero-reassurance{display:flex;gap:0.8125rem;align-items:center;margin-top:2.5rem}.small-symbol{display:flex;align-items:center;justify-content:center;width:2.4375rem;height:2.4375rem;border:1px solid oklch(89.0097% 0.02199197 241.01165);border-radius:50%;color:oklch(58.9533% 0.04776519 243.06545)}.small-symbol .icon{width:1.125rem;height:1.125rem}.hero-reassurance p{margin:0;font-size:0.75rem;line-height:1.7;font-weight:650}.hero-reassurance p span{display:block;font-size:0.625rem;font-weight:400;color:var(--muted)}.hero-visual{position:relative;padding:0 0 2rem}.hero-image{height:30.75rem;border-radius:15rem 15rem 1.125rem 1.125rem;background:oklch(90.7145% 0.01950564 239.62075);overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-ornament{position:absolute;right:-1.25rem;top:2.8125rem;display:flex;align-items:center;justify-content:center;width:5.75rem;height:5.75rem;border-radius:50%;border:1px solid oklch(84.9537% 0.03403235 238.90990);background:var(--cream);transform:rotate(-12deg)}.hero-ornament .icon{width:2.625rem;height:2.625rem;color:oklch(58.5168% 0.07281868 242.93280);stroke-width:1}.hero-address{position:absolute;left:-1.8125rem;bottom:3.4375rem;display:flex;align-items:center;gap:0.875rem;padding:1.1875rem 1.3125rem;background:oklch(100% 0 0);box-shadow:0 8px 32px oklch(39.5955% 0.06204660 245.20500 / 0.062745098);border:1px solid oklch(92.516% 0.01539395 237.04160);border-radius:0.5rem}.hero-address .address-icon{display:flex;align-items:center;justify-content:center;background:var(--sage);color:oklch(57.3744% 0.06778959 243.10220);width:2.6875rem;height:2.6875rem;border-radius:50%}.hero-address small{display:block;font-size:0.625rem;color:var(--muted);margin-bottom:0.25rem}.hero-address strong{display:block;font-size:0.8125rem;font-weight:600}.hero-address>.icon{width:1rem;margin-left:1.0625rem}.hero-image-caption{position:absolute;right:0.3125rem;bottom:0.3125rem;font-size:0.5rem;color:oklch(62.2185% 0.03015023 241.73300);letter-spacing:.02em}.care-principles{border-bottom:1px solid var(--line);background:oklch(100% 0 0)}.principles-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:1.75rem 0}.principles-grid>div{display:flex;align-items:center;gap:1rem;font-size:0.6875rem;line-height:1.7;padding:0 1.625rem;border-left:1px solid var(--line)}.principles-grid>div:first-child{padding-left:0;border:0}.principles-grid .icon{width:1.875rem;height:1.875rem;color:oklch(59.5653% 0.05911114 242.03400);stroke-width:1.3}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.875rem;margin-bottom:2.25rem}.section-heading h2{margin-bottom:0}.section-heading-side{padding-bottom:0.1875rem}.section-heading-side p{font-size:0.8125rem;color:var(--muted);line-height:1.8;margin-bottom:1.3125rem}.section-heading>.text-link{margin-bottom:0.3125rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.service-tile{position:relative;display:flex;flex-direction:column;padding:2rem;background:var(--sage);border-radius:0.625rem;min-height:19.875rem;overflow:hidden;transition:transform .25s}.service-tile:hover{transform:translateY(-5px)}.service-tile--primary{background:var(--green);color:oklch(100% 0 0)}.service-tile--sand{background:var(--sand)}.service-symbol{margin-bottom:1.625rem}.service-symbol>.icon{width:2.125rem;height:2.125rem;stroke-width:1.25}.service-number{position:absolute;top:1.75rem;right:1.875rem;font-size:0.6875rem;opacity:.45}.service-tile h3{font-family:var(--font-heading);font-size:1.75rem;line-height:1.18;font-weight:400;margin-bottom:0.875rem}.service-tile p{font-size:0.6875rem;line-height:1.9;color:oklch(51.5% 0.03751396 242.18380);margin-bottom:1.5rem}.service-tile--primary p{color:oklch(89.064% 0.02511168 242.90550)}.service-bottom{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;font-size:0.6875rem;margin-top:auto;font-weight:550}.round-arrow{display:flex;align-items:center;justify-content:center;border:1px solid oklch(73.8907% 0.04392069 242.20410);width:2.125rem;height:2.125rem;border-radius:50%;transition:background .2s}.round-arrow .icon{width:1.0625rem;height:1.0625rem}.service-tile:hover .round-arrow{background:oklch(100% 0 0 / 0.1882352941)}.service-tile--primary .round-arrow{border-color:oklch(100% 0 0 / 0.3333333333)}.services-more{display:grid;grid-template-columns:1fr 1fr;gap:2.25rem;margin-top:1.5rem}.services-more a{display:flex;align-items:center;gap:0.8125rem;padding:0.8125rem 0;font-size:0.75rem;border-bottom:1px solid var(--line)}.services-more a>.icon:first-child{color:oklch(62.8613% 0.06107563 241.53070);width:1.375rem}.services-more a>.icon:last-child{margin-left:auto;width:1.125rem}
.about-home{background:var(--cream)}.about-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:6.25rem;align-items:center}.about-art{height:30rem;position:relative;background:var(--sand-accent);border-radius:11.25rem 11.25rem 0.625rem 0.625rem;overflow:hidden}.about-art-ring{position:absolute;border:1px solid oklch(75% .065 80);border-radius:50%;width:21.25rem;height:21.25rem;left:50%;top:41%;transform:translate(-50%,-50%)}.about-art .ring-two{width:26.875rem;height:26.875rem}.about-art .ring-three{width:33.75rem;height:33.75rem}.about-art-center{position:absolute;left:50%;top:20%;transform:translateX(-50%);color:oklch(50% 0.07150000 244.25930);background:var(--sand-accent);padding:0.9375rem}.about-art-center .icon{width:3.0625rem;height:3.0625rem;stroke-width:1}.about-art-label{position:absolute;top:39%;left:0;right:0;text-align:center;font-family:var(--font-heading);font-size:2.75rem;line-height:1.3;color:oklch(43.2004% 0.06719075 246.39885);letter-spacing:-.03em}.about-art-footnote{position:absolute;bottom:2.1875rem;left:0;right:0;font-size:0.625rem;text-align:center;color:oklch(46% 0.04400000 244.25930);letter-spacing:.04em}.about-home-copy>p:not(.eyebrow){font-size:0.8125rem;color:var(--muted);line-height:1.9;max-width:28.75rem}.about-home-copy>p.about-home-lead{font-size:1rem;color:var(--ink);line-height:1.8}.about-features{display:flex;flex-direction:column;gap:0.75rem;margin:1.6875rem 0}.about-features span{display:flex;gap:0.6875rem;align-items:center;font-size:0.6875rem}.about-features .icon{width:1.0625rem;height:1.0625rem;color:oklch(58.6041% 0.07748598 243.22575)}.home-doctor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.home-doctor{border:1px solid var(--line);border-radius:0.5625rem;padding:1.5rem 1.375rem 0;overflow:hidden}.home-doctor-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.625rem}.doctor-initials{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:50%;background:oklch(94.2548% 0.01571647 238.46680);font-family:var(--font-heading);font-size:1.3125rem;color:oklch(57.2723% 0.06773932 241.50270)}.doctor-mark .icon{width:1.1875rem;height:1.1875rem;color:oklch(63.5494% 0.05958469 241.77325)}.home-doctor-specialty{min-height:2.3125rem;color:var(--muted);font-size:0.625rem;line-height:1.7;margin-bottom:0.5625rem}.home-doctor h3{font-size:1.1875rem;margin-bottom:1.6875rem;line-height:1.6;letter-spacing:-.03em}.home-doctor h3 span{font-size:0.8125rem;font-weight:450;letter-spacing:-.02em;white-space:normal}.doctor-booking{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 0;background:transparent;border:0;border-top:1px solid var(--line);font-size:0.625rem;font-weight:600;gap:0.375rem}.doctor-booking .icon{width:1.0625rem;height:1.0625rem}.doctor-booking:hover{color:oklch(60.2214% 0.07759444 241.43375)}.visit-section{background:var(--cream)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:6.25rem}.visit-intro{color:var(--muted);max-width:19.375rem;font-size:0.8125rem;line-height:1.9;margin-bottom:1.6875rem}.visit-steps{list-style:none;margin:0;padding:0}.visit-steps li{display:flex;gap:1.6875rem;padding:1.5625rem 0;border-bottom:1px solid var(--line)}.visit-steps li:first-child{padding-top:0}.visit-steps li:last-child{border:0;padding-bottom:0}.visit-steps li>span{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.625rem;height:2.625rem;border:1px solid oklch(83.4459% 0.04402431 240.61055);border-radius:50%;font-family:var(--font-heading);font-size:0.875rem;color:oklch(58.495% 0.07738302 241.87055)}.visit-steps h3{font-size:1rem;line-height:1.7;margin-bottom:0.5rem}.visit-steps p{font-size:0.75rem;line-height:1.9;color:var(--muted);margin-bottom:0;max-width:24.375rem}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:6.25rem}.faq-grid>div>p:not(.eyebrow){font-size:0.75rem;color:var(--muted);line-height:1.9}.faq-grid>div>p>a{text-decoration:underline;text-underline-offset:0.25rem}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:1.5625rem;cursor:pointer;list-style:none;font-size:0.875rem;padding:1.4375rem 0;font-weight:550;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .icon{width:1.1875rem;height:1.1875rem;color:oklch(58.6986% 0.06674074 241.19575);transition:transform .2s}.faq-list details[open] summary .icon{transform:rotate(45deg)}.faq-list details>div{padding:0 1.75rem 1.4375rem 0;font-size:0.75rem;color:var(--muted);line-height:1.9}.faq-list details>div>p:last-child{margin:0}.faq-list details .text-link{font-size:0.6875rem;color:var(--green)}
.appointment-strip{background:var(--green);color:oklch(100% 0 0);padding:3.1875rem 0}.appointment-inner{display:flex;align-items:center;gap:1.875rem}.appointment-symbol{width:5.25rem;height:5.25rem;border:1px solid oklch(62.4297% 0.06846378 242.35985);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.appointment-symbol .icon{width:2.25rem;height:2.25rem;stroke-width:1;color:oklch(88.8537% 0.03548204 239.19760)}.appointment-inner>div{flex:1}.appointment-inner .eyebrow{color:oklch(84.1157% 0.04472160 239.85245);font-size:0.5625rem;margin-bottom:0.75rem}.appointment-inner h2{font-size:1.9375rem;letter-spacing:-.025em;margin-bottom:0.75rem}.appointment-inner p:last-child{font-size:0.6875rem;color:oklch(88.2181% 0.03340535 240.52795);margin-bottom:0}.appointment-inner>.button{font-size:0.75rem;margin-left:1.25rem;white-space:normal}.site-footer{padding:3.875rem 0 0;background:oklch(97.3989% 0.00734424 233.86010)}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.05fr;gap:3.5rem;padding-bottom:2.625rem}.footer-wordmark{font-size:1.6875rem;letter-spacing:-.06em;font-weight:750}.footer-wordmark>span:first-child{font-weight:400}.wordmark-plus{font-weight:500;color:oklch(62.5047% 0.06250332 241.29970);margin-left:0.1875rem;font-size:1.8125rem}.footer-brand p{font-size:0.6875rem;color:var(--muted);line-height:1.9;margin:0.875rem 0}.footer-city{font-size:0.625rem;color:oklch(51.5% 0.02885597 242.29055)}.footer-column{display:flex;flex-direction:column;gap:0.75rem;font-size:0.6875rem;line-height:1.7}.footer-column p{margin-bottom:0}.footer-column .footer-label{font-size:0.625rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:0.625rem;color:oklch(51.5% 0.03233329 241.90310)}.footer-column a:hover{text-decoration:underline;text-underline-offset:0.25rem}.footer-column .footer-social{display:inline-flex;align-items:center;gap:0.8125rem;margin-top:0.125rem}.footer-social .icon{width:0.875rem;height:0.875rem}.footer-contact{gap:0.4375rem}.footer-contact>a{font-size:0.875rem;font-weight:550;white-space:nowrap}.footer-contact .footer-email{font-size:0.6875rem;font-weight:400;margin-top:0.4375rem}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.375rem 0;border-top:1px solid var(--line);font-size:0.5625rem;color:var(--muted)}.medical-notice{border-top:1px solid var(--line);padding:1.25rem 0 1.375rem;margin:0;text-transform:uppercase;font-size:clamp(0.75rem,calc(.25rem + 1.3vw),1.3125rem);letter-spacing:.045em;color:oklch(51.5% 0.02826934 243.00735);font-weight:400;line-height:1.7}.booking-modal{width:min(32.5rem,calc(100% - 2rem));background:var(--white);max-height:calc(100% - 3rem);overflow:auto;padding:2.5rem;border:0;border-radius:1.0625rem;box-shadow:0 16px 90px oklch(25.3856% 0.05038440 248.08200 / 0.2);color:var(--ink)}.booking-modal::backdrop{background:oklch(30.872% 0.05943938 247.94865 / 0.4784313725);backdrop-filter:blur(5px)}.has-dialog{overflow:hidden}.dialog-close{position:absolute;right:1.0625rem;top:1.0625rem}.modal-symbol{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--sage);margin-bottom:1.5625rem}.booking-modal .eyebrow{font-size:0.625rem;margin-bottom:0.9375rem}.booking-modal h2{font-size:2.1875rem;margin-bottom:1.125rem}.modal-intro{font-size:0.8125rem;color:var(--muted);line-height:1.9}.booking-phones{display:flex;flex-direction:column;gap:0.625rem}.booking-phones>a{display:flex;align-items:center;justify-content:center;text-align:center;gap:0.75rem;background:var(--cream);padding:1rem;border:1px solid var(--line);border-radius:0.4375rem;font-size:1rem;font-weight:600}.booking-phones>a:hover{background:var(--sage)}.booking-phones .icon{width:1.0625rem;height:1.0625rem}.booking-hours{display:flex;gap:0.5625rem;font-size:0.625rem;align-items:center;margin:1.375rem 0 0.5rem;color:var(--muted)}.booking-hours .icon{width:0.9375rem;height:0.9375rem}.booking-address{font-size:0.6875rem;color:var(--muted);margin:0}.mobile-booking{display:none}.page-hero{padding:2.875rem 0 3rem;background:var(--cream)}.page-hero h1{font-size:clamp(2.375rem,calc(1rem + 2.9vw),3.625rem);margin-bottom:1.25rem}.page-intro{font-size:0.9375rem;line-height:1.85;max-width:44.375rem;color:var(--muted)}.breadcrumbs{display:flex;align-items:center;gap:0.6875rem;font-size:0.6875rem;color:var(--muted);margin-bottom:1.8125rem}.breadcrumbs a:hover{text-decoration:underline}
@media(min-width:100em){.hero-image{height:33.4375rem}.hero{padding-top:3.25rem;padding-bottom:3rem}}
@media(max-width:75em){.header-inner{gap:1.375rem}.main-nav{gap:1.1875rem;margin-left:0}.header-actions{gap:0.9375rem}.header-phone{font-size:0.75rem}.header-actions .button{padding:0.75rem 0.875rem;gap:0.625rem}.hero-main{gap:2.5rem}.hero h1{font-size:clamp(2.125rem,calc(.5rem + 3.8vw),3.375rem)}.hero-image{height:28.75rem}.hero-address{left:-1rem}.about-home-grid,.visit-grid,.faq-grid{gap:4.0625rem}.service-tile{padding:1.6875rem}.footer-main{gap:2rem}.home-doctor{padding:1.375rem 1.0625rem 0}.appointment-inner h2{font-size:1.75rem}}
@media(max-width:67.5em){.header-inner{min-height:5.1875rem}.header-actions{margin-left:auto}.header-phone{font-size:0.875rem}.menu-toggle{display:flex}.main-nav{display:none}.hero h1{font-size:clamp(2.125rem,calc(.5rem + 3.8vw),2.875rem)}.hero-main{gap:2rem}.hero-description{font-size:0.875rem}.hero-image{height:26.25rem}.hero-actions{gap:1.25rem}.hero-actions .button{padding:0.9375rem 1.125rem;font-size:0.75rem;gap:0.9375rem}.hero-ornament{width:4.6875rem;height:4.6875rem;right:-0.75rem}.hero-ornament .icon{width:2rem;height:2rem}.principles-grid>div{padding:0 0.9375rem;gap:0.75rem;font-size:0.625rem}.principles-grid .icon{width:1.5625rem;height:1.5625rem}.about-art{height:26.875rem}.about-art-label{font-size:2.4375rem}.home-doctor-grid{grid-template-columns:repeat(2,1fr)}.home-doctor-specialty{min-height:0}.home-doctor h3{font-size:1.4375rem}.home-doctor h3 span{font-size:0.9375rem}.footer-main{grid-template-columns:1fr 1fr;gap:2.1875rem 5rem}.appointment-symbol{display:none}.appointment-inner h2{font-size:1.625rem}.section{padding:4.5rem 0}.service-tile h3{font-size:1.5625rem}.service-tile p{font-size:0.625rem}.service-bottom{font-size:0.625rem}.service-tile{min-height:19.125rem}}
@media(max-width:47.5em){.container{width:calc(100% - 2.5rem)}.utility-inner{min-height:1.9375rem;font-size:0.5625rem;justify-content:center;gap:0}.utility-hours,.utility-note{display:none}.header-inner{min-height:4.8125rem;gap:1.0625rem}.brand-image{width:100px;height:44px}.brand-image img{width:100px}.brand-caption{font-size:0.4375rem}.header-phone{font-size:0.75rem}.header-phone span{font-size:0.5rem}.header-actions>.button{display:none}.menu-toggle{width:2.3125rem;height:2.3125rem}.menu-toggle .icon{width:1.375rem;height:1.375rem}.hero{padding:2.375rem 0 1.5625rem}.hero-main{grid-template-columns:1fr;gap:1.375rem}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:0.5625rem;letter-spacing:.1em;margin-bottom:1.375rem}.hero h1{font-size:clamp(1.75rem,calc(.125rem + 8.4vw),3.75rem);letter-spacing:-.045em;line-height:1.18;margin-bottom:1.4375rem;white-space:normal}.hero-description{font-size:0.875rem;line-height:1.8;max-width:27.5rem;margin-bottom:1.5625rem}.hero-actions{gap:1.4375rem}.hero-actions .button{font-size:0.6875rem;min-height:3.25rem;padding:0.875rem 1rem;gap:0.9375rem}.hero-actions .text-link{font-size:0.6875rem;gap:0.5625rem}.hero-reassurance{margin-top:1.5625rem}.hero-reassurance p{font-size:0.6875rem}.hero-reassurance p span{font-size:0.5625rem}.hero-visual{max-width:31.25rem;width:100%;margin:0 auto;padding:0.625rem 0.5rem 2.1875rem}.hero-image{height:22.5rem;border-radius:11.25rem 11.25rem 0.75rem 0.75rem}.hero-ornament{right:0;top:2.125rem;width:3.9375rem;height:3.9375rem}.hero-ornament .icon{width:1.8125rem;height:1.8125rem}.hero-address{left:0;bottom:3.1875rem;padding:0.875rem 1rem;gap:0.6875rem}.hero-address .address-icon{width:2.3125rem;height:2.3125rem}.hero-address strong{font-size:0.75rem}.hero-address small{font-size:0.5625rem}.hero-image-caption{right:0.5625rem;bottom:0.5625rem;font-size:0.5rem}.principles-grid{grid-template-columns:1fr 1fr;gap:1.375rem 0.875rem;padding:1.5rem 0}.principles-grid>div{padding:0;border:0;font-size:0.5625rem;gap:0.625rem}.principles-grid .icon{width:1.5625rem;height:1.5625rem}.section{padding:3.4375rem 0}.section-heading{display:block;margin-bottom:1.75rem}.section-heading-side{margin-top:1.4375rem}.section-heading-side p{margin-bottom:0.8125rem;font-size:0.75rem}.section-heading>.text-link{margin-top:1.25rem}.eyebrow{font-size:0.625rem;letter-spacing:.13em;margin-bottom:1.125rem}h2{font-size:2.125rem;line-height:1.2;letter-spacing:-.04em}.services-grid{grid-template-columns:1fr;gap:0.875rem}.service-tile{min-height:16.875rem;padding:1.6875rem}.service-tile h3{font-size:1.75rem}.service-tile h3 br{display:none}.service-tile p{font-size:0.75rem;margin-bottom:1.125rem}.service-symbol{margin-bottom:1.25rem}.service-symbol>.icon{width:1.9375rem;height:1.9375rem}.service-bottom{font-size:0.6875rem}.services-more{grid-template-columns:1fr;gap:0;margin-top:0.9375rem}.services-more a{font-size:0.6875rem;padding:1rem 0;gap:0.6875rem}.about-home-grid,.visit-grid,.faq-grid{grid-template-columns:1fr;gap:2.1875rem}.about-art{height:21.875rem;max-width:28.125rem;width:100%;margin:0 auto;order:2}.about-art-label{font-size:2.25rem;top:39%}.about-art-center{top:15%}.about-art-center .icon{width:2.4375rem;height:2.4375rem}.about-art-footnote{bottom:1.3125rem;font-size:0.5625rem}.about-home-copy>p:not(.eyebrow){font-size:0.75rem}.about-home-copy>p.about-home-lead{font-size:0.9375rem}.about-features{gap:0.8125rem}.about-features span{font-size:0.625rem;align-items:flex-start}.home-doctor-grid{gap:0.875rem}.home-doctor{padding:1.125rem 0.9375rem 0}.home-doctor-top{margin-bottom:1.375rem}.doctor-initials{width:3.125rem;height:3.125rem;font-size:1.1875rem}.doctor-mark .icon{width:1rem;height:1rem}.home-doctor-specialty{font-size:0.5625rem;min-height:1.875rem}.home-doctor h3{font-size:1.125rem;line-height:1.6;margin-bottom:1.1875rem}.home-doctor h3 span{font-size:0.6875rem;display:inline-block;line-height:1.6;min-height:2.1875rem}.doctor-booking{font-size:0.5625rem;line-height:1.5;padding:0.875rem 0;align-items:center}.doctor-booking .icon{width:0.875rem;height:0.875rem}.visit-steps li{gap:1.25rem;padding:1.4375rem 0}.visit-steps h3{font-size:0.9375rem}.visit-steps p{font-size:0.6875rem}.visit-steps li>span{width:2.3125rem;height:2.3125rem;font-size:0.8125rem}.faq-list summary{font-size:0.75rem;padding:1.25rem 0}.faq-grid{gap:1.375rem}.faq-list details>div{font-size:0.6875rem}.appointment-strip{padding:2.3125rem 0}.appointment-inner{display:block}.appointment-inner h2{font-size:1.75rem;max-width:20.625rem;line-height:1.3;margin-bottom:1rem}.appointment-inner p:last-child{font-size:0.6875rem;max-width:20.625rem;line-height:1.9}.appointment-inner>.button{margin:1.5rem 0 0;font-size:0.6875rem;min-height:3.125rem}.site-footer{padding-top:2.4375rem;padding-bottom:max(3.875rem,var(--mobile-booking-height,0px))}.footer-main{gap:1.875rem 1.5rem;padding-bottom:1.8125rem}.footer-wordmark{font-size:1.5625rem}.footer-brand p{font-size:0.625rem}.footer-column{font-size:0.625rem;gap:0.625rem}.footer-column .footer-label{font-size:0.5625rem;margin-bottom:0.5625rem}.footer-contact>a{font-size:0.6875rem}.footer-contact .footer-email{font-size:0.625rem}.footer-bottom{flex-direction:column;align-items:flex-start;gap:0.6875rem;font-size:0.5rem;padding:1.3125rem 0}.medical-notice{font-size:0.75rem;letter-spacing:.03em;padding:1.1875rem 0 0.9375rem;line-height:1.8}.mobile-booking{position:fixed;display:flex;align-items:stretch;bottom:0;left:0;right:0;background:oklch(100% 0 0);box-shadow:0 -3px 16px oklch(30.5341% 0.06057623 246.71560 / 0.062745098);border-top:1px solid var(--line);padding:0.5rem 0.9375rem max(0.5rem,env(safe-area-inset-bottom));gap:0.625rem;z-index:45;min-height:3.875rem}.mobile-booking>a,.mobile-booking>button{display:flex;align-items:center;justify-content:center;gap:0.5625rem;font-size:0.625rem;line-height:1.5}.mobile-booking>a{flex:.65;border:1px solid var(--line);border-radius:0.3125rem}.mobile-booking>button{flex:1;background:var(--green);color:oklch(100% 0 0);border:0;border-radius:0.3125rem;padding:0.6875rem}.mobile-booking .icon{width:0.9375rem;height:0.9375rem}.booking-modal{padding:1.875rem 1.4375rem;max-height:calc(100dvh - 2rem)}.booking-modal h2{font-size:1.875rem}.modal-intro{font-size:0.75rem}.booking-phones>a{font-size:0.875rem;padding:0.9375rem 0.75rem}.booking-hours{font-size:0.5625rem}.page-hero{padding:1.875rem 0 2.1875rem}.page-hero h1{font-size:2.3125rem}.page-intro{font-size:0.8125rem}.breadcrumbs{font-size:0.625rem;margin-bottom:1.4375rem}}
@media(max-width:23.125em){.container{width:calc(100% - 1.875rem)}.header-inner{gap:0.625rem}.header-phone{font-size:0.625rem}.header-phone span{font-size:0.4375rem}.hero-actions{gap:1.0625rem}.hero-actions .button{font-size:0.625rem;padding:0.8125rem 0.75rem;gap:0.6875rem}.hero-actions .text-link{font-size:0.625rem;gap:0.4375rem}.hero-image{height:19.6875rem}.home-doctor-grid{grid-template-columns:1fr}.home-doctor h3 span{min-height:0}.home-doctor-specialty{min-height:0}.home-doctor h3{font-size:1.4375rem}.home-doctor h3 span{font-size:0.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Mobile navigation uses the browser's modal top layer. */
.mobile-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(24.375rem,calc(100% - 1.75rem));max-width:none;height:100%;height:100dvh;max-height:none;padding:0;border:0;border-radius:1.125rem 0 0 1.125rem;background:var(--cream);color:var(--ink);box-shadow:-16px 0 60px oklch(29.536% 0.04414674 250.71085 / 0.1490196078);overflow:hidden;overscroll-behavior:contain}
.mobile-menu[open]{display:flex;flex-direction:column}
.mobile-menu::backdrop{background:oklch(31.2319% 0.04866367 251.05945 / 0.5019607843);backdrop-filter:blur(4px)}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.375rem 1.625rem 1.25rem;border-bottom:1px solid var(--line);flex-shrink:0}
.mobile-menu-header h2{margin:0;font-size:1.8125rem;letter-spacing:-.025em}
.mobile-menu-close,.dialog-close,.catalog-search-clear{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:0.375rem;background:transparent;flex-shrink:0}
.mobile-menu-close .icon,.dialog-close .icon,.catalog-search-clear .icon{width:2.125rem;height:2.125rem}
.mobile-menu-close:hover,.dialog-close:hover,.catalog-search-clear:hover{background:var(--sage)}
.mobile-menu-scroll{display:flex;flex-direction:column;justify-content:space-between;gap:2.1875rem;flex:1;min-height:0;padding:0.9375rem 1.625rem max(1.5625rem,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
.mobile-menu-nav{display:flex;flex-direction:column}
.mobile-menu-nav a{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:3.8125rem;padding:1.0625rem 0;border-bottom:1px solid var(--line);font-size:1.25rem;font-weight:500;line-height:1.35;letter-spacing:-.035em}
.mobile-menu-nav a .icon{width:1.125rem;height:1.125rem;color:oklch(64.0972% 0.05026483 240.53600)}
.mobile-menu-nav a:hover,.mobile-menu-nav a[aria-current=page]{color:oklch(55.8628% 0.08728203 241.35395)}
.mobile-menu-contact .eyebrow{font-size:0.5625rem;margin-bottom:0.8125rem;letter-spacing:.11em}
.mobile-menu-phone{font-size:1.3125rem;font-weight:650;letter-spacing:-.03em;display:inline-block;padding:0.1875rem 0}
.mobile-menu-hours{font-size:0.6875rem;line-height:1.9;color:var(--muted);margin:0.5625rem 0 1.25rem}
.mobile-menu-contact .button{width:100%;justify-content:space-between;font-size:0.75rem;min-height:3.375rem;padding:1rem 1.25rem}
.mobile-menu-address{display:flex;align-items:center;gap:0.5rem;width:fit-content;min-height:2.75rem;padding:0.625rem 0 0;font-size:0.625rem;color:var(--muted)}
.mobile-menu-address .icon{width:0.9375rem;height:0.9375rem}
.hero-copy,.hero-visual,.about-home-copy,.visit-grid>div,.faq-grid>div,.footer-column{min-width:0}
.hero-main{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.hero h1{white-space:normal}
.brand{min-width:0;flex-shrink:1;max-width:calc(100% - 4rem)}
.brand-caption{max-width:100%;text-align:center}
.header-actions{min-width:0}
.footer-contact .footer-email{white-space:normal;overflow-wrap:anywhere}
.mobile-booking>a,.mobile-booking>button{min-width:0;flex-wrap:wrap}
.mobile-menu-phone,.booking-phones>a{overflow-wrap:anywhere}
@media(max-width:47.5em){.hero-main{grid-template-columns:minmax(0,1fr)}}
@media(max-width:23.125em){.mobile-menu-header{padding:1.1875rem 1.3125rem 1.0625rem}.mobile-menu-scroll{padding:0.75rem 1.3125rem max(1.3125rem,env(safe-area-inset-bottom))}.mobile-menu-nav a{font-size:1.125rem;min-height:3.5625rem}.mobile-menu-phone{font-size:1.1875rem}.mobile-menu-contact .button{font-size:0.6875rem;padding:0.9375rem}}

/* Larger phone numbers and readable supporting details in the mobile dialog. */
@media(max-width:47.5em){
 .modal-intro,.booking-address,.booking-modal .booking-specialist-specialties{font-size:.875rem;line-height:1.7}
 .booking-phones>a{font-size:1.125rem;line-height:1.5;gap:.5rem}
 .booking-phones>a>span{min-width:0}
 .booking-phones>a>.icon{flex-shrink:0}
 .booking-hours{font-size:.875rem;line-height:1.6;align-items:flex-start}
 .booking-hours>.icon{margin-top:.1875rem}
 .booking-hours-schedule{display:grid;gap:.125rem;min-width:0}
 .booking-hours-separator{display:none}
}
@media(max-width:23.125em){
 .booking-modal{padding-inline:1rem}
 .booking-phones>a{font-size:1rem;padding-inline:.625rem}
}

/* Match WordPress admin-bar geometry independently of text-scaled breakpoints. */
@media(max-width:782px){.admin-bar .site-header{top:46px}}
/* Keep large text and its controls usable when the available line is very short. */
@media(max-width:19em){
 .header-phone{display:none}
 .mobile-booking{padding-inline:.5rem;gap:.375rem}
 .footer-main{grid-template-columns:minmax(0,1fr);gap:1.5rem}
 .principles-grid{grid-template-columns:minmax(0,1fr)}
 .container{width:calc(100% - 1.5rem)}
 .button{padding-inline:.75rem;gap:.75rem}
 .mobile-menu{width:calc(100% - .5rem)}
 .mobile-menu-header{padding-inline:.5rem;gap:.5rem}
 .mobile-menu-scroll{padding-inline:.5rem}
 .mobile-menu-nav a{gap:.5rem}
 .booking-modal{padding:1rem}
 .booking-modal .modal-symbol{margin-top:3rem}
 .mobile-booking>a,.mobile-booking>button{flex:1;gap:.25rem}
 .mobile-booking>button{padding:.5rem .25rem}
 .booking-phones>a{gap:.5rem;padding:.75rem .5rem}
}

/* Shared surfaces: a section title and its content belong to the same island. */
:root{
 --canvas:oklch(90.5% 0.01650000 240.75930);
 --island-gutter:clamp(.5rem,calc(.25rem + 1vw),1.5rem);
 --island-width:min(86rem,calc(100% - 2 * var(--island-gutter)));
 --island-radius:1rem;
 --island-gap:clamp(.75rem,calc(.5rem + .5vw),1.25rem);
 --island-padding:clamp(1rem,calc(.5rem + 2.5vw),3rem);
}
body{background:var(--canvas);padding-block:var(--island-gap)}
.container{width:min(80rem,calc(100% - 2 * var(--island-padding)))}
.site-header,#main-content>.hero,#main-content>.care-principles,#main-content>.section,.appointment-strip,.site-footer{
 width:var(--island-width);margin-inline:auto;border-radius:var(--island-radius);
}
.site-header{top:var(--island-gutter);margin-bottom:var(--island-gap);background:var(--white);border:0;box-shadow:0 4px 20px oklch(32.9047% 0.03857062 251.65585 / .035)}
.site-header .utility-bar{background:transparent;border-bottom:1px solid var(--line)}
.site-header .utility-inner{min-height:1.875rem}
.header-inner{min-height:5.375rem}
#main-content{display:flow-root}
#main-content>.hero,#main-content>.care-principles,#main-content>.section,.appointment-strip{margin-bottom:var(--island-gap)}
#main-content>.section{padding-block:clamp(2.5rem,calc(1.5rem + 3vw),4.5rem)}
#main-content>.home-services,#main-content>.home-doctors,#main-content>.faq-section,.error404 #main-content>.section{background:var(--white)}
#main-content>.home-doctors{padding-block:clamp(1.5rem,calc(1rem + 2vw),2.75rem)}
.home-doctors .section-heading{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem;margin-bottom:0}
.home-doctors .section-heading>h2{min-width:0;font-size:clamp(1.75rem,calc(1.25rem + 1vw),2.25rem)}
.home-doctors .section-heading>.text-link{margin:0;min-height:2.75rem;padding-block:.5rem}
@media(max-width:47.5em){.home-doctors .section-heading{flex-direction:column;align-items:flex-start;gap:.75rem}}
.hero{padding-block:clamp(2rem,calc(1rem + 2vw),3rem)}
.care-principles{border:0}
.principles-grid{padding-block:1.5rem}
.site-footer{padding-bottom:0}
.footer-logo img{mix-blend-mode:multiply}
.home-doctor{background:var(--cream);border-color:transparent}
.mobile-menu{inset:var(--island-gutter) var(--island-gutter) var(--island-gutter) auto;width:min(24.375rem,calc(100% - 2 * var(--island-gutter)));height:calc(100% - 2 * var(--island-gutter));height:calc(100dvh - 2 * var(--island-gutter));border-radius:var(--island-radius)}
.admin-bar .site-header{top:calc(32px + var(--island-gutter))}
@media(max-width:782px){.admin-bar .site-header{top:calc(46px + var(--island-gutter))}}
@media(max-width:47.5em){
 body{padding-bottom:calc(var(--mobile-booking-height,3.875rem) + max(var(--island-gutter),env(safe-area-inset-bottom)) + var(--island-gap))}
 .header-inner{min-height:4.5rem}
 .site-header .utility-inner{min-height:1.625rem}
 .hero{padding-top:2rem}
 .hero-visual{padding-inline:0}
 .hero-address{padding:.75rem;gap:.5rem;max-width:100%}
 .hero-address>.icon{margin-left:.25rem}
 .mobile-booking{left:var(--island-gutter);right:var(--island-gutter);bottom:max(var(--island-gutter),env(safe-area-inset-bottom));padding:.5rem;gap:.5rem;border:1px solid var(--line);border-radius:var(--island-radius);box-shadow:0 4px 20px oklch(32.9047% 0.03857062 251.65585 / .1)}
 .site-footer{padding-bottom:0}
 .principles-grid{padding-block:1.25rem}
}
@media(max-width:23.125em){
 .header-inner{gap:.5rem}
 .header-phone{font-size:.5625rem}
 .header-phone span{font-size:.4375rem}
 .principles-grid>div{padding-inline:.25rem;gap:.5rem}
}
@media(max-width:19em){
 :root{--island-gutter:.375rem;--island-padding:.5rem;--island-radius:.625rem;--island-gap:.5rem}
 .hero-address{padding:.5rem;gap:.375rem}
 .hero-address>.icon{display:none}
 .hero-image-caption{position:static;display:block;margin-top:.5rem;text-align:right}
 .principles-grid{gap:1rem}
 .mobile-menu-header{padding-inline:.5rem}
 .mobile-menu-scroll{padding-inline:.5rem}
}

html{scroll-padding-top:calc(var(--site-header-height,7.25rem) + var(--island-gutter) + var(--island-gap))}
@media(max-width:19em){
 .hero h1{font-size:1.875rem}
 .mobile-menu-header{gap:.25rem}
 .mobile-menu-nav a .icon{display:none}
}

/* Individual scale preserves existing transforms, including search centering. */
.maximed-site .catalog-search-clear{translate:0 -50%;transform:none}
.maximed-site :is(button:not(.pswp__button),.button,.header-call,.header-phone-button,.doctor-booking,.mobile-booking>a,.booking-phones>a,[data-press]):not([data-press="none"]){
 transition:scale .16s cubic-bezier(.2,.8,.2,1),background .2s,color .2s,transform .2s,box-shadow .2s;
}
@media(prefers-reduced-motion:no-preference){
 .maximed-site :is(button:not(.pswp__button),.button,.header-call,.header-phone-button,.doctor-booking,.mobile-booking>a,.booking-phones>a,[data-press]):not([data-press="none"]):is(:active,.is-pressed):not(:disabled):not([aria-disabled=true]){scale:.97;transition-duration:.08s}
}
.maximed-site .button:is(:active,.is-pressed){transform:none;box-shadow:none}
@media(hover:none){
 .maximed-site .button:hover{transform:none;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){
 .maximed-site :is(button:not(.pswp__button),.button,.header-call,.header-phone-button,.doctor-booking,.mobile-booking>a,.booking-phones>a,[data-press]):not([data-press="none"]):is(:active,.is-pressed){scale:none;box-shadow:inset 0 0 0 2px oklch(0% 0 0 / .15)}
 .maximed-site .button:hover{transform:none}
}

/* Clip answers only while moving; keep keyboard focus inside the visible row. */
.faq-list summary:focus-visible{outline-offset:-.25rem}
.faq-list details.is-animating{overflow:hidden}
.faq-list details.is-animating summary .icon{transition:none}
.faq-list details.is-collapsing summary .icon{transform:rotate(0deg)}

/* Readable preparation steps and answers on small screens. */
@media(max-width:47.5em){
 .visit-intro,.visit-steps p,.faq-grid>div>p:not(.eyebrow),.faq-list details>div{font-size:.875rem;line-height:1.75}
 .visit-steps li{gap:1rem}
 .visit-steps li>div{min-width:0}
 .visit-steps p{text-wrap:pretty}
 .visit-steps h3,.faq-list summary{font-size:1rem;line-height:1.5}
 .visit-steps h3{margin-bottom:.625rem}
 .visit-section .button{font-size:.875rem}
 .faq-list summary{gap:.75rem;padding-block:1.125rem}
 .faq-list details>div{padding-right:0;padding-bottom:1.25rem}
 .faq-list details .text-link{max-width:100%;min-height:2.75rem;font-size:.875rem;line-height:1.5;gap:.625rem;padding-block:.5rem}
}
@media(max-width:19em){
 .visit-steps li{flex-direction:column;gap:.75rem}
}

/* Selected specialist details in the booking dialog. */
.booking-specialist{margin:0 0 1.125rem;padding:.875rem 1rem;background:var(--sage);border:1px solid var(--line);border-radius:.625rem;overflow-wrap:anywhere}
.booking-specialist-name{margin:0 0 .1875rem;font-size:1.0625rem;font-weight:650;line-height:1.55}
.booking-specialist-specialties{margin:0;font-size:.75rem;line-height:1.8;color:var(--green)}

/* Readable footer groups on small screens, in the same order as the markup. */
@media(max-width:47.5em){
 .site-footer{padding-top:1.5rem}
 .footer-main{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-bottom:1.5rem}
 .footer-main>*{min-width:0}
 .footer-wordmark{display:inline-block;min-height:2.75rem;font-size:1.75rem}
 .footer-brand p{font-size:.875rem;line-height:1.7;margin:.375rem 0}
 .footer-city{font-size:.75rem;color:var(--muted)}
 .footer-column{font-size:.9375rem;line-height:1.65;gap:.25rem}
 .footer-column .footer-label{font-size:.75rem;line-height:1.5;margin-bottom:.375rem;color:var(--muted)}
 .footer-column>a{display:flex;align-items:center;min-height:2.75rem;max-width:100%}
 .footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.125rem .875rem;padding-block:1rem;border-block:1px solid var(--line);font-size:.875rem}
 .footer-nav .footer-label{grid-column:1/-1}
 .footer-location>a:not(.footer-social){font-size:1rem;font-weight:550}
 .footer-location .footer-social{font-size:.875rem;margin-top:.5rem}
 .footer-location .footer-social .icon{width:1rem;height:1rem}
 .footer-contact{padding-top:1.25rem;border-top:1px solid var(--line)}
 .footer-contact>a{font-size:1.125rem;font-weight:600;white-space:normal;overflow-wrap:anywhere}
 .footer-contact .footer-email{font-size:.875rem;font-weight:400;margin-top:.25rem}
 .footer-bottom{align-items:stretch;gap:.375rem;padding:1.125rem 0;font-size:.875rem;line-height:1.5}
 .footer-bottom>span{font-size:.75rem;margin-bottom:.375rem}
 .footer-bottom>a{display:flex;align-items:center;min-height:2.75rem;min-width:0}
 .medical-notice{font-size:.8125rem;line-height:1.7;letter-spacing:.015em;color:var(--muted);padding:1.125rem 0 1.25rem}
 .site-footer a{scroll-margin-bottom:calc(var(--mobile-booking-height,3.875rem) + var(--island-gutter) + .75rem)}
}
@media(max-width:19em){
 .footer-nav{grid-template-columns:minmax(0,1fr)}
}

/* Readable actions in the floating mobile bar, with room for the longer label. */
@media(max-width:47.5em){
 .mobile-booking{display:flex;flex-wrap:wrap}
 .mobile-booking>a,.mobile-booking>button{min-height:2.75rem;padding:.5rem;gap:.375rem;font-size:.875rem;line-height:1.5;flex-wrap:nowrap}
 .mobile-booking>a{flex:1 1 0;min-width:min(100%,7.25rem);white-space:nowrap}
 .mobile-booking>button{flex:calc(1 / .65) 1 0;min-width:min(100%,8rem);text-wrap:balance}
 .mobile-booking .icon{width:1.25rem;height:1.25rem;flex-shrink:0}
}
@media(max-width:19em){
 .mobile-booking>a,.mobile-booking>button{flex-basis:100%;min-width:0}
 .mobile-booking>a{white-space:normal}
}

/* Give the first-screen actions readable labels and comfortable tap targets. */
@media(max-width:47.5em){
 .hero-actions{gap:.5rem 1.25rem}
 .hero-actions>.button,.hero-actions>.text-link{scroll-margin-bottom:calc(var(--mobile-booking-height,3.875rem) + var(--island-gutter) + var(--island-gap))}
 .hero-actions .button{font-size:.875rem;gap:.75rem;text-wrap:balance}
 .hero-actions .text-link{max-width:100%;min-width:0;min-height:2.75rem;padding-block:.5rem;font-size:.875rem;line-height:1.5;gap:.625rem}
}
@media(max-width:19em){
 .hero-actions .button{padding-inline:.375rem;gap:.25rem}
 .hero-actions .text-link{gap:.375rem}
}

/* Give mobile service cards more room for readable descriptions and actions. */
@media(max-width:47.5em){
 .service-tile{padding:1.25rem}
 .service-tile p{font-size:.875rem;line-height:1.7;margin-bottom:1.25rem}
 .service-tile p br{display:none}
 .service-bottom{font-size:.875rem;line-height:1.5;gap:.75rem}
 .service-bottom .round-arrow{flex-shrink:0}
}
@media(max-width:19em){
 .service-tile{padding:.5rem}
 .service-bottom{flex-wrap:wrap;row-gap:.5rem}
}

/* Readable facts in a single mobile column, with two columns when space allows. */
@media(max-width:47.5em){
 .principles-grid{grid-template-columns:minmax(0,1fr);gap:.875rem 1.5rem;padding-block:1.25rem}
 .principles-grid>div{min-width:0;padding:0;gap:.75rem;font-size:.875rem;line-height:1.6}
 .principles-grid>div>span{min-width:0}
 .principles-grid br{display:none}
 .principles-grid .icon{flex-shrink:0}
}
@media(min-width:32.5em) and (max-width:47.5em){
 .principles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:12em){
 .principles-grid>div{flex-direction:column;align-items:flex-start;gap:.5rem}
}

/* Readable supporting copy and a comfortable link in the mobile about section. */
@media(max-width:47.5em){
 .about-home-copy>p:not(.eyebrow):not(.about-home-lead){font-size:.875rem;line-height:1.7}
 .about-features{gap:.75rem;margin:1.25rem 0}
 .about-features>span{min-width:0;gap:.625rem;font-size:.875rem;line-height:1.6}
 .about-features .icon{flex-shrink:0;margin-top:.1875rem}
 .about-home-copy>.text-link{max-width:100%;min-width:0;min-height:2.75rem;padding-block:.5rem;font-size:.875rem;line-height:1.5;gap:.625rem;text-wrap:balance;scroll-margin-bottom:calc(var(--mobile-booking-height,3.875rem) + var(--island-gutter) + var(--island-gap))}
}

/* Match the main catalog links and leave longer service names room to wrap. */
@media(max-width:47.5em){
 .home-services .section-heading .text-link,.home-doctors .section-heading>.text-link,.home-services .services-more>a{min-width:0;max-width:100%;min-height:2.75rem;font-size:.875rem;line-height:1.5;gap:.625rem;scroll-margin-bottom:calc(var(--mobile-booking-height,3.875rem) + var(--island-gutter) + var(--island-gap))}
 .home-services .section-heading .text-link,.home-doctors .section-heading>.text-link{padding-block:.5rem;text-wrap:balance}
 .home-services .services-more>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto}
 .services-more>a>span{min-width:0}
 .services-more>a>.icon:last-child{margin-left:0}
}
@media(max-width:19em){
 .home-services .services-more>a{grid-template-columns:minmax(0,1fr) auto;row-gap:.5rem}
 .services-more>a>.icon:first-child{grid-column:1;grid-row:1}
 .services-more>a>.icon:last-child{grid-column:2;grid-row:1}
 .services-more>a>span{grid-column:1/-1;grid-row:2}
}

/* Keep the shared booking invitation as readable as the main mobile actions. */
@media(max-width:47.5em){
 .appointment-inner .eyebrow{font-size:.75rem;line-height:1.5;letter-spacing:.1em}
 .appointment-inner p:last-child{font-size:.875rem;line-height:1.7}
 .appointment-inner>.button{font-size:.875rem;line-height:1.5;gap:.75rem;text-wrap:balance;scroll-margin-bottom:calc(var(--mobile-booking-height,3.875rem) + var(--island-gutter) + var(--island-gap))}
}
@media(max-width:19em){
 .appointment-inner>.button{padding-inline:.375rem;gap:.25rem}
}

/* Center the clock beside the full visit note. */
@media(max-width:47.5em){
 .hero-reassurance{align-items:center}
 .hero-reassurance .small-symbol{flex-shrink:0}
 .hero-reassurance p{min-width:0;font-size:.875rem;line-height:1.7}
 .hero-reassurance p span{font-size:.75rem;line-height:1.7;margin-top:.125rem;text-wrap:balance}
}
@media(max-width:19em){
 .hero-reassurance{flex-direction:column;align-items:flex-start;gap:.5rem}
 .hero-reassurance p{text-wrap:balance}
}

/* Desktop reading scale: keep the established headings, give useful text more room. */
@media (width > 47.5em){
 body{font-size:1rem}
 .eyebrow,.hero-copy .eyebrow,.booking-modal .eyebrow,.appointment-inner .eyebrow{font-size:.75rem;letter-spacing:.12em}
 .button,.button--small,.header-actions .button,.hero-actions .button,.appointment-inner>.button{font-size:.9375rem;line-height:1.5;gap:1rem}
 .button{padding:1rem 1.5rem}
 .button--small,.header-actions .button{padding:.75rem 1rem;min-height:3rem}
 .button .icon{width:1.375rem;height:1.375rem}
 .text-link,.hero-actions .text-link,.faq-list details .text-link{font-size:.9375rem;line-height:1.5;min-height:2.75rem;padding-block:.5rem;gap:.75rem}
 .text-link .icon{width:1.25rem;height:1.25rem}
 .utility-bar{font-size:.75rem}
 .utility-inner{gap:1.5rem;flex-wrap:wrap;padding-block:.375rem}
 .utility-inner .icon{width:1rem;height:1rem}
 .header-inner{gap:1.5rem}
 .main-nav{gap:clamp(1rem,1.5vw,1.625rem);margin-left:0}
 .main-nav>a{font-size:.9375rem}
 .header-actions{gap:1.25rem}
 .header-phone{font-size:1rem}
 .header-phone span{font-size:.75rem}
 .brand-caption{font-size:.5625rem}
 .hero-description{font-size:1rem}
 .hero-actions{gap:.75rem 1.5rem}
 .hero-reassurance .small-symbol{flex-shrink:0}
 .hero-reassurance p{font-size:.9375rem;line-height:1.6;min-width:0}
 .hero-reassurance p span{font-size:.875rem;line-height:1.6;margin-top:.125rem}
 .hero-address small{font-size:.875rem}
 .hero-address strong{font-size:1rem}
 .hero-address{max-width:100%;gap:.75rem}
 .hero-address>div{min-width:0}
 .hero-address>.icon{width:1.25rem;height:1.25rem;margin-left:.25rem}
 .principles-grid>div{min-width:0;font-size:.875rem;line-height:1.6;gap:.875rem;padding-inline:1.25rem}
 .principles-grid>div:first-child{padding-left:0}
 .principles-grid>div>span{min-width:0}
 .principles-grid br{display:none}
 .section-heading-side p{font-size:1rem;line-height:1.7}
 .service-tile p{font-size:1rem;line-height:1.7}
 .service-tile p br{display:none}
 .service-bottom{font-size:.9375rem;line-height:1.5;gap:.75rem}
 .service-bottom .round-arrow{flex-shrink:0}
 .services-more a{font-size:.9375rem;line-height:1.6;min-height:3rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem}
 .services-more a>.icon:last-child{width:1.25rem;height:1.25rem;margin-left:0}
 .about-home-copy>p:not(.eyebrow){font-size:1rem;line-height:1.75}
 .about-home-copy>p.about-home-lead{font-size:1.125rem;line-height:1.7}
 .about-features span{font-size:.875rem;line-height:1.6;align-items:flex-start}
 .about-features .icon{width:1.25rem;height:1.25rem;margin-top:.0625rem}
 .about-art-footnote{font-size:.875rem;padding-inline:1rem}
 .home-doctor{min-width:0}
 .home-doctor-specialty{font-size:.875rem;line-height:1.6;min-height:2.8rem}
 .home-doctor h3{font-size:1.375rem;line-height:1.45;margin-bottom:1.25rem}
 .home-doctor h3 span{font-size:1rem;line-height:1.5}
 .doctor-booking{font-size:.9375rem;line-height:1.5;gap:.75rem;min-height:3.25rem;margin-top:auto;text-align:left}
 .doctor-booking .icon{width:1.25rem;height:1.25rem}
 .visit-intro,.visit-steps p,.faq-grid>div>p:not(.eyebrow),.faq-list details>div{font-size:1rem;line-height:1.75}
 .visit-intro{max-width:25rem}
 .visit-steps li{gap:1.25rem}
 .visit-steps li>div{min-width:0}
 .visit-steps h3,.faq-list summary{font-size:1.125rem;line-height:1.5}
 .faq-list summary{gap:1rem}
 .faq-list summary .icon{width:1.375rem;height:1.375rem}
 .appointment-inner p:last-child{font-size:1rem;line-height:1.7}
 .appointment-inner>div{min-width:0}
 .appointment-inner>.button{flex-shrink:0;margin-left:0}
 .footer-main{gap:2rem;grid-template-columns:1.1fr 1fr 1fr 1.25fr}
 .footer-brand p,.footer-city,.footer-column,.footer-contact .footer-email,.footer-bottom{font-size:.875rem;line-height:1.7}
 .footer-column .footer-label{font-size:.75rem}
 .footer-column{gap:.625rem}
 .footer-column a{padding-block:.25rem}
 .footer-contact>a{font-size:1.125rem;white-space:normal}
 .footer-social .icon{width:1.125rem;height:1.125rem}
 .footer-bottom{flex-wrap:wrap;gap:.75rem 1.5rem}
 .footer-bottom>a{min-height:2.75rem;display:flex;align-items:center}
 .booking-modal{width:min(35rem,calc(100% - 2rem))}
 .modal-intro{font-size:1rem;line-height:1.7}
 .booking-address,.booking-hours,.booking-specialist-specialties{font-size:.875rem;line-height:1.6}
 .booking-phones>a{font-size:1.125rem;line-height:1.5}
 .booking-phones .icon{width:1.25rem;height:1.25rem}
 .booking-hours{align-items:flex-start}
 .booking-hours>.icon{width:1.125rem;height:1.125rem;margin-top:.125rem}
 .mobile-menu-contact .eyebrow{font-size:.75rem}
 .mobile-menu-hours,.mobile-menu-address{font-size:.875rem}
 .mobile-menu-contact .button{font-size:.9375rem}
}
@media (width > 47.5em) and (max-width:75em){
 .main-nav{display:none}
 .menu-toggle{display:flex}
 .header-actions{margin-left:auto}
 .home-doctor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-doctor-specialty{min-height:0}
 .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 3rem}
}
@media (width > 47.5em) and (max-width:60em){
 .principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
 .principles-grid>div{padding:0;border:0}
 .services-grid{grid-template-columns:minmax(0,1fr)}
 .service-tile{min-height:0;padding:1.75rem}
 .service-tile h3 br{display:none}
 .service-symbol{margin-bottom:1rem}
 .about-home-grid,.visit-grid,.faq-grid{gap:2rem}
}

/* Keep the established card lift and add a quiet edge and arrow response. */
.service-tile{--service-edge:color-mix(in oklch,var(--green) 25%,transparent);--service-arrow:var(--green);--service-arrow-ink:var(--white);transition:transform .25s,box-shadow 180ms cubic-bezier(.2,.7,.2,1)}
.service-tile--primary{--service-edge:color-mix(in oklch,var(--white) 30%,transparent);--service-arrow:var(--white);--service-arrow-ink:var(--green)}
.service-tile .round-arrow{transition:background 180ms cubic-bezier(.2,.7,.2,1),color 180ms cubic-bezier(.2,.7,.2,1),border-color 180ms cubic-bezier(.2,.7,.2,1)}
.service-tile:is(:focus-visible,:active){box-shadow:inset 0 0 0 1px var(--service-edge)}
.service-tile:is(:focus-visible,:active) .round-arrow{background:var(--service-arrow);color:var(--service-arrow-ink);border-color:var(--service-arrow)}
@media(hover:hover) and (pointer:fine){
 .service-tile:hover{box-shadow:inset 0 0 0 1px var(--service-edge)}
 .service-tile:hover .round-arrow{background:var(--service-arrow);color:var(--service-arrow-ink);border-color:var(--service-arrow)}
}
@media(prefers-reduced-motion:reduce){
 .service-tile:hover{transform:none}
}

/* Quiet motion keeps the page and controls in place while a layer changes. */
.mobile-menu{opacity:0;transform:translateX(calc(100% + var(--island-gutter)));transition:opacity 320ms cubic-bezier(.25,.1,.25,1),transform 320ms cubic-bezier(.25,.1,.25,1)}
.mobile-menu::backdrop{opacity:0;transition:opacity 320ms cubic-bezier(.25,.1,.25,1)}
.mobile-menu.is-visible{opacity:1;transform:none}
.mobile-menu.is-visible::backdrop{opacity:1}
.mobile-menu.is-closing{opacity:0;transform:translateX(.75rem);transition-duration:200ms}
.mobile-menu.is-closing::backdrop{transition-duration:200ms}
/* Centered dialogs share their states, timing and backdrop transition. */
:is(.booking-modal,.accessibility-dialog){opacity:0;transform:scale(.97);transition:opacity 280ms cubic-bezier(.25,.1,.25,1),transform 280ms cubic-bezier(.25,.1,.25,1)}
:is(.booking-modal,.accessibility-dialog)::backdrop{opacity:0;transition:opacity 280ms cubic-bezier(.25,.1,.25,1)}
:is(.booking-modal,.accessibility-dialog).is-visible{opacity:1;transform:none}
:is(.booking-modal,.accessibility-dialog).is-visible::backdrop{opacity:1}
:is(.booking-modal,.accessibility-dialog).is-closing{transform:scale(.992)}
:is(.booking-modal,.accessibility-dialog).is-closing,:is(.booking-modal,.accessibility-dialog).is-closing::backdrop{transition-duration:180ms}
.mobile-booking{opacity:1;visibility:visible;transition:opacity 220ms cubic-bezier(.25,.1,.25,1),visibility 0s}
.has-dialog .mobile-booking{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 200ms cubic-bezier(.25,.1,.25,1),visibility 0s 200ms}
@media(prefers-reduced-motion:reduce){
 .mobile-menu,.mobile-menu::backdrop,:is(.booking-modal,.accessibility-dialog),:is(.booking-modal,.accessibility-dialog)::backdrop,.mobile-booking,.has-dialog .mobile-booking{transition:none}
 .mobile-menu,.mobile-menu.is-closing,:is(.booking-modal,.accessibility-dialog),:is(.booking-modal,.accessibility-dialog).is-closing{transform:none}
}

/* Keep the approved hero and names intact; balance only short section titles. */
.section-heading h2,.about-home-copy h2,.visit-steps h3,#booking-title{text-wrap:balance}
.hero-description,.about-home-copy>p:not(.eyebrow),.visit-intro,.visit-steps p,.faq-list details>div p,.modal-intro{text-wrap:pretty}

/* The clinic name leads the hero; its purpose and location stay together below. */
.hero h1.hero-title{font-size:1rem;line-height:1.3;letter-spacing:normal}
.hero-title .hero-title-brand{
 display:block;
 color:var(--ink);
 font-size:clamp(3rem,calc(2rem + 4.5vw),6rem);
 line-height:1.08;
 letter-spacing:-.055em;
}
.hero-title .hero-title-context{
 display:block;
 margin-top:clamp(.625rem,calc(.375rem + .5vw),1rem);
 color:var(--green);
 font-size:clamp(1.375rem,calc(1rem + .9vw),1.75rem);
 line-height:1.35;
 letter-spacing:-.025em;
}
.hero-title .hero-title-context>span{display:inline-block;max-width:100%;color:inherit}
@media(max-width:23.125em){
 .hero-title .hero-title-brand{font-size:clamp(2.125rem,calc(.875rem + 9.5vw),3.125rem)}
}

/* Direct calls: three desktop numbers, primary number in the compact header. */
.site-header{container:header-shell / inline-size}
.header-mobile-actions{display:contents}
.header-call{display:none}
.header-actions.header-phones{align-items:center;min-width:0}
.header-phone-list{display:flex;gap:.5rem}
.header-phones .header-phone-button{min-height:2.75rem;padding:.625rem .75rem;gap:.5rem;font-size:.9375rem;font-weight:650;line-height:1.4;white-space:nowrap;border-color:var(--line);color:var(--ink);background:transparent}
.header-phones .header-phone-button .icon{width:1.125rem;height:1.125rem}
.header-phones .header-phone-button:hover{background:var(--sage)}
@media(75em < width <= 80em){
 .site-header .header-inner{gap:.625rem}
 .site-header .brand{flex-shrink:0}
}
@container header-shell (width < 70rem){
 .site-header .main-nav{display:none}
 .site-header .header-inner{gap:.5rem;flex-wrap:wrap;padding-block:.25rem;container:mobile-header / inline-size}
 .header-actions.header-phones{display:none}
 .header-mobile-actions{display:flex;align-items:center;justify-content:flex-end;flex:1 1 0;gap:.5rem;min-width:0;max-width:100%;margin-left:auto}
 .header-call,.header-mobile-actions>.menu-toggle{display:flex;align-items:center;justify-content:center;min-height:2.75rem;border:1px solid var(--line);border-radius:.375rem;background:transparent;color:var(--ink)}
 .header-call{min-width:0;padding:.25rem .375rem;gap:.375rem;text-align:left;flex-shrink:1}
 .header-call-copy{display:flex;flex-direction:column;min-width:0}
 .header-call-number{font-size:.8125rem;font-weight:750;line-height:1.4;letter-spacing:-.02em;white-space:normal;text-wrap:balance}
 .header-call-label{font-size:.625rem;line-height:1.5;color:var(--muted);white-space:normal;text-wrap:balance}
 .header-call .icon{width:1.5rem;height:1.5rem;flex-shrink:0}
 .header-mobile-actions>.menu-toggle{width:2.75rem;height:2.75rem;padding:0;flex-shrink:0}
 .header-mobile-actions>.menu-toggle .icon{width:1.625rem;height:1.625rem}
}
@media(hover:hover){
 .header-call:hover,.header-mobile-actions>.menu-toggle:hover{background:var(--sage)}
}
@media(max-width:23.125em){
 .site-header .header-inner,.header-mobile-actions{gap:.375rem}
 .header-call{padding-inline:.25rem;gap:.25rem}
}
@container mobile-header (width < 18rem){
 .header-inner>.brand{flex-basis:auto;max-width:calc(100% - 3.25rem)}
 .header-mobile-actions{display:contents}
 .header-mobile-actions>.menu-toggle{margin-left:auto}
 .header-call{order:1;flex-basis:100%;flex-direction:row;text-align:left}
}

/* Quiet utility contacts; address remains readable on narrow screens. */
.site-header .utility-inner{gap:1rem;padding-block:.125rem}
.utility-contact-links{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}
.utility-contact-links a{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2rem}
.utility-contact-links .utility-max{width:2rem}
.utility-contact-links .utility-max .icon{width:1.25rem;height:1.25rem}
@media(max-width:60em){.utility-hours{display:none}}
@media(max-width:47.5em){
 .site-header .utility-inner{gap:.5rem;flex-wrap:nowrap;justify-content:space-between}
 .utility-inner>a{min-width:0;line-height:1.45}
 .utility-inner>a>.icon{flex-shrink:0}
 .utility-contact-links{gap:.25rem}
 .utility-email-address{display:none}
 .utility-contact-links .utility-email{width:2rem}
}
/* Extra phone numbers remain reachable whenever the header is compact. */
.has-compact-header body{padding-bottom:calc(var(--mobile-booking-height,4rem) + var(--island-gap))}
.has-compact-header .mobile-phones{position:fixed;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));bottom:0;background:var(--white);box-shadow:0 -3px 20px oklch(32.9047% .03857062 251.65585 / .1);z-index:45}
.mobile-booking.mobile-phones{--phone-panel-radius:.875rem;--phone-panel-padding:.5rem;width:min(32rem,100%);left:0;right:0;margin-inline:auto;align-items:stretch;padding:var(--phone-panel-padding);padding-bottom:max(var(--phone-panel-padding),env(safe-area-inset-bottom));gap:.375rem;border:1px solid var(--line);border-bottom:0;border-radius:var(--phone-panel-radius) var(--phone-panel-radius) 0 0}
.mobile-booking.mobile-phones>a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:3rem;padding:.5rem .375rem;gap:.375rem;border:1px solid transparent;border-radius:calc(var(--phone-panel-radius) - var(--phone-panel-padding));background:var(--cream);color:var(--green);white-space:normal}
.mobile-phones .icon{width:1.125rem;height:1.125rem;flex-shrink:0}
.mobile-phone-number{min-width:0;font-size:.875rem;font-weight:650;line-height:1.4;letter-spacing:-.015em;text-wrap:balance;font-variant-numeric:tabular-nums}
.mobile-menu-phones{display:grid;gap:.5rem}
.mobile-menu-contact .mobile-menu-phone{display:flex;align-items:center;justify-content:center;min-width:0;min-height:2.875rem;padding:.625rem .75rem;gap:.75rem;font-size:1rem;font-weight:650;line-height:1.4;letter-spacing:-.015em;background:var(--white);border-color:var(--line);text-align:center;font-variant-numeric:tabular-nums}
.mobile-menu-phone>span{min-width:0;text-wrap:balance}
.mobile-menu-phone>.icon{width:1.375rem;height:1.375rem}
.mobile-menu-contact .mobile-menu-hours{margin:.875rem 0 .625rem}
.mobile-menu-email{display:flex;align-items:center;gap:.625rem;min-width:0;min-height:2.75rem;padding:.375rem 0;font-size:.9375rem;color:var(--green)}
.mobile-menu-email>span{min-width:0;overflow-wrap:anywhere}
.mobile-menu-email>.icon{width:1.125rem;height:1.125rem}
@media(hover:hover){.mobile-phones>a:hover,.mobile-menu-contact .mobile-menu-phone:hover{background:var(--sage)}}

.hero-image--entrance img{object-position:45% center}

@container header-shell (width < 70rem){
 .utility-hours{display:none}
 .site-header .utility-inner{gap:.5rem;flex-wrap:nowrap}
 .utility-contact-links{margin-left:auto}
 .utility-email-address{display:none}
 .utility-contact-links .utility-email{width:2rem}
}
@container header-shell (width < 18rem){
 .site-header .utility-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .5rem}
 .utility-inner>a{grid-column:1/-1;min-width:0}
 .utility-contact-links{margin-left:0;flex-wrap:wrap}
}

/* Large reading controls move with the page instead of covering its content. */
html.contacts-in-flow .site-header{position:relative;top:0}
html.contacts-in-flow .mobile-booking.mobile-phones{position:static;margin-block:var(--island-gap);width:min(32rem,calc(100% - var(--island-gutter) * 2));border-bottom:1px solid var(--line);border-radius:var(--phone-panel-radius)}
html.contacts-in-flow body{padding-bottom:var(--island-gutter)}
html.contacts-in-flow .site-footer{padding-bottom:2rem}

/* Two consistent text scales and one icon size for the desktop header. */
.utility-contact-links .utility-max{width:auto;padding-inline:.375rem}
.utility-max>span{font-size:.8125rem;font-weight:600;line-height:1.5}
@container header-shell (width >= 70rem){
 .site-header .utility-inner{font-size:.8125rem;font-weight:500;line-height:1.5;gap:1.125rem;flex-wrap:nowrap}
 .site-header .utility-inner>a,.site-header .utility-contact-links>a{min-height:2.75rem;gap:.5rem}
 .site-header .utility-inner .accessibility-trigger{font:inherit;color:inherit;gap:.5rem}
 .site-header .utility-inner .icon,.site-header .utility-inner .accessibility-trigger .icon{width:1.125rem;height:1.125rem}
 .site-header .utility-max>span{font:inherit}
 .site-header .main-nav>a,.site-header .header-phone-button{display:flex;align-items:center;justify-content:center;min-height:2.75rem;font-size:.9375rem;font-weight:600;line-height:1.4}
 .site-header .main-nav>a{padding-block:.625rem}
 .site-header .header-phone-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
}
