/* Doctor profile page only. Shared blocks (hero, FAQ, related, CTA, before/after) live in pages.css. */

/* ---------- Hero: the studio portrait is shown whole on a light grey panel (as on the home page) ---------- */
.phero__frame { aspect-ratio: 4 / 4.6; background: linear-gradient(180deg, #F2F4F7 0%, #EEF0F4 55%, #E4E5E9 100%); }
.phero__img {
  object-fit: contain; object-position: 50% 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 13%, #000 87%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 12%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, transparent 0%, #000 13%, #000 87%, transparent 100%), linear-gradient(180deg, transparent 0%, #000 12%);
  mask-composite: intersect;
}

/* ---------- Approach + profile card ---------- */
.dr-about { background: var(--c-paper); }
.dr-about__inner { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.dr-about__bio { margin: 26px 0 20px; font-family: var(--f-display); font-size: clamp(1.22rem, 1.02rem + .7vw, 1.55rem); line-height: 1.55; color: var(--c-forest-deep); }
.dr-about__text { max-width: 580px; margin-bottom: 32px; color: var(--c-stone); }
.dr-card { position: relative; isolation: isolate; overflow: hidden; padding: clamp(24px, 2.6vw, 34px); border-radius: 30px; background: var(--c-ivory); border: 1px solid rgba(184, 154, 103, .3); box-shadow: 0 40px 80px -60px rgba(21, 42, 35, .45); }
.dr-card__tooth { position: absolute; right: -50px; top: -40px; z-index: -1; width: 220px; height: 190px; color: var(--c-champagne); opacity: .3; }
.dr-card__ring { fill: none; stroke: currentColor; stroke-width: 6; stroke-dasharray: 1; stroke-dashoffset: 0; }
.dr-card__head { display: flex; align-items: center; gap: 18px; margin-bottom: 6px; padding-bottom: 20px; border-bottom: 1px solid rgba(184, 154, 103, .35); }
.dr-card__avatar { width: 64px; height: 64px; flex: none; border-radius: 50%; overflow: hidden; background: #EEEFF4; box-shadow: 0 0 0 1px rgba(184, 154, 103, .5), 0 0 0 5px var(--c-ivory), 0 0 0 6px rgba(184, 154, 103, .25); }
.dr-card__avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
.dr-card__title { font-family: var(--f-display); font-size: 1.55rem; line-height: 1.2; color: var(--c-forest-deep); }
.dr-card__list > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px dashed rgba(28, 31, 30, .12); }
.dr-card__list > div:last-child { border-bottom: 0; padding-bottom: 0; }
.dr-card__list dt { padding-top: 3px; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--c-gold-ink); }
.dr-card__list dd { margin: 0; font-size: .95rem; font-weight: 500; line-height: 1.5; color: var(--c-graphite); }
.dr-card__list small { display: block; font-size: .82rem; font-weight: 400; color: var(--c-stone); }

/* ---------- Quote + numbers (green band, curved top) ---------- */
.dr-quote {
  position: relative; isolation: isolate; overflow: hidden; overflow: clip; text-align: center; color: var(--c-ivory);
  padding-block: calc(clamp(80px, 9vw, 140px) + var(--curve-h, 0px)) clamp(70px, 8vw, 120px);
  background: radial-gradient(80% 120% at 50% 0%, var(--c-forest-2) 0%, var(--c-forest) 45%, var(--c-forest-deep) 100%);
}
.dr-quote__tooth { position: absolute; left: 50%; top: 40%; z-index: -1; width: min(560px, 80vw); height: auto; transform: translate(-50%, -50%); opacity: .14; pointer-events: none; }
.dr-quote__fig { max-width: 1000px; margin-inline: auto; }
.dr-quote__mark { display: inline-grid; place-items: center; width: 64px; height: 64px; margin-bottom: 28px; border-radius: 50%; border: 1px solid rgba(217, 196, 154, .4); color: var(--c-champagne-light); }
.dr-quote__mark .i { width: 26px; height: 26px; }
.dr-quote__text { font-family: var(--f-display); font-size: clamp(2rem, 1.2rem + 3vw, 3.9rem); font-style: italic; font-weight: 400; line-height: 1.16; letter-spacing: -.01em; color: var(--c-ivory); }
.dr-quote__cap { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 14px; margin-top: 30px; }
.dr-quote__cap b { font-weight: 600; letter-spacing: .04em; color: var(--c-champagne-light); }
.dr-quote__cap span { font-size: .86rem; color: rgba(247, 244, 238, .66); }
.dr-quote__cap span::before { content: ""; display: inline-block; width: 24px; height: 1px; margin-right: 14px; vertical-align: middle; background: rgba(217, 196, 154, .5); }
.dr-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1000px; margin: clamp(48px, 6vw, 84px) auto 0; border-top: 1px solid rgba(217, 196, 154, .22); }
.dr-stat { padding: 32px 16px 0; }
.dr-stat + .dr-stat { border-left: 1px solid rgba(217, 196, 154, .18); }
.dr-stat__value { font-family: var(--f-display); font-size: clamp(2.4rem, 1.6rem + 2.4vw, 3.8rem); line-height: 1; color: var(--c-champagne-light); white-space: nowrap; font-variant-numeric: tabular-nums; }
.dr-stat__suffix { margin-left: 2px; }
.dr-stat__label { margin-top: 12px; font-size: .86rem; color: rgba(247, 244, 238, .72); }

/* ---------- Areas of expertise ---------- */
.dr-exp { background: var(--c-ivory); }
.dr-exp__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 24px); }
.dr-exp__item { position: relative; display: flex; flex-direction: column; padding: 32px 30px 28px; border-radius: 26px; background: var(--c-paper); border: 1px solid rgba(28, 31, 30, .06); box-shadow: 0 1px 2px rgba(21, 42, 35, .03), 0 18px 40px -30px rgba(21, 42, 35, .25); transition: translate .6s var(--ease), box-shadow .6s var(--ease); }
.dr-exp__item:hover { translate: 0 -5px; box-shadow: 0 30px 60px -32px rgba(21, 42, 35, .32), inset 0 0 0 1px rgba(184, 154, 103, .35); }
.dr-exp__num { position: absolute; right: 26px; top: 22px; font-family: var(--f-display); font-size: 2.6rem; line-height: 1; color: rgba(184, 154, 103, .3); }
.dr-exp__icon { position: relative; display: block; width: 76px; height: 66px; margin-bottom: 22px; color: #A8834B; }
.dr-exp__tooth { position: absolute; inset: 0; fill: none; stroke: var(--c-champagne); stroke-width: 9; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.dr-exp__icon .i { position: absolute; left: 50%; top: 40.4%; width: 22px; height: 22px; transform: translate(-50%, -50%); }
.dr-exp__title { margin-bottom: 10px; font-family: var(--f-display); font-size: 1.4rem; font-weight: 400; line-height: 1.2; color: var(--c-forest-deep); }
.dr-exp__text { font-size: .92rem; line-height: 1.6; color: var(--c-stone); }
.dr-exp__link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 20px; font-size: .84rem; font-weight: 600; color: var(--c-forest); }
.dr-exp__link .i { width: 16px; height: 16px; transition: transform .4s var(--ease); }
.dr-exp__link:hover { color: var(--c-gold-ink); }
.dr-exp__link:hover .i { transform: translateX(4px); }

/* ---------- Full list of treatments ---------- */
.dr-treat { background: var(--c-cream); }
.dr-treat__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.dr-treat__group { padding: 22px 22px 10px; border-radius: 24px; background: rgba(255, 255, 255, .62); border: 1px solid rgba(184, 154, 103, .28); }
.dr-treat__head { display: flex; align-items: center; gap: 10px; min-height: 62px; margin-bottom: 4px; padding-bottom: 16px; border-bottom: 1px solid rgba(184, 154, 103, .35); font-family: var(--f-display); font-size: 1.12rem; line-height: 1.2; color: var(--c-forest-deep); }
.dr-treat__head small { margin-left: auto; font-family: var(--f-text); font-size: .7rem; font-weight: 600; color: var(--c-gold-ink); }
.dr-treat__icon { display: grid; place-items: center; width: 36px; height: 36px; flex: none; border-radius: 50%; border: 1px solid rgba(184, 154, 103, .55); color: var(--c-gold-deep); }
.dr-treat__icon .i { width: 18px; height: 18px; }
.dr-treat__list li > a, .dr-treat__list li > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 0; font-size: .9rem; line-height: 1.4; color: var(--c-graphite); }
.dr-treat__list li + li { border-top: 1px dashed rgba(28, 31, 30, .12); }
.dr-treat__list a .i { width: 14px; height: 14px; flex: none; color: var(--c-champagne); transition: transform .4s var(--ease), color .3s; }
.dr-treat__list a:hover { color: var(--c-forest); }
.dr-treat__list a:hover .i { transform: translateX(4px); color: var(--c-gold-deep); }

