@font-face {
  font-family: "Cormorant Garamond";
  src: url("/assets/fonts/cormorant-garamond-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("/assets/fonts/cormorant-garamond-italic-latin.woff2")
    format("woff2");
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
}
@font-face {
  font-family: Manrope;
  src: url("/assets/fonts/manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
:root {
  --emerald: #052f25;
  --emerald-secondary: #2d554c;
  --gold: #cda557;
  --gold-dark: #b0893a;
  --ivory: #faf8f3;
  --white: #fff;
  --ink: #18211d;
  --muted: #68716c;
  --border: rgba(5, 47, 37, 0.12);
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: Manrope, Arial, sans-serif;
  --text-small: 0.78rem;
  --text-body: 1rem;
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4rem;
  --space-7: 6rem;
  --section-space: clamp(5rem, 9vw, 8rem);
  --container: 1280px;
  --gutter: clamp(1.25rem, 5.5vw, 5rem);
  --radius: 2px;
  --shadow: 0 12px 35px rgba(5, 47, 37, 0.05);
  --motion-fast: 180ms;
  --motion-slow: 700ms;
  --ease: cubic-bezier(0.2, 0.65, 0.3, 1);
  --header-height: 104px;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 24px);
}
body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
body.dialog-open {
  overflow: hidden;
}
::selection {
  background: var(--emerald);
  color: var(--ivory);
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
h3 {
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--emerald);
}
h1 {
  font-size: clamp(3.55rem, 7.35vw, 6.65rem);
  line-height: 0.99;
  letter-spacing: -0.045em;
}
h2 {
  font-size: clamp(2.7rem, 4.8vw, 4.3rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
}
h3 {
  font-size: 2rem;
  line-height: 1.15;
  letter-spacing: -0.025em;
}
em {
  font-weight: 400;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
svg {
  flex-shrink: 0;
}
button {
  color: inherit;
}
a,
button {
  -webkit-touch-callout: default;
}
button:disabled {
  cursor: default;
}
:focus-visible {
  outline: 2px solid var(--gold-dark);
  outline-offset: 5px;
}
[hidden] {
  display: none !important;
}
main:focus {
  outline: none;
}
.container {
  width: calc(100% - var(--gutter) * 2);
  max-width: var(--container);
  margin-inline: auto;
}
.section {
  padding-block: var(--section-space);
}
.eyebrow {
  display: block;
  font-size: 0.66rem;
  line-height: 1.5;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--emerald-secondary);
}
.small {
  font-size: 0.76rem;
  line-height: 1.65;
}
.skip-link {
  position: fixed;
  top: 10px;
  left: 12px;
  padding: 12px 20px;
  background: var(--emerald);
  color: var(--white);
  z-index: 100;
  transform: translateY(-180%);
}
.skip-link:focus {
  transform: translateY(0);
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  min-height: 54px;
  padding: 14px 22px;
  border: 1px solid var(--emerald);
  border-radius: var(--radius);
  background: var(--emerald);
  color: var(--white);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  transition:
    background var(--motion-fast),
    transform var(--motion-fast);
}
.button:hover {
  background: var(--emerald-secondary);
  transform: translateY(-2px);
}
.button svg {
  width: 17px;
  height: 17px;
}
.button--compact {
  min-height: 44px;
  padding: 12px 18px;
  gap: 18px;
  font-size: 0.67rem;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  min-height: 44px;
  border-bottom: 1px solid var(--border);
  font-size: 0.76rem;
  color: var(--emerald);
}
.text-link svg {
  width: 18px;
  height: 18px;
  transition: transform var(--motion-fast);
}
.text-link:hover svg {
  transform: translateX(4px);
}
.text-link:hover {
  border-color: var(--emerald);
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  height: var(--header-height);
  background: rgba(250, 248, 243, 0.82);
  transition:
    background 250ms,
    box-shadow 250ms;
}
.site-header.is-scrolled {
  background: rgba(250, 248, 243, 0.96);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
}
.header-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  border-bottom: 1px solid var(--border);
}
.brand {
  display: block;
  width: 245px;
  flex-shrink: 0;
}
.brand img {
  width: 100%;
  height: auto;
}
.primary-nav {
  display: flex;
  align-items: center;
  gap: 29px;
}
.primary-nav > a:not(.button) {
  font-size: 0.72rem;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  position: relative;
}
.primary-nav > a:not(.button)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  height: 1px;
  background: var(--gold-dark);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--motion-fast);
}
.primary-nav > a:hover::after,
.primary-nav > a[aria-current]::after {
  transform: scaleX(1);
}
.menu-toggle {
  display: none;
}
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.hero-content {
  padding-top: 75px;
}
.hero .eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 32px;
}
.eyebrow-line {
  width: 30px;
  height: 1px;
  background: var(--gold-dark);
}
.hero h1 {
  max-width: 1000px;
}
.hero h1 em {
  color: var(--emerald-secondary);
}
.hero-bottom {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 48px;
  margin-top: 35px;
}
.hero-copy > p {
  font-size: 0.9rem;
  line-height: 1.9;
  max-width: 400px;
  color: var(--muted);
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-top: 28px;
}
.hero-note {
  display: flex;
  align-items: center;
  gap: 21px;
  font-size: 0.7rem;
  line-height: 1.8;
  color: var(--emerald-secondary);
  padding-bottom: 12px;
}
.tiny-cross {
  color: var(--gold-dark);
  font-size: 30px;
}
.hero-footnote {
  display: flex;
  justify-content: space-between;
  font-size: 0.61rem;
  letter-spacing: 0.1em;
  color: var(--muted);
  border-top: 1px solid var(--border);
  padding: 22px 0;
  margin-top: 58px;
}
.hero-footnote a {
  min-height: 44px;
  display: flex;
  gap: 28px;
  align-items: center;
  margin-top: -11px;
  margin-bottom: -11px;
}
.hero-lines {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.hero-lines span {
  position: absolute;
  border: 1px solid rgba(176, 137, 58, 0.15);
  width: 410px;
  height: 580px;
  border-radius: 50%;
  right: 20px;
  top: 20px;
  transform: rotate(32deg);
}
.hero-lines span:nth-child(2) {
  right: -30px;
  top: -16px;
  width: 440px;
  height: 635px;
}
.hero-lines span:nth-child(3) {
  right: -80px;
  top: -52px;
  width: 470px;
  height: 690px;
}
.hero-lines::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--ivory) 39%, transparent 83%);
}
.intro-video {
  padding-top: 22px;
}
.video-topline {
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
  color: var(--muted);
}
.video-topline .eyebrow {
  font-size: 0.61rem;
}
.video-topline .small {
  font-size: 0.65rem;
}
.video-poster {
  aspect-ratio: 16/9;
  position: relative;
  isolation: isolate;
  background: var(--emerald);
  color: var(--ivory);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.video-orbit {
  position: absolute;
  width: 48%;
  height: 135%;
  border: 1px solid rgba(205, 165, 87, 0.24);
  border-radius: 50%;
  transform: rotate(35deg);
  z-index: -1;
}
.video-orbit::before,
.video-orbit::after {
  content: "";
  position: absolute;
  inset: -35px;
  border: 1px solid rgba(205, 165, 87, 0.15);
  border-radius: 50%;
}
.video-orbit::after {
  inset: -70px;
}
.video-corner {
  position: absolute;
  top: 30px;
  left: 34px;
  color: #d2dcd5;
  font-size: 0.55rem;
}
.video-centre {
  text-align: center;
}
.video-centre .eyebrow {
  color: #c6d1ca;
  font-size: 0.6rem;
  margin: 25px 0 17px;
}
.video-centre h2 {
  color: var(--ivory);
  font-size: clamp(2.5rem, 4.5vw, 4rem);
}
.play-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: transparent;
  color: var(--ivory);
  border: 1px solid rgba(250, 248, 243, 0.5);
  border-radius: 50%;
  margin-inline: auto;
  transition:
    background var(--motion-fast),
    transform var(--motion-fast);
}
.play-button svg {
  width: 21px;
  height: 21px;
  margin-left: 3px;
}
.play-button:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: scale(1.04);
}
.video-caption {
  position: absolute;
  bottom: 30px;
  left: 34px;
  right: 34px;
  display: flex;
  justify-content: space-between;
  font-size: 0.62rem;
  color: #c6d1ca;
}
.coming-soon {
  display: flex;
  align-items: center;
  gap: 8px;
}
.coming-soon > span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
}
.video-dialog {
  position: fixed;
  width: min(600px, calc(100% - 32px));
  border: 1px solid var(--border);
  padding: 60px 40px 40px;
  background: var(--ivory);
  color: var(--ink);
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
}
.video-dialog::backdrop {
  background: rgba(5, 47, 37, 0.7);
  backdrop-filter: blur(5px);
}
.video-dialog h2 {
  font-size: 3rem;
  margin: 20px 0;
}
.video-dialog p {
  font-size: 0.9rem;
  color: var(--muted);
  margin-bottom: 28px;
}
.dialog-close {
  position: absolute;
  right: 12px;
  top: 12px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
}
.site-footer {
  padding-top: 70px;
  background: var(--emerald);
  color: #d9e2dc;
}
.footer-top {
  display: grid;
  grid-template-columns: 1.7fr 1fr 1fr 1fr;
  gap: 35px;
  padding-bottom: 70px;
}
.footer-wordmark {
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1.1;
  color: var(--ivory);
}
.footer-wordmark span {
  font-family: var(--font-body);
  font-size: 0.51rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  display: block;
  margin-top: 12px;
}
.footer-brand > p {
  font-family: var(--font-display);
  font-size: 1.65rem;
  line-height: 1.2;
  margin-top: 28px;
  color: #b9c8c0;
}
.footer-top nav {
  display: flex;
  flex-direction: column;
  align-items: start;
}
.footer-top .eyebrow {
  font-size: 0.58rem;
  color: var(--gold);
  margin-bottom: 22px;
}
.footer-top nav > a {
  display: flex;
  align-items: center;
  min-height: 44px;
  font-size: 0.73rem;
}
.footer-top nav > a:hover {
  color: var(--white);
  text-decoration: underline;
  text-underline-offset: 5px;
}
.footer-location > p {
  font-size: 0.8rem;
  margin-top: 12px;
}
.footer-location .small {
  font-size: 0.68rem;
  color: #b9c8c0;
}
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  min-height: 85px;
  font-size: 0.6rem;
  color: #b9c8c0;
}
.footer-bottom a {
  min-height: 44px;
  display: flex;
  align-items: center;
}
@media (min-width: 1600px) {
  .hero-lines span {
    right: calc((100vw - 1500px) / 2);
  }
}
@media (max-width: 1100px) {
  .primary-nav {
    gap: 19px;
  }
  .brand {
    width: 210px;
  }
  .header-inner {
    gap: 25px;
  }
  .hero-note {
    max-width: 200px;
  }
  .footer-top {
    grid-template-columns: 1.4fr 1fr 1fr;
  }
  .footer-location {
    grid-column: 2/4;
  }
}
@media (max-width: 900px) {
  :root {
    --header-height: 88px;
  }
  .header-inner {
    flex-wrap: wrap;
    gap: 0;
  }
  .brand {
    width: 210px;
  }
  .menu-toggle:not([hidden]) {
    display: flex;
    align-items: center;
    gap: 13px;
    background: transparent;
    border: 0;
    min-height: 48px;
    font-size: 0.7rem;
    padding: 6px;
  }
  .menu-lines {
    width: 22px;
    height: 12px;
    position: relative;
    border-top: 1px solid var(--emerald);
    border-bottom: 1px solid var(--emerald);
  }
  .menu-toggle[aria-expanded="true"] .menu-lines {
    height: 0;
    transform: rotate(45deg);
  }
  .menu-toggle[aria-expanded="true"] .menu-lines::after {
    content: "";
    position: absolute;
    width: 22px;
    border-top: 1px solid var(--emerald);
    transform: rotate(-90deg);
    top: -1px;
    left: 0;
  }
  .primary-nav {
    background: var(--ivory);
    padding: 18px 24px 28px;
    position: absolute;
    top: var(--header-height);
    left: 0;
    right: 0;
    box-shadow: var(--shadow);
    flex-direction: column;
    align-items: stretch;
    gap: 3px;
    max-height: calc(100dvh - var(--header-height));
    overflow: auto;
  }
  .primary-nav > a:not(.button) {
    font-size: 1rem;
    padding: 5px 0;
    min-height: 48px;
  }
  .primary-nav .button {
    margin-top: 12px;
    align-self: start;
  }
  .hero-content {
    padding-top: 65px;
  }
  .hero h1 {
    font-size: clamp(3.7rem, 8.7vw, 6rem);
  }
  .hero-note {
    display: none;
  }
  .hero-bottom {
    margin-top: 30px;
  }
  .hero-lines span {
    right: -120px;
    opacity: 0.65;
  }
  .hero-lines span:nth-child(2) {
    right: -170px;
  }
  .hero-lines span:nth-child(3) {
    right: -220px;
  }
  .footer-top {
    gap: 30px;
  }
  .site-header:has(.menu-toggle[hidden]) {
    height: auto;
    position: relative;
  }
  .site-header:has(.menu-toggle[hidden]) .header-inner {
    padding-top: 20px;
  }
  .site-header:has(.menu-toggle[hidden]) .primary-nav {
    position: static;
    box-shadow: none;
    width: 100%;
    padding: 20px 0;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }
  .site-header:has(.menu-toggle[hidden]) .primary-nav > a {
    font-size: 0.75rem;
  }
}
@media (max-width: 600px) {
  :root {
    --header-height: 80px;
    --gutter: 24px;
  }
  .brand {
    width: 205px;
  }
  .hero-content {
    padding-top: 48px;
  }
  .hero .eyebrow {
    font-size: 0.55rem;
    letter-spacing: 0.15em;
    gap: 10px;
    margin-bottom: 28px;
  }
  .eyebrow-line {
    width: 22px;
  }
  .hero h1 {
    font-size: clamp(3rem, 10.7vw, 4rem);
    line-height: 1.05;
    letter-spacing: -0.05em;
  }
  .hero-copy > p {
    font-size: 0.82rem;
    line-height: 1.85;
    max-width: 330px;
  }
  .hero-bottom {
    margin-top: 24px;
  }
  .hero-actions {
    align-items: start;
    flex-direction: column;
    gap: 13px;
    margin-top: 24px;
  }
  .hero-actions .button {
    gap: 30px;
  }
  .hero-actions .text-link {
    font-size: 0.7rem;
  }
  .hero-footnote {
    font-size: 0.53rem;
    letter-spacing: 0.02em;
    margin-top: 36px;
    padding-block: 20px;
  }
  .hero-footnote a {
    gap: 12px;
  }
  .hero-lines span {
    width: 250px;
    height: 450px;
    top: 40px;
    right: -210px;
  }
  .hero-lines span:nth-child(2) {
    width: 290px;
    height: 510px;
    right: -240px;
    top: 10px;
  }
  .hero-lines span:nth-child(3) {
    width: 330px;
    height: 570px;
    right: -270px;
    top: -20px;
  }
  .intro-video {
    padding-top: 20px;
  }
  .video-topline .small {
    display: none;
  }
  .video-poster {
    aspect-ratio: 16/9;
  }
  .video-corner,
  .video-caption > span:first-child {
    display: none;
  }
  .video-centre .eyebrow {
    display: none;
  }
  .play-button {
    height: 44px;
    width: 44px;
    margin-bottom: 12px;
  }
  .video-centre h2 {
    font-size: 1.8rem;
    line-height: 1;
  }
  .video-caption {
    bottom: 12px;
    left: 14px;
    right: 14px;
    justify-content: end;
    font-size: 0.46rem;
  }
  .video-orbit {
    width: 60%;
  }
  .video-dialog {
    padding: 60px 24px 30px;
  }
  .video-dialog h2 {
    font-size: 2.5rem;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 40px 24px;
  }
  .footer-brand {
    grid-column: 1/-1;
  }
  .footer-location {
    grid-column: 1/-1;
  }
  .footer-bottom {
    flex-wrap: wrap;
    padding-block: 18px;
    gap: 6px 12px;
  }
  .footer-bottom > span:nth-child(2) {
    display: none;
  }
  .footer-bottom > a {
    margin-left: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
}

.section-heading {
  margin-bottom: 48px;
}
.section-heading .eyebrow {
  margin-bottom: 22px;
}
.section-heading--split {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
}
.section-heading--split > .text-link {
  margin-bottom: 7px;
}
.section-aside {
  max-width: 315px;
  font-size: 0.78rem;
  color: var(--emerald-secondary);
  line-height: 1.9;
  padding-bottom: 6px;
}
.section-description {
  font-size: 0.9rem;
  line-height: 1.9;
  max-width: 630px;
  color: var(--muted);
  margin-top: 24px;
}
.care-panels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.care-panel {
  min-width: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 45px 44px 34px;
  background: #efeee7;
  border: 1px solid var(--border);
  transition: background 250ms;
}
.care-panel--aesthetics {
  background: #e7ebe5;
}
.care-panel > .eyebrow {
  font-size: 0.6rem;
}
.care-panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 30px 0 20px;
}
.care-panel-title h3 {
  font-size: 4.5rem;
}
.circle-arrow {
  flex-shrink: 0;
  width: 49px;
  height: 49px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(5, 47, 37, 0.3);
  border-radius: 50%;
  color: var(--emerald);
  transition:
    transform 250ms,
    background 250ms;
}
.circle-arrow svg {
  width: 20px;
  height: 20px;
}
.care-panel > p {
  max-width: 390px;
  font-size: 0.83rem;
  color: var(--emerald-secondary);
  line-height: 1.9;
  margin-bottom: 40px;
}
.care-panel-link {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid rgba(5, 47, 37, 0.18);
  padding-top: 23px;
  margin-top: auto;
  font-size: 0.72rem;
  color: var(--emerald);
}
.care-panel:hover {
  background: #e5e8df;
}
.care-panel:hover .circle-arrow {
  transform: rotate(45deg);
  background: rgba(255, 255, 255, 0.35);
}
.treatments-section {
  background: #f0f1eb;
  border-block: 1px solid var(--border);
}
.treatment-group + .treatment-group {
  margin-top: 52px;
}
.treatment-group-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
}
.treatment-group-title h3 {
  font-size: 1.9rem;
}
.treatment-group-title .text-link {
  font-size: 0.66rem;
  border: 0;
}
.treatment-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-left: 1px solid var(--border);
  border-top: 1px solid var(--border);
}
.treatment-item {
  min-height: 111px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 22px 24px;
  font-size: 0.78rem;
  line-height: 1.7;
  color: var(--emerald);
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  transition: background var(--motion-fast);
}
.treatment-item svg {
  width: 16px;
  height: 16px;
  color: var(--emerald-secondary);
}
.treatment-item:hover {
  background: var(--ivory);
}
.treatment-item:hover svg {
  color: var(--emerald);
}
.clinician-spread {
  display: grid;
  grid-template-columns: 1.08fr 0.84fr;
  gap: clamp(40px, 10vw, 144px);
  align-items: start;
  padding: 10px 38px 0 0;
}
.clinician--2 {
  padding-top: 105px;
}
.clinician-photo {
  display: block;
  position: relative;
  overflow: hidden;
  background: #e4e7e1;
}
.clinician-photo picture {
  display: block;
}
.portrait {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.portrait--dr-nimra-khan {
  object-position: 50% 28%;
}
.clinician-photo .portrait {
  aspect-ratio: 4/5;
  transition: transform 700ms var(--ease);
}
.clinician-photo:hover .portrait {
  transform: scale(1.018);
}
.portrait-link {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--ivory);
  color: var(--emerald);
}
.portrait-link svg {
  width: 19px;
  height: 19px;
}
.clinician-caption {
  margin-top: 24px;
  border-top: 1px solid var(--border);
  padding-top: 21px;
}
.clinician-caption .eyebrow {
  font-size: 0.56rem;
  margin-bottom: 12px;
}
.clinician-caption h3 {
  font-size: clamp(1.8rem, 2.65vw, 2.6rem);
  max-width: 450px;
}
.clinician-caption h3 a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.clinician-caption > p {
  font-size: 0.74rem;
  color: var(--muted);
  margin-top: 9px;
}
.doctors-directory {
  padding-bottom: var(--section-space);
}
.approach-section {
  background: #edf0e9;
}
.approach-intro {
  display: grid;
  grid-template-columns: 1.65fr 1fr;
  gap: 60px;
  align-items: end;
}
.approach-intro h2 {
  font-size: clamp(2.7rem, 4.2vw, 3.8rem);
}
.approach-intro .eyebrow {
  margin-bottom: 24px;
}
.approach-intro > p {
  font-size: 0.85rem;
  color: var(--emerald-secondary);
  line-height: 1.95;
  max-width: 365px;
  padding-bottom: 5px;
}
.principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 46px;
  margin-top: 68px;
}
.principles article {
  border-top: 1px solid rgba(5, 47, 37, 0.2);
  padding-top: 25px;
}
.principle-number {
  color: var(--emerald-secondary);
  font-size: 0.63rem;
  letter-spacing: 0.12em;
}
.principles h3 {
  font-size: 1.85rem;
  margin: 25px 0 15px;
}
.principles p {
  font-size: 0.81rem;
  line-height: 1.9;
  color: var(--emerald-secondary);
  max-width: 310px;
}
.brand-statement {
  text-align: center;
  position: relative;
  overflow: hidden;
}
.brand-statement::before,
.brand-statement::after {
  content: "";
  position: absolute;
  left: -250px;
  top: 140px;
  width: 420px;
  height: 560px;
  border: 1px solid rgba(176, 137, 58, 0.17);
  border-radius: 50%;
  transform: rotate(35deg);
  z-index: -1;
}
.brand-statement::after {
  left: auto;
  right: -240px;
  top: -170px;
  transform: rotate(35deg);
}
.statement-star {
  font-size: 30px;
  color: var(--gold-dark);
  display: block;
  margin-bottom: 24px;
}
.brand-statement .eyebrow {
  font-size: 0.6rem;
  margin-bottom: 25px;
}
.brand-statement h2 {
  font-size: clamp(3rem, 5.8vw, 5.2rem);
  line-height: 1.06;
}
.brand-statement h2 em {
  color: var(--emerald-secondary);
}
.brand-statement .container > p:last-child {
  font-size: 0.78rem;
  color: var(--muted);
  margin-top: 30px;
}
.faq-section {
  display: grid;
  grid-template-columns: 0.8fr 1.4fr;
  gap: 100px;
  border-top: 1px solid var(--border);
}
.faq-intro > .eyebrow {
  margin-bottom: 24px;
}
.faq-intro > p:not(.eyebrow) {
  font-size: 0.8rem;
  color: var(--muted);
  margin-top: 24px;
}
.faq-intro > .text-link {
  margin-top: 24px;
}
.faq-item {
  border-top: 1px solid var(--border);
}
.faq-item:last-child {
  border-bottom: 1px solid var(--border);
}
.faq-button {
  width: 100%;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 23px 0;
  min-height: 76px;
  text-align: left;
  font-family: var(--font-body);
  font-size: 0.83rem;
  line-height: 1.7;
  font-weight: 500;
  color: var(--emerald);
}
.faq-button svg {
  width: 18px;
  height: 18px;
  transition: transform 200ms;
}
.faq-button[aria-expanded="true"] svg {
  transform: rotate(45deg);
}
.faq-answer {
  padding: 0 44px 25px 0;
}
.faq-answer p {
  font-size: 0.83rem;
  line-height: 1.9;
  color: var(--muted);
}
.appointment-section {
  background: #e9ede6;
}
.appointment-layout {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 100px;
}
.appointment-intro > .eyebrow {
  margin-bottom: 24px;
}
.appointment-intro > p:not(.eyebrow) {
  font-size: 0.9rem;
  line-height: 1.9;
  color: var(--emerald-secondary);
  max-width: 325px;
  margin-top: 25px;
}
.appointment-note {
  display: flex;
  align-items: center;
  gap: 22px;
  border-top: 1px solid rgba(5, 47, 37, 0.18);
  padding-top: 28px;
  margin-top: 54px;
  max-width: 325px;
}
.appointment-note p {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.5rem;
  line-height: 1.3;
  color: var(--emerald);
}
.form-notice {
  font-size: 0.7rem;
  line-height: 1.8;
  color: var(--emerald-secondary);
  border-left: 2px solid var(--gold-dark);
  padding: 0 0 0 16px;
  margin-bottom: 30px;
}
.form-notice strong {
  display: block;
  font-weight: 600;
  color: var(--emerald);
  margin-bottom: 4px;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.field {
  margin-bottom: 24px;
  min-width: 0;
}
.field label {
  display: block;
  font-size: 0.72rem;
  line-height: 1.7;
  color: var(--emerald);
  margin-bottom: 8px;
}
.field label span {
  color: var(--emerald-secondary);
  font-size: 0.65rem;
}
.field input,
.field select,
.field textarea {
  display: block;
  width: 100%;
  min-height: 48px;
  background: rgba(250, 248, 243, 0.65);
  border: 1px solid rgba(5, 47, 37, 0.35);
  border-radius: var(--radius);
  padding: 12px 14px;
  font-size: 0.8rem;
  color: var(--ink);
}
.field select {
  padding-right: 30px;
}
.field textarea {
  resize: vertical;
  min-height: 105px;
  max-height: 300px;
}
.field input::placeholder,
.field textarea::placeholder {
  color: #626b65;
  opacity: 1;
}
.field-hint {
  font-size: 0.65rem;
  color: var(--emerald-secondary);
  margin-top: 8px;
}
.form-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.form-actions > .small {
  font-size: 0.62rem;
  color: var(--emerald-secondary);
}
.form-status:not(:empty) {
  margin-top: 22px;
  border: 1px solid var(--emerald-secondary);
  padding: 16px;
  font-size: 0.82rem;
  background: var(--ivory);
  color: var(--emerald);
}
.page-hero {
  padding-block: 60px 100px;
}
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 44px;
  font-size: 0.7rem;
  color: var(--muted);
  width: fit-content;
  margin-bottom: 40px;
}
.page-hero > .eyebrow,
.profile-copy > .eyebrow {
  margin-bottom: 25px;
}
.page-hero h1 {
  font-size: clamp(3.3rem, 6.8vw, 6rem);
  max-width: 1100px;
}
.page-lede {
  font-size: 1rem;
  color: var(--muted);
  max-width: 600px;
  margin-top: 30px;
  line-height: 1.9;
}
.page-hero > .button {
  margin-top: 30px;
}
.page-hero--short {
  padding-bottom: 75px;
}
.category-section {
  border-top: 1px solid var(--border);
}
.category-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 60px;
}
.category-treatment {
  border-top: 1px solid var(--border);
  padding: 35px 0 42px;
  scroll-margin-top: calc(var(--header-height) + 30px);
}
.category-treatment:target {
  border-top-color: var(--gold-dark);
}
.category-treatment h3 {
  font-size: 2.5rem;
  margin: 15px 0;
}
.category-treatment > p {
  font-size: 0.85rem;
  color: var(--muted);
  max-width: 350px;
}
.category-treatment .text-link {
  margin-top: 24px;
  font-size: 0.72rem;
}
.simple-invitation {
  background: #e9ede6;
}
.simple-invitation h2 {
  margin-block: 24px 32px;
}
.profile-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  align-items: start;
}
.profile-copy .breadcrumb {
  margin-bottom: 30px;
}
.profile-copy h1 {
  font-size: clamp(3rem, 5vw, 4.7rem);
  line-height: 1.05;
}
.profile-role {
  font-size: 0.9rem;
  color: var(--emerald-secondary);
  margin-top: 20px;
}
.profile-copy > p:not(.eyebrow, .profile-role) {
  font-size: 0.86rem;
  line-height: 1.9;
  margin-top: 28px;
  color: var(--muted);
  max-width: 390px;
}
.profile-copy > .button {
  margin-top: 32px;
}
.profile-copy > .profile-note {
  border-left: 1px solid var(--gold-dark);
  padding-left: 16px;
  font-size: 0.74rem !important;
}
.profile-photo {
  background: #e4e7e1;
}
.profile-photo .portrait {
  width: 100%;
  height: auto;
}
.location-section {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 100px;
}
.location-section .eyebrow {
  margin-bottom: 24px;
}
.location-section p {
  font-size: 0.9rem;
  color: var(--muted);
  max-width: 470px;
  margin-top: 20px;
}
.prose {
  max-width: 720px;
  margin-top: 64px;
}
.prose h2 {
  font-size: 2.6rem;
  margin-top: 48px;
  margin-bottom: 22px;
}
.prose p {
  font-size: 0.9rem;
  color: var(--muted);
  margin-bottom: 24px;
  line-height: 1.95;
}
@media (prefers-reduced-motion: no-preference) {
  .is-revealing {
    animation: soft-reveal var(--motion-slow) var(--ease) both;
  }
  @keyframes soft-reveal {
    from {
      opacity: 0;
      transform: translateY(16px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
@media (max-width: 1100px) {
  .care-panel {
    padding: 34px 30px 30px;
  }
  .treatment-item {
    padding: 20px 17px;
  }
  .clinician-spread {
    gap: 60px;
    padding-right: 0;
  }
  .approach-intro {
    gap: 40px;
  }
  .appointment-layout,
  .profile-page,
  .location-section {
    gap: 60px;
  }
  .faq-section {
    gap: 60px;
  }
  .hero-note {
    padding-right: 8px;
  }
}
@media (max-width: 900px) {
  .treatment-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .section-heading--split {
    align-items: start;
  }
  .section-aside {
    max-width: 240px;
  }
  .care-panel-title h3 {
    font-size: 3.8rem;
  }
  .care-panel {
    padding: 30px 24px;
  }
  .care-panel > p {
    font-size: 0.8rem;
  }
  .approach-intro {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .approach-intro > p {
    max-width: 550px;
  }
  .principles {
    gap: 28px;
  }
  .principles h3 {
    font-size: 1.7rem;
  }
  .appointment-layout {
    gap: 45px;
  }
  .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .faq-section {
    gap: 40px;
    grid-template-columns: 0.8fr 1.2fr;
  }
  .faq-button {
    font-size: 0.78rem;
  }
  .clinician-spread {
    gap: 44px;
  }
  .profile-page {
    gap: 45px;
  }
  .profile-copy h1 {
    font-size: 3.5rem;
  }
}
@media (max-width: 700px) {
  .section-heading--split {
    flex-direction: column;
    gap: 25px;
  }
  .section-aside {
    max-width: 360px;
  }
  .section-heading {
    margin-bottom: 35px;
  }
  .care-panels {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .care-panel {
    padding: 32px;
  }
  .care-panel-title {
    margin-top: 25px;
  }
  .care-panel-title h3 {
    font-size: clamp(2.5rem, 11vw, 4rem);
  }
  .care-panel > p {
    max-width: 420px;
    margin-bottom: 32px;
  }
  .clinician-spread {
    grid-template-columns: 1fr;
    gap: 46px;
    padding: 0;
  }
  .clinician--2 {
    padding-top: 0;
    max-width: 90%;
    margin-left: auto;
  }
  .clinician--1 {
    max-width: 95%;
  }
  .clinician-caption h3 {
    font-size: 2.3rem;
  }
  .clinician-photo .portrait {
    aspect-ratio: 4/5;
  }
  .principles {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-top: 42px;
  }
  .principles article {
    padding-top: 20px;
  }
  .principles h3 {
    margin: 14px 0 10px;
    font-size: 2rem;
  }
  .principles p {
    max-width: 450px;
  }
  .faq-section {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .faq-intro h2 br {
    display: none;
  }
  .faq-intro h2 em::before {
    content: " ";
  }
  .faq-intro > p:not(.eyebrow) {
    margin-top: 16px;
  }
  .faq-intro > .text-link {
    margin-top: 14px;
  }
  .appointment-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .appointment-intro > p:not(.eyebrow) {
    max-width: 450px;
  }
  .appointment-note {
    display: none;
  }
  .form-row {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
  }
  .profile-page {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .profile-photo {
    max-width: 500px;
  }
  .category-grid {
    grid-template-columns: 1fr;
  }
  .location-section {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .page-hero {
    padding-block: 35px 70px;
  }
  .page-hero .breadcrumb {
    margin-bottom: 28px;
  }
  .page-hero h1 {
    font-size: clamp(3.25rem, 10.2vw, 4.5rem);
  }
  .profile-page {
    padding-top: 35px;
  }
  .profile-copy h1 {
    max-width: 450px;
  }
  .category-treatment h3 {
    font-size: 2.25rem;
  }
}
@media (max-width: 450px) {
  .care-panel {
    padding: 24px;
  }
  .treatment-item {
    font-size: 0.72rem;
    padding: 20px 15px;
    min-height: 108px;
    gap: 12px;
  }
  .treatment-group-title {
    align-items: center;
    gap: 10px;
  }
  .treatment-group-title h3 {
    font-size: 1.7rem;
  }
  .treatment-group-title .text-link {
    font-size: 0.6rem;
    gap: 9px;
  }
  .treatment-grid .treatment-item:last-child:nth-child(odd) {
    grid-column: 1/-1;
  }
  .treatment-group + .treatment-group {
    margin-top: 38px;
  }
  .faq-button {
    font-size: 0.78rem;
    gap: 20px;
    padding: 20px 0;
  }
  .faq-answer {
    padding-right: 20px;
  }
  .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .form-actions {
    gap: 14px;
  }
  .form-actions .button {
    width: 100%;
    justify-content: space-between;
  }
  .page-lede {
    font-size: 0.9rem;
  }
  .section-heading .eyebrow,
  .appointment-intro > .eyebrow,
  .approach-intro .eyebrow,
  .faq-intro > .eyebrow {
    font-size: 0.59rem;
  }
  .brand-statement h2 {
    font-size: 3.2rem;
  }
  .category-treatment .text-link {
    font-size: 0.68rem;
    gap: 12px;
  }
  .clinician-caption h3 {
    font-size: 2.05rem;
  }
  .clinician-caption {
    margin-top: 20px;
    padding-top: 18px;
  }
  .profile-copy h1 {
    font-size: 3.5rem;
  }
  .profile-copy > .button {
    font-size: 0.72rem;
  }
}
@media (max-width: 360px) {
  .brand {
    width: 185px;
  }
  .care-panel-title {
    gap: 12px;
  }
  .circle-arrow {
    width: 44px;
    height: 44px;
  }
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.video-dialog--player {
  width: min(960px, calc(100% - 32px));
  padding: 48px 28px 28px;
}
.video-player-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
  gap: 38px;
  align-items: center;
}
.video-player-stage {
  display: flex;
  justify-content: center;
  background: var(--emerald);
}
.video-player-stage video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 16;
  max-height: calc(100dvh - 145px);
  object-fit: contain;
}
.video-player-copy h2 {
  font-size: clamp(2.5rem, 4vw, 3.3rem);
}
.video-player-copy .video-accessibility-note {
  font-size: 0.7rem;
  padding-left: 14px;
  border-left: 1px solid var(--gold-dark);
}
@media (max-width: 700px) {
  .video-dialog--player {
    padding: 48px 18px 24px;
  }
  .video-player-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 25px;
  }
  .video-player-stage video {
    max-height: 56dvh;
    width: 100%;
  }
  .video-player-copy h2 {
    font-size: 2.4rem;
    margin-block: 14px;
  }
  .video-player-copy p {
    font-size: 0.8rem;
    margin-bottom: 18px;
  }
}


/* Task A: premium brand header and introduction hero. */
:root { --header-height: 112px; }
.site-header { background: rgba(250, 248, 243, 0.9); border-bottom: 1px solid rgba(5, 47, 37, 0.08); }
.site-header.is-scrolled { background: rgba(250, 248, 243, 0.98); box-shadow: 0 10px 30px rgba(5, 47, 37, 0.08); }
.header-inner { min-height: var(--header-height); border-bottom: 0; }
.brand { width: 280px; mix-blend-mode: normal; }
.primary-nav { gap: 31px; }
.primary-nav > a:not(.button) { font-size: 0.75rem; letter-spacing: 0.08em; }
.primary-nav > a:not(.button)::after { height: 1px; background: var(--gold); transform-origin: left; }
.hero--brand { padding-block: 54px 68px; }
.hero--brand .hero-content { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr); align-items:center; gap:clamp(38px,7vw,110px); padding-top:0; min-height:640px; }
.hero--brand h1 { max-width: 710px; margin: 19px 0 0; font-size:clamp(4.5rem,6.9vw,7.15rem); line-height:.91; }
.hero-title-line { display:block; }
.hero-intro { max-width: 495px; margin: 31px 0 0; font-size:.96rem; line-height:1.9; color:var(--muted); }
.hero--brand .hero-actions { margin-top:29px; }
.hero-assurance { display:flex; align-items:center; gap:11px; margin:38px 0 0; color:var(--emerald); font-size:.67rem; letter-spacing:.09em; text-transform:uppercase; }
.hero-assurance .tiny-cross { color:var(--gold-dark); font-size:1rem; }
.hero-video-wrap { position:relative; justify-self:end; width:min(100%,356px); padding:16px 18px 0 0; }
.hero-video-card { position:relative; display:block; width:100%; aspect-ratio:9/16; padding:0; overflow:hidden; border:1px solid rgba(176,137,58,.42); background:var(--emerald); box-shadow:20px 21px 0 rgba(5,47,37,.06), 0 22px 46px rgba(5,47,37,.15); cursor:pointer; text-align:left; }
.hero-video-card img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 600ms cubic-bezier(.2,.8,.2,1); }
.hero-video-card:hover img, .hero-video-card:focus-visible img { transform:scale(1.035); }
.hero-video-card:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
.hero-video-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,47,37,.05) 32%,rgba(5,47,37,.76) 100%); }
.hero-video-play { position:absolute; top:50%; left:50%; display:grid; width:64px; height:64px; place-items:center; border:1px solid rgba(255,255,255,.84); border-radius:50%; color:#fff; transform:translate(-50%,-50%); background:rgba(5,47,37,.24); transition:transform var(--motion-fast),background var(--motion-fast); }
.hero-video-play svg { width:21px; height:21px; margin-left:3px; }
.hero-video-card:hover .hero-video-play, .hero-video-card:focus-visible .hero-video-play { transform:translate(-50%,-50%) scale(1.08); background:var(--gold-dark); }
.hero-video-meta { position:absolute; inset:auto 22px 21px; display:flex; flex-direction:column; gap:7px; color:#fff; font-family:var(--font-display); font-size:1.45rem; line-height:1; }
.hero-video-meta .eyebrow { color:#fff; font-family:var(--font-sans); font-size:.55rem; letter-spacing:.16em; }
.hero-video-caption { margin:15px 0 0; color:var(--emerald); font-size:.62rem; letter-spacing:.09em; text-transform:uppercase; }
.hero-video-orbit { position:absolute; z-index:-1; width:210px; height:210px; right:-67px; bottom:45px; border:1px solid rgba(176,137,58,.35); border-radius:50%; }
.hero-video-orbit::after { content:""; position:absolute; width:14px; height:14px; top:23px; left:5px; border-radius:50%; background:var(--gold); }
.hero-video-noscript { margin-top:-38px; }
@media (prefers-reduced-motion:no-preference) { .hero-animate { animation:hero-enter 700ms both cubic-bezier(.2,.7,.2,1); } .hero-animate--eyebrow { animation-delay:80ms; } .hero-title-line { animation:hero-line 760ms both cubic-bezier(.2,.7,.2,1); } .hero-title-line:nth-child(2) { animation-delay:100ms; } .hero-animate--copy { animation-delay:210ms; } .hero-animate--actions { animation-delay:290ms; } .hero-animate--assurance { animation-delay:370ms; } .hero-animate--video { animation-delay:190ms; } }
@keyframes hero-enter { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-line { from { opacity:0; transform:translateY(1em); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-orbit { 50% { transform:translate(-7px,-9px); } }
@media (max-width:1100px) { .brand { width:248px; } .primary-nav { gap:20px; } .hero--brand .hero-content { gap:42px; } }
@media (max-width:900px) { :root { --header-height:88px; } .header-inner { min-height:var(--header-height); } .brand { width:215px; } .hero--brand { padding-block:35px 53px; } .hero--brand .hero-content { grid-template-columns:1fr; gap:37px; min-height:0; } .hero--brand h1 { font-size:clamp(3.75rem,13vw,5.3rem); } .hero-video-wrap { justify-self:start; width:min(100%,350px); padding-right:14px; } .hero-video-card { box-shadow:14px 16px 0 rgba(5,47,37,.06),0 18px 36px rgba(5,47,37,.14); } .hero-video-caption { margin-top:13px; } }
@media (max-width:600px) { .brand { width:195px; } .hero--brand .hero-content { gap:33px; } .hero--brand h1 { margin-top:16px; font-size:clamp(3.45rem,14.1vw,4.55rem); letter-spacing:-.055em; } .hero-intro { margin-top:25px; max-width:340px; font-size:.84rem; } .hero--brand .hero-actions { margin-top:24px; } .hero-assurance { margin-top:29px; font-size:.57rem; line-height:1.5; } .hero-video-wrap { width:min(100%,320px); } .hero-video-play { width:57px; height:57px; } .hero-video-meta { inset:auto 17px 18px; font-size:1.25rem; } .hero-video-orbit { width:170px; height:170px; right:-55px; } }


/* Task B: equal clinician cards and service index. */
.care-icon,.principle-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(176,137,58,.55);color:var(--emerald)}.care-icon svg,.principle-icon svg{width:24px;height:24px}.care-panel{padding:38px 42px 32px}.care-panel-title{margin:24px 0 18px}.care-panel-title h3{font-size:clamp(3.25rem,5vw,4.5rem)}.care-panel:hover .care-icon{border-color:var(--emerald);transform:translateY(-2px)}.treatment-grid{grid-template-columns:repeat(2,1fr)}.treatment-item{min-height:96px;font-size:.93rem;padding:20px 24px;position:relative}.treatment-number{color:var(--emerald);font-size:.61rem;letter-spacing:.12em;margin-right:4px}.treatment-item>span:nth-child(2){flex:1}.treatment-item:hover,.treatment-item:focus-visible{background:var(--ivory)}.treatment-item:hover svg,.treatment-item:focus-visible svg{color:var(--gold-dark);transform:translate(3px,-3px)}.treatment-item svg{transition:transform var(--motion-fast),color var(--motion-fast)}.clinician-spread{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start;padding:10px 0 0}.clinician--2{padding-top:0}.clinician-photo{aspect-ratio:4/5;border:1px solid var(--border)}.clinician-photo picture,.clinician-photo .portrait{height:100%}.clinician-photo .portrait{aspect-ratio:auto;object-fit:cover}.portrait--zubaria-khan{object-position:50% 35%}.portrait--dr-nimra-khan{object-position:50% 23%}.clinician-photo::after{content:"";position:absolute;inset:0;border:1px solid transparent;transition:border-color var(--motion-fast);pointer-events:none}.clinician-photo:hover::after,.clinician-photo:focus-visible::after{border-color:var(--gold)}.clinician-photo:hover .portrait,.clinician-photo:focus-visible .portrait{transform:scale(1.028)}.portrait-link{transition:transform var(--motion-fast),background var(--motion-fast)}.clinician-photo:hover .portrait-link,.clinician-photo:focus-visible .portrait-link{transform:translate(-3px,-3px);background:var(--gold);color:var(--ivory)}.clinician-caption{min-height:142px}.principle-icon{margin-bottom:22px}.principles article{position:relative}.principles article:hover .principle-icon{color:var(--gold-dark);border-color:var(--gold-dark)}@media(max-width:700px){.care-panels,.clinician-spread,.treatment-grid{grid-template-columns:1fr}.care-panel{padding:30px 26px}.treatment-item{min-height:78px;font-size:.9rem;padding:18px}.clinician-spread{gap:38px}.clinician-caption{min-height:0}.principles{gap:32px;margin-top:45px}.principles article{padding-top:20px}}

.v2-hero{background:#edf0e9;padding:48px 0}.v2-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw}.v2-hero h1{font-size:clamp(4rem,7vw,7rem);line-height:.9}.v2-hero p{max-width:480px;font-size:1rem;line-height:1.8}.v2-hero-image{overflow:hidden;border-radius:45% 45% 0 0;background:#d8ded3}.v2-hero-image img{width:100%;display:block}.v2-discover{display:grid;grid-template-columns:1.5fr 1fr;gap:0;background:var(--emerald);color:var(--ivory);overflow:hidden}.v2-video{position:relative;padding:0;border:0;background:none}.v2-video img{display:block;width:100%;height:100%;object-fit:cover;max-height:620px}.v2-video span{position:absolute;inset:0;display:grid;place-items:center;color:#fff}.v2-video svg{width:60px;height:60px}.v2-discover>div{padding:clamp(35px,5vw,80px);align-self:center}.v2-discover p{line-height:1.8}.v2-discover .text-link{color:var(--ivory)}@media(max-width:700px){.v2-hero-grid,.v2-discover{grid-template-columns:1fr}.v2-hero{padding:25px 0}.v2-hero h1{font-size:3.8rem}.v2-hero-image{margin-top:25px}.v2-discover>div{padding:35px 25px}.v2-video{max-height:480px}.v2-video img{max-height:480px}}

.v2-hero small{display:block;margin-top:28px;color:var(--emerald);font-size:.68rem;letter-spacing:.08em}.v2-hero .hero-actions{margin-top:30px}.v2-hero-image{position:relative;box-shadow:20px 20px 0 rgba(176,137,58,.18)}.v2-discover{margin-top:0}.v2-video:focus-visible{outline:3px solid var(--gold);outline-offset:-5px}.v2-video span svg{border:1px solid rgba(255,255,255,.7);border-radius:50%;padding:17px;background:rgba(5,47,37,.35)}.v2-discover h2{font-size:clamp(3rem,4.5vw,5rem);line-height:.95}.service-list{display:block;margin:18px 0 27px;font-size:.68rem;line-height:1.8;color:var(--emerald-secondary)}.care-panel--dental{background-image:linear-gradient(135deg,rgba(255,255,255,.28),transparent),url('/assets/images/abstract-ivory-sage-gold-v2.webp');background-size:cover}.care-panel--aesthetics{background-image:linear-gradient(135deg,rgba(255,255,255,.3),transparent),url('/assets/images/abstract-emerald-gold-v2.webp');background-size:cover;background-position:center}@media(max-width:900px){.site-header{background:rgba(250,248,243,.96)}.primary-nav .button{font-size:.72rem}}
.v2-discover .eyebrow{color:var(--ivory)}

/* V2 Stage 1.1 visual polish. */
.site-header{background:rgba(250,248,243,.97)}.header-inner{min-height:94px}.brand{width:258px}.primary-nav{gap:27px}.primary-nav .button--compact{padding:13px 18px;font-size:.68rem}.v2-hero{padding:34px 0 58px;background:linear-gradient(110deg,#f7f4eb 0%,#e7ede4 100%)}.v2-hero-grid{min-height:570px;gap:clamp(40px,6vw,90px)}.v2-hero h1{margin:18px 0 0}.v2-hero p{margin-top:26px}.v2-hero-image{height:570px;border-radius:48% 48% 0 0;box-shadow:14px 18px 0 rgba(176,137,58,.17)}.v2-hero-image img{height:100%;object-fit:cover;object-position:center 30%}.v2-discover{grid-template-columns:57% 43%;min-height:580px;margin-block:0;background:transparent;color:var(--emerald);border:1px solid rgba(176,137,58,.35)}.v2-video{height:580px;background:#e7ede4;overflow:hidden}.v2-video img{height:100%;max-height:none;object-fit:cover;object-position:center}.v2-discover>div{min-height:580px;padding:clamp(42px,5vw,76px);display:flex;flex-direction:column;justify-content:center;background:#052f25 url('/assets/images/abstract-emerald-gold-v2.webp') center/cover;color:#faf8f3}.v2-discover h2,.v2-discover p,.v2-discover .eyebrow{color:#faf8f3}.v2-discover h2{margin:20px 0;font-size:clamp(3rem,4.2vw,4.7rem)}.v2-discover .eyebrow{font-size:.64rem;letter-spacing:.14em}.v2-discover .text-link{align-self:flex-start;margin-top:22px;border-color:rgba(250,248,243,.5)}.v2-discover .text-link:hover{border-color:#d1ad62}.care-panel--dental{color:#052f25;background-color:#edf0e9}.care-panel--aesthetics{color:#faf8f3;background-color:#052f25;background-image:linear-gradient(135deg,rgba(5,47,37,.15),rgba(5,47,37,.65)),url('/assets/images/abstract-emerald-gold-v2.webp')}.care-panel--aesthetics .eyebrow,.care-panel--aesthetics p,.care-panel--aesthetics .service-list,.care-panel--aesthetics .care-panel-link{color:#faf8f3}.care-panel--aesthetics .circle-arrow{color:#faf8f3;border-color:rgba(250,248,243,.55)}.care-panel--aesthetics .care-icon{color:#d1ad62;border-color:#d1ad62}.care-panel--aesthetics .care-panel-link{border-color:rgba(250,248,243,.35)}@media(max-width:900px){.header-inner{min-height:82px}.brand{width:210px}.v2-hero{padding:22px 0 42px}.v2-hero-grid{grid-template-columns:1fr;min-height:0;gap:30px}.v2-hero h1{font-size:clamp(3.55rem,14vw,4.8rem)}.v2-hero-image{height:min(115vw,510px);margin:0;border-radius:45% 45% 0 0}.v2-discover{grid-template-columns:1fr;min-height:0;margin-inline:0;border-inline:0}.v2-video{height:min(118vw,500px)}.v2-discover>div{min-height:0;padding:42px 28px}.v2-discover h2{font-size:3.3rem}.care-panel--aesthetics{background-position:center}}

.hero-support{display:flex!important;align-items:center;gap:10px}.hero-support i{width:4px;height:4px;background:var(--gold-dark);border-radius:50%}.clinicians-section{background:#e6ede4;padding-block:clamp(70px,9vw,140px)}.clinicians-section .clinician-spread{gap:44px}.clinicians-section .clinician-photo{box-shadow:14px 16px 0 rgba(5,47,37,.1)}.approach-section{background:#f3f1e8}.principles article{border-top-color:var(--gold-dark)}.brand-statement{background:#052f25 url('/assets/images/abstract-emerald-gold-v2.webp') center/cover;color:#faf8f3;padding-block:clamp(90px,12vw,170px)}.brand-statement h2,.brand-statement p{color:#faf8f3}.faq-section{padding-block:clamp(75px,10vw,130px)}.appointment-section{background:#e2ebe1}.quick-contact{display:flex;gap:18px;margin:26px 0;color:var(--emerald)}.quick-contact>*{font-size:.75rem;color:var(--emerald)}.site-footer{background:#052f25;color:#faf8f3}.site-footer a,.footer-location p{color:#faf8f3}.contact-dock{display:none}@media(max-width:900px){body{padding-bottom:74px}.contact-dock{position:fixed;z-index:50;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);background:#052f25;padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -5px 18px rgba(5,47,37,.2)}.contact-dock a{min-height:46px;color:#faf8f3;display:flex;align-items:center;justify-content:center;gap:5px;font-size:.62rem;text-decoration:none}.contact-dock svg{width:19px}.quick-contact{flex-direction:column}.hero-support{font-size:.58rem;gap:7px}}
.clinicians-section .clinician-caption > p{color:var(--emerald)}

.quick-contact a,.quick-contact>span{min-height:44px;display:flex;align-items:center;gap:9px}.quick-contact svg{width:23px;height:23px;color:var(--gold-dark)}.brand-statement h2 em{color:#e5c77e}.brand-statement .container>p:last-child{color:#faf8f3}.footer-location br:last-child{display:none}@media(max-width:700px){.v2-hero-image picture{display:block;height:100%}.v2-hero-image picture img{height:100%}}

.footer-location .small a{display:flex;align-items:center;min-height:24px;width:max-content}.footer-location .small br{display:none}

/* V3 human-reviewed visual correction pass. */
.brand-statement .container:not(.is-revealing),
.appointment-intro:not(.is-revealing) { opacity: 1; transform: none; }
.brand-statement .eyebrow,
.brand-statement h2,
.brand-statement .container > p:last-child { color: var(--ivory); }
.brand-statement h2 em { color: #e7cb86; }
.brand-statement .eyebrow { color: rgba(250,248,243,.82); }
.brand-statement .container > p:last-child { color: rgba(250,248,243,.9); }
.v2-discover { grid-template-columns: 48% 52%; min-height: 540px; }
.v2-video { height: 540px; background: #e1e7df; }
.v2-discover > div { min-height: 540px; background: linear-gradient(135deg,#052f25 0%,#0a3a2f 100%); }
.care-panel--aesthetics { background-image: linear-gradient(135deg,#0b3d32 0%,#052f25 100%); }
.treatments-section .container { max-width: 1120px; }
.treatments-section .section-heading { margin-bottom: 38px; }
.treatment-group + .treatment-group { margin-top: 42px; }
.treatment-group-title { margin-bottom: 12px; }
.treatment-group-title h3 { font-size: 2.25rem; }
.treatment-item { min-height: 88px; padding: 18px 22px; font-size: .84rem; }
.treatment-number { min-width: 26px; color: var(--gold-dark); font-size: .68rem; font-weight: 700; }
.treatment-item svg { width: 18px; height: 18px; color: var(--emerald); }
.clinicians-section { padding-block: clamp(70px,8vw,112px); }
.clinicians-section .section-heading { margin-bottom: 38px; }
.clinician-caption { margin-top: 18px; padding-top: 17px; }
.clinician-caption > p { color: var(--emerald-secondary); margin-top: 7px; }
.approach-section { padding-block: clamp(64px,7vw,96px); }
.approach-section .principles { margin-top: 46px; gap: 34px; }
.approach-section .principle-icon { width: 48px; height: 48px; border-color: rgba(176,137,58,.72); color: var(--emerald); }
.approach-section .principle-number { color: var(--gold-dark); font-weight: 700; }
.approach-section .principles h3 { margin-top: 18px; }
.faq-section { padding-block: clamp(70px,8vw,100px); }
.appointment-intro > .eyebrow { color: var(--emerald); }
.appointment-intro h2 { color: var(--emerald); }
.appointment-intro > p:not(.eyebrow) { color: var(--emerald-secondary); }
.appointment-intro .quick-contact { color: var(--emerald); }
.appointment-note p { color: var(--emerald); }
.form-coming-soon { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 17px; border: 1px solid rgba(5,47,37,.3); background: transparent; color: var(--emerald); font-size: .72rem; font-weight: 600; letter-spacing: .04em; }
.form-coming-soon:disabled { opacity: 1; color: var(--emerald); }
.footer-location > .eyebrow { margin-bottom: 15px; color: rgba(250,248,243,.72); }
.footer-location > p:not(.small) { line-height: 1.85; margin-bottom: 15px; }
.footer-location .small { display: grid; gap: 5px; }
.footer-location .small a { color: var(--ivory); }
@media (max-width:900px) {
  html.has-js .contact-dock { display: none; }
  html.has-js.mobile-dock-visible .contact-dock { display: grid; }
}
@media (max-width:700px) {
  .section { padding-block: clamp(58px,15vw,74px); }
  .v2-hero { padding: 18px 0 28px; }
  .v2-hero-grid { gap: 22px; }
  .v2-hero h1 { font-size: clamp(3.25rem,12.4vw,4.15rem); }
  .v2-hero h1 + p { margin-top: 19px; line-height: 1.7; }
  .v2-hero .hero-actions { margin-top: 22px; }
  .v2-hero-image { height: min(94vw,430px); }
  .v2-discover { grid-template-columns: 1fr; min-height: 0; }
  .v2-video { height: min(101vw,420px); }
  .v2-discover > div { min-height: 0; padding: 36px 28px; }
  .treatments-section .section-heading { margin-bottom: 30px; }
  .treatment-item { min-height: 78px; padding: 15px 14px; font-size: .76rem; }
  .treatment-group + .treatment-group { margin-top: 32px; }
  .clinicians-section .section-heading { margin-bottom: 30px; }
  .approach-section .principles { margin-top: 32px; gap: 24px; }
  .approach-section .principles article { padding-top: 17px; }
  .faq-section { padding-block: 58px; }
  .faq-section .faq-item { min-height: 0; }
  .appointment-layout { gap: 30px; }
  .appointment-intro > p:not(.eyebrow) { margin-top: 18px; }
  .footer-location > p:not(.small) { margin-bottom: 12px; }
}
.treatment-number,.approach-section .principle-number{color:var(--emerald)}

/* Visual correction: section fit from rendered desktop evidence. */
@media (min-width:901px){
  .v2-hero h1{font-size:clamp(4.5rem,5vw,5.5rem)}
  .v2-hero-grid{min-height:540px}
  .v2-hero-image{height:540px}
}
.v2-discover{padding-block:0}
.care-panel--aesthetics h3{color:var(--ivory)}
.care-panel--aesthetics .circle-arrow{color:var(--ivory);border-color:rgba(250,248,243,.58)}
.clinicians-section{padding-block:clamp(64px,5.5vw,82px)}
.clinicians-section .section-heading{margin-bottom:30px}
@media(max-width:700px){
  .v2-discover{padding-block:0}
  .clinicians-section{padding-block:58px}
}

/* Keep the real portrait introduction source sharp and deliberately framed. */
@media (min-width:901px){
  .v2-discover{grid-template-columns:44% 56%}
  .v2-video{width:min(100%,500px);justify-self:center;border:1px solid rgba(5,47,37,.12)}
}

/* Evidence-led section composition corrections. */
@media (min-width:901px){
  .v2-discover{grid-template-columns:42% 58%;align-items:stretch}
  .v2-video{width:min(100%,440px);height:540px;justify-self:center}
  .v2-discover>div{padding-inline:clamp(48px,6vw,96px)}
  .clinicians-section .section-heading{display:grid;grid-template-columns:minmax(0,760px) auto;align-items:end;gap:48px}
  .clinicians-section .section-heading>.text-link{justify-self:start}
  .clinician-caption{min-height:112px}
  .clinicians-section{padding-bottom:64px}
}
@media (max-width:900px){
  .clinicians-section .section-heading{display:flex}
}
@media (max-width:700px){
  .v2-video{width:100%;height:min(112vw,440px)}
  .v2-discover>div{padding-inline:28px}
  .clinician-caption{min-height:0}
}

/* Homepage visual correction: editorial treatment collection. */
@media (min-width: 901px) {
  .treatments-section .container { max-width: 1200px; }
  .treatment-group {
    display: grid;
    grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr);
    gap: clamp(42px, 6vw, 90px);
    padding: 44px 0;
    border-top: 1px solid var(--border);
  }
  .treatment-group + .treatment-group { margin-top: 0; }
  .treatment-group-title {
    align-items: flex-start;
    flex-direction: column;
    margin: 0;
  }
  .treatment-group-title h3 { font-size: clamp(2.25rem, 3.1vw, 3.25rem); }
  .treatment-group-title .text-link { margin-top: 24px; }
  .treatment-grid {
    gap: 0 clamp(28px, 4vw, 56px);
    border: 0;
  }
  .treatment-item {
    min-height: 76px;
    padding: 17px 0;
    background: transparent;
    border-inline: 0;
  }
  .treatment-item:hover,
  .treatment-item:focus-visible { background: transparent; color: var(--gold-dark); }
}
@media (max-width: 900px) {
  .treatment-group { padding-top: 34px; border-top: 1px solid var(--border); }
  .treatment-group + .treatment-group { margin-top: 28px; }
}

/* Consultation Ledger: homepage system pass. */
::selection { background: var(--gold); color: var(--emerald); }
.site-header { border-bottom: 1px solid rgba(5,47,37,.1); }
.v2-hero { background: #f7f5ee; }
.v2-hero-image,
.clinicians-section .clinician-photo { box-shadow: none; }
.v2-hero-image { border: 1px solid rgba(5,47,37,.12); }
.v2-hero-image::after { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(176,137,58,.45); border-radius: 43% 43% 0 0; pointer-events: none; }
.v2-discover { border-color: rgba(5,47,37,.2); }
.v2-discover > div { background: #06372b; }
.care-section .section-heading { max-width: 720px; }
.care-panels { gap: 20px; }
.care-panel { min-height: 470px; }
.care-panel--dental,
.care-panel--aesthetics { background-image: none; }
.care-panel--dental { background: #edf0e9; }
.care-panel--aesthetics { background: #06372b; }
.care-panel-link { margin-top: auto; }
.clinicians-section { background: #e8eee7; }
.clinicians-section .clinician-photo { border-color: rgba(5,47,37,.16); }
.clinician-caption { border-top: 1px solid rgba(5,47,37,.16); }
.approach-section { background: #f7f5ee; }
.approach-section .principles { gap: 0; border-top: 1px solid rgba(5,47,37,.18); }
.approach-section .principles article { padding: 30px 26px 0; border-right: 1px solid rgba(5,47,37,.18); }
.approach-section .principles article:first-child { padding-left: 0; }
.approach-section .principles article:last-child { border-right: 0; }
.faq-section { background: #f7f5ee; }
.appointment-section { background: #e8eee7; }
@media (max-width: 900px) {
  .v2-hero-image::after { inset: 9px; }
  .care-panels { gap: 12px; }
  .care-panel { min-height: 0; }
  .approach-section .principles { border-top: 0; }
  .approach-section .principles article,
  .approach-section .principles article:first-child { padding: 24px 0 0; border-right: 0; border-top: 1px solid rgba(5,47,37,.18); }
}

/* Consultation Ledger: remove repeated decorative labels and strengthen the page narrative. */
.v2-hero > .v2-hero-grid > div:first-child > .eyebrow,
.v2-discover > div > .eyebrow,
.care-section > .section-heading > .eyebrow,
.treatments-section > .container > .section-heading > div > .eyebrow,
.clinicians-section > .section-heading > div > .eyebrow,
.approach-intro > div > .eyebrow,
.brand-statement .container > .eyebrow,
.faq-intro > .eyebrow,
.appointment-intro > .eyebrow { display: none; }
.v2-hero h1 { margin-top: 0; text-wrap: balance; }
.v2-discover h2,
.care-section h2,
.treatments-section h2,
.clinicians-section h2,
.approach-section h2,
.brand-statement h2,
.faq-section h2,
.appointment-section h2 { text-wrap: balance; }
.care-section .section-heading,
.treatments-section .section-heading,
.clinicians-section .section-heading,
.approach-intro,
.faq-intro { padding-top: 0; }
.brand-statement .container { max-width: 1040px; }
.brand-statement h2 { max-width: 900px; }
@media (max-width: 700px) {
  .v2-hero h1 { text-wrap: initial; }
  .brand-statement h2 { max-width: 10ch; }
}

/* Full-width clinic composition and premium interaction pass. */
@media (min-width: 901px) {
  .v2-discover {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    grid-template-columns: minmax(0, 43%) minmax(0, 57%);
    min-height: 640px;
    border-inline: 0;
  }
  .v2-video { width: 100%; max-width: none; height: 640px; border: 0; }
  .v2-discover > div { min-height: 640px; padding-inline: clamp(56px, 9vw, 170px); }
  .clinicians-section {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: clamp(28px, 7vw, 120px);
  }
  .clinicians-section .section-heading,
  .clinicians-section .clinician-spread { max-width: 1280px; margin-inline: auto; }
}
.care-panel {
  transition: transform 260ms cubic-bezier(.2,.8,.2,1), background 260ms ease, box-shadow 260ms ease;
}
.care-icon,
.care-panel .circle-arrow,
.v2-video span svg {
  transition: transform 260ms cubic-bezier(.2,.8,.2,1), background 260ms ease, border-color 260ms ease, color 260ms ease;
}
.care-panel:hover,
.care-panel:focus-visible { transform: translateY(-6px); box-shadow: 0 18px 34px rgba(5,47,37,.12); }
.care-panel--dental:hover,
.care-panel--dental:focus-visible { background: #e4ebe2; }
.care-panel--aesthetics:hover,
.care-panel--aesthetics:focus-visible { background: #06372b; color: var(--ivory); }
.care-panel--aesthetics:hover h3,
.care-panel--aesthetics:focus-visible h3,
.care-panel--aesthetics:hover p,
.care-panel--aesthetics:focus-visible p,
.care-panel--aesthetics:hover .eyebrow,
.care-panel--aesthetics:focus-visible .eyebrow,
.care-panel--aesthetics:hover .care-panel-link,
.care-panel--aesthetics:focus-visible .care-panel-link { color: var(--ivory); }
.care-panel--aesthetics:hover .circle-arrow,
.care-panel--aesthetics:focus-visible .circle-arrow { border-color: rgba(250,248,243,.72); background: rgba(250,248,243,.12); color: var(--ivory); }
.care-panel:hover .care-icon,
.care-panel:focus-visible .care-icon { transform: translateY(-4px) rotate(-5deg); }
.care-panel:hover .circle-arrow,
.care-panel:focus-visible .circle-arrow { transform: translate(4px,-4px); }
.v2-video:hover span svg,
.v2-video:focus-visible span svg { transform: scale(1.1); background: rgba(176,137,58,.82); border-color: var(--gold); }
@media (prefers-reduced-motion: reduce) {
  .care-panel,
  .care-icon,
  .care-panel .circle-arrow,
  .v2-video span svg { transition: none; }
  .care-panel:hover,
  .care-panel:focus-visible { transform: none; }
}

/* Desktop reading flow: headings must never disappear behind the navigation. */
@media (min-width: 901px) {
  .site-header { position: relative; }
  .site-header.is-scrolled { box-shadow: none; backdrop-filter: none; }
}
