:root{--ivory:#f7f4ee;--teal:#174c4f;--ink:#252d2d;--line:#d6cbb9;--sage:#e6e8dc;--muted:#626b66}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--ivory);color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif}h1,h2,h3,.brand,.button{font-family:Georgia,'Times New Roman',serif}h1,h2,h3{font-weight:400;line-height:1.08;color:var(--teal);margin:0 0 24px}h1{font-size:clamp(3rem,5.5vw,5.6rem);letter-spacing:-.055em}h2{font-size:clamp(2.2rem,3.6vw,3.8rem);letter-spacing:-.04em}h3{font-size:1.85rem;letter-spacing:-.025em}p{margin:0 0 24px}a{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ab763f;outline-offset:6px}a:hover{color:var(--teal)}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.site-header{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 5%;border-bottom:1px solid var(--line);background:var(--ivory);position:relative;z-index:5}.brand{text-decoration:none;font-size:2.6rem;line-height:1;color:var(--teal);letter-spacing:-.055em;white-space:nowrap}.brand small{display:block;font:10px/2 Arial,sans-serif;letter-spacing:.63em;text-align:center;margin-top:5px;padding-left:7px}.nav{display:flex;align-items:center;gap:26px}.nav a{font-size:14px;text-decoration:none;white-space:nowrap;padding:8px 0}.nav a[aria-current=page]{border-bottom:1px solid var(--teal)}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:16px;line-height:1.35;padding:17px 25px;background:var(--teal);color:white;border:1px solid var(--teal);border-radius:2px;transition:background .2s,transform .2s}.button:hover{background:#10383b;color:white;transform:translateY(-2px)}.button.light{background:var(--ivory);color:var(--teal);border-color:var(--ivory)}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:9px 13px;color:var(--teal)}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.2em;line-height:1.7;margin-bottom:28px;color:var(--teal)}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.hero-copy{padding:80px 8% 70px 10%;align-self:center}.hero-copy p:not(.eyebrow){max-width:430px;font-size:18px}.hero-photo{min-height:580px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:34px}.text-link{font-family:Georgia,serif;text-underline-offset:7px;text-decoration-thickness:1px;color:var(--teal);display:inline-block}.location-strip{display:flex;align-items:center;justify-content:center;gap:28px;padding:22px 5%;border-block:1px solid var(--line);font-size:14px}.location-strip a{padding-left:28px;border-left:1px solid var(--line)}.location-strip .location-phone{font-weight:600;color:var(--teal);text-decoration:none}.section{padding:90px 6%}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%}.split-photo{height:450px}.split-copy{max-width:550px}.split-copy p{max-width:470px}.services-section{background:var(--sage);text-align:center;padding:75px 6% 80px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:52px}.service-card{padding:8px 36px}.service-card+.service-card{border-left:1px solid #c5c5b2}.service-number{display:block;font:italic 36px Georgia,serif;color:#78897d;margin-bottom:28px}.service-card p{max-width:280px;margin:0 auto 24px;font-size:16px}.cta{background:var(--teal);color:var(--ivory);padding:65px 7%;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{color:var(--ivory);margin-bottom:18px}.cta p{color:#e4e8df}.cta-aside{max-width:190px;letter-spacing:.2em;text-transform:uppercase;font:13px/2.2 Georgia,serif}.site-footer{padding:40px 5% 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:32px}.footer-nav{display:flex;flex-wrap:wrap;gap:20px}.footer-nav a{font-size:13px;text-decoration:none}.footer-address{font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.page-intro{padding:78px 7% 60px;max-width:1000px}.page-intro p:last-child{max-width:650px;font-size:19px}.page-intro h1{font-size:clamp(3rem,5.5vw,5rem)}.intro-line{height:1px;background:var(--line);margin:0 7%}.section.compact{padding-top:55px}.quote-panel{background:var(--sage);padding:60px}.quote-panel p{font:32px/1.4 Georgia,serif;color:var(--teal)}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.values p{font-size:16px}.service-detail{display:grid;grid-template-columns:90px 1fr 1fr;gap:35px;padding:48px 0;border-top:1px solid var(--line)}.service-detail:last-child{border-bottom:1px solid var(--line)}.service-detail p{margin:0}.service-detail .service-number{font-size:45px}.service-detail h2{font-size:2.5rem}.note{font-size:14px;color:var(--muted);max-width:730px}.faq-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:8%}.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:24px 38px 24px 0;position:relative;font-family:Georgia,serif;font-size:21px;color:var(--teal)}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:5px;font:24px Arial}details[open]>summary:after{content:'−'}details>div{padding:0 30px 20px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.step{border-top:1px solid var(--line);padding-top:25px}.step h3{margin-top:20px}.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;padding:0 7% 80px}.contact-panel{background:var(--sage);padding:45px}.contact-panel h2{font-size:2.3rem}.contact-row{padding:22px 0;border-bottom:1px solid #c9ccbd}.contact-row h3{font:12px Arial;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}.contact-row p{margin:0}.contact-row .phone{font:31px Georgia,serif;text-decoration:none;color:var(--teal)}.map{width:100%;height:420px;border:0;display:block;background:var(--sage)}.map-caption{font-size:14px;margin-top:16px;color:var(--muted)}.blog-feature{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:0 7% 70px}.blog-feature .split-photo{height:390px}.blog-list{padding:0 7% 80px;max-width:1200px}.blog-list summary{padding-block:30px;font-size:27px}.blog-list summary small{display:block;font:11px/2 Arial;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin-bottom:10px}.article-content{max-width:760px}.article-content h3{font-size:23px;margin-top:22px}.article-content p,.article-content li{font-size:17px}.inline-list{padding-left:20px}.soft{background:var(--sage)}.photo-caption{font-size:12px;color:var(--muted);margin-top:8px}::selection{background:#d9decd;color:var(--teal)}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-copy{padding-left:12%}}@media(max-width:1150px){.site-header{gap:15px;padding-inline:4%}.nav{gap:17px}.header-cta{padding:14px;font-size:14px}.brand{font-size:2.25rem}.hero{min-height:540px}.hero-copy{padding:60px 8%}.hero-photo{min-height:540px}.service-card{padding-inline:22px}.footer-top{flex-wrap:wrap}.footer-address{width:100%}}@media(max-width:900px){.site-header{min-height:88px;flex-wrap:wrap}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.nav{width:100%;flex-wrap:wrap;padding:12px 0}.js .nav{display:none}.js .nav.is-open{display:flex}.nav a{font-size:16px}.hero-copy{padding:55px 8%}.hero h1{font-size:3.7rem}.hero-photo{min-height:520px}.split{gap:5%}.section{padding:65px 5%}.service-card h3{font-size:1.55rem}.contact-grid{gap:35px}.contact-panel{padding:30px}.service-detail{grid-template-columns:55px 1fr;gap:20px}.service-detail>p,.service-detail>div:last-child{grid-column:2}.faq-layout{grid-template-columns:1fr;gap:25px}.footer-bottom{flex-wrap:wrap}}@media(max-width:620px){body{font-size:16px}.site-header{padding:17px 6%}.brand{font-size:2.2rem}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 7%}.hero h1{font-size:3.65rem}.hero-photo{min-height:0;height:360px}.eyebrow{font-size:11px;margin-bottom:23px}.hero-copy p:not(.eyebrow){font-size:17px}.actions{gap:22px}.button{font-size:15px;padding:16px 20px}.location-strip{flex-direction:column;gap:8px;text-align:center;font-size:13px;padding:18px}.location-strip a{padding-left:0;border:0}.split{grid-template-columns:1fr;gap:35px}.split-photo{height:330px}.section{padding:50px 7%}.services-section{padding:50px 7%}.service-grid{grid-template-columns:1fr;margin-top:30px}.service-card{padding:30px 0}.service-card+.service-card{border-left:0;border-top:1px solid #c5c5b2}.service-card h3{font-size:1.9rem}.service-number{margin-bottom:18px}.cta{padding:45px 7%}.cta-aside{display:none}.site-footer{padding:35px 7% 22px}.footer-top{align-items:flex-start;gap:27px}.footer-nav{gap:15px}.footer-bottom{font-size:12px;gap:10px}.page-intro{padding:50px 7% 35px}.page-intro h1{font-size:3.5rem}.page-intro p:last-child{font-size:17px}.values,.steps{grid-template-columns:1fr;gap:25px}.quote-panel{padding:35px}.quote-panel p{font-size:27px}.service-detail{grid-template-columns:38px 1fr}.service-detail h2{font-size:2.15rem}.service-detail .service-number{font-size:30px}.contact-grid,.blog-feature{grid-template-columns:1fr;gap:35px}.contact-panel{padding:27px}.map{height:330px}.blog-feature .split-photo{height:300px}.blog-list summary{font-size:24px}.blog-feature{padding-bottom:45px}.section.compact{padding-top:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Service icons: hand-drawn SVG line art, crisp at any size or screen density. */
.service-icon {
  display: block;
  width: 128px;
  height: 96px;
  margin: 0 auto 24px;
  background-repeat: no-repeat;
  background-size: contain;
}
.service-icon-branch { background-image: url("icon-branch.svg"); }
.service-icon-sunrise { background-image: url("icon-sunrise.svg"); }
.service-icon-rainbow { background-image: url("icon-rainbow.svg"); }
.cta-city {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 350px;
}
/* Clip to the city photograph at the right of the supplied banner, excluding its text. */
.cta-city::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  width: 274px;
  height: 350px;
  background: url("city-banner-reference.webp") no-repeat -1492px -12px / 1782px 380px;
  mask-image: linear-gradient(to right, transparent, #000 38%);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 38%);
  pointer-events: none;
}
.cta-city > :first-child { flex: 1 1 60%; }
.cta-city .cta-aside {
  display: block;
  flex: 0 1 34%;
  max-width: none;
  min-width: 220px;
  padding: 28px 0;
}
.cta-city .cta-aside p {
  margin: 0;
  color: var(--ivory);
  font: 14px/2.2 Georgia, 'Times New Roman', serif;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.cta-city .cta-aside::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  margin-top: 25px;
  background: #b9b58f;
}
@media (max-width: 900px) {
  .cta-city { gap: 28px; }
  .cta-city .cta-aside { flex-basis: 38%; }
}
@media (max-width: 620px) {
  .cta-city { flex-direction: column; align-items: stretch; gap: 24px; }
  .cta-city .cta-aside { min-width: 0; width: 100%; padding: 20px 0; }
  .cta-city::before {
    width: 240px;
    mask-image: linear-gradient(to right, transparent, #000 50%);
    -webkit-mask-image: linear-gradient(to right, transparent, #000 50%);
  }
}

/* Launch polish: readable service lists and a naturally proportioned portrait. */
.doctor-photo{max-width:360px;width:100%;justify-self:center}.doctor-photo img{height:auto;aspect-ratio:300/413;object-fit:cover}.team-profile{border-top:1px solid var(--line)}.service-detail .inline-list{margin:18px 0 0}.footer-address a{display:inline-block;padding-top:8px}.contact-row .phone{overflow-wrap:anywhere}@media(max-width:360px){.hero h1{font-size:3.2rem}.page-intro h1{font-size:3rem}.contact-panel{padding:22px}.contact-row .phone{font-size:26px}}

/* Homepage additions adapted from the previous site's content. */
.home-practice-intro{font-size:16px}.home-practice-intro strong{font-weight:600}
.home-philosophy{border-top:1px solid var(--line)}
.home-section-heading{max-width:850px;margin:0 auto 52px;text-align:center}.home-section-heading>p:last-child{max-width:590px;margin:0 auto;color:var(--muted)}
.home-care-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}.home-care-grid article{border-top:1px solid var(--line);padding-top:25px}.home-index{display:block;font:italic 20px Georgia,serif;color:var(--muted);margin-bottom:30px}.home-care-grid h3{font-size:clamp(1.65rem,2.3vw,2.15rem);max-width:320px}.home-care-grid p{font-size:16px;margin:0;max-width:360px}
.home-treatment-links{border-top:1px solid #c5c5b2;margin-top:45px;padding-top:35px}.home-treatment-links .eyebrow{margin-bottom:20px}.home-treatment-links nav{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.home-treatment-links a{display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #b6bead;border-radius:2px;padding:12px 20px;text-decoration:none;font:17px Georgia,serif;color:var(--teal)}.home-treatment-links a:hover{background:var(--ivory)}
.home-review-heading{display:grid;grid-template-columns:1.7fr 1fr;gap:70px;align-items:end;margin-bottom:42px}.home-review-heading h2{margin:0}.home-review-heading>p{max-width:320px;color:var(--muted);margin:0 0 4px}
.home-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.home-review-grid figure{margin:0;padding:28px;background:#eeebe4;border:1px solid #e1dbcf;display:flex;flex-direction:column}.home-quote-mark{font:66px/.9 Georgia,serif;color:#7c8e80;height:48px}.home-review-grid blockquote{margin:12px 0 30px;flex:1}.home-review-grid blockquote p{font:20px/1.55 Georgia,serif;color:var(--teal);margin:0}.home-review-grid figcaption{border-top:1px solid var(--line);padding-top:19px}.home-review-grid figcaption span{display:block;font-size:14px}.home-review-grid figcaption small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.home-review-note{font-size:12px;color:var(--muted);margin:20px 0 0}
.home-visit{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#eeeade;border-top:1px solid var(--line)}.home-visit-copy>p:not(.eyebrow){max-width:410px}.home-visit-phone{display:flex;justify-content:space-between;gap:15px;max-width:410px;font:clamp(1.8rem,3vw,2.65rem) Georgia,serif;text-decoration:none;color:var(--teal);border-top:1px solid #c9c2b3;padding-top:25px;margin-top:32px}.home-email{font:16px Arial,sans-serif;margin-top:16px;overflow-wrap:anywhere}.home-visit-row{border-bottom:1px solid #c9c2b3;padding:0 0 24px;margin-bottom:26px}.home-visit-row:last-child{border:0;padding:0;margin:0}.home-visit-row h3{font-size:1.55rem;margin-bottom:16px}.home-visit-row p{font-size:16px;margin:0 0 12px}.home-visit-row .note{font-size:12px;margin:14px 0 0}.home-hours{margin:0;font-size:15px}.home-hours>div{display:flex;justify-content:space-between;gap:18px;padding:5px 0}.home-hours dd{margin:0;text-align:right}
@media(max-width:900px){.home-care-grid{gap:24px}.home-review-heading{gap:30px}.home-review-grid{gap:14px}.home-review-grid figure{padding:22px}.home-review-grid blockquote p{font-size:18px}.home-visit{gap:6%}.home-hours>div{flex-wrap:wrap;gap:2px 14px}}
@media(max-width:620px){.home-section-heading{text-align:left;margin-bottom:35px}.home-care-grid,.home-review-grid,.home-review-heading,.home-visit{grid-template-columns:1fr}.home-care-grid{gap:30px}.home-index{margin-bottom:18px}.home-care-grid h3{max-width:none}.home-care-grid p{max-width:none}.home-treatment-links nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-treatment-links a{font-size:15px;padding:13px 12px;gap:8px;text-align:left}.home-review-heading{gap:20px;margin-bottom:30px}.home-review-heading>p{max-width:none}.home-review-grid{gap:16px}.home-review-grid figure{padding:26px}.home-review-grid blockquote p{font-size:21px}.home-visit{gap:40px}.home-visit-phone{font-size:2rem}.home-hours>div{flex-wrap:nowrap}.home-visit-copy .eyebrow{letter-spacing:.13em}}

/* New Patients: forms and insurance sections. A note following a button row needs
   its own spacing, since .actions only carries a top margin. */
.actions+.note{margin-top:20px}
#insurance .inline-list{margin-top:0}

/* <picture> wrappers must fill their fixed-height container, otherwise the
   global img{height:100%} has no resolved height to work from. */
.split-photo picture,.hero-photo picture{display:block;width:100%;height:100%}

/* About: prose blocks and team profiles without a portrait. */
.prose{max-width:760px}
.prose p+p{margin-top:18px}
.team-profile--nophoto{grid-template-columns:1fr}
.team-profile--nophoto .split-copy{max-width:700px}
/* .split-copy p is capped at 470px for the two-column profiles; the
   portrait-less one needs the full measure. */
.team-profile--nophoto .split-copy p{max-width:700px}
.team-profile .split-copy p+p{margin-top:16px}

/* About page: warm editorial layout, scoped to preserve other pages. */
.about-hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:590px}.about-hero-copy{padding:75px 10% 75px 12%;align-self:center}.about-hero h1{font-size:clamp(3rem,4.7vw,5rem)}.about-hero-copy>p:not(.eyebrow){max-width:480px;font-size:18px}.about-hero-image{min-height:520px}.about-hero-image picture{display:block;height:100%}.about-hero-image img{object-position:60% center}
.about-story{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;border-bottom:1px solid var(--line)}.about-story h2{margin-bottom:0}.about-story .prose p{max-width:610px}.about-story .prose p:last-child{margin-bottom:0}.about-team-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;padding-bottom:42px}.about-team-heading h2{margin-bottom:0}.about-team-heading>p{max-width:290px;margin:0;color:var(--muted)}
.about-page .team-profile{grid-template-columns:minmax(264px,.96fr) minmax(0,1.3fr);gap:8%;margin:0 6%;padding:54px 0;align-items:center}.about-page .doctor-photo{max-width:384px;justify-self:start}.about-page .doctor-photo img{object-position:50% 20%;background:var(--sage)}.about-page .team-profile .split-copy{max-width:650px}.about-page .team-profile .split-copy p{max-width:650px;font-size:16px}.about-page .team-profile h2{font-size:clamp(2rem,3vw,3rem)}.about-page .team-profile .eyebrow{margin-bottom:15px}.about-page .team-profile .split-copy p:last-child{margin-bottom:0}.about-initials{width:100%;max-width:320px;aspect-ratio:300/413;background:var(--sage);border:1px solid #cdd2c4;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--teal);position:relative}.about-initials:before{content:'';position:absolute;inset:20px;border:1px solid #b9c4b4}.about-initials>span{font:clamp(70px,8vw,120px)/1 Georgia,serif;letter-spacing:-.06em}.about-initials small{margin-top:24px;font-size:10px;letter-spacing:.22em;text-transform:uppercase}
.about-location{background:var(--sage);display:grid;grid-template-columns:1fr 1.1fr;gap:7%;align-items:center;margin-top:35px}.about-location-photo{height:510px}.about-location-photo picture{display:block;height:100%}.about-location h2{font-size:clamp(2rem,3vw,3.25rem)}.about-directions{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px;padding-top:25px;border-top:1px solid #c5cbbd}.about-directions h3{font-size:22px;margin-bottom:14px}.about-directions p,.about-directions a{font-size:15px}.about-page .section.soft{background:var(--ivory)}
@media(max-width:900px){.about-hero-copy{padding:50px 9%}.about-hero{min-height:500px}.about-hero-image{min-height:480px}.about-story{gap:5%}.about-page .team-profile{gap:6%;grid-template-columns:minmax(216px,.84fr) minmax(0,1.3fr)}.about-location{gap:5%}.about-directions{grid-template-columns:1fr;gap:24px}.about-location-photo{height:560px}}
@media(max-width:620px){.about-hero,.about-story,.about-location{grid-template-columns:1fr}.about-hero-copy{padding:48px 7%}.about-hero h1{font-size:3.3rem}.about-hero-image{height:340px;min-height:0}.about-story{gap:25px}.about-team-heading{display:block;padding-bottom:30px}.about-team-heading>p{margin-top:22px;max-width:none}.about-page .team-profile{margin:0 7%;padding:36px 0;grid-template-columns:1fr;gap:28px}.about-page .doctor-photo,.about-initials{max-width:336px;justify-self:center}.about-page .team-profile h2{font-size:2.3rem}.about-location{gap:30px}.about-location-photo{height:320px}.about-directions{grid-template-columns:1fr}.about-page .team-profile .split-copy p{font-size:16px}}

.about-team-heading .about-team-intro{max-width:600px;margin:22px 0 0;color:var(--muted)}
.about-page .about-team-heading{justify-content:center;text-align:center}
.about-page .about-team-heading .about-team-intro{margin:22px auto 0}

/* Services: category navigation and native, keyboard-accessible disclosures. */
.service-jump-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 7%;border-block:1px solid var(--line)}.service-jump-nav a{padding:24px 26px;text-decoration:none;font:23px/1.25 Georgia,serif;color:var(--teal)}.service-jump-nav a:first-child{padding-left:0}.service-jump-nav a+a{border-left:1px solid var(--line)}.service-jump-nav span{display:block;font:11px/1.5 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:10px}.service-jump-nav a:hover{background:var(--sage)}
.service-catalog{padding:20px 7% 0}.service-category{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:8%;padding:65px 0;border-bottom:1px solid var(--line)}.service-category:last-child{border-bottom:0}.service-category-heading h2{font-size:clamp(2.2rem,3.4vw,3.3rem)}.service-category-heading>p{max-width:300px;color:var(--muted)}.service-category-heading .service-number{margin-bottom:20px}.treatment-list{border-top:1px solid var(--line);min-width:0}.treatment summary{font-size:23px;line-height:1.35;padding:23px 40px 23px 0}.treatment[open]{background:#f0eee6}.treatment[open] summary{padding-left:22px}.treatment[open] summary:after{right:15px}.treatment-description{padding:0 22px 27px;font-size:16px;line-height:1.75;overflow-wrap:break-word}.treatment-description p{margin:0 0 18px}.treatment-description h4{font:22px/1.3 Georgia,serif;color:var(--teal);margin:24px 0 16px}.treatment-description ul,.treatment-description ol{padding-left:22px}.treatment-description .text-link{margin-top:8px}.treatment:target{scroll-margin-top:24px}
.service-urgent{display:flex;align-items:center;justify-content:space-between;gap:40px;margin:0 7% 70px;padding:38px;background:var(--sage)}.service-urgent>div{max-width:640px}.service-urgent h2{font-size:2rem;margin-bottom:16px}.service-urgent p{font-size:16px;margin-bottom:0}.service-urgent .eyebrow{font-size:11px;margin-bottom:15px}.service-urgent .button{flex-shrink:0}
@media(max-width:900px){.service-category{gap:5%;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.service-jump-nav a{font-size:20px;padding:20px}.service-urgent{flex-direction:column;align-items:flex-start;gap:24px}.treatment summary{font-size:21px}}
@media(max-width:620px){.service-jump-nav{grid-template-columns:1fr}.service-jump-nav a,.service-jump-nav a:first-child{padding:17px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:19px}.service-jump-nav a+a{border-left:0;border-top:1px solid var(--line)}.service-jump-nav span{margin:0;font-size:10px;white-space:nowrap}.service-category{grid-template-columns:1fr;gap:28px;padding:40px 0}.service-category-heading h2{margin-bottom:16px}.service-category-heading>p{max-width:none;margin-bottom:18px}.service-category-heading .service-number{font-size:28px;margin-bottom:14px}.service-urgent{margin-bottom:45px;padding:27px}.service-urgent h2{font-size:1.8rem}.treatment summary{font-size:21px}.treatment-description{font-size:16px}.treatment[open] summary{padding-left:16px}.treatment-description{padding-inline:16px}}

/* Services hero: portrait paired with the existing introduction. */
.services-hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:550px;margin-bottom:45px}.services-hero-copy{padding:70px 10% 70px 12%;align-self:center}.services-hero-copy h1{font-size:clamp(3rem,4.7vw,5rem)}.services-hero-copy>p:last-child{font-size:18px;max-width:490px;margin-bottom:0}.services-hero-image{position:relative;min-height:550px;overflow:hidden}.services-hero-image img{position:absolute;inset:0;object-fit:cover;object-position:56% 35%}@media(max-width:900px){.services-hero-copy{padding:50px 9%}.services-hero,.services-hero-image{min-height:480px}}@media(max-width:620px){.services-hero{grid-template-columns:1fr;margin-bottom:30px}.services-hero-copy{padding:48px 7%}.services-hero-copy h1{font-size:3.3rem}.services-hero-copy>p:last-child{font-size:17px}.services-hero-image{height:350px;min-height:0}.services-hero-image img{object-position:50% 30%}}

/* Header phone, left of the appointment button; stays visible next to Menu on small screens. */
.header-actions{display:flex;align-items:center;gap:24px}.header-phone{font-size:15px;font-weight:600;color:var(--teal);text-decoration:none;white-space:nowrap}.header-phone:hover{text-decoration:underline}
@media(max-width:1150px){.header-actions{gap:16px}.header-phone{font-size:14px}}
@media(max-width:900px){.header-actions{margin-left:auto}.site-header .menu-toggle{order:2;margin-left:0}.site-header .nav{order:3}}
@media(max-width:400px){.site-header{padding-inline:5%;gap:10px}.site-header .brand{font-size:1.75rem}.site-header .brand small{font-size:9px;letter-spacing:.5em}.header-phone{font-size:13px}.site-header .menu-toggle{padding:8px 10px}}
.contact-row .home-hours+p{margin-top:10px}
