/* Palette sampled from sources/legacy-website/01-home.png.
   Screenshot-derived values, not a claim of recovered original CSS.
   Generic system typography is provisional until original fonts are confirmed. */
:root{--paper:#fffdf6;--accent:#cf3310;--ink:#030100;--muted:color-mix(in srgb,var(--ink) 68%,var(--paper));--line:color-mix(in srgb,var(--ink) 22%,var(--paper));--wash:color-mix(in srgb,var(--accent) 6%,var(--paper));--max:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1.5rem}
body{overflow-wrap:anywhere;margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,sans-serif;font-size:1.075rem;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.22em}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:520;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
h1{font-size:clamp(3.1rem,6.2vw,6.3rem)}
h1 span{color:var(--accent)}
h2{font-size:clamp(2.2rem,4vw,3.8rem)}
h3{font-size:1.6rem;letter-spacing:-.025em;line-height:1.18}
p{max-width:66ch}
.wrap{width:min(var(--max),calc(100% - 3rem));margin-inline:auto}
.draft-bar{border-bottom:1px solid var(--line);font-size:.69rem;letter-spacing:.08em;padding:.42rem 0;color:var(--muted)}
.draft-bar span{margin-inline:.7rem}
.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:2rem;padding-block:1.55rem;border-bottom:1px solid var(--line)}
.wordmark{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-size:2.5rem;line-height:1;letter-spacing:-.06em;font-weight:650;flex-shrink:0}
.wordmark span{font-size:.67rem;line-height:1.2;letter-spacing:.16em;font-weight:550;padding-top:.3rem}
.site-header nav{display:flex;flex-wrap:wrap;justify-content:center;gap:1.35rem;margin-left:auto;font-size:.88rem;line-height:1.4}
.site-header nav a{text-decoration:none;padding-block:.4rem;white-space:nowrap}
.site-header nav a[aria-current],.site-header nav a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}
.button{max-width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:1.6rem;padding:.95rem 1.3rem;min-height:50px;border:1px solid var(--accent);background:var(--accent);color:var(--paper);text-decoration:none;font-size:.98rem;font-weight:600;line-height:1.35;border-radius:2px;width:fit-content}
.button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.button span{font-size:1.3rem;line-height:1}
.header-call{font-size:.82rem;white-space:nowrap;min-height:44px;gap:.8rem;padding:.8rem 1rem}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;line-height:1.6;font-weight:650;margin-bottom:1.5rem}
.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;align-items:center;padding-block:5rem 4rem}
.hero-copy h1{margin-bottom:1.4rem}
.doctor-line{font-size:1.28rem;letter-spacing:-.025em;margin-bottom:1.2rem}
.lead{font-size:1.25rem;line-height:1.65;color:var(--muted);max-width:48ch}
.hero .lead{max-width:42ch}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:2rem}
.text-link{display:inline-flex;align-items:center;gap:.7rem;text-decoration:underline;font-size:1rem;font-weight:550;min-height:44px}
.language-note{font-size:.87rem;color:var(--muted);margin-top:1.8rem}
.language-note span{margin-inline:.55rem}
.location-art{background:var(--accent);color:var(--paper);min-height:480px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:1.6rem}
.art-top,.art-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;position:relative;z-index:1}
.art-top{padding-bottom:1rem;border-bottom:1px solid currentColor}
.art-top>span:last-child{font-size:1.7rem}
.art-street{font-size:clamp(3.8rem,6vw,6rem);line-height:.98;letter-spacing:-.07em;position:relative;z-index:1;margin-top:1.1rem}
.coast-lines{display:block;width:100%;height:auto;pointer-events:none}
.location-art .coast-lines{margin:1rem -1.6rem -1rem;width:calc(100% + 3.2rem);opacity:.55}
.art-bottom{padding-top:1rem;border-top:1px solid currentColor}
.fact-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding-block:1.8rem;gap:2rem}
.fact-label{font-size:.71rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.fact-strip p{font-size:1rem;margin-top:.5rem}
.section{padding-block:4.5rem}
.split{display:grid;grid-template-columns:1fr 1.12fr;gap:5rem}
.section-copy p+p{margin-top:1rem}
.section-copy .button,.section-copy .text-link{margin-top:1.4rem}
.section-copy h2{margin-bottom:1.7rem}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:2.5rem}
.section-heading>p{max-width:24ch;color:var(--muted)}
.ruled{border-top:1px solid var(--line)}
.link-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.link-card{display:flex;flex-direction:column;padding:2rem 1.8rem 2rem 0;text-decoration:none;min-width:0}
.link-card+.link-card{border-left:1px solid var(--line);padding-left:1.8rem}
.index{display:block;color:var(--accent);font-size:.85rem;margin-bottom:2rem}
.link-card h3{margin-bottom:1rem}
.link-card p{font-size:1rem;color:var(--muted);margin-bottom:2rem}
.card-link{margin-top:auto;font-size:.85rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;text-decoration:underline;text-underline-offset:.3em}
.link-card:hover h3{color:var(--accent)}
.review-note{margin-top:2rem;padding:1rem 1.2rem;border:1px dashed var(--line);border-left:3px solid var(--accent);background:var(--wash);max-width:75ch;font-size:.88rem;line-height:1.6}
.review-note strong{font-size:.71rem;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:.35rem}
.review-note p{max-width:none}
.contact-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--wash);margin-top:1rem}
.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding-block:3.5rem}
.contact-inner p:last-child{margin-top:1.1rem;max-width:50ch;color:var(--muted)}
.contact-inner .button{flex-shrink:0}
.site-footer{padding-top:3.5rem}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr .6fr;gap:3rem}
.footer-grid>div>p{font-size:.92rem;margin-top:1.2rem;color:var(--muted)}
.footer-label{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;margin:.3rem 0 1.3rem}
address{font-size:.96rem;font-style:normal;line-height:1.8}
address a{display:inline-block;margin-top:.5rem}
.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;font-size:.95rem}
.footer-nav a{padding-block:.25rem}
.footer-bottom{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);margin-top:3rem;padding-block:1.4rem;font-size:.75rem;color:var(--muted)}
.page-intro{padding-block:4.5rem 3.3rem}
.page-intro .lead{margin-top:2rem}
.about-grid{align-items:start}
.portrait-placeholder{max-width:460px}
.portrait-frame{aspect-ratio:4/5;background:linear-gradient(135deg,#eeeae1,#d9d5cc);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:2rem;color:var(--ink)}
.portrait-frame p{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.02;letter-spacing:-.045em}
.placeholder-label,.placeholder-caption{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}
.placeholder-caption{max-width:20ch}
figcaption{font-size:.8rem;color:var(--muted);line-height:1.5;margin-top:.8rem}
.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.three-columns h3{margin-bottom:1rem}
.three-columns p{font-size:1rem;color:var(--muted)}
.three-columns .text-link{margin-top:.8rem}
.steps{list-style:none;counter-reset:steps;margin:0;padding:0}
.steps li{counter-increment:steps;position:relative;padding:0 0 2.2rem 3.7rem}
.steps li+li{border-top:1px solid var(--line);padding-top:2rem}
.steps li:before{content:"0" counter(steps);position:absolute;left:0;top:.1rem;font-size:.95rem;color:var(--accent)}
.steps li+li:before{top:2.1rem}
.steps h3{margin-bottom:1rem}
.steps .button{margin-top:1.2rem}
.side-note{font-size:1rem;margin-top:1.5rem;color:var(--muted)}
.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.5rem}
.coverage-panel{padding:2.4rem;background:var(--wash);border-top:2px solid var(--accent)}
.coverage-panel h2{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:1.5rem}
.coverage-panel p+p{margin-top:1rem}
.plain-list{list-style:none;margin:0 0 1.5rem;padding:0;border-top:1px solid var(--line)}
.plain-list li{padding:1rem 0;border-bottom:1px solid var(--line)}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.address-card{padding:2.7rem;background:var(--wash);border:1px solid var(--line);overflow:hidden}
.address-card h2{font-size:clamp(2.6rem,5vw,4.5rem);margin-bottom:1rem}
.address-card .text-link{margin-top:1rem}
.address-card .coast-lines{margin-top:1.4rem;color:var(--accent)}
.small-copy{font-size:.82rem;color:var(--muted);margin-top:1.5rem}
.skip-link{position:absolute;top:.5rem;left:1rem;transform:translateY(-160%);background:var(--ink);color:var(--paper);padding:.7rem 1rem;z-index:5}
.skip-link:focus{transform:translateY(0)}
main:focus{outline:none}
@media(min-width:1500px){.hero{padding-block:6rem 5rem}}
@media(max-width:1100px){.site-header{flex-wrap:wrap;gap:1rem}.site-header nav{order:3;width:100%;margin:0;justify-content:flex-start;gap:1.8rem}.header-call{margin-left:auto}.hero{gap:2.4rem}.split{gap:3rem}}
@media(max-width:760px){
 .wrap{width:calc(100% - 2.5rem)}
 .site-header{padding-block:1.1rem}.site-header nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr));gap:.25rem 1rem;font-size:.85rem}
 .site-header nav a{min-height:44px;display:flex;align-items:center}
 .wordmark{font-size:2.15rem}.wordmark span{font-size:.59rem}
 .header-call{font-size:.77rem;padding:.75rem;gap:.45rem}
 .hero{grid-template-columns:1fr;padding-block:3rem;gap:2.5rem}
 h1{font-size:clamp(2.85rem,10.7vw,4.8rem)}
 .lead{font-size:1.12rem}.doctor-line{font-size:1.14rem}
 .location-art{min-height:0;padding:1.3rem}.art-street{font-size:4.4rem;margin-block:1.4rem}.location-art .coast-lines{position:absolute;width:80%;right:-20%;top:4rem}
 .art-bottom{margin-top:1.3rem}.art-top,.art-bottom{font-size:.66rem}
 .fact-strip{grid-template-columns:1fr;gap:1.1rem;padding-block:1.5rem}.fact-strip>div{display:flex;align-items:baseline;justify-content:space-between;gap:1.1rem}.fact-strip p{font-size:.9rem;margin:0;text-align:right;max-width:21ch}.fact-label{font-size:.63rem}
 .section{padding-block:3rem}.split,.visit-grid{grid-template-columns:1fr;gap:2rem}.section-heading{display:block}.section-heading>p{margin-top:1rem;max-width:40ch}
 .link-grid,.three-columns,.coverage-grid{grid-template-columns:1fr;gap:0}
 .link-card,.link-card+.link-card{padding:1.8rem 0;border-left:0}.link-card+.link-card{border-top:1px solid var(--line)}
 .index{margin-bottom:1rem}.link-card p{margin-bottom:1.2rem}
 .three-columns>div+div{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}
 .coverage-grid{gap:1.3rem}.coverage-panel{padding:1.6rem}
 .contact-inner{display:block;padding-block:2.8rem}.contact-inner .button{margin-top:1.5rem}
 .footer-grid{grid-template-columns:1fr 1fr;gap:2.3rem 1.4rem}.footer-grid>div:first-child{grid-column:1/-1}
 .footer-bottom{flex-direction:column;gap:.5rem}.page-intro{padding-block:3rem 2rem}
 .steps li{padding-left:2.6rem}.portrait-placeholder{max-width:380px;width:100%}.address-card{padding:1.7rem}
}
@media(max-width:380px){.wrap{width:calc(100% - 2rem)}.wordmark{font-size:1.9rem}.header-call{font-size:.71rem}.wordmark span{font-size:.54rem}.actions{gap:.6rem}.fact-strip>div{display:block}.fact-strip p{text-align:left;margin-top:.3rem;max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Owner-supplied original logo artwork; SVG viewports omit transparent padding.
   Photo originals are unchanged; stock variants are provider-generated sizes. */
.brand-logo{display:block;flex-shrink:0;width:146px;max-width:100%;line-height:0}
.brand-logo svg{display:block;width:100%;height:auto}
.brand-logo-tagline{width:210px}
.hero-photo{align-self:center;min-width:0}
.hero-photo>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 50%}
.hero-photo>figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.2rem;background:var(--accent);color:var(--paper);padding:1.15rem 1.3rem;margin:0;line-height:1.5}
.hero-photo>figcaption>span:first-child{font-size:1.1rem}
.hero-photo>figcaption>span:last-child{align-self:center;font-size:.76rem}
.practice-preview{align-items:center}
.physician-photo{max-width:440px;width:100%;min-width:0}
.physician-photo>img{display:block;width:100%;height:auto}
.photo-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:3.5rem;align-items:center}
.photo-intro>div,.photo-intro>figure{min-width:0}
.photo-intro h1{font-size:clamp(2.85rem,5vw,5.1rem)}
.lifestyle-photo>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%}
.service-photo{margin-top:2rem}
.service-photo>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.office-banner{max-width:1080px;margin-bottom:1rem}
.office-banner>img{display:block;width:100%;height:auto}
@media(max-width:760px){
 .brand-logo{width:130px}.brand-logo-tagline{width:185px}
 .hero-photo>img{aspect-ratio:5/3}
 .photo-intro{grid-template-columns:1fr;gap:2rem}
 .lifestyle-photo>img{aspect-ratio:4/3}
 .physician-photo{max-width:420px}
}