/* ---------- Cases ---------- */
.dr-cases { background: var(--c-paper); }
.dr-cases .pba-card { background: var(--c-ivory); }
.dr-cases__all { margin-top: 28px; text-align: center; }

/* ---------- Reviews ---------- */
.dr-reviews { background: var(--c-ivory); }
.dr-reviews__inner { display: grid; grid-template-columns: minmax(0, .68fr) minmax(0, 1.32fr); gap: clamp(40px, 5vw, 80px); align-items: start; }
.dr-reviews__aside { position: sticky; top: calc(var(--header-h) + 32px); }
.dr-score { display: flex; align-items: center; gap: 18px; margin: 28px 0 10px; }
.dr-score__value { font-family: var(--f-display); font-size: 4.6rem; line-height: 1; color: var(--c-forest-deep); }
.dr-score__stars { display: flex; gap: 3px; color: #C49A4E; }
.dr-score__stars .i { width: 17px; height: 17px; }
.dr-score__count { margin-top: 4px; font-size: .86rem; color: var(--c-stone); }
.dr-score__note { max-width: 300px; margin-bottom: 24px; font-size: .78rem; color: var(--c-stone); }
.dr-review { display: flex; flex-direction: column; gap: 16px; padding: 28px 28px 22px; border-radius: 24px; background: var(--c-paper); border: 1px solid rgba(184, 154, 103, .22); }
.dr-review__stars { display: flex; gap: 3px; color: rgba(184, 154, 103, .3); }
.dr-review__stars .i { width: 14px; height: 14px; }
.dr-review__stars .is-on { color: #C49A4E; }
.dr-review blockquote { flex: 1; }
.dr-review blockquote p { font-family: var(--f-display); font-size: 1.02rem; font-style: italic; line-height: 1.65; color: var(--c-graphite); }
.dr-review figcaption { display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--c-line); }
.dr-review__avatar { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 50%; background: var(--c-cream); font-family: var(--f-display); font-size: 1.1rem; color: var(--c-gold-deep); }
.dr-review figcaption b { display: block; font-size: .95rem; color: var(--c-forest-deep); }
.dr-review figcaption small { display: block; font-size: .76rem; color: var(--c-stone); }
.dr-review--big { position: relative; padding: clamp(30px, 3.4vw, 44px); box-shadow: 0 30px 60px -44px rgba(21, 42, 35, .4); }
.dr-review--big::before { content: "\201C"; position: absolute; right: 28px; top: 4px; font-family: var(--f-display); font-size: 7rem; line-height: 1; color: rgba(184, 154, 103, .25); pointer-events: none; }
.dr-review--big blockquote p { font-size: clamp(1.2rem, 1.05rem + .55vw, 1.5rem); line-height: 1.55; color: var(--c-forest-deep); }
.dr-reviews__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }

