:root{color-scheme:light;--ink:#1c2b2d;--muted:#5b6769;--teal:#246a73;--teal-dark:#16474f;--coral:#c9463a;--mint:#d7eee6;--gold:#f2c14e;--sky:#d8ecf7;--paper:#fffdf8;--white:#fff;--line:#d9e2df;--body-text:#20383b;--gold-dark:#b98504;--shadow:0 18px 45px #1c2b2d1f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;interpolate-size:allow-keywords}body{background:var(--paper);color:var(--ink);margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}a{color:inherit}.skip-link{z-index:100;background:var(--teal-dark);color:var(--white);border-radius:0 0 8px 8px;padding:12px 24px;font-weight:800;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:16px}.skip-link:focus{top:0}.site-header{z-index:10;border-bottom:1px solid var(--line);backdrop-filter:blur(14px);background:#fffdf8f0;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:14px clamp(18px,4vw,56px);display:grid;position:sticky;top:0}.brand,.nav-links,.hero-actions,.site-footer{align-items:center;display:flex}.brand{gap:12px;min-width:0;text-decoration:none}.brand-mark{background:var(--teal);width:44px;height:44px;color:var(--white);border-radius:8px;flex:none;place-items:center;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand strong{line-height:1.1}.brand small{color:var(--muted);font-size:.78rem}.nav-links{color:var(--muted);justify-content:center;gap:6px;font-size:.93rem;font-weight:700}.nav-links a,.header-call,.button{text-decoration:none}.nav-links a{white-space:nowrap;border-radius:8px;padding:9px 12px}.nav-links a:hover,.nav-links a:focus-visible{color:var(--teal-dark);outline:3px solid var(--teal);outline-offset:2px;background:#246a7314}.site-footer a:hover,.quick-contact a:hover,address a:hover{color:var(--coral)}.header-call{color:var(--teal-dark);border:1px solid var(--teal);white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:10px 14px;font-weight:800;display:inline-flex}.mobile-nav{display:none;position:relative}.mobile-nav summary{min-height:44px;color:var(--teal-dark);background:var(--white);border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;font-weight:800;list-style:none;display:inline-flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary:after{content:"+";font-size:1.2rem;line-height:1}.mobile-nav[open] summary:after{content:"−"}.mobile-nav summary:hover,.mobile-nav summary:focus-visible{color:var(--teal-dark);background:#246a7314}.mobile-nav summary:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.mobile-nav-panel{background:var(--white);border:1px solid var(--line);width:min(280px,100vw - 36px);box-shadow:var(--shadow);border-radius:8px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.mobile-nav-panel a{min-height:44px;color:var(--muted);border-radius:6px;align-items:center;padding:9px 12px;font-weight:800;text-decoration:none;display:flex}.mobile-nav-panel a:hover,.mobile-nav-panel a:focus-visible{color:var(--teal-dark);background:#246a7314}.mobile-nav-panel a:focus-visible{outline:3px solid var(--teal);outline-offset:-2px}.hero{min-height:min(680px,100svh - 74px);color:var(--white);background:var(--teal-dark);align-items:end;display:grid;position:relative;overflow:hidden}.hero-media{z-index:0;isolation:isolate;background:var(--teal-dark);position:absolute;inset:0}.hero-media:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(90deg,#10373cc7,#10373c57),linear-gradient(#10373c14,#10373c2e 42%,#10373ce0);position:absolute;inset:0}.hero-photo{z-index:0;object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:relative}.portrait-placeholder span{color:var(--coral);text-transform:uppercase;letter-spacing:0;font-size:.76rem;font-weight:900}.hero-content{z-index:2;width:min(1120px,100% - 36px);margin:0 auto;padding:64px 0 clamp(36px,8vh,88px);position:relative}.eyebrow{color:var(--coral);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:.78rem;font-weight:900}.hero .eyebrow{color:var(--gold);font-size:.88rem}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;text-wrap:balance;max-width:820px;margin-bottom:18px;font-size:clamp(3.25rem,10vw,7.6rem);line-height:.92}h2{letter-spacing:0;text-wrap:balance;max-width:780px;margin-bottom:0;font-size:clamp(2rem,5vw,4rem);line-height:1.02}h3{font-size:1.1rem;line-height:1.25}.hero-copy{color:#ffffffeb;max-width:650px;font-size:clamp(1.1rem,2vw,1.35rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin:24px 0 0}.button{border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:13px 18px;font-weight:900;line-height:1.1;display:inline-flex}.button.primary{background:var(--coral);color:var(--white)}.button.secondary{color:var(--white);background:#ffffff26;border-color:#ffffffad}.button.secondary.light{color:var(--teal-dark);background:var(--white);border-color:var(--line)}.button:focus-visible,.header-call:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.button.primary:hover{filter:brightness(.9)}.button.secondary:hover{border-color:var(--white);background:#ffffff40}.header-call:hover{background:#246a7314}.intro-band{background:var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.intro-item{background:var(--white);padding:26px clamp(18px,4vw,56px)}.intro-item strong{color:var(--teal-dark);margin-bottom:4px;font-size:1.02rem;display:block}.intro-item span,.section-heading p,.contact-panel p{color:var(--muted)}.section{width:min(1120px,100% - 36px);margin:0 auto;padding:clamp(58px,9vw,100px) 0}.section-heading{gap:12px;margin-bottom:30px;display:grid}.section-heading p{max-width:660px;margin-bottom:0}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.service-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:22px;transition:box-shadow .18s,transform .18s;box-shadow:0 10px 28px #1c2b2d0f}.service-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px #1c2b2d17}.service-card[open]{box-shadow:0 14px 34px #1c2b2d17}.service-card summary{cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:0 14px;list-style:none;display:grid}.service-card summary::-webkit-details-marker{display:none}.service-card summary:focus-visible{outline-offset:6px;border-radius:8px;outline:3px solid #246a7347}.service-card strong{margin-bottom:0;font-size:1.1rem;line-height:1.25}.service-icon{width:34px;height:34px;color:var(--white);background:var(--teal);user-select:none;border-radius:8px;flex:0 0 34px;justify-content:center;align-items:center;transition:transform .2s,background .2s;display:inline-flex}.service-icon:before{content:"+";font-size:1.35rem;font-weight:900;line-height:1;display:block;transform:translateY(-1px)}.service-card[open] .service-icon{background:var(--coral);transform:rotate(45deg)}.service-card.is-closing .service-icon{background:var(--teal);transform:rotate(0)}.service-card-body{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .2s,opacity .2s,margin-top .2s;display:grid}.service-card[open] .service-card-body{opacity:1;grid-template-rows:1fr;margin-top:12px}.service-card.is-closing .service-card-body{opacity:0;grid-template-rows:0fr;margin-top:0}.service-card-body p{min-height:0;color:var(--body-text);margin:0 0 0 48px;font-weight:600;line-height:1.6;overflow:hidden}.split-section{background:var(--sky);width:100%;padding-inline:max(18px,50% - 560px)}.about-layout{grid-template-columns:minmax(260px,330px) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,60px);display:grid}.portrait-placeholder{text-align:center;background:var(--white);border:2px dashed #246a737a;border-radius:8px;place-items:center;min-height:390px;padding:24px;display:grid}.doctor-photo-frame{aspect-ratio:4/5;background:#ffffffb8;border:1px solid #246a7329;border-radius:8px;margin:0;padding:10px;overflow:hidden;box-shadow:0 22px 44px #1c2b2d2e}.doctor-photo{object-fit:cover;object-position:65% center;border-radius:8px;width:100%;height:100%;display:block}.about-copy{max-width:620px;color:var(--body-text);align-self:center;font-size:1.1rem;font-weight:600;line-height:1.75}.about-copy p{margin-bottom:16px}.about-copy p:last-child{margin-bottom:0}.about-lede{color:var(--teal-dark);font-size:clamp(1.18rem,2vw,1.35rem);font-weight:800;line-height:1.45}.insurance-band{grid-template-columns:minmax(0,.85fr) minmax(280px,1fr);align-items:start;gap:clamp(24px,5vw,72px);display:grid}.insurance-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.insurance-list li{background:var(--white);border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:8px;padding:15px 16px;font-weight:800}.insurance-band .section-heading a{color:var(--teal-dark);font-weight:900}.self-pay-section{padding-top:0}.self-pay-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(340px,1.18fr);align-items:stretch;gap:12px;display:grid}.self-pay-card{background:var(--white);border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:18px;min-height:108px;padding:clamp(20px,3vw,28px);transition:box-shadow .18s,transform .18s;display:grid;box-shadow:0 10px 28px #1c2b2d0f}.self-pay-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px #1c2b2d17}.self-pay-card span{color:var(--teal-dark);gap:4px;font-size:clamp(.98rem,1.4vw,1.08rem);font-weight:900;line-height:1.25;display:grid}.self-pay-card small{color:var(--muted);font-size:.88rem;font-weight:700;line-height:1.35}.self-pay-card strong{color:var(--coral);font-size:clamp(2rem,5vw,3rem);line-height:1}.self-pay-disclaimer{max-width:760px;color:var(--muted);margin:16px 0 0;font-size:.88rem;font-weight:700;line-height:1.5}.faq-hero{text-align:center;background:var(--mint);border-bottom:1px solid var(--line);padding:clamp(46px,7vw,76px) 18px}.faq-hero-content{width:min(820px,100%);margin:0 auto}.faq-hero h1{max-width:760px;color:var(--teal-dark);margin:0 auto 16px;font-size:clamp(2.35rem,6vw,4.5rem);line-height:1}.faq-section{padding-top:clamp(50px,7vw,78px)}.faq-groups{gap:clamp(54px,8vw,88px);display:grid}.faq-group{grid-template-columns:minmax(210px,.38fr) minmax(0,1fr);align-items:start;gap:clamp(28px,6vw,72px);display:grid}.faq-group-heading h2{color:var(--teal-dark);font-size:clamp(1.75rem,3.5vw,2.8rem);line-height:1.08}.faq-list{gap:12px;display:grid}.faq-item{background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #1c2b2d0d}.faq-item[open]{box-shadow:0 12px 30px #1c2b2d14}.faq-item summary{min-height:60px;color:var(--teal-dark);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 20px;font-size:1.03rem;font-weight:900;line-height:1.35;list-style:none;display:grid}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";width:32px;height:32px;color:var(--white);background:var(--teal);border-radius:50%;place-items:center;font-size:1.25rem;line-height:1;transition:background-color .16s,transform .18s cubic-bezier(.23,1,.32,1);display:grid}.faq-item[open] summary:after{background:var(--coral);transform:rotate(45deg)}.faq-item.is-closing summary:after,.faq-item.is-opening summary:after{background:var(--teal);transform:rotate(0)}.faq-item summary:hover{color:var(--coral)}.faq-item summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:8px}.faq-answer{color:var(--body-text);opacity:0;grid-template-rows:0fr;transition:grid-template-rows .18s cubic-bezier(.23,1,.32,1),opacity .14s;display:grid}.faq-item[open] .faq-answer{opacity:1;grid-template-rows:1fr}.faq-item.is-opening .faq-answer,.faq-item.is-closing .faq-answer{opacity:0;grid-template-rows:0fr}.faq-answer-content{min-height:0;padding:0 20px 20px;overflow:hidden}.faq-answer p{margin-bottom:0;line-height:1.7}.faq-answer ul{margin:12px 0 0;padding-left:22px}.faq-answer li{margin-bottom:5px}.faq-contact{color:var(--white);background:var(--teal-dark);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:clamp(58px,9vw,96px);padding:clamp(24px,5vw,42px);display:grid}.faq-contact h2{color:var(--white);font-size:clamp(1.8rem,4vw,3rem)}.faq-contact p:not(.eyebrow){color:#ffffffdb;max-width:680px;margin:12px 0 0;font-weight:600}.reviews-hero{text-align:center;justify-items:center;gap:24px;width:min(1120px,100% - 36px);margin:0 auto;padding:clamp(64px,10vw,118px) 0 clamp(24px,5vw,46px);display:grid}.reviews-hero h1{margin-inline:auto;max-width:760px;color:var(--teal-dark);margin-bottom:16px;font-size:clamp(2.8rem,8vw,6.2rem);line-height:.95}.reviews-hero p:not(.eyebrow){margin-inline:auto;max-width:640px;color:var(--body-text);margin-top:clamp(18px,3vw,32px);margin-bottom:0;font-size:clamp(1.08rem,2vw,1.28rem);font-weight:600}.reviews-section{padding-top:0}.reviews-summary{text-align:center;width:min(760px,100%);color:var(--white);background:var(--teal-dark);box-shadow:var(--shadow);border-radius:8px;justify-items:center;gap:12px;margin:0 auto 22px;padding:clamp(22px,4vw,34px);display:grid}.reviews-summary h2{color:var(--white)}.reviews-rating-title{font-variant-numeric:tabular-nums;margin-bottom:-6px;font-size:clamp(2.8rem,7vw,5rem);line-height:.95}.reviews-rating-stars{color:var(--gold);letter-spacing:0;text-shadow:0 1px 12px #0000002e;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1}.reviews-summary p:not(.eyebrow){color:#ffffffd6;max-width:700px;margin-bottom:0;font-weight:700}.reviews-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.reviews-actions .button.secondary.light{color:var(--white);background:0 0;border-color:#ffffff8f}.reviews-actions .button.secondary.light:hover{border-color:var(--white)}.reviews-grid{column-count:3;column-gap:16px}.review-card{break-inside:avoid;background:var(--white);border:1px solid var(--line);border-radius:8px;gap:12px;margin-bottom:16px;padding:22px;display:grid;box-shadow:0 10px 28px #1c2b2d0f}.review-card-header{align-items:center;gap:12px;display:flex}.review-avatar{width:44px;height:44px;color:var(--white);background:var(--teal);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid;overflow:hidden}.review-avatar img{object-fit:cover;width:100%;height:100%;display:block}.review-author{gap:2px;min-width:0;display:grid}.review-author strong{color:var(--teal-dark);overflow-wrap:anywhere;font-size:1.04rem}.review-author span{color:var(--muted);font-size:.92rem;font-weight:700}.review-stars{color:var(--gold-dark);letter-spacing:0;font-size:1.1rem}.review-card p,.reviews-empty{color:var(--body-text);margin-bottom:0;font-weight:500}.reviews-empty{background:var(--white);border:1px solid var(--line);border-radius:8px;grid-column:1/-1;padding:22px}.contact-section{padding-top:20px}.contact-panel{background:var(--teal-dark);color:var(--white);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:1fr 1fr;gap:24px;padding:clamp(22px,4vw,34px);display:grid}.contact-panel h3{margin-bottom:8px}.contact-panel p{color:#ffffffd1}.contact-panel .office-hours{color:#ffffffe6;font-weight:800}address{align-content:center;gap:8px;font-style:normal;display:grid}address a{color:var(--gold);font-weight:900}.site-footer{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:10px 18px;padding:24px 18px 34px;font-size:.92rem}.npp-page{padding-top:clamp(58px,9vw,100px)}.npp-content{max-width:800px;margin:0 auto}.npp-header{text-align:center;margin-bottom:40px}.npp-header h1{font-size:clamp(2rem,5vw,3rem)}.npp-notice{text-align:center;background:var(--sky);border-radius:8px;margin-bottom:24px;padding:16px;font-size:clamp(1rem,2vw,1.15rem);line-height:1.5}.npp-effective{color:var(--muted)}.npp-body h2{background:var(--sky);border-radius:8px;margin-bottom:24px;padding:16px;font-size:clamp(1rem,2vw,1.15rem);line-height:1.4}.npp-body h3{color:var(--teal-dark);margin-top:32px;margin-bottom:12px;font-size:1.2rem}.npp-body h4{color:var(--ink);margin-top:20px;margin-bottom:8px;font-size:1.05rem}.npp-body p{color:var(--ink);margin-bottom:12px;line-height:1.7}.npp-body ul{margin-bottom:12px;padding-left:24px}.npp-body li{margin-bottom:6px;line-height:1.6}.npp-divider{border:none;border-top:1px solid var(--line);margin:32px 0}.site-footer a{font-weight:800;text-decoration:none}.site-footer a:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:2px}@media (width<=1040px){.site-header{grid-template-columns:minmax(0,1fr) auto auto;gap:16px}.nav-links{display:none}.mobile-nav{display:block}}@media (width<=900px){.faq-group{grid-template-columns:1fr;gap:20px}.intro-band,.service-grid,.insurance-band,.reviews-hero,.contact-panel,.faq-contact{grid-template-columns:1fr}.self-pay-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-grid{column-count:2}.about-layout{grid-template-columns:1fr}.portrait-placeholder{min-height:260px}.doctor-photo-frame{max-width:360px}}@media (width<=620px){.site-header{gap:8px;padding:8px 12px}.brand{gap:9px}.brand-mark{width:40px;height:40px}.brand strong{white-space:nowrap;font-size:.9rem}.brand small{display:none}.header-call{min-height:44px;padding:9px 10px;font-size:.86rem}.header-call-number{display:none}.hero{min-height:auto}.hero-content{width:min(100% - 28px,1120px);padding-top:84px}.button,.quick-contact div{width:100%}.insurance-list,.self-pay-grid{grid-template-columns:1fr}.service-card-body{transition:grid-template-rows .15s,opacity .15s,margin-top .15s}.service-card-body p{margin-left:0}.doctor-photo{object-position:center}.reviews-grid{column-count:1}.faq-hero{padding-inline:14px}.faq-item summary{padding:15px 16px}.faq-answer-content{padding:0 16px 18px}}@media (width<=350px){.site-header{gap:6px;padding-inline:8px}.brand{gap:7px}.brand strong{font-size:.82rem}.header-call{padding-inline:8px}.mobile-nav summary{gap:6px;padding-inline:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