/* Confirmed service list and MPMG carrier identification. Original marks keep
   their own colors and proportions; these are not endorsement badges. */
.service-photo-intro{margin-top:0}
.service-photo-intro>img{aspect-ratio:auto;object-fit:contain}
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:0 2.5rem;border-top:1px solid var(--ink)}
.service-card{padding:2rem 0;border-bottom:1px solid var(--line);min-width:0}
.service-card .index{margin-bottom:1rem}
.service-card h3{margin-bottom:1.1rem;font-size:1.65rem;max-width:25ch}
.service-card p{font-size:1rem;color:var(--muted)}
.carrier-intro{max-width:78ch;margin-bottom:2rem}
.carrier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.carrier-card{min-width:0;padding:2rem 1.5rem 1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}
.carrier-card>span{font-size:.9rem;line-height:1.45}
.carrier-logo{height:80px;width:100%;display:flex;align-items:center;justify-content:center}
.carrier-logo img{display:block;width:190px;height:64px;max-width:100%;object-fit:contain}
@media(max-width:760px){.carrier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.carrier-card{padding:1.5rem 1rem;gap:1rem}.carrier-logo{height:65px}.carrier-logo img{max-width:100%;max-height:55px}.service-card{padding-block:1.8rem}}
@media(max-width:380px){.carrier-grid{grid-template-columns:1fr}.carrier-logo img{max-width:180px}}
