:root{--ink:#192630;--muted:#57636d;--blue:#006faf;--blue-dark:#005786;--sky:#eff7fc;--wash:#f5f7f8;--line:#dce2e6;--white:#fff;--radius:28px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:110px}
*{box-sizing:border-box}body{margin:0;background:var(--white)}a{color:inherit;text-decoration:none}button,input{font:inherit}a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,figure{margin:0}p{line-height:1.65}h1,h2,h3{font-weight:600}h2{font-size:clamp(2.4rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.045em}h3{font-size:1.2rem;line-height:1.35;letter-spacing:-.025em}p,a,summary{overflow-wrap:break-word}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px;border-radius:5px}a:hover{color:var(--blue)}::selection{background:#c9e9fa;color:#092d45}.container{width:min(1180px,calc(100% - 96px));margin-inline:auto}.wide-container{width:min(1448px,calc(100% - 48px));margin-inline:auto}.section-space{padding-block:104px}.eyebrow{font-size:.8125rem;line-height:1.45;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);margin-bottom:20px}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:54px;padding:15px 26px;border-radius:100px;background:var(--blue);color:var(--white);font-size:1rem;font-weight:500;line-height:1.4;transition:background .18s ease,transform .18s ease;text-align:center}.button:hover{background:var(--blue-dark);color:var(--white);transform:translateY(-1px)}.button .icon{width:21px}.button-small{min-height:44px;padding:11px 20px;font-size:.875rem;gap:8px}.text-link{display:inline-flex;gap:8px;align-items:center;min-height:44px;color:var(--blue);font-weight:500;font-size:1rem;line-height:1.4}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-link .icon{width:18px;height:18px}.skip-link{position:fixed;top:8px;left:8px;z-index:100;transform:translateY(-150%);background:var(--ink);color:white;padding:14px 24px;border-radius:8px}.skip-link:focus{transform:translateY(0)}
.availability-bar{min-height:40px;padding:9px 24px;background:var(--sky);display:flex;align-items:center;justify-content:center;gap:15px;font-size:.8125rem}.availability-bar p{line-height:1.5}.availability-note{color:var(--muted)}.availability-bar a{color:var(--blue);display:inline-flex;align-items:center;font-weight:600;gap:3px}.availability-bar .icon{width:14px;height:14px}.site-header{background:rgba(255,255,255,.95);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(220,226,230,.6);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:91px;gap:28px}.brand{display:block;flex:0 0 120px}.brand img{width:120px}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto;margin-right:18px}.desktop-nav a{font-size:.875rem;white-space:nowrap;padding:14px 0}.header-actions{display:flex;gap:20px;align-items:center}.mobile-menu{display:none}.hero-copy{text-align:center;padding-block:62px 47px}.hero .eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(3.2rem,6.5vw,6rem);line-height:1.03;letter-spacing:-.052em;font-weight:650}.hero h1 span{color:var(--blue)}.hero-description{font-size:1.22rem;line-height:1.5;color:var(--muted);margin-top:24px;letter-spacing:-.018em}.hero-actions{display:flex;justify-content:center;align-items:center;gap:29px;flex-wrap:wrap;margin-top:27px}.booking-note{font-size:.8125rem;color:var(--muted);margin-top:16px}.booking-note a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.hero-photo{position:relative;overflow:hidden;border-radius:var(--radius)}.hero-photo>img{width:100%;height:clamp(360px,36vw,530px);object-fit:cover;object-position:center 48%}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:10px;color:white;font-size:.875rem;padding:70px 34px 25px;background:linear-gradient(transparent,rgba(5,19,27,.74));pointer-events:none}.hero-photo figcaption .icon{width:18px;height:18px}.photo-caption-end{margin-left:auto;font-size:.875rem}.care-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;padding-block:54px 64px}.care-principles>div{position:relative}.care-principles>div+div{border-left:1px solid var(--line);padding-left:42px}.principle-number{color:var(--blue);font-size:.75rem;font-weight:600;letter-spacing:.04em;display:block;margin-bottom:13px}.care-principles h2{font-size:1.125rem;line-height:1.3;letter-spacing:-.025em;margin-bottom:12px}.care-principles p{font-size:1rem;color:var(--muted);line-height:1.6}
.practice-section{background:var(--wash)}.practice-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:92px;align-items:center}.practice-copy .section-lead{font-size:1.25rem;line-height:1.4;color:var(--ink);letter-spacing:-.02em;margin-block:27px 20px}.practice-copy>p:not(.eyebrow):not(.section-lead){font-size:1rem;color:var(--muted);margin-bottom:18px}.practice-copy .text-link{margin-top:5px}.practice-photo{border-radius:var(--radius);overflow:hidden;background:white}.practice-photo img{width:100%;height:440px;object-fit:cover;object-position:center}.practice-photo figcaption{font-size:.8125rem;color:var(--muted);padding:17px 23px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:43px}.section-heading>p{font-size:1.0625rem;color:var(--muted);padding-bottom:3px;line-height:1.6}.section-heading .eyebrow{margin-bottom:18px}.doctor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.doctor-card{border-radius:var(--radius);background:var(--wash);overflow:hidden}.doctor-photo{height:350px;overflow:hidden;position:relative;background:#fff}.doctor-photo img{width:100%;height:100%;object-fit:cover}.lerm-photo img{object-position:50% 14%}.integrity-photo img{object-position:50% 47%}.portrait-label{position:absolute;bottom:22px;left:25px;background:rgba(255,255,255,.92);border-radius:100px;padding:9px 16px;color:var(--ink);font-size:.8125rem;backdrop-filter:blur(8px)}.doctor-copy{padding:31px 34px 33px}.doctor-role{text-transform:uppercase;font-size:.75rem;font-weight:600;letter-spacing:.1em;color:var(--blue);margin-bottom:10px}.doctor-copy h3{font-size:1.85rem;line-height:1.2;letter-spacing:-.035em}.doctor-qualification{font-size:.875rem;color:var(--muted);margin-top:10px}.doctor-qualification abbr{text-decoration:none}.doctor-copy>p:not(.doctor-role):not(.doctor-qualification){font-size:1rem;color:var(--muted);margin-top:20px;max-width:44ch}.doctor-copy .text-link{margin-top:16px}.doctor-website{display:block;font-size:.875rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px;max-width:fit-content;line-height:1.6;margin-top:5px;padding-block:6px}
.services-section{background:var(--wash)}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service{background:white;border-radius:22px;padding:31px 29px 34px}.service-icon{width:33px;height:33px;fill:none;stroke:var(--blue);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;margin-bottom:26px}.service h3{margin-bottom:12px;font-size:1.125rem}.service p{font-size:1rem;line-height:1.6;color:var(--muted)}.services-note{margin-top:24px;font-size:.875rem;color:var(--muted)}.appointment-section{padding-top:92px}.appointment-panel{display:grid;grid-template-columns:1fr auto;gap:64px;background:var(--sky);border-radius:var(--radius);padding:48px 50px;align-items:center}.appointment-panel .eyebrow{font-size:.75rem;margin-bottom:14px}.appointment-panel h2{font-size:clamp(2.25rem,3.5vw,3rem)}.appointment-panel>div>p:not(.eyebrow){max-width:46ch;color:var(--muted);font-size:1rem;line-height:1.6;margin-top:17px}.appointment-actions{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:340px}.appointment-actions .button{font-size:.9375rem;padding-inline:23px;gap:11px}.appointment-actions .text-link{margin-top:4px}.appointment-panel .appointment-actions>p{font-size:.75rem;margin:0}.visit-section{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px}.visit-intro>p:not(.eyebrow){font-size:1rem;color:var(--muted);margin-top:25px;max-width:35ch}.fees-note{border-left:2px solid #72bde7;padding-left:20px;margin-top:33px;max-width:36ch}.fees-note h3{font-size:1rem;letter-spacing:-.015em;margin-bottom:8px}.fees-note p{font-size:1rem;color:var(--muted)}.questions{border-top:1px solid var(--line)}.questions details{border-bottom:1px solid var(--line);scroll-margin-top:120px}.questions summary{list-style:none;font-size:1rem;font-weight:500;line-height:1.5;padding:23px 43px 23px 0;position:relative;min-height:72px}.questions summary::-webkit-details-marker{display:none}.questions summary::before,.questions summary::after{position:absolute;content:"";background:var(--blue);right:3px;top:35px;width:12px;height:1.5px;transition:transform .2s ease}.questions summary::after{transform:rotate(90deg)}.questions details[open] summary::after{transform:rotate(0)}.questions summary:hover{color:var(--blue)}.answer{padding:0 30px 25px 0;color:var(--muted);font-size:1rem}.answer p+p{margin-top:12px}.answer a{text-decoration:underline;text-underline-offset:3px}
.contact-section{background:var(--wash);padding-bottom:75px}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1.12fr;gap:56px;margin-top:48px}.contact-grid h3{font-size:1rem;margin-bottom:18px}.contact-grid address{font-style:normal;color:var(--muted);font-size:1.0625rem;line-height:1.65}.contact-address .text-link{margin-block:11px 17px}.area-note{font-size:.875rem;color:var(--muted);max-width:31ch}.contact-phone{display:block;font-size:1.5rem;letter-spacing:-.03em;font-weight:500;margin-bottom:10px;white-space:nowrap}.contact-email{font-size:1rem;color:var(--blue)}.contact-details>p{font-size:.875rem;color:var(--muted);margin-block:18px 13px;max-width:33ch}.hours dl{margin:0}.hours dl>div{display:flex;justify-content:space-between;gap:20px;font-size:.875rem;line-height:1.6;padding:7px 0;border-bottom:1px solid var(--line)}.hours dl>div:first-child{padding-top:0}.hours dt{color:var(--muted)}.hours dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.hours>p{font-size:.8125rem;color:var(--muted);margin-top:16px}.urgent-care{padding-block:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:.875rem}.urgent-care strong{font-weight:600;color:var(--ink)}.urgent-care a{text-decoration:underline;text-underline-offset:3px}.site-footer{border-top:1px solid var(--line);padding-block:36px 25px;background:#fff}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:31px}.footer-brand{font-size:1.125rem;letter-spacing:-.025em;font-weight:600;line-height:1.5}.footer-brand span{display:block;font-size:.75rem;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:4px}.footer-main nav{display:flex;gap:26px;font-size:.875rem}.footer-main nav a{padding-block:12px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:.75rem}.mobile-booking{display:none}
@media(min-width:1700px){.hero h1{font-size:6.2rem}.hero-copy{padding-top:76px}.hero-photo>img{height:560px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.desktop-nav{gap:19px;margin-right:0}.header-inner{gap:20px}.brand{flex-basis:105px}.brand img{width:105px}.practice-grid{gap:48px}.practice-photo img{height:460px}.contact-grid{gap:35px}.appointment-panel{gap:35px;padding:42px 37px}.visit-section{gap:50px}.doctor-copy{padding:29px}.doctor-copy h3{font-size:1.65rem}}
@media(max-width:900px){.desktop-nav{display:none}.header-inner{min-height:82px}.mobile-menu{display:block}.mobile-menu summary{display:flex;justify-content:center;flex-direction:column;gap:6px;width:42px;height:42px;list-style:none;align-items:center;border-radius:100px;background:var(--wash)}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{width:17px;height:1px;background:var(--ink);transition:transform .2s}.mobile-menu[open] summary span:first-child{transform:translateY(3.5px) rotate(45deg)}.mobile-menu[open] summary span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu nav{position:absolute;top:100%;left:0;right:0;display:grid;padding:20px 32px 26px;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 24px 36px -28px #18232d55}.mobile-menu nav a{display:block;padding:13px 0;font-size:1rem}.hero-copy{padding-top:50px}.hero h1{font-size:5rem}.care-principles{gap:24px}.care-principles>div+div{padding-left:24px}.care-principles h2{font-size:1.06rem}.section-space{padding-block:80px}.practice-grid{gap:36px}.practice-photo img{height:490px}.practice-copy h2{font-size:2.7rem}.doctor-photo{height:300px}.doctor-grid{gap:22px}.doctor-copy{padding:28px 24px}.doctor-copy h3{font-size:1.45rem}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-section{padding-top:72px}.appointment-panel{grid-template-columns:1fr;gap:26px}.appointment-panel>div>p:not(.eyebrow){max-width:55ch}.appointment-actions{align-items:flex-start;max-width:none;display:flex;flex-direction:row;flex-wrap:wrap;column-gap:25px}.appointment-actions .text-link{margin-top:0}.appointment-panel .appointment-actions>p{flex-basis:100%}.visit-section{grid-template-columns:.82fr 1.18fr;gap:35px}.visit-intro h2{font-size:2.55rem}.contact-grid{grid-template-columns:1fr 1fr}.hours{grid-column:1/-1;max-width:470px;width:100%;margin-top:8px}.urgent-care{align-items:flex-start;flex-direction:column;gap:7px}.footer-main nav{gap:18px}.footer-bottom{flex-direction:column;gap:7px}}
@media(max-width:650px){:root{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.wide-container{width:calc(100% - 24px)}.availability-bar{padding:9px 16px;gap:9px;font-size:.75rem;line-height:1.45;align-items:flex-start}.availability-bar p{max-width:260px}.availability-note{display:block;font-size:.75rem}.availability-bar>a{white-space:nowrap;min-height:34px;align-self:center}.header-inner{min-height:76px;gap:12px}.brand{flex-basis:94px}.brand img{width:94px}.header-actions{gap:11px}.header-actions .button-small{font-size:.875rem;padding:10px 14px;min-height:44px}.mobile-menu summary{width:36px;height:44px}.mobile-menu nav{padding-inline:22px}.hero-copy{padding-block:42px 32px}.hero .eyebrow{font-size:.75rem;letter-spacing:.115em;margin-bottom:19px}.hero h1{font-size:clamp(3rem,12vw,4.8rem);line-height:1.04;letter-spacing:-.05em}.hero-description{font-size:1.0625rem;line-height:1.6;margin:21px auto 0;max-width:31ch}.hero-description .desktop-break{display:none}.hero-actions{gap:10px 22px;margin-top:24px}.hero-actions .button{min-height:50px;font-size:.875rem;padding:14px 22px}.hero-actions .text-link{font-size:.875rem}.booking-note{font-size:.75rem;max-width:31ch;margin:15px auto 0;line-height:1.65}.hero-photo{border-radius:20px}.hero-photo>img{height:345px;object-position:60% 50%}.hero-photo figcaption{padding:65px 19px 19px;font-size:.75rem;gap:7px}.photo-caption-end{display:none}.hero-photo figcaption .icon{width:15px;height:15px}.care-principles{grid-template-columns:1fr;gap:24px;padding-block:34px 42px}.care-principles>div{padding-left:34px}.care-principles>div+div{border-left:0;padding-left:34px}.principle-number{position:absolute;left:0;top:2px;font-size:.75rem}.care-principles h2{font-size:1.0625rem;margin-bottom:7px}.care-principles p{font-size:1rem;max-width:49ch}.section-space{padding-block:62px}.eyebrow{font-size:.75rem;margin-bottom:16px}h2{font-size:2.6rem;letter-spacing:-.045em}.practice-grid{grid-template-columns:1fr;gap:30px}.practice-copy h2{font-size:2.6rem}.practice-copy .section-lead{margin-top:23px;font-size:1.125rem}.practice-photo{border-radius:22px}.practice-photo img{height:auto;aspect-ratio:1.16;object-fit:cover}.practice-photo figcaption{padding:14px 19px;font-size:.75rem}.section-heading{display:block;margin-bottom:29px}.section-heading>p{font-size:1rem;margin-top:19px}.section-heading>p .desktop-break{display:none}.doctor-grid{grid-template-columns:1fr;gap:26px}.doctor-card{border-radius:23px}.doctor-photo{height:350px}.lerm-photo img{object-position:50% 24%}.integrity-photo img{object-position:50% 47%}.doctor-copy{padding:28px 25px}.doctor-copy h3{font-size:1.65rem}.portrait-label{bottom:19px;left:22px;font-size:.75rem}.services-grid{gap:12px}.service{padding:23px 20px 25px;border-radius:18px}.service-icon{width:29px;height:29px;margin-bottom:22px}.service h3{font-size:1rem;line-height:1.4;margin-bottom:10px}.service p{font-size:1rem;line-height:1.6}.services-note{font-size:.875rem;margin-top:20px}.appointment-section{padding-top:54px}.appointment-panel{padding:31px 25px;border-radius:22px;gap:24px}.appointment-panel .eyebrow{font-size:.75rem}.appointment-panel h2{font-size:2.35rem}.appointment-actions{flex-direction:column;align-items:flex-start;gap:10px}.appointment-actions .button{padding:14px 20px;font-size:.875rem;min-height:54px;gap:10px}.appointment-actions .text-link{font-size:1rem}.appointment-panel .appointment-actions>p{font-size:.75rem}.visit-section{grid-template-columns:1fr;gap:30px}.visit-intro h2{font-size:2.6rem}.visit-intro>p:not(.eyebrow){margin-top:21px;max-width:43ch}.fees-note{margin-top:24px;max-width:45ch}.questions summary{font-size:1rem;padding-block:21px;min-height:66px}.questions summary::before,.questions summary::after{top:32px}.answer{font-size:1rem;padding-right:18px}.contact-grid{grid-template-columns:1fr;gap:32px;margin-top:33px}.contact-grid h3{margin-bottom:13px}.hours{grid-column:auto;max-width:none;margin-top:0}.area-note{max-width:45ch}.contact-details>p{max-width:45ch}.contact-address .text-link{margin-bottom:10px}.contact-phone{font-size:1.55rem}.urgent-care{padding-block:24px;gap:13px;font-size:.875rem}.site-footer{padding-block:30px 105px}.footer-main{display:block;padding-bottom:20px}.footer-main nav{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;font-size:.875rem}.footer-bottom{font-size:.75rem;gap:8px}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;gap:12px;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);border-top:1px solid var(--line);backdrop-filter:blur(15px);padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px))}.mobile-booking>a:first-child{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:500;min-height:44px}.mobile-booking .button-small{font-size:.875rem;padding:12px 18px;min-height:44px}}
@media(max-width:370px){.header-actions>.button-small{display:none}.services-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column;gap:8px}.hero h1{font-size:2.9rem}.doctor-photo{height:305px}.availability-bar p{max-width:220px}.mobile-booking{padding-inline:15px;gap:8px}.mobile-booking .button-small{padding-inline:14px}.appointment-panel{padding-inline:22px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover{transform:none}}
@media print{.availability-bar,.site-header,.mobile-booking,.hero-actions,.appointment-section{display:none}body{color:#000}.container,.wide-container{width:100%}.section-space{padding-block:24px}.hero-copy{padding-block:20px}.hero h1{font-size:40px}.hero-photo>img{height:240px}.questions details{display:block}.answer{display:block}.site-footer{padding-bottom:20px}}


/* Flexible layout when the reader enlarges text. */
.header-inner,.header-actions,.footer-main nav,.mobile-booking{flex-wrap:wrap}.desktop-nav{flex-wrap:wrap;row-gap:0}.contact-grid>*{min-width:0}.hours dl>div{flex-wrap:wrap;gap:4px 16px}.header-actions{flex-shrink:1}.mobile-booking>*{min-width:0}.brand{flex-shrink:0}.header-inner{padding-block:7px}
