:root{--ink:#163d48;--teal:#086f83;--deep:#123e4b;--light:#eaf4f6;--line:#d0e0e4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:17px;line-height:1.65}a{color:inherit}a:focus-visible{outline:3px solid #d95538;outline-offset:5px}.skip{position:absolute;left:10px;top:-80px;background:white;padding:10px;z-index:20}.skip:focus{top:5px}.topbar{background:var(--deep);color:white;display:flex;justify-content:space-between;padding:10px 6%;font-size:14px}.topbar a{text-underline-offset:4px}header{display:flex;align-items:center;gap:35px;padding:12px 6%;background:white;border-bottom:1px solid var(--line)}.brand{margin-right:auto;line-height:0}.brand img{width:195px;height:89px;object-fit:contain}nav{display:flex;gap:28px}nav a{text-decoration:none;font-size:15px}.button{display:inline-block;background:var(--teal);color:white;text-decoration:none;padding:14px 24px;font-size:15px;font-weight:700;border-radius:4px}.button:hover{background:var(--deep)}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:640px}.hero-copy{padding:66px 7% 55px 11%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1.7px;line-height:1.08}h1{font-size:clamp(48px,5.8vw,82px);margin-bottom:28px}h1 em{color:var(--teal);font-weight:400}h2{font-size:clamp(36px,4vw,54px);margin-bottom:24px}h3{font-size:23px;line-height:1.25;letter-spacing:-.4px}.intro{max-width:420px;color:#45616a;font-size:18px}.hero-note{font-size:13px;margin-top:27px}.hero-note span{margin:0 10px;color:var(--teal)}.hero-art{position:relative;background:#0a5c72;overflow:hidden;min-height:610px}.hero-art>img{width:100%;height:100%;object-fit:cover;opacity:.8;position:absolute;inset:0}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#073747da,transparent 80%)}.art-label{position:absolute;z-index:1;left:12%;right:10%;top:22%;color:white}.art-label span{font-size:12px;letter-spacing:2px}.art-label p{font-family:Georgia,serif;font-size:clamp(40px,4.7vw,64px);line-height:1.2;margin-top:24px}.art-bottom{position:absolute;bottom:45px;left:12%;color:#e3f8ff;z-index:1;font-size:14px;border-top:1px solid #ffffff66;padding-top:16px;width:75%}.section{padding:88px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:36px}.section-heading>p{max-width:350px;color:#48646c;font-size:16px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.services article{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.number{display:block;font-size:12px;letter-spacing:1.5px;color:var(--teal);margin-bottom:30px}.services p{font-size:16px;color:#48646c;margin-bottom:0}.about{background:var(--deep);color:white}.about>.eyebrow{color:#99d8e5}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-grid p{color:#d2e4e9;max-width:510px}.about-grid .large-copy{font-size:23px;line-height:1.5;color:white}.text-link{font-size:15px;font-weight:700;text-underline-offset:5px}.about .text-link{color:white}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.location{background:var(--light);padding:40px}.location .eyebrow{color:var(--teal);margin-bottom:10px}.location h3{font-family:Georgia,serif;font-weight:400;font-size:36px;margin-bottom:15px}.location address{font-style:normal}.phone{display:inline-block;margin:18px 0 12px;font-size:25px;text-decoration:none;color:var(--teal)}dl{border-top:1px solid #c9dce1;border-bottom:1px solid #c9dce1;padding:15px 0;margin:10px 0 26px}dl div{display:flex;justify-content:space-between;gap:20px;font-size:15px}dd{margin:0}.location-actions{display:flex;align-items:center;gap:24px}.hours-note{font-size:14px;margin:20px 0 0;color:#48646c}footer{padding:40px 6%;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:5px 30px}footer p,footer small,footer>a:not(.footer-brand){font-size:14px}.footer-brand{font-family:Georgia,serif;font-size:25px;text-decoration:none}footer p{grid-row:2}footer small{text-align:right;color:#48646c}@media(max-width:800px){header{flex-wrap:wrap;padding:10px 5%;gap:8px}.brand img{width:150px;height:68px}nav{order:3;width:100%;justify-content:space-between;gap:10px;padding:10px 0}.header-button{padding:10px 14px}.topbar{padding:8px 5%;font-size:12px}.topbar>a{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6%}.hero-art{min-height:320px}.art-label{top:15%;left:6%}.art-label p{font-size:42px;margin-top:15px}.art-bottom{left:6%;bottom:23px}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:25px}.section-heading>p{max-width:none}.services{grid-template-columns:repeat(2,1fr)}.services article{padding:24px 20px}.services h3{font-size:20px}.about-grid{grid-template-columns:1fr;gap:10px}.location-grid{grid-template-columns:1fr}.location{padding:28px}.location-actions{gap:20px}footer{display:block}footer small{display:block;text-align:left;margin-top:20px}}@media(max-width:420px){.services{grid-template-columns:1fr}.number{margin-bottom:15px}h1{font-size:49px}.location-actions{flex-wrap:wrap}.location{padding:24px}dl div{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Refined practice identity and provider gallery */
header{gap:25px}nav{gap:23px}.hero-copy{padding-top:60px;padding-bottom:60px}.hero h1{font-size:clamp(48px,5.7vw,78px)}.hero-art{border-radius:0 0 0 100px}.art-bottom{display:flex;justify-content:space-between;align-items:end;gap:15px}.art-bottom span{font-size:11px;letter-spacing:1.3px}.art-bottom strong{font-family:Georgia,serif;font-size:23px;line-height:1.35;font-weight:400}.team{background:#f2f7f9}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.portrait{height:300px;background:#dce7eb;overflow:hidden;border-radius:6px}.portrait img{height:100%;width:100%;object-fit:cover;object-position:center top;transition:transform .35s}.provider:hover img{transform:scale(1.03)}.provider h3{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.25;margin:20px 0 10px}.provider>a{font-size:14px;text-underline-offset:5px;color:var(--teal)}.care{padding-bottom:75px}.services article{transition:background .2s}.services article:hover{background:#eef7f9}.visit{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#f2f7f9}.visit>div>p:not(.eyebrow){color:#48646c}.questions details{border-bottom:1px solid #c4d9de}.questions summary{font-size:18px;font-weight:500;padding:24px 30px 24px 0;cursor:pointer}.questions details p{font-size:16px;color:#48646c;max-width:510px;padding-bottom:15px}.questions details:first-child{border-top:1px solid #c4d9de}.mobile-appointment{display:none}@media(max-width:1000px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait{height:350px}nav{gap:15px}}@media(max-width:800px){nav a{font-size:14px}.hero-art{border-radius:0 0 0 60px}.hero h1{font-size:60px}.art-bottom strong{font-size:20px}.visit{grid-template-columns:1fr;gap:20px}.portrait{height:300px}.provider h3{font-size:23px}.mobile-appointment{display:block;position:fixed;bottom:14px;left:6%;right:6%;z-index:10;background:var(--deep);color:white;text-align:center;padding:15px;border-radius:5px;text-decoration:none;font-size:15px;box-shadow:0 4px 20px #123e4b33}footer{padding-bottom:95px}.location{scroll-margin-bottom:90px}}@media(max-width:480px){.portrait{height:210px}.team-grid{gap:28px 16px}.provider h3{font-size:21px}.hero h1{font-size:53px}.hero-copy{padding-top:40px;padding-bottom:40px}nav{flex-wrap:wrap;justify-content:flex-start;gap:8px 20px}.art-bottom span{font-size:10px}}@media(prefers-reduced-motion:reduce){.portrait img{transition:none}}

.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:850px;margin:auto;gap:40px}.portrait{height:410px}.provider h3{font-size:29px}@media(max-width:600px){.team-grid{gap:25px}.portrait{height:260px}.provider h3{font-size:23px}}@media(max-width:400px){.team-grid{grid-template-columns:1fr}.portrait{height:350px}}