/* ---------- Shared blocks re-toned for this page's rhythm ---------- */
.pfaq { background: var(--c-paper); }
.prelated { background: var(--c-ivory); }
.prelated__card { background: var(--c-paper); }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  .dr-treat__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .dr-about__inner, .dr-reviews__inner { grid-template-columns: 1fr; }
  .dr-card { max-width: 640px; }
  .dr-reviews__aside { position: static; }
  .dr-exp__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dr-treat__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .phero__frame { aspect-ratio: 4 / 5; }
  .dr-card__list > div { grid-template-columns: 1fr; gap: 4px; }
  .dr-stats { grid-template-columns: 1fr; max-width: 360px; }
  .dr-stat { padding: 24px 0; }
  .dr-stat + .dr-stat { border-left: 0; border-top: 1px solid rgba(217, 196, 154, .18); }
  .dr-exp__grid, .dr-treat__grid, .dr-reviews__grid { grid-template-columns: 1fr; }
  .dr-treat__head { min-height: 0; }
  .dr-treat__group { padding-bottom: 20px; }
  .dr-treat__list { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 12px; }
  .dr-treat__list li + li { border-top: 0; }
  .dr-treat__list li > a, .dr-treat__list li > span { padding: 7px 13px; border-radius: var(--r-pill); border: 1px solid rgba(184, 154, 103, .35); background: var(--c-paper); font-size: .84rem; }
  .dr-treat__list a .i { display: none; }
  .dr-exp__item { padding: 28px 24px 24px; }
  .dr-review { padding: 24px 22px 20px; }
  .dr-score__value { font-size: 3.8rem; }
}

/* Animated photo frames (core.js [data-reveal-img]) must not act as scroll anchors, or a deep link (#anchor)
   can drift while their scale/clip animation runs. */
[data-reveal-img] { overflow-anchor: none; }
