@import url("https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700;800&display=swap");
:root{--bg:#faf9f5;--ink:#152521;--green:#075c43;--green-dark:#064b38;--yellow:#fff0b6;--text-muted:#4d5652;--line:#deded8;--surface:#fdfbf7;--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.48 "Onest",system-ui,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin-top:0}button{font:inherit}img{display:block;max-width:100%}a{color:inherit}.container{width:min(calc(100% - 56px),var(--container));margin-inline:auto}:focus-visible{outline:2px solid #947d23;outline-offset:4px}.skip-link{position:absolute;top:-70px;left:12px;padding:10px;background:var(--yellow);z-index:9}.skip-link:focus{top:12px}
.site-header__inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:baseline;gap:7px;font-size:clamp(24px,2.6vw,31px);font-weight:800;letter-spacing:-.068em;line-height:1.15;text-decoration:none;white-space:nowrap}.brand em{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;color:var(--green);font-size:1.33em;letter-spacing:-.1em;position:relative}.brand em::after{content:"";position:absolute;right:-2px;bottom:-4px;width:68%;height:7px;border-bottom:4px solid #f3d453;border-radius:50%;transform:rotate(-10deg)}.nav{display:flex;align-items:center;gap:clamp(19px,3vw,42px)}.nav a{text-decoration:none;font-size:14px;font-weight:600}.nav a:hover,.nav a[aria-current=page]{color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;padding:12px 23px;min-height:45px;background:transparent;border:1px solid transparent;border-radius:24px;text-align:center;text-decoration:none;font-weight:700;font-size:14px;line-height:1.25;cursor:pointer}.button--primary,.button--dark{background:var(--green);color:white}.button--primary:hover,.button--dark:hover{background:var(--green-dark)}.button--outline{border-color:var(--green);color:var(--green)}.button--outline:hover{background:#fff9dd}.button--large{min-height:52px;padding-inline:26px}.button[disabled]{opacity:.55;cursor:not-allowed}.header-cta{min-width:154px}
.hero{display:grid;grid-template-columns:42% 58%;min-height:460px;align-items:center;position:relative}.hero__content{position:relative;z-index:1;padding:32px 0 40px}.hero h1{font-size:clamp(46px,5.05vw,62px);line-height:1.07;letter-spacing:-.035em;font-weight:800;margin-bottom:24px}.highlight{position:relative;display:inline-block;isolation:isolate;white-space:nowrap;padding:0 .035em;background:none}
.highlight__text{position:relative;z-index:1}
.highlight__stroke{position:absolute;z-index:0;left:-.015em;bottom:-.065em;width:104%;height:.42em;overflow:visible;pointer-events:none}.hero__lead{font-size:17px;line-height:1.52;letter-spacing:-.018em;max-width:395px;margin-bottom:30px}.hero__visual{width:100%;height:445px;align-self:stretch;position:relative;overflow:visible}.hero-clip-defs{position:absolute;width:0;height:0;overflow:hidden}.hero__visual img{width:100%;height:100%;object-fit:cover;object-position:60% center;clip-path:url(#hero-photo-clip)}
.section{padding-block:28px 53px}.section--services{padding-top:16px;padding-bottom:42px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:27px}.eyebrow{text-transform:uppercase;color:var(--green);font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:9px}.section h2{font-size:clamp(32px,3.5vw,44px);font-weight:800;line-height:1.12;letter-spacing:-.062em;margin-bottom:0}.text-link{display:inline-flex;gap:15px;align-items:center;justify-content:center;color:var(--green);font-weight:600;font-size:14px;text-decoration:none;padding:9px 17px;border-radius:24px;border:1px solid var(--green);white-space:nowrap;line-height:1.25}.text-link:hover{background:#f2f5ec}
.carousel-wrap{position:relative}.services-carousel{display:flex;gap:18px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scroll-padding-left:2px;scrollbar-width:none;padding:2px 1px 4px}.services-carousel::-webkit-scrollbar{display:none}.service-card{flex:0 0 40%;scroll-snap-align:start;display:flex;flex-direction:column;min-width:0;border-radius:21px;overflow:hidden;background:var(--surface);border:1px solid #eeeae3}.service-card img{width:100%;height:166px;object-fit:cover}.service-card__body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:17px 22px 21px;min-height:161px}.service-card h3{font-size:23px;font-weight:700;letter-spacing:-.047em;line-height:1.15;margin-bottom:10px}.service-card p{font-size:13.5px;line-height:1.42;color:var(--text-muted);max-width:360px;margin:0 0 16px}.price-tag{margin-top:auto;font-size:18px;font-weight:750;line-height:1.4;padding:4px 19px;border-radius:24px;background:var(--yellow)}.service-card--more{justify-content:space-between;min-height:328px;padding:28px;background:#e8eee6;border-color:transparent;text-decoration:none;color:var(--green)}.service-card--more:hover{background:#e3eadf}.service-card--more .service-more__eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.service-card--more strong{font-size:clamp(27px,3vw,40px);line-height:1.08;letter-spacing:-.055em;font-weight:700}.service-card--more .service-more__arrow{align-self:flex-end;font-size:31px;font-weight:400}.carousel-arrow{position:absolute;top:41%;z-index:2;width:48px;height:48px;display:grid;place-items:center;background:var(--surface);border:1px solid #eeece8;border-radius:50%;box-shadow:0 2px 10px #1a211b13;font-size:25px;line-height:1;cursor:pointer}.carousel-arrow--prev{left:-22px}.carousel-arrow--next{right:-22px}.carousel-arrow[hidden]{display:none}.carousel-arrow[disabled]{opacity:.38;cursor:default}.carousel-dots{display:flex;justify-content:center;gap:10px;margin-top:20px}.carousel-dots span{width:8px;height:8px;border-radius:50%;background:#deddd6}.carousel-dots span.is-active{background:var(--green)}
.section--questions{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:start;padding-top:28px;padding-bottom:44px}.faq h2{margin-bottom:27px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;position:relative;cursor:pointer;padding:18px 31px 18px 0;font-size:15.5px;font-weight:700;letter-spacing:-.02em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";font-size:24px;font-weight:400;line-height:1;position:absolute;right:7px;top:17px}.faq-list details[open] summary::after{content:"−"}.faq-list details p{font-size:13.5px;color:var(--text-muted);line-height:1.6;margin-bottom:16px;padding-right:30px}








.contact-number+.contact-numbers div{display:grid;gap:0;align-content:start}
.footer{padding-block:27px 23px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr 1.7fr;gap:23px;align-items:start}.brand--footer{font-size:23px}.footer__details{display:flex;flex-wrap:wrap;gap:7px 16px;font-size:12.5px}.footer__details p{margin:0;flex:0 0 100%;font-weight:650}.footer__details a{text-decoration:none;white-space:nowrap}.footer__links{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:flex-end;font-size:12.5px}.footer__pending{grid-column:1/-1;color:#777e76;font-size:11px;margin:3px 0 0}
.inner-page{min-height:60vh;padding-block:52px 80px}.inner-page h1{font-size:clamp(40px,5vw,62px);letter-spacing:-.06em;line-height:1.1;font-weight:800;margin-bottom:18px}.inner-page__lead{max-width:680px;color:var(--text-muted);font-size:17px;margin-bottom:42px}.back-link{display:inline-flex;align-items:center;color:var(--green);text-decoration:none;font-size:13px;font-weight:600;margin-bottom:28px}.price-section{max-width:900px;margin-top:32px}.price-section h2{font-size:25px;letter-spacing:-.04em;margin-bottom:15px}.price-row{display:flex;justify-content:space-between;gap:22px;align-items:baseline;border-top:1px solid var(--line);padding:17px 0}.price-row strong{white-space:nowrap}.prices-cta{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:50px}.prices-cta p{margin-bottom:0}.inner-page--legal{max-width:860px}.inner-page--legal h2{font-size:23px;margin-top:32px}.draft-notice{background:var(--yellow);padding:19px 22px;border-radius:12px}
@media(max-width:900px){.container{width:calc(100% - 44px)}.nav{gap:14px}.nav a{font-size:13px}.hero{grid-template-columns:43% 57%;min-height:390px}.hero h1{font-size:clamp(41px,5.3vw,55px)}.hero__visual{height:390px}.hero__lead{font-size:15px}.service-card{flex-basis:44%}.section--questions{gap:22px}.footer{grid-template-columns:1fr 1.4fr}}
@media(max-width:650px){.container{width:calc(100% - 32px)}.site-header__inner{height:auto;min-height:74px;padding-block:14px;gap:12px;flex-wrap:wrap}.brand{font-size:22px}.nav{order:3;flex:0 0 100%;gap:8px;justify-content:space-between}.nav a{font-size:12px}.header-cta{min-width:auto;min-height:40px;padding:9px 14px;font-size:12px}.hero{display:flex;flex-direction:column;min-height:0;align-items:stretch}.hero__content{padding:42px 0 18px}.hero h1{font-size:clamp(40px,10.3vw,57px);margin-bottom:24px;letter-spacing:-.035em}.hero__lead{max-width:370px;font-size:16px;margin-bottom:25px}.hero__visual{height:auto;aspect-ratio:1.48/1;align-self:auto}.hero__visual img{object-fit:cover;object-position:62% center}.section{padding-top:33px;padding-bottom:35px}.section-heading{flex-direction:column;align-items:start;gap:16px;margin-bottom:23px}.section h2{font-size:32px}.text-link{font-size:13px}.service-card{flex-basis:86%;border-radius:18px}.service-card img{height:155px}.service-card__body{padding:17px 19px 20px;min-height:162px}.service-card h3{font-size:21px}.service-card--more{min-height:319px}.carousel-arrow{width:40px;height:40px;top:41%}.carousel-arrow--prev{left:-12px}.carousel-arrow--next{right:-12px}.section--questions{display:flex;flex-direction:column;gap:42px}.faq,.faq h2{margin-bottom:23px}.footer{grid-template-columns:1fr;gap:18px}.footer__links{justify-content:flex-start}.footer__pending{grid-column:auto}.inner-page{padding-top:40px}.inner-page__lead{font-size:15px}}

@media(max-width:370px){.brand{font-size:20px}.nav a{font-size:11px}.hero h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.services-carousel{scroll-behavior:auto}}


/* Patient-friendly price catalogue */
.inner-page--prices{max-width:var(--container)}
.price-overview{max-width:920px;padding:23px 28px;background:#fff4c9;border-radius:18px;margin:0 0 29px}
.price-overview>strong{display:block;font-size:17px;margin-bottom:7px}
.price-overview p{color:var(--text-muted);font-size:14px;line-height:1.65;margin:0}
.price-overview p strong{color:var(--ink)}
.price-catalog{max-width:1020px;border-top:1px solid var(--line)}
.price-category{border-bottom:1px solid var(--line)}
.price-category>summary{display:flex;align-items:center;gap:19px;cursor:pointer;list-style:none;padding:25px 6px 25px 0}
.price-category>summary::-webkit-details-marker{display:none}
.price-category__intro{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.price-category__intro>strong{font-size:clamp(20px,2.4vw,26px);line-height:1.2;letter-spacing:-.045em}
.price-category__intro>small{color:var(--text-muted);font-size:13px}
.price-category__value{color:var(--green);font-size:16px;font-weight:700;white-space:nowrap}
.price-category__toggle{font-size:28px;font-weight:400;line-height:1;min-width:25px;text-align:center}
.price-category[open] .price-category__toggle{font-size:0}
.price-category[open] .price-category__toggle:after{content:"−";font-size:28px}
.price-category__content{padding:0 42px 24px 0}
.price-category__content h3{font-size:16px;font-weight:700;margin:26px 0 8px}
.price-category__content h3 span{font-weight:400;color:var(--text-muted);font-size:13px}
.price-category__hint{font-size:13px;line-height:1.6;color:var(--text-muted);max-width:760px;margin:0 0 20px}
.price-catalog-row{display:flex;justify-content:space-between;gap:22px;padding:13px 0;border-bottom:1px solid #e9e9e3;font-size:14px;line-height:1.45}
.price-catalog-row:last-child{border-bottom:0}
.price-catalog-row strong{text-align:right;white-space:nowrap;font-size:15px}
.inner-page--prices .prices-cta{max-width:1020px;background:#eaf0e9;padding:28px 30px;border-radius:18px;justify-content:space-between}
.inner-page--prices .prices-cta h2{font-size:23px;letter-spacing:-.04em;margin:0 0 5px}
.inner-page--prices .prices-cta p{color:var(--text-muted);font-size:14px}
@media(max-width:650px){
 .price-overview{padding:20px}
 .price-category>summary{gap:10px;flex-wrap:wrap;padding:21px 0}
 .price-category__intro{flex:1 1 calc(100% - 45px)}
 .price-category__value{font-size:14px;order:3;flex:1 0 100%}
 .price-category__toggle{order:2}
 .price-category__content{padding-right:0}
 .price-catalog-row{font-size:13px;gap:12px}
 .price-catalog-row strong{font-size:14px}
 .inner-page--prices .prices-cta{padding:22px}
}


/* Information-only location card, without appointment or tracking embeds */
.location-panel{min-width:0;min-height:350px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;background:var(--yellow);padding:34px 38px 29px;border-radius:28px}
.location-panel__eyebrow{color:var(--green);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:17px}
.location-panel h2{font-size:clamp(32px,3.2vw,43px);color:var(--green);line-height:1.13;letter-spacing:-.06em;margin:0 0 14px}
.location-panel__intro{color:var(--ink);font-size:15px;line-height:1.55;max-width:390px;margin:0 0 24px}
.location-panel__mark{position:absolute;right:37px;bottom:93px;color:#b8cba6;transform:rotate(10deg);pointer-events:none}
.location-panel__mark svg{width:110px;height:135px}
.location-panel__action{position:relative;z-index:1;margin-top:auto;min-width:240px}
.location-panel__footnote{position:relative;z-index:1;color:var(--text-muted);font-size:12px;margin:14px 0 0}
.footer__details span{font-size:12px;color:var(--text-muted)}
@media(max-width:900px){.location-panel{padding:28px 25px;min-height:320px}.location-panel__mark{right:17px;bottom:87px}.location-panel__mark svg{width:85px}}
@media(max-width:650px){.location-panel{min-height:305px;padding:30px 26px}.location-panel__mark{right:22px;bottom:78px}.location-panel__mark svg{width:72px}}

/* Align the location card with the FAQ list, not with its heading */
@media(min-width:651px){
 .section--questions{grid-template-areas:"faq-heading ." "faq-list location";grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);column-gap:48px;row-gap:23px;align-items:start}
 .faq-heading{grid-area:faq-heading}
 .faq-list{grid-area:faq-list}
 .section--questions .location-panel{grid-area:location;align-self:start;min-height:350px}
 .faq-heading h2{margin-bottom:0}
}
@media(min-width:651px) and (max-width:900px){
 .section--questions{column-gap:22px}
}
@media(max-width:650px){
 .section--questions{gap:0}
 .faq-heading,.faq-list,.location-panel{width:100%}
 .faq-heading{margin-bottom:23px}
 .faq-heading h2{margin:0}
 .faq-list{margin-bottom:35px}
}

/* Keep footer support label and number together. Do not stretch map when FAQ expands. */
.footer__details{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.footer__details p{margin:0 0 2px;flex:none}
.footer__inn{font-size:12.5px;color:var(--text-muted)}
.footer__support{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px;font-size:12.5px}
.footer__support span{color:var(--text-muted);font-size:12.5px}
.footer__support a{font-size:12.5px;text-decoration:none;white-space:nowrap}
@media(min-width:651px){.section--questions .location-panel{align-self:start;min-height:350px}}

/* Desktop: only carousel arrows scroll cards; vertical wheel keeps scrolling the page.
   Touch devices retain native horizontal swiping. */
@media (hover:hover) and (pointer:fine){
  .services-carousel{overflow-x:hidden}
}

/* Keep FAQ and long legal headings readable without changing other titles. */
.faq-heading h2{letter-spacing:-.015em;line-height:1.17}
.inner-page--legal h1{letter-spacing:-.015em;line-height:1.17}
