/* The concise shared footer follows the clinic's dark green identity. */
html body footer { background:#22261f; color:#f7f4ee; border-top:1px solid rgba(247,244,238,.14); padding:clamp(56px,6vw,88px) 0 32px; }
html body footer .newsletter-signup { border-color:rgba(247,244,238,.2); padding-bottom:clamp(48px,5vw,72px); margin-bottom:clamp(44px,5vw,64px); }
html body footer .newsletter-signup h2 { color:#f7f4ee; font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; font-size:clamp(2.4rem,3.5vw,4.25rem); line-height:1.04; letter-spacing:-.025em; }
html body footer .newsletter-signup p, html body footer .clinic-form label, html body footer .clinic-form .form-status, html body footer .clinic-form .consent, html body footer .clinic-form .consent a { color:#e4e1d9; }
html body footer .clinic-form input:not([type=checkbox]) { background:#f7f4ee; color:#22261f; border-color:#dedbd3; }
html body footer .clinic-form input[type=checkbox] { accent-color:#929a85; }
html body footer .clinic-form .btn { background:#929a85; color:#20241f; border-color:#929a85; }
html body footer .clinic-form .btn:hover:not(:disabled) { background:#a6ad9c; border-color:#a6ad9c; }
html body footer .foot-sign { margin:0 0 24px; }
html body footer .foot-sign .foot-mark { background:url(/assets/img/logo-black.png) center / contain no-repeat !important; -webkit-mask-image:none !important; mask-image:none !important; filter:invert(1); width:clamp(156px,15vw,220px); max-height:none; }
html body footer .foot-compact { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:end; padding-bottom:clamp(36px,4vw,56px); }
html body footer .foot-compact p { margin:0; color:#e4e1d9; font-size:clamp(.92rem,1vw,1.05rem); line-height:1.6; }
html body footer .foot-contact { display:flex; flex-direction:column; gap:5px; align-items:flex-start; }
html body footer .foot-contact a { color:#f7f4ee; font-size:clamp(.92rem,1vw,1.05rem); line-height:1.65; text-decoration:none; overflow-wrap:anywhere; }
html body footer .foot-contact a:hover, html body footer .foot-base a:hover { color:#c6ccbd; }
html body footer .foot-base { border-top:1px solid rgba(247,244,238,.2); padding-top:24px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 28px; color:#c6ccbd; font-size:.79rem; line-height:1.6; }
html body footer .foot-base a { color:#e4e1d9; text-decoration:none; display:inline-block; min-width:0; min-height:0; padding:2px 0; margin-right:18px; }
html body footer .foot-base a:last-child { margin-right:0; }
html body footer .foot-base__legal { display:flex; flex-wrap:wrap; gap:0 18px; }
html body footer .foot-base__legal a { margin:0; }
html body footer .foot-disclosure { flex-basis:100%; opacity:.8; }
@media(max-width:760px) { html body footer { padding:56px 0 100px; } html body footer .foot-sign { display:block; margin-bottom:20px; } html body footer .foot-compact { grid-template-columns:1fr; gap:0; padding-bottom:36px; } html body footer .foot-base { flex-direction:column; align-items:flex-start; gap:10px; } }
/* The three client voices sit near the team, without decorative cards. */
html body .client-voices { background:#22261f; color:#f7f4ee; padding:clamp(72px,9vw,132px) var(--gutter,4vw); }
html body .client-voices__inner { max-width:1800px; margin:auto; }
html body .client-voices__eyebrow { margin:0 0 28px; color:#c6ccbd; font:600 .75rem/1.4 Inter,Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
html body .client-voices h2 { margin:0 0 clamp(42px,5vw,76px); max-width:900px; color:#f7f4ee; font:500 clamp(2.7rem,5vw,5.5rem)/.98 'Cormorant Garamond',Georgia,serif; letter-spacing:-.025em; }
html body .client-voices__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,4vw,72px); }
html body .client-voices blockquote { display:flex; flex-direction:column; justify-content:space-between; gap:32px; margin:0; padding:24px 0 0; border-top:1px solid rgba(247,244,238,.3); }
html body .client-voices blockquote p { margin:0; color:#f7f4ee; font:400 clamp(1.05rem,1.35vw,1.3rem)/1.55 Inter,Arial,sans-serif; }
html body .client-voices blockquote cite { color:#bfc5b5; font:400 .88rem/1.5 Inter,Arial,sans-serif; font-style:normal; }
@media(max-width:800px) { html body .client-voices__grid { grid-template-columns:1fr; gap:40px; } html body .client-voices blockquote { gap:20px; } }


/* Shared footer alignment: the same measured content width on every route. */
html body footer > .container,
html body.simplified-home-review footer > .container {
  width: calc(100% - 96px) !important;
  max-width: none !important;
  margin-inline: 48px !important;
}
@media (max-width: 760px) {
  html body footer > .container,
  html body.simplified-home-review footer > .container {
    width: calc(100% - 48px) !important;
    margin-inline: 24px !important;
  }
}
html body footer,
html body.simplified-home-review footer { padding-top: clamp(56px, 5.5vw, 88px); }
html body footer .newsletter-signup,
html body.simplified-home-review footer .newsletter-signup {
  padding-top: 0 !important;
  padding-bottom: clamp(48px, 5vw, 72px);
  margin-bottom: clamp(44px, 5vw, 64px);
}
html body footer .foot-sign,
html body.simplified-home-review footer .foot-sign { text-align: left; margin-bottom: 24px; }
html body footer .foot-compact { display: block; }
@media (max-width: 760px) {
  html body footer,
  html body.simplified-home-review footer { padding-top: 56px; }
  html body footer .newsletter-signup,
  html body.simplified-home-review footer .newsletter-signup {
    padding-top: 0 !important;
    padding-bottom: 48px;
    margin-bottom: 40px;
  }
  html body footer .foot-sign,
  html body.simplified-home-review footer .foot-sign { margin-bottom: 20px; }
}

/* Review words have an editorial italic; attribution stays upright. */
html body .client-voices blockquote p { font-style: italic; }

/* Render the two-tone brand artwork directly at every footer width. */
html body footer .foot-sign { display:block; }
html body footer .foot-sign .foot-mark { background:url(/assets/img/logo-black.png) left center / contain no-repeat !important; -webkit-mask:none !important; mask:none !important; filter:invert(1) !important; width:clamp(156px,15vw,220px); aspect-ratio:4/1; height:auto; transform:none; }

/* Consistent, accessible footer actions across every route. */
html body footer .foot-contact a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
}
html body footer .foot-base a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-block:10px;
}

/* Shared narrow shell: one alignment rule for navigation and every footer. */
html body {
  --shared-narrow-shell: 1100px;
}
html body header.nav .nav-inner,
html body footer > .container,
html body.simplified-home-review footer > .container {
  width: calc(100% - 2 * clamp(24px, 3.4vw, 56px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
}
html body footer .newsletter-signup .clinic-form {
  width: 100%;
  max-width: 560px;
  justify-self: end;
}
@media (max-width: 900px) {
  html body footer .newsletter-signup .clinic-form {
    max-width: 680px;
    justify-self: start;
  }
}
@media (max-width: 600px) {
  html body footer .newsletter-signup .clinic-form {
    max-width: none;
  }
}

/* Inner pages: match the newsletter/footer to the same centred content shell as page sections. */
html body.page-open footer > .container {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
}
html body footer .newsletter-signup h2 {
  max-width: 15ch;
  font-size: clamp(2rem, 2.4vw, 3rem);
  line-height: 1.06;
  letter-spacing: -.02em;
}
@media (max-width: 760px) {
  html body.page-open footer > .container {
    width: calc(100% - 48px) !important;
  }
  html body footer .newsletter-signup h2 {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }
}
