:root{--brand: #4d8dc1;--brand-deep: #004087;--brand-accent: #0c71c3;--surface: #eff1f4;--surface-alt: #f9fafc;--text: #595959;--text-strong: #333333;--muted: #666666;--white: #ffffff;--line: rgba(0, 64, 135, .12);--font-body: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Cantata One", Georgia, "Times New Roman", serif;--font-ui: "Didact Gothic", var(--font-body);--font-script: "Petit Formal Script", "Segoe Script", cursive;--wrap: 1180px;--gutter: clamp(1.25rem, 4vw, 2.5rem);--radius: 4px;--shadow: 0 2px 18px rgba(0, 64, 135, .08);--shadow-lift: 0 12px 34px rgba(0, 64, 135, .14)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.75;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--brand-accent)}a:hover{color:var(--brand-deep)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);line-height:1.25;font-weight:400;margin:0 0 .6em}h1{font-size:clamp(2rem,4.4vw,3.1rem)}h2{font-size:clamp(1.6rem,3.2vw,2.35rem)}h3{font-size:clamp(1.2rem,2.1vw,1.5rem)}h4{font-size:1.05rem;font-family:var(--font-ui);letter-spacing:.04em}p{margin:0 0 1.15em}p:last-child{margin-bottom:0}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(3.25rem,7vw,6rem)}.section--tight{padding-block:clamp(2.25rem,4vw,3.5rem)}.section--surface{background:var(--surface)}.section--alt{background:var(--surface-alt)}.grid-2{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center}@media (min-width: 860px){.grid-2{grid-template-columns:1fr 1fr}.grid-2--wide-left{grid-template-columns:1.7fr 1fr;align-items:start}}.eyebrow{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;color:var(--brand);margin:0 0 .85rem}.script{font-family:var(--font-script);color:var(--brand);font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.4}.rule{width:74px;height:2px;background:var(--brand);border:0;margin:1.35rem 0 1.9rem}.rule--center{margin-inline:auto}.center{text-align:center}.lead{font-size:1.075rem}.btn--pill{border-radius:100px!important;text-transform:none!important;letter-spacing:.01em!important;font-size:1rem!important;padding:.95rem 2.1rem!important;box-shadow:0 6px 18px #00408729}.btn{display:inline-block;font-family:var(--font-ui);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:1rem 2.35rem;border-radius:var(--radius);background:var(--brand);color:var(--white);text-decoration:none;border:2px solid var(--brand);transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.btn:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow-lift)}.btn--ghost{background:transparent;color:var(--white);border-color:var(--white)}.btn--ghost:hover{background:var(--white);color:var(--brand-deep);border-color:var(--white)}.btn--outline{background:transparent;color:var(--brand-deep)}.btn--outline:hover{background:var(--brand);border-color:var(--brand);color:var(--white)}.site-header{position:sticky;top:0;z-index:60;background:var(--white);border-bottom:1px solid var(--line)}.header-bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.9rem}.logo img{width:clamp(170px,22vw,240px)}.nav{display:none}@media (min-width: 1040px){.nav{display:flex;align-items:center;gap:1.55rem}}.nav a{font-family:var(--font-ui);font-size:1rem;letter-spacing:.01em;color:var(--muted);text-decoration:none;padding-block:.35rem;border-bottom:2px solid transparent;white-space:nowrap}.nav .nav-phone{color:var(--text-strong);font-weight:600}.nav a:hover,.nav a[aria-current=page]{color:var(--brand-deep);border-bottom-color:var(--brand)}.has-sub{position:relative}.has-sub>button{font:inherit;font-family:var(--font-ui);font-size:1rem;letter-spacing:.01em;color:var(--muted);background:none;border:0;border-bottom:2px solid transparent;padding:.35rem 0;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}.has-sub>button:after{content:"";width:.42em;height:.42em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-.12em)}.has-sub:hover>button{color:var(--brand-deep);border-bottom-color:var(--brand)}.has-sub>button.is-active{color:var(--brand-accent);border-bottom-color:var(--brand)}.nav a[aria-current=page]{color:var(--brand-accent)}.submenu{position:absolute;top:calc(100% + .55rem);left:50%;transform:translate(-50%) translateY(-6px);min-width:290px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lift);padding:.55rem;margin:0;list-style:none;opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease,visibility .16s}.has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.submenu a{display:block;text-transform:none;letter-spacing:0;font-size:.88rem;padding:.5rem .8rem;border-bottom:0;border-radius:var(--radius)}.submenu a:hover{background:var(--surface);border-bottom:0}.header-cta{display:none}@media (min-width: 1040px){.header-cta{display:inline-block}}.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 9px;background:none;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.nav-toggle span{display:block;height:2px;background:var(--text-strong);border-radius:2px}@media (min-width: 1040px){.nav-toggle{display:none}}.mobile-nav{display:none;border-top:1px solid var(--line);padding-block:1rem 1.6rem;max-height:72vh;overflow-y:auto}.mobile-nav.is-open{display:block}.mobile-nav ul{list-style:none;margin:0;padding:0}.mobile-nav a{display:block;font-family:var(--font-ui);color:var(--text-strong);text-decoration:none;padding:.7rem .2rem;border-bottom:1px solid var(--line)}.mobile-nav .sub a{padding-left:1.15rem;font-size:.9rem;color:var(--muted)}.mobile-nav .group-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;color:var(--brand);padding:1rem .2rem .35rem}.hero-slide{position:relative;overflow:hidden;background-color:var(--surface-alt);background-image:linear-gradient(180deg,#ffffff80,#ffffff57 42%,#ffffff9e),url(/images/practice-2.jpg);background-size:cover;background-position:center 38%}.hero-slide{border-bottom-left-radius:50% clamp(38px,5vw,78px);border-bottom-right-radius:50% clamp(38px,5vw,78px)}.hero-slide__inner{position:relative;z-index:1;max-width:900px;margin-inline:auto;text-align:center;padding-block:clamp(4rem,13vw,9rem) clamp(5.5rem,15vw,11rem)}.img-round{border-radius:14px;box-shadow:0 12px 34px #0000001a}.hero-slide h1{font-family:var(--font-ui);font-size:clamp(2.2rem,5.6vw,4.15rem);line-height:1.15;color:#2b2b2b;margin-bottom:.3em;-webkit-text-stroke:.6px currentColor;text-shadow:0 1px 14px rgba(255,255,255,.85)}.hero-slide__sub{font-family:var(--font-script);font-size:clamp(1.35rem,3.2vw,2.35rem);line-height:1.35;color:#5a5a5a;margin-bottom:2.1rem;-webkit-text-stroke:.35px currentColor;text-shadow:0 1px 12px rgba(255,255,255,.8)}.hero-slide__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn--white{background:var(--white)!important;border-color:var(--white)!important;color:var(--brand-deep)!important}.btn--white:hover{background:var(--brand-deep)!important;border-color:var(--brand-deep)!important;color:var(--white)!important}.kicker{font-family:var(--font-ui);font-size:1.02rem;letter-spacing:.01em;color:var(--muted);margin:0 0 .1rem}h2.display,h3.display{font-family:var(--font-script);font-weight:400;color:#2b2b2b;font-size:clamp(1.9rem,4.2vw,3.05rem);line-height:1.3;margin-bottom:.55em;-webkit-text-stroke:.45px currentColor}.card h3,.page-head h1,.hero-slide h1{letter-spacing:.005em}.card h3{-webkit-text-stroke:.35px currentColor;color:#2b2b2b}.page-head h1{-webkit-text-stroke:.45px currentColor;color:#2b2b2b}.band-tint{background:var(--surface-alt)}.band-services{background:linear-gradient(180deg,var(--surface-alt) 0%,var(--surface) 50%,var(--surface-alt) 100%)}.service-cards{display:grid;gap:1.75rem;margin-top:1.75rem;align-items:start}@media (min-width: 900px){.service-cards{grid-template-columns:repeat(3,1fr)}}.card--wide{display:block}.page-head{position:relative;background-color:#1c1c1c;background-image:linear-gradient(180deg,#0000009e,#00000085),url(/images/page-header.jpg);background-size:cover;background-position:center 32%;padding-block:clamp(3.5rem,8vw,6rem);text-align:center}.page-head h1{margin-bottom:0;color:var(--white);-webkit-text-stroke:.45px currentColor;text-shadow:0 2px 16px rgba(0,0,0,.45)}.page-head .crumb{font-family:var(--font-ui);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffffd1;margin-bottom:.8rem;text-shadow:0 1px 10px rgba(0,0,0,.4)}.page-head .rule{background:#ffffffbf}.card-grid{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.card{background:var(--white);border:0;border-radius:3px;padding:2.1rem 2rem;box-shadow:0 10px 30px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #00408721}.card h3{font-family:var(--font-ui);font-size:1.16rem;color:var(--text-strong);margin-bottom:.7rem}.card p{font-size:.96rem;color:var(--muted);margin:0}.card .more{font-family:var(--font-ui);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-accent);text-decoration:none;margin-top:1.4rem}.card .more:after{content:" →"}a.card{text-decoration:none;color:inherit}.team-grid{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.team-member{text-align:center}.team-member img{width:176px;height:176px;border-radius:50%;object-fit:cover;margin:0 auto 1.25rem;border:4px solid var(--white);box-shadow:var(--shadow)}.team-member h3{margin-bottom:.15rem;font-size:1.25rem}.team-member .role{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.11em;font-size:.82rem;color:var(--brand);margin-bottom:1rem}.team-member p{font-size:.93rem;text-align:left}.cta-band{background:var(--brand-deep);color:var(--white);text-align:center}.cta-band h2{color:var(--white)}.cta-band p{color:#ffffffe6}.cta-band .script{color:#ffffffeb}.prose{max-width:68ch}.prose h2{margin-top:2.4rem;font-size:1.55rem}.prose h3{margin-top:2.1rem;font-family:var(--font-ui);font-size:1.1rem;letter-spacing:.02em;color:var(--brand-deep)}.prose ul{padding-left:1.15rem;margin:0 0 1.15em}.prose li{margin-bottom:.55rem}.prose .callout{background:var(--surface);border-left:3px solid var(--brand);padding:1.15rem 1.35rem;margin:0 0 1.35em;font-weight:600;color:var(--text-strong)}.service-media img{border-radius:var(--radius);box-shadow:var(--shadow)}.media-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;text-align:center;aspect-ratio:4 / 3;padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(140deg,var(--brand-deep) 0%,var(--brand) 100%);color:var(--white)}.media-fallback .script{color:#ffffffeb}.media-fallback strong{font-family:var(--font-display);font-weight:400;font-size:1.5rem;line-height:1.3}.service-media{position:sticky;top:108px}@media (max-width: 859px){.service-media{position:static}}.info-grid{display:grid;gap:2.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.info-block h3{font-size:1.15rem;margin-bottom:.7rem}.hours-list{list-style:none;margin:0;padding:0}.hours-list li{display:flex;justify-content:space-between;gap:1.5rem;padding:.42rem 0;border-bottom:1px solid var(--line);font-size:.94rem}.hours-list li:last-child{border-bottom:0}.hours-list .day{font-family:var(--font-ui);color:var(--text-strong)}.hours-list .closed{color:var(--muted)}.site-footer .hours-list li{border-bottom-color:#ffffff24}.site-footer .hours-list .day{color:var(--white)}.site-footer .hours-list .closed{color:#ffffff8c}.form{display:grid;gap:1.15rem}.field{display:grid;gap:.4rem}.field label{font-family:var(--font-ui);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-strong)}.field input,.field textarea{font:inherit;font-size:.97rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--text);width:100%}.field input:focus,.field textarea:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}.field textarea{min-height:165px;resize:vertical}.form-note{font-size:.84rem;color:var(--muted)}.map-embed{width:100%;aspect-ratio:16 / 10;border:0;border-radius:var(--radius);box-shadow:var(--shadow)}.link-list{display:grid;gap:1.15rem}.link-item{border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius);padding:1.4rem 1.6rem;background:var(--white);transition:box-shadow .2s ease,transform .2s ease}.link-item:hover{box-shadow:var(--shadow);transform:translate(3px)}.link-item h3{font-size:1.12rem;margin-bottom:.35rem}.link-item h3 a{text-decoration:none}.link-item p{font-size:.92rem;color:var(--muted);margin:0}.site-footer{background:var(--surface-alt);color:var(--text);font-size:.97rem;border-top:1px solid var(--line)}.footer-grid{display:grid;gap:0;padding-block:clamp(2.75rem,6vw,4.25rem)}@media (min-width: 880px){.footer-grid{grid-template-columns:repeat(3,1fr)}.footer-col+.footer-col{border-left:1px solid rgba(0,0,0,.12);padding-left:clamp(1.75rem,4vw,3rem)}}.footer-col+.footer-col{margin-top:2.5rem}@media (min-width: 880px){.footer-col+.footer-col{margin-top:0}}.site-footer h3{font-family:var(--font-ui);font-weight:400;font-size:1.45rem;color:var(--text-strong);margin-bottom:1rem;-webkit-text-stroke:.3px currentColor}.site-footer p{margin-bottom:.55rem}.site-footer strong{color:var(--text-strong);font-weight:600}.site-footer a{color:var(--brand-accent);text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer ul{list-style:none;margin:0;padding:0}.hours-inline li{margin-bottom:.5rem}.hours-inline .day{color:var(--text-strong)}.res-links li{margin-bottom:.5rem}.footer-badges{display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem;margin-top:1.75rem}.footer-badges img{max-width:230px;height:auto}.footer-social{display:flex;gap:.6rem;margin-top:1.1rem}.soc{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:3px;color:#fff}.soc:hover{opacity:.85;text-decoration:none}.soc--fb{background:#3b5998}.soc--x{background:#000}.footer-credit{background:var(--brand);color:#fff;text-align:center;padding-block:.95rem;font-size:.93rem}.footer-credit a{color:#fff;text-decoration:underline}.skip-link{position:absolute;left:-9999px;top:0;background:var(--brand-deep);color:var(--white);padding:.75rem 1.25rem;z-index:200}.skip-link:focus{left:.5rem;top:.5rem}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.quote-band{background-color:#1c1c1c;background-image:linear-gradient(180deg,#00000094,#0000007a),url(/images/page-header.jpg);background-size:cover;background-position:center 32%;padding-block:clamp(4rem,10vw,7rem);text-align:center}.quote-band p{margin:0;font-family:var(--font-script);font-size:clamp(1.5rem,4vw,3rem);line-height:1.35;color:var(--white);text-shadow:2px 2px 3px rgba(0,0,0,.35)}.sec-title{font-family:var(--font-ui);font-weight:400;color:#2b2b2b;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.25;margin:0 0 .35rem;-webkit-text-stroke:.5px currentColor}.sec-sub{font-family:var(--font-script);font-size:clamp(1.15rem,2.4vw,1.65rem);line-height:1.4;color:var(--muted);margin:0 0 1.6rem}.doctor-card{max-width:420px;margin-inline:auto}.doctor-card img{width:100%;border-radius:10px;box-shadow:0 10px 28px #0000001f}.doctor-card__label{background:var(--white);border-radius:10px;box-shadow:0 10px 30px #00000014;margin:-1.25rem 1.25rem 0;position:relative;padding:1.25rem 1rem;text-align:center}.doctor-card__label strong{display:block;font-family:var(--font-ui);font-size:1.1rem;color:#2b2b2b;font-weight:400;-webkit-text-stroke:.3px currentColor}.doctor-card__label span{color:var(--muted);font-size:.95rem}.rating-summary{font-family:var(--font-ui);color:var(--muted);margin-bottom:0}.stars{color:#e8a33d;letter-spacing:.1em}.stars .dim{color:#00000029}.review-grid{display:grid;gap:1.75rem;margin-top:2.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.review{margin:0}.review blockquote{margin:.85rem 0 1.25rem}.review blockquote p{font-size:.97rem;color:var(--muted)}.review figcaption{font-family:var(--font-ui);font-size:.92rem;color:var(--text-strong);border-top:1px solid var(--line);padding-top:.95rem}.review figcaption span{color:var(--muted)}.split-band{display:grid;align-items:stretch}@media (min-width: 880px){.split-band{grid-template-columns:1fr 1fr}}.split-band__content{background:var(--white);display:flex;align-items:center;justify-content:flex-end;padding:clamp(3rem,7vw,5.5rem) var(--gutter)}.split-band__inner{width:100%;max-width:calc(var(--wrap) / 2);text-align:center}.split-band__link{font-family:var(--font-ui);color:var(--text-strong);text-decoration:none}.split-band__link:hover{color:var(--brand-deep);text-decoration:underline}.split-band__map{display:block;min-height:320px;background-color:#111;background-image:url(/images/map.jpg);background-size:cover;background-position:center}.prose h2.prose-sub{margin-top:2.1rem;font-family:var(--font-ui);font-size:1.1rem;letter-spacing:.02em;color:var(--brand-deep)}.link-item h2{font-family:var(--font-display);font-size:1.12rem;margin-bottom:.35rem}.link-item h2 a{text-decoration:none}.eyebrow{font-size:.78rem}.form-note,.footer-credit{font-size:.88rem}@media (max-width: 879px){.site-footer a,.res-links a,.footer-credit a{display:inline-block;padding-block:.55rem}.hours-inline li{padding-block:.3rem}.site-footer p{margin-bottom:.25rem}.soc{width:44px;height:44px}.logo{display:inline-flex;align-items:center;min-height:44px}.mobile-nav a{padding-block:.85rem}}@media (max-width: 879px){.link-item h2 a{display:inline-block;padding-block:.78rem}.footer-credit a{padding-block:.7rem}}.form-alert{display:block;border-radius:var(--radius);padding:1.1rem 1.3rem;margin-bottom:1.6rem;border-left:4px solid}.form-alert[hidden]{display:none}.form-alert strong{display:block;margin-bottom:.25rem;color:var(--text-strong)}.form-alert span{font-size:.95rem}.form-alert--ok{background:#eef7ee;border-color:#3f8f46}.form-alert--bad{background:#fdeeee;border-color:#b3413a}
