:root{--ink:#112f36;--muted:#51656b;--lime:#c4f17d;--pale:#f0f5f6;--line:#d7e2e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:white;font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #317eb5;outline-offset:5px}.skip{position:absolute;left:16px;top:-80px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.top{background:var(--ink);color:white;display:flex;justify-content:space-between;padding:9px 5%;font-size:14px}.top a{text-decoration:none}header{display:flex;align-items:center;justify-content:space-between;padding:23px 5%;background:white;gap:25px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:14px;flex-shrink:0}.brand b{font-size:34px;letter-spacing:-2px;line-height:1}.brand b span{color:#7cae38;font-size:27px;vertical-align:top;margin-left:4px}.brand small{font-size:10px;line-height:1.4;letter-spacing:1.1px;border-left:1px solid var(--line);padding-left:14px}nav{display:flex;gap:25px;align-items:center}nav>a{font-size:14px;font-weight:600;text-decoration:none}nav>a[aria-current]{text-decoration:underline;text-decoration-color:#75aa34;text-decoration-thickness:3px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:6px;background:var(--ink);color:white;text-decoration:none;font-size:15px;font-weight:700;line-height:1.3;min-height:48px;border:1px solid var(--ink);transition:background .2s,transform .2s}.button:hover{background:#254b55;transform:translateY(-2px)}.button.outline{background:transparent;color:var(--ink);border-color:#a6bbbf}.button.outline:hover{background:var(--pale)}.actions{display:flex;gap:12px;flex-wrap:wrap}.menu{display:none}.wrap{width:min(1180px,90%);margin:auto}.hero{display:grid;grid-template-columns:1.15fr 1fr;min-height:670px;background:var(--pale)}.herocopy{padding:75px max(40px,calc((100vw - 1180px)/2)) 50px;padding-right:50px}.eyebrow{display:block;font-size:12px;letter-spacing:2px;font-weight:700;margin-bottom:19px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,4.3vw,66px);letter-spacing:-2.8px;line-height:1.06;font-weight:500;margin-bottom:26px}h1 em{font-family:Georgia,serif;font-weight:400;color:#386957}h2{font-size:clamp(30px,3vw,45px);line-height:1.15;letter-spacing:-1.4px;font-weight:500;margin-bottom:22px}h3{font-size:22px;line-height:1.25;font-weight:500;letter-spacing:-.4px}p{color:var(--muted);margin-bottom:24px}.herocopy>p{font-size:18px;max-width:460px}.heronote{border-top:1px solid #cadbdd;margin-top:36px;padding-top:20px;color:var(--muted);font-size:14px}.heroimage{position:relative;max-height:740px;overflow:hidden}.heroimage img{height:100%;width:100%;object-fit:cover;object-position:center 55%}.imagecaption{position:absolute;bottom:30px;left:30px;background:var(--ink);color:white;padding:24px 30px;min-width:260px}.imagecaption span{display:block;font-size:11px;letter-spacing:2px;margin-bottom:9px}.imagecaption b{font:26px/1.25 Georgia,serif}.quicklinks{display:grid;grid-template-columns:repeat(3,1fr);padding:0 5%;border-bottom:1px solid var(--line)}.quicklinks a{text-decoration:none;padding:28px 30px;border-right:1px solid var(--line);font-size:14px;color:var(--muted)}.quicklinks a:first-child{padding-left:0}.quicklinks a:last-child{border:0}.quicklinks b{display:block;color:var(--ink);font-size:18px;margin-top:3px}.section{padding:85px 0}.sectionhead{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:36px}.sectionhead p{max-width:340px}.sectionhead h2{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);padding:30px;text-decoration:none;transition:background .2s;display:flex;flex-direction:column;min-height:270px;border-radius:6px}.card:hover{background:var(--pale);border-color:#91b5a6}.cardnum{color:#51716b;font-size:13px;letter-spacing:2px;margin-bottom:30px}.card h3{margin-bottom:14px}.card p{font-size:16px;flex:1}.textlink{font-size:14px;font-weight:bold;text-decoration:underline}.doctorband{background:var(--ink);color:white;padding:70px 0}.split{display:grid;grid-template-columns:.8fr 1fr;gap:100px;align-items:center}.split img{width:100%;max-height:460px;object-fit:contain;border-radius:8px;background:#e7eceb}.doctorband p{color:#d5e3e4}.doctorband .button{background:var(--lime);color:var(--ink);border-color:var(--lime)}.social{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.socialpanel{padding:55px;background:var(--lime);min-height:300px;text-decoration:none;border-radius:8px;display:flex;flex-direction:column;justify-content:center}.socialpanel>span:first-child{font-size:12px;letter-spacing:2px}.socialpanel b{font-size:clamp(38px,5vw,66px);letter-spacing:-3px;line-height:1.4}.socialpanel p{color:var(--ink)}.socialhandle{font-size:14px;text-decoration:underline}.faqs{max-width:900px}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:19px;line-height:1.4;padding-right:20px}details p{margin:18px 0 0;max-width:740px}.cta{background:var(--lime);display:flex;justify-content:space-between;align-items:center;padding:60px 5%;gap:30px}.cta h2{margin:0}.cta .eyebrow{margin-bottom:12px}footer{background:var(--ink);color:white;padding:65px 5% 25px}.footergrid{display:grid;grid-template-columns:1.2fr .65fr 1fr 1.2fr;gap:35px}footer p{color:#ccdce0;font-size:14px;margin:20px 0}footer a{font-size:14px}footer h3{font-size:17px;font-weight:bold;margin-bottom:20px}footer .brand b{font-size:37px}footer .brand span{color:var(--lime)}.footergrid>div:nth-child(2)>a{display:block;margin-bottom:9px;text-decoration:none}.legal{border-top:1px solid #3e5860;display:flex;gap:25px;justify-content:space-between;padding-top:25px;margin-top:40px;font-size:12px}.legal a{font-size:12px}.intro{padding-top:75px;padding-bottom:45px;max-width:1180px}.intro h1{max-width:850px}.lead{font-size:20px;max-width:730px}.compact{padding-top:5px}.inset{background:var(--pale);padding:38px;border-radius:6px;margin-bottom:55px}.inset h2{font-size:32px}.detail{display:grid;grid-template-columns:1fr 340px;gap:85px;padding-bottom:60px}.detail article h2{font-size:31px;margin-top:35px}.detail article>p{font-size:18px}.detail aside{background:var(--pale);padding:30px;border-radius:6px;align-self:start;position:sticky;top:25px}.detail aside .button{display:flex;margin:15px 0}.detail aside>a:last-child{font-size:14px}.steps{list-style:decimal-leading-zero;padding-left:40px;margin-bottom:40px}.steps li{padding:12px 0 12px 12px;border-bottom:1px solid var(--line)}.steps h3{font-size:19px;margin:0}.checklist{padding-left:20px;line-height:2;font-size:18px;margin-bottom:40px}.portrait{max-height:460px;object-fit:contain}.split h2 small{font-size:23px;letter-spacing:0}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-bottom:80px}.contactgrid h3{margin-top:35px}.hours{padding:35px;background:var(--pale);border-radius:6px}.hours>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 0}.hours b{font-size:15px;font-weight:500}.mobilebar{display:none}@media(min-width:1600px){.herocopy{padding-left:calc((100vw - 1300px)/2)}}@media(max-width:1100px){header{flex-wrap:wrap}nav{gap:20px}.brand small{display:none}.split{gap:50px}.detail{gap:40px}.herocopy{padding:55px 7%}.hero{min-height:580px}.footergrid{grid-template-columns:1fr 1fr}.sectionhead{gap:30px}}@media(max-width:760px){.top{font-size:12px;padding:8px 5%}.top span{max-width:65%}header{padding:20px 5%;position:relative}.brand b{font-size:30px}.menu{display:block;background:transparent;border:1px solid var(--line);padding:9px 17px;border-radius:5px;font:inherit}nav{display:none;flex-basis:100%;align-items:stretch;gap:0}nav.open{display:flex;flex-direction:column}nav a{padding:13px 0;font-size:16px}nav .button{margin-top:12px}.hero{grid-template-columns:1fr}.herocopy{padding:48px 5% 35px}h1{font-size:46px;letter-spacing:-2px}.heroimage{height:390px}.heroimage img{object-position:center 58%}.imagecaption{left:20px;bottom:20px;padding:20px}.quicklinks{grid-template-columns:1fr}.quicklinks a,.quicklinks a:first-child{padding:19px 0;border-right:0;border-bottom:1px solid var(--line)}.cards{grid-template-columns:1fr 1fr;gap:12px}.card{padding:23px;min-height:260px}.section{padding:55px 0}.sectionhead{display:block}.sectionhead p{margin:20px 0 0}.split,.social,.detail,.contactgrid{grid-template-columns:1fr;gap:35px}.split img{max-height:360px;max-width:420px;margin:auto}.doctorband{padding:50px 0}.socialpanel{padding:35px;min-height:250px}.cta{display:block;padding:45px 5%}.cta .actions{margin-top:25px}.footergrid{gap:35px 20px}.legal{flex-wrap:wrap;justify-content:flex-start}.intro{padding:45px 0 25px}.intro h1{font-size:42px}.detail aside{position:static}.detail article h2{margin-top:20px}.inset{padding:25px}.contactgrid{padding-bottom:55px}.hours{padding:25px}.mobilebar{position:fixed;bottom:0;left:0;right:0;background:white;display:flex;gap:10px;padding:10px 5%;border-top:1px solid var(--line);z-index:20}.mobilebar .button{flex:1}footer{padding-bottom:110px}}@media(max-width:430px){.cards{grid-template-columns:1fr}.card{min-height:220px}.cardnum{margin-bottom:20px}.footergrid{grid-template-columns:1fr}.heroimage{height:330px}.actions .button{padding:14px 18px}.hours>div{flex-wrap:wrap;gap:5px}h1{font-size:42px}.top span{max-width:58%}.brand small{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Practice branding and a warmer, people-centered presentation. */
:root{--ink:#063342;--lime:#b6eced;--pale:#eff7f8}header{padding-top:12px;padding-bottom:12px}.brand img{width:230px;height:auto;max-width:100%}footer .brand{display:inline-flex;background:white;border-radius:5px;padding:8px}footer .brand img{width:210px}.humanband{background:#e7f4f5;padding:75px 0}.humanlayout{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}.humanlayout p{font-size:18px}.humanvisual{background:white;padding:38px;border-radius:18px;box-shadow:0 15px 45px #0633420d}.faces{display:flex;gap:10px;margin-bottom:30px}.faces img{width:calc((100% - 20px)/3);aspect-ratio:1;object-fit:cover;border-radius:50%;border:4px solid #ecf5f5}.humanvisual h3{font:36px/1.15 Georgia,serif}.humanvisual a{font-weight:bold;font-size:15px}.instagram{padding-bottom:55px}.instagramfeed{min-height:320px;overflow:hidden;border-radius:10px}.feedfallback{font-size:14px;margin-top:20px}.community{padding:70px 0;background:#f0f7f8}.communitylayout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.community img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.careicon{width:68px;height:68px;object-fit:contain;margin-bottom:25px;border-radius:10px}.careicon.large{width:110px;height:110px;margin-top:20px}.card{background:white;box-shadow:0 5px 18px #06334205}.staffsection{padding:15px 0 85px}.staffgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.staffcard{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.staffphoto{background:#eef5f6;padding:22px;aspect-ratio:1.15}.staffphoto img{width:100%;height:100%;object-fit:cover;border-radius:10px}.staffbio{padding:25px}.staffbio .eyebrow{font-size:11px;letter-spacing:1px;margin-bottom:12px}.staffbio h2{font-size:25px;line-height:1.2;letter-spacing:-.6px;margin-bottom:15px}.staffbio p{font-size:16px;line-height:1.65;margin-bottom:0}.hero h1 em{color:#14828a}.heroimage .imagecaption{border-radius:8px}.button{border-radius:8px}.cta .eyebrow{color:#215d62}@media(max-width:1100px){header .brand img{width:190px}nav{gap:15px}.humanlayout{gap:40px}.staffgrid{gap:20px}}@media(max-width:760px){header .brand img{width:210px}.humanlayout,.communitylayout{grid-template-columns:1fr;gap:30px}.humanband,.community{padding:50px 0}.humanvisual{padding:28px}.staffgrid{grid-template-columns:1fr 1fr;gap:15px}.staffbio{padding:20px}.staffphoto{padding:15px}.staffbio h2{font-size:23px}.community img{aspect-ratio:3/2}.instagramfeed{min-height:260px}.humanvisual h3{font-size:32px}}@media(max-width:480px){.staffgrid{grid-template-columns:1fr}.staffphoto{aspect-ratio:1.25;padding:20px}.staffphoto img{object-fit:contain}.humanlayout p{font-size:17px}.brand img{max-width:190px}}

/* Consistent portrait framing for every team member. */
.staffphoto{display:flex;align-items:center;justify-content:center;aspect-ratio:auto;padding:28px 20px;background:#eef5f6}.staffphoto img{width:210px;height:210px;max-width:100%;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:50%;background:white;box-shadow:0 0 0 6px white}.staffcard:first-child .staffphoto img{object-fit:cover}@media(max-width:760px){.staffphoto img{width:165px;height:165px}.staffphoto{padding:25px 15px}}@media(max-width:480px){.staffphoto img{width:210px;height:210px}.staffphoto{padding:28px 20px}}

/* Homepage: vivid practice colors, generous photography and a friendlier rhythm. */
.hero-v4{background:#063342;color:white;min-height:700px;grid-template-columns:1.08fr 1fr;overflow:hidden}.hero-v4 .herocopy{padding-top:80px;padding-bottom:65px;position:relative;z-index:2}.hero-v4 h1{font-size:clamp(48px,4.8vw,75px);line-height:1.05;letter-spacing:-3px;font-weight:600}.hero-v4 h1 em{color:#a9eef0;font-weight:400}.hero-v4 .eyebrow{color:#a9eef0;letter-spacing:1.5px}.hero-v4 .herocopy>p{color:#e4f0f1;font-size:19px;line-height:1.7;max-width:490px}.hero-v4 .button{background:#b6eced;color:#063342;border-color:#b6eced}.hero-v4 .button:hover{background:white}.hero-v4 .button.outline{background:transparent;color:white;border-color:#70959f}.hero-v4 .button.outline:hover{background:#164655}.hero-details{display:flex;gap:20px;flex-wrap:wrap;margin-top:35px;padding-top:25px;border-top:1px solid #39616b;color:#c9dfe4;font-size:14px}.heroart{position:relative;padding:42px 6% 45px 10px;display:flex;align-items:center}.herophotoframe{border-radius:150px 18px 18px 18px;overflow:hidden;width:100%;height:600px;background:#d7e8ed}.herophotoframe img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.herohello{position:absolute;bottom:55px;left:-25px;background:white;color:#063342;padding:23px 30px;border-radius:12px;box-shadow:0 15px 45px #01233220}.herohello>span{font-size:10px;font-weight:700;letter-spacing:1.2px;display:block;margin-bottom:8px}.herohello b{font-size:29px;display:block;line-height:1.25;margin-bottom:8px}.herohello a{font-size:14px;font-weight:600}.heroaccent{position:absolute;top:20px;right:8px;font-size:90px;color:#b6eced;line-height:1}.quicklinks{background:#e8f6f7;border-bottom:0}.quicklinks a{padding-top:30px;padding-bottom:30px}.card{border-radius:15px;transition:background .2s,transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #06334210}.sectionhead h2{font-size:clamp(32px,3.3vw,48px)}.humanband{background:#f0f8f9}.humanvisual{border-radius:24px}.cta{background:#b6eced}.hero-v4 .actions{gap:12px}.sectionhead p{font-size:17px}@media(max-width:1100px){.hero-v4{min-height:620px}.hero-v4 .herocopy{padding:65px 7% 45px}.herophotoframe{height:520px}.herohello{left:-15px;padding:20px}.hero-details{gap:13px}}@media(max-width:760px){.hero-v4{grid-template-columns:1fr}.hero-v4 .herocopy{padding:48px 5% 28px}.hero-v4 h1{font-size:51px;letter-spacing:-2px}.hero-v4 .herocopy>p{font-size:18px}.hero-details{margin-top:24px;padding-top:20px}.heroart{padding:10px 5% 45px;max-width:650px;width:100%;margin:auto}.herophotoframe{height:450px;border-radius:95px 14px 14px 14px}.herohello{left:9%;bottom:25px;padding:20px 25px}.heroaccent{right:2%;top:0;font-size:70px}.hero-v4 .button{min-height:50px}.quicklinks a,.quicklinks a:first-child{padding:20px 0}}@media(max-width:430px){.hero-v4 h1{font-size:44px}.herophotoframe{height:370px}.herohello b{font-size:25px}.herohello>span{font-size:10px}.hero-details{gap:12px;font-size:13px}.hero-v4 .actions .button{width:100%}}@media(prefers-reduced-motion:reduce){.card{transition:none}}

/* A welcoming group photograph, with the whole team visible. */
.hero-v4{background:#eef8f9;color:#063342;grid-template-columns:.85fr 1.35fr;min-height:600px;align-items:center}.hero-v4 .herocopy{padding-top:65px;padding-bottom:55px;padding-right:28px}.hero-v4 h1{font-size:clamp(42px,4.3vw,65px);font-weight:500;letter-spacing:-2.5px}.hero-v4 h1 em{color:#16858a}.hero-v4 .eyebrow{color:#386973}.hero-v4 .herocopy>p{color:#41616a;font-size:18px}.hero-v4 .button{background:#063342;color:white;border-color:#063342}.hero-v4 .button:hover{background:#175462;color:white}.hero-v4 .button.outline{color:#063342;border-color:#8fb8bf;background:white}.hero-v4 .button.outline:hover{background:#d9eff1}.hero-details{color:#47666d;border-color:#c1dcdf}.heroart{padding:45px 5% 65px 0}.herophotoframe{height:auto;aspect-ratio:1158/879;border-radius:22px;box-shadow:0 16px 38px #06334215}.herophotoframe img{width:100%;height:100%;object-fit:contain;object-position:center}.herohello{left:25px;bottom:35px;background:white;padding:18px 25px}.herohello b{font-size:25px}.humanband{background:#fff}.humanvisual{background:#eaf6f7;box-shadow:none}.appointment-options{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:80px}.appointment-card{padding:38px;border:1px solid var(--line);border-radius:16px}.appointment-card h2{font-size:35px}.phonecard{background:#eef8f9}.smallnote{font-size:14px;margin-top:22px}.appointment-address{border-top:1px solid var(--line);padding-top:25px;margin-top:28px}.appointment-address h3{font-size:21px}.bookinghelp{margin-top:25px}.bookinghelp summary{font-size:16px}.bookinghelp label{display:block;font-size:14px;font-weight:600;margin:18px 0 8px}.bookinghelp input{width:100%;font:14px/1.5 Arial,sans-serif;padding:13px;border:1px solid #9cb9bf;border-radius:6px;margin-bottom:15px;background:white;color:#063342}.bookinghelp button{cursor:pointer;font:700 15px Arial,sans-serif}.bookinghelp #copy-status{font-size:14px;margin:12px 0 0}.cta{background:#daf1f1}@media(max-width:1100px){.hero-v4 .herocopy{padding:45px 6% 45px}.hero-v4 h1{font-size:48px}.heroart{padding-bottom:60px}.herohello{left:10px}}@media(max-width:760px){.hero-v4{grid-template-columns:1fr}.hero-v4 .herocopy{padding:45px 5% 25px}.hero-v4 h1{font-size:48px}.heroart{padding:5px 5% 70px;max-width:none}.herophotoframe{height:auto;aspect-ratio:1158/879;border-radius:16px}.herohello{left:9%;bottom:35px;padding:16px 23px}.appointment-options{grid-template-columns:1fr;padding-bottom:50px}.appointment-card{padding:27px}.hero-details{font-size:14px}}@media(max-width:430px){.hero-v4 h1{font-size:42px}.herohello b{font-size:22px}.herohello>span{font-size:10px}.hero-v4 .actions .button{width:100%}.appointment-card h2{font-size:30px}}

/* Photographic page introductions and treatment photography. */
body{background:#edf5f6}
main{background-color:#f2f8f9;background-image:linear-gradient(90deg,rgba(242,248,249,.98),rgba(242,248,249,.94)),url('/assets/our-team.webp');background-size:cover;background-position:center top}
.page-banner{background-color:#dceff1;background-image:linear-gradient(90deg,#e9f5f6 0%,rgba(233,245,246,.97) 30%,rgba(233,245,246,.87) 48%,rgba(233,245,246,.18) 76%),var(--page-photo);background-position:center,right center;background-size:cover;min-height:340px;border-bottom:1px solid #d0e6e9;margin-bottom:48px}
.page-banner .intro{padding-top:68px;padding-bottom:58px;max-width:1180px}
.page-banner h1{max-width:660px;font-size:clamp(40px,4.1vw,62px)}
.page-banner .lead{max-width:580px;color:#345963;margin-bottom:0}
.page-banner .eyebrow{color:#285a65}
.hero-v4{background-image:linear-gradient(90deg,rgba(232,246,248,.96),rgba(232,246,248,.88)),url('/assets/our-team.webp');background-size:cover;background-position:center}
.card{padding:0;overflow:hidden;background:#fff}
.procedure-thumb{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center;background:#dcecef;transition:transform .3s}
.card-content{display:flex;flex:1;flex-direction:column;padding:26px 28px 28px}
.card-content p{flex:1}.card:hover .procedure-thumb{transform:scale(1.025)}
.treatment-photo{margin:0 0 30px;overflow:hidden;border-radius:18px;background:#dcecef}
.treatment-photo img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.treatment-photo figcaption{font-size:14px;padding:12px 18px;background:#e2f0f2;color:#345963}
.humanband{background:#e0f0f2}.instagram{background:transparent}.humanvisual{background:#fff}
.detail aside,.hours,.phonecard{background:#e1f0f2;box-shadow:0 8px 28px #06334208}.appointment-card{background:#fff}.appointment-card.phonecard{background:#e1f0f2}
.inset{background:#e1f0f2}.cta{background-image:linear-gradient(90deg,rgba(218,241,241,.97),rgba(218,241,241,.88)),url('/assets/our-team.webp');background-position:center;background-size:cover}
@media(max-width:760px){.page-banner{min-height:0;margin-bottom:32px;background-image:linear-gradient(90deg,rgba(233,245,246,.97),rgba(233,245,246,.89)),var(--page-photo)}.page-banner .intro{padding-top:44px;padding-bottom:40px}.page-banner h1{font-size:42px;max-width:100%}.page-banner .lead{font-size:18px}.card-content{padding:22px}.procedure-thumb{aspect-ratio:4/3}.treatment-photo{border-radius:12px}.treatment-photo img{aspect-ratio:4/3}}
@media(max-width:430px){.page-banner h1{font-size:38px}.procedure-thumb{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.procedure-thumb{transition:none}}

.implant-diagram{margin:28px 0;background:#fff;border-radius:14px;overflow:hidden;padding:18px}.implant-diagram img{width:100%;height:auto}.treatment-photo img{aspect-ratio:auto;object-fit:contain}.page-banner{background-repeat:no-repeat;background-size:cover,auto 100%}.procedure-thumb{object-position:center 42%}@media(max-width:760px){.page-banner{background-size:cover,cover}.treatment-photo img{aspect-ratio:auto}}

/* One consistent image frame for every dental procedure. */
.procedure-thumb,.treatment-photo img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;object-position:center}
.implant-diagram img{width:100%;height:auto;aspect-ratio:8/5;object-fit:contain}
@media(max-width:760px){.procedure-thumb,.treatment-photo img{height:auto;aspect-ratio:8/5}}

/* Treatment examples appear only within each procedure detail page. */
.detail .procedure-example{margin:30px 0;overflow:hidden;border:1px solid #d8e7e9;border-radius:14px;background:#edf5f6}
.detail .procedure-example img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;background:white}
.detail .procedure-example figcaption{padding:12px 18px;font-size:14px;color:#345963;line-height:1.5}
.photo-credit{display:block;margin-top:6px;font-size:12px;line-height:1.5;color:#4a6570}.photo-credit a{font-size:12px}

.card[href="/services/implants/"] .procedure-thumb,.treatment-photo img[src="/assets/care-implants.webp"]{object-position:70% center}

/* The practice logo forms a soft, full-footer background. */
footer{position:relative;isolation:isolate;overflow:hidden;background:#e4f0f2;color:#063342}
footer::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url('/assets/logo.jpeg');background-repeat:no-repeat;background-position:center;background-size:min(1100px,96%) auto;mix-blend-mode:multiply;opacity:.16}
footer>.footergrid,footer>.legal{position:relative;z-index:1}
footer p{color:#345963}footer .legal{border-color:#aac8cf}footer .brand{background:transparent;padding:0}footer a:hover{color:#116d78}
footer .footer-instagram{display:inline-flex;align-items:center;gap:9px;min-height:44px;text-decoration:none}footer .footer-instagram svg{flex:none;width:22px;height:22px}footer .footer-instagram span{text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){footer::before{background-size:96% auto;background-position:center 38%;opacity:.14}}

/* One larger, proportional logo beside the navigation, without a header watermark. */
header{justify-content:flex-start;gap:24px;background:white}
header .brand{position:relative;width:260px;height:90.8px;overflow:hidden;flex-shrink:0}
header .brand img{position:absolute;left:50%;top:50%;transform:translate(-50%,-53%);width:320px;max-width:none;height:auto}
header nav{flex:1;justify-content:flex-end;gap:20px}
@media(min-width:761px){header nav>a.button{margin-left:16px}}
@media(max-width:1100px){header .brand{width:220px;height:75px}header .brand img{width:265px}header nav{gap:14px}}
@media(max-width:760px){header{justify-content:space-between;gap:20px}header .brand{width:235px;height:82.9px}header .brand img{width:290px}header nav{flex-basis:100%;justify-content:flex-start}}
@media(max-width:480px){header .brand{width:220px;height:75px}header .brand img{width:265px}}
@media(max-width:360px){header{gap:10px}header .brand{width:200px}header .brand img{width:265px}}


/* Trim the logo's surrounding whitespace while leaving breathing room before the menu. */
header{padding-left:max(5%,calc((100vw - 1000px)/2));padding-right:max(5%,calc((100vw - 1000px)/2))}
@media(min-width:1101px){header{gap:40px;padding-left:max(5%,calc((100vw - 1040px)/2));padding-right:max(5%,calc((100vw - 1040px)/2))}}
header .brand{width:238px}header .brand img{width:328px}
@media(max-width:1100px){header .brand{width:205px}header .brand img{width:265px}}
@media(min-width:1000px) and (max-width:1100px){header{padding-right:calc(5% + 40px)}}
@media(max-width:760px){header .brand{width:220px}header .brand img{width:290px}}
@media(max-width:480px){header .brand{width:205px}header .brand img{width:265px}}
@media(max-width:360px){header .brand{width:200px}}

/* Phone layout: matching practice branding with touch-friendly navigation and care pages. */
@media(max-width:760px){
 html{scroll-padding-top:112px}body{font-size:16px;line-height:1.65}
 .top{padding:8px 5%;font-size:12px;gap:14px;align-items:center}.top a{white-space:nowrap;font-size:14px}.top span{max-width:60%;line-height:1.4}
 header{position:sticky;top:0;z-index:30;padding:12px 5%;gap:14px;flex-wrap:nowrap;box-shadow:0 3px 14px #06334208}
 header .brand{width:220px;max-width:calc(100% - 88px);height:75px}header .brand img{width:265px}
 header .menu{display:inline-flex;align-items:center;justify-content:center;min-width:68px;min-height:46px;padding:10px 14px;border-radius:8px;color:#063342;background:#edf5f6;font-size:15px;font-weight:600;cursor:pointer;flex-shrink:0}
 header nav{display:none;position:absolute;left:0;right:0;top:100%;width:100%;padding:12px 5% 20px;background:white;border-top:1px solid #d7e2e4;border-bottom:1px solid #c0d9de;box-shadow:0 12px 22px #06334214;max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain;gap:0}
 header nav.open{display:flex;flex-direction:column;align-items:stretch}
 header nav a{min-height:48px;padding:13px 8px;font-size:16px;border-bottom:1px solid #e6eff1}
 header nav .button{margin-top:12px;padding:14px 20px;border-bottom:0}
 .wrap{width:90%}.eyebrow{font-size:14px;letter-spacing:1px;line-height:1.5}
 .hero-v4{min-height:0}.hero-v4 .herocopy{padding:34px 5% 24px}.hero-v4 h1{font-size:clamp(36px,10.5vw,48px);line-height:1.1;letter-spacing:-1.7px}.hero-v4 .herocopy>p{font-size:17px;line-height:1.65;max-width:none}
 .hero-v4 .actions{flex-direction:column;gap:10px}.hero-v4 .actions .button{width:100%;min-height:50px}
 .hero-details{font-size:14px;gap:10px 16px;margin-top:24px}.heroart{display:block;padding:0 5% 30px}.herophotoframe{height:auto;aspect-ratio:1158/879;border-radius:16px}
 .herohello{position:static;margin:12px 0 0;padding:16px 20px;border-radius:12px;box-shadow:none}.herohello>span{font-size:12px}.herohello b{font-size:23px;margin-bottom:5px}.herohello a{display:inline-block;padding:5px 0;font-size:15px}
 .quicklinks{padding:0 5%}.quicklinks a,.quicklinks a:first-child{min-height:70px;padding:16px 0}.quicklinks a{font-size:14px}.quicklinks b{font-size:17px}
 .section,.humanband{padding:42px 0}.sectionhead{margin-bottom:25px}.sectionhead h2{font-size:32px;line-height:1.2}.sectionhead p{font-size:16px;max-width:none;margin-top:18px}
 .cards{gap:18px}.card{min-height:0;transform:none}.card-content{padding:24px}.card h3{font-size:24px}.card p{font-size:16px}.textlink{font-size:15px;padding:4px 0}
 .humanlayout{gap:25px}.humanvisual{padding:24px}.humanlayout p{font-size:17px}.humanvisual h3{font-size:29px}.humanvisual a{display:inline-block;min-height:44px;padding:10px 0}
 .instagramfeed{min-height:260px}.feedfallback{font-size:15px}
 .page-banner{margin-bottom:26px}.page-banner .intro{padding:34px 0}.page-banner h1{font-size:clamp(34px,9.2vw,42px);letter-spacing:-1.4px;line-height:1.14;overflow-wrap:break-word}.page-banner .lead{font-size:17px;line-height:1.65}
 .detail{gap:25px;padding-bottom:42px}.detail article{min-width:0}.detail article h2{font-size:28px;line-height:1.2}.detail article>p{font-size:17px}.detail aside{position:static;padding:26px;border-radius:14px}
 .treatment-photo,.detail .procedure-example{border-radius:12px}.treatment-photo img,.detail .procedure-example img{aspect-ratio:8/5}.detail .procedure-example figcaption{font-size:14px}.photo-credit{overflow-wrap:anywhere}
 .steps{padding-left:32px}.steps li{padding:13px 0 13px 8px}.steps h3{font-size:18px;line-height:1.4}.checklist{font-size:17px;line-height:1.7}.checklist li{margin-bottom:12px}.inset{padding:24px;border-radius:12px;margin-bottom:30px}.inset h2{font-size:28px}
 .staffsection{padding-bottom:45px}.staffgrid{gap:18px}.staffphoto img{width:190px;height:190px}.staffbio{padding:24px}.staffbio h2{font-size:25px;line-height:1.25;overflow-wrap:break-word}.staffbio .eyebrow{font-size:13px;line-height:1.5}
 .contactgrid{gap:25px;padding-bottom:45px}.contactgrid .actions{flex-direction:column}.contactgrid .button{width:100%;min-height:50px}.hours{padding:25px;border-radius:14px}.hours b{font-size:15px}
 .appointment-options{gap:20px;padding-bottom:45px}.appointment-card{padding:26px;border-radius:14px;min-width:0}.appointment-card h2{font-size:29px}.appointment-card>.button{width:100%;min-height:50px}.bookinghelp input{font-size:16px}.bookinghelp button{width:100%;min-height:48px}.smallnote{font-size:15px;line-height:1.6}
 summary{font-size:17px;line-height:1.5;min-height:44px}details{padding:18px 0}details p{font-size:16px}
 .cta{padding:35px 5%;gap:25px}.cta h2{font-size:31px}.cta .actions{flex-direction:column;width:100%}.cta .button{width:100%;min-height:50px}
 footer{padding-top:42px;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.footergrid{gap:30px}.footergrid p{font-size:15px}.footergrid>div:nth-child(2)>a{min-height:42px;display:flex;align-items:center;margin:0}.legal{font-size:14px;gap:16px;margin-top:28px}.legal a{font-size:14px;min-height:36px;display:flex;align-items:center}
 .mobilebar{z-index:40;padding:10px 5% calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px #0633420c}.mobilebar .button{min-height:48px;font-size:15px}.mobilebar .button.outline{background:#edf5f6}
}
@media(max-width:600px){.cards,.staffgrid,.footergrid{grid-template-columns:1fr}.procedure-thumb{aspect-ratio:8/5}.staffphoto{padding:25px}.staffphoto img{width:190px;height:190px}}
@media(hover:none){.card:hover,.button:hover{transform:none}}

/* Keep the navigation header visible while scrolling on every screen. */
header{position:sticky;top:0;z-index:30;box-shadow:0 3px 14px #0633420c}
html{scroll-padding-top:140px}
.detail aside{top:140px}
@media(max-width:1100px){html{scroll-padding-top:170px}.detail aside{top:170px}}
@media(max-width:760px){html{scroll-padding-top:112px}.detail aside{position:static}}

/* Practice payment options, with the existing live Cherry financing information. */
.financing-band{background:#deeff1;padding:70px 0}.financing-home{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.financing-home p{font-size:17px;margin-bottom:0;max-width:600px}.financing-home-action{background:white;border-radius:18px;padding:32px}.financing-provider{display:block;font-size:38px;letter-spacing:-1px;font-weight:600;color:#0e5d68;margin-bottom:12px}.financing-home-action p{margin-bottom:24px}.financing-start{display:grid;grid-template-columns:1.5fr 1fr;gap:65px;margin-bottom:45px}.financing-start .inset{margin:0;align-self:start}.financing-widget-wrapper{padding-bottom:65px;min-width:0}.financing-widget-wrapper #all{max-width:100%}.financing-start .smallnote{max-width:650px}
@media(max-width:760px){.financing-band{padding:42px 0}.financing-home,.financing-start{grid-template-columns:1fr;gap:25px}.financing-home h2,.financing-start h2{font-size:30px}.financing-home-action{padding:26px}.financing-home-action .button{width:100%;min-height:50px}.financing-start{margin-bottom:30px}.financing-start .actions{flex-direction:column}.financing-start .button{width:100%;min-height:50px}.financing-widget-wrapper{padding-bottom:40px}.financing-provider{font-size:34px}}

/* Google patient reviews */
.reviews-band{background:linear-gradient(135deg,#eef5f4,#f8f5ef)}.google-reviews-feed{width:100%;min-width:0;min-height:180px}.reviews-band .sectionhead p{max-width:500px}.google-reviews-feed>div{width:100%;min-width:0}@media(max-width:760px){.reviews-band .sectionhead .button{width:100%;text-align:center}}

.contact-form-section{display:grid;grid-template-columns:0.85fr 1.15fr;gap:48px;align-items:start}.contact-form-intro p{max-width:430px}.contact-form-card{background:#fff;border:1px solid #d2e3e4;border-radius:24px;padding:32px;box-shadow:0 16px 40px #17383f0c}.form-preview-note{background:#e9f3f3;color:#17383f;padding:14px 16px;border-radius:12px;font-size:14px;line-height:1.6;margin:0 0 24px}.contact-form-card label{display:block;font-size:16px;font-weight:600;margin-bottom:20px;color:#17383f}.contact-form-card label span{font-size:14px;font-weight:400;color:#465d62}.contact-form-card input,.contact-form-card textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:13px 15px;border:1px solid #8ca7ad;border-radius:10px;font:inherit;font-weight:400;color:#17383f;background:#fafdfd}.contact-form-card textarea{resize:vertical;min-height:140px}.contact-form-card input:focus,.contact-form-card textarea:focus{outline:3px solid #0e5d6833;border-color:#0e5d68}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-privacy{font-size:14px;line-height:1.6;color:#465d62}.contact-form-card #inquiry-status{font-size:14px;line-height:1.6;color:#0e5d68;margin-bottom:0}.contact-form-card button{cursor:pointer;font:inherit}@media(max-width:760px){.contact-form-section{grid-template-columns:1fr;gap:24px}.contact-form-card{padding:22px}.contact-fields{grid-template-columns:1fr;gap:0}.contact-form-card button{width:100%}}
.contact-form-card .form-consent{display:flex;align-items:flex-start;gap:12px;font-weight:400}.contact-form-card .form-consent input{width:20px;height:20px;flex:0 0 20px;margin:3px 0 0;padding:0;accent-color:#0e5d68}.contact-form-card .form-consent span{font-size:14px;line-height:1.6}
.review-navigation{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 20px;color:#17383f;font-size:14px}.review-arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;border:1px solid #0e5d68;border-radius:50%;background:#0e5d68;color:#fff;font-size:26px;line-height:1;cursor:pointer}.review-arrow:hover:not(:disabled){background:#17383f}.review-arrow:focus-visible{outline:3px solid #0e5d68;outline-offset:4px}.review-arrow:disabled{opacity:.45;cursor:wait}
.review-panel{position:relative}.review-panel .review-navigation{position:absolute;inset:0;z-index:2;pointer-events:none;justify-content:space-between;margin:0;padding:0 12px}.review-panel .review-arrow{pointer-events:auto;width:44px;height:44px;flex-basis:44px;font-size:34px;box-shadow:0 3px 12px #17383f25}.review-panel .google-reviews-feed{padding:12px 64px}@media(max-width:760px){.review-panel .review-navigation{padding:0 6px}.review-panel .google-reviews-feed{padding:4px 48px}}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.blog-card{display:block;background:#fff;border:1px solid #d2e3e4;border-radius:18px;overflow:hidden;text-decoration:none;color:#17383f;transition:box-shadow .2s}.blog-card:hover{box-shadow:0 12px 32px #06334218}.blog-card:focus-visible{outline:3px solid #0e5d68;outline-offset:4px}.blog-card>img{display:block;width:100%;aspect-ratio:8/5;object-fit:cover}.blog-card-copy{padding:26px}.blog-card-copy h2{font-size:26px;line-height:1.25;margin:12px 0 16px;letter-spacing:-.6px}.blog-card-copy p{font-size:16px;line-height:1.7}.blog-card-copy .eyebrow{font-size:13px}.blog-disclaimer{max-width:800px;font-size:14px;line-height:1.7;margin-top:36px;color:#465d62}.blog-article{padding-top:40px;padding-bottom:70px;max-width:1000px}.blog-back{font-size:15px;display:inline-block;margin-bottom:28px}.article-heading{position:static;display:block;padding:0;box-shadow:none;background:transparent;margin-bottom:30px}.article-heading h1{font-size:clamp(36px,4.5vw,58px);line-height:1.12;letter-spacing:-1.8px;max-width:850px;margin:16px 0 22px}.article-heading .lead{max-width:750px}.article-meta{font-size:14px;color:#465d62}.article-photo{display:block;width:100%;aspect-ratio:8/5;object-fit:cover;border-radius:20px;margin:30px 0 42px}.article-body{max-width:760px;margin:auto;font-size:18px;line-height:1.85}.article-body h2{font-size:29px;line-height:1.3;letter-spacing:-.6px;margin:38px 0 16px}.article-body p{margin:0 0 22px}.article-body a:not(.button){text-decoration:underline;text-underline-offset:3px;color:#0e5d68}.article-citation{font-size:14px;white-space:nowrap}.article-takeaway{padding:25px 28px;background:#e9f3f3;border-radius:16px;margin:32px 0}.article-takeaway h2{margin-top:0}.article-takeaway li{margin-bottom:8px}.article-sources{font-size:14px;line-height:1.8;border-top:1px solid #d2e3e4;margin-top:40px;padding-top:8px}.article-sources h2{font-size:23px}.article-sources li{padding-bottom:10px}.article-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.related-articles{margin-top:65px;padding-top:35px;border-top:1px solid #d2e3e4}.related-articles .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}nav a[href='/blog/']{white-space:nowrap}@media(max-width:1100px) and (min-width:761px){header nav{gap:14px;font-size:14px}}@media(max-width:760px){.blog-grid,.related-articles .blog-grid{grid-template-columns:1fr;gap:22px}.blog-card-copy{padding:23px}.article-heading h1{font-size:clamp(34px,8vw,46px);letter-spacing:-1px}.article-body{font-size:17px;line-height:1.85}.article-body h2{font-size:27px}.article-takeaway{padding:22px}.article-actions{display:grid;grid-template-columns:1fr}.article-actions .button{text-align:center}.blog-article{padding-top:30px}.article-photo{margin:24px 0 30px}}
/* The imported review feed uses white text on transparent cards.
   Keep the correction scoped to the Google feed, including lazy-loaded reviews. */
.google-reviews-feed{background:#fff;border:1px solid #d2e3e4;border-radius:20px;color:#17383f;padding:12px}
.google-reviews-feed :is(div,span,p,a,button,h1,h2,h3,h4,h5,h6,strong,b,small,time){color:#17383f!important}
.google-reviews-feed a{color:#0e5d68!important}
.google-reviews-feed :is(a,button):focus-visible{outline:3px solid #0e5d68;outline-offset:3px}
@media(max-width:760px){.google-reviews-feed{padding:4px;border-radius:14px}}
