/* ==========================================================================
   Page group: team. /our-team/ (archive-elite_clinician.php) and the
   clinician profiles (single-elite_clinician.php), plus the components this
   group owns wherever they appear: clinician-card.php (.dcard),
   staff-card.php (.tstaff) and meet-clinician.php (.meet).

   Revision 9: loaded before revision-5.css (the shared design system), so
   the rules that have to win over it carry the template's body class. The
   facts strip, the H1 scale, the section nav and the treatment cards are the
   system's own; nothing here resizes or hides them.

   1. Our team hero        4. Patient care team     7. Other doctors
   2. Profile hero         5. Profile biography     8. Treating specialist
   3. Doctor rows          6. Profile treatments    9. Our team close
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. Our team hero: the whole team, which only this page shows. Every
   photographed doctor and team member as a wall of small arches in rows of
   3 / 4 / 3 on an 8-column grid (archive-elite_clinician.php sets each row's
   first column), then the head count, the office and the Google rating.
   On a phone the wall becomes one overlapping row of faces.
   -------------------------------------------------------------------------- */
.premium-inner.post-type-archive-elite_clinician .ihero--team .ihero__visual { display: flex; justify-content: flex-end; }
.premium-inner.post-type-archive-elite_clinician .team-card {
  width: 100%; max-width: 33rem; margin: 0; padding: 1.35rem 1.35rem 1.15rem;
  border: 1px solid rgba(225, 219, 235, 0.95); border-radius: 1.75rem; background: #fff;
  box-shadow: 0 40px 80px -48px rgba(26, 18, 54, 0.55);
}
.team-card__wall { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 0.8rem 0.7rem; margin: 0; padding: 0; list-style: none; }
.team-card__face {
  position: relative; grid-column-end: span 2; display: block; overflow: hidden; aspect-ratio: 5 / 6; margin: 0;
  border-radius: 999px 999px 0.95rem 0.95rem; background: linear-gradient(160deg, #eee8f8, #e4f4f4);
}
.team-card__face--ped { background: linear-gradient(160deg, #e3f4f6, #f0f8f6); }
.team-card__face img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 10%; }
/* The team's studio shots are on white: multiplied, the white becomes the doctors' gradient. */
.team-card__face--team img { object-position: center 14%; mix-blend-mode: multiply; }
.team-card__foot {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1.25rem;
  margin-top: 1.15rem; padding-top: 1rem; border-top: 1px solid var(--line-soft, #efedf5);
}
/* The count keeps its lines whole; the rating moves under it when both do not fit. */
.team-card__count { display: flex; flex: 1 0 auto; flex-direction: column; gap: 0.2rem; min-width: 0; max-width: 100%; margin: 0; }
.team-card__count strong { color: var(--ink); font-family: var(--display); font-size: 1.06rem; font-weight: 700; letter-spacing: -0.015em; line-height: 1.25; }
.team-card__count span { color: var(--body); font-size: 0.84rem; line-height: 1.4; }

/* The Google badge as the card's own row, not floating over a face (it is
   the 'float' markup, which revision-5.css hides below 64rem). */
.ihero--team .team-card .gbadge--incard {
  position: static; display: inline-flex; flex: none; align-items: center; gap: 0.65rem; padding: 0;
  border: 0; border-radius: 0.75rem; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
}
.ihero--team .team-card .gbadge--incard .gbadge__num { font-size: 1.35rem; }
.ihero--team .team-card .gbadge--incard .gbadge__count { font-size: 0.8rem; white-space: nowrap; }
.ihero--team .team-card a.gbadge--incard:hover { transform: none; }
.ihero--team .team-card a.gbadge--incard:hover .gbadge__count { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

/* A laptop screen (64 to 80rem): the copy's steps a little closer, so the
   hero and the facts strip fit one 768px-high screen. */
@media (min-width: 64rem) and (max-width: 79.99rem) {
  .premium-inner.post-type-archive-elite_clinician .ihero--team .ihero__copy { gap: 0.85rem; }
  .premium-inner.post-type-archive-elite_clinician .ihero--team .ihero__copy > .hero-book { margin-top: 0.15rem; gap: 0.6rem; }
  .premium-inner.post-type-archive-elite_clinician .ihero--team .team-card { padding: 1.1rem 1.1rem 1rem; }
  .team-card__wall { gap: 0.65rem 0.55rem; }
  .team-card__face { aspect-ratio: 10 / 11; }
  .team-card__foot { gap: 0.6rem 1rem; margin-top: 0.95rem; padding-top: 0.85rem; }
  .team-card__count strong { font-size: 0.98rem; }
  .team-card__count span { font-size: 0.8rem; }
}

/* Tablet: copy beside the card, the card as wide as its column. */
@media (min-width: 48rem) and (max-width: 63.99rem) {
  .premium-inner.post-type-archive-elite_clinician .ihero--team .ihero__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; align-items: center; }
  .premium-inner.post-type-archive-elite_clinician .ihero--team .ihero__visual { width: 100%; padding: 0; }
  .premium-inner.post-type-archive-elite_clinician .team-card { max-width: none; padding: 1rem 1rem 0.95rem; border-radius: 1.5rem; }
  .team-card__wall { gap: 0.6rem 0.5rem; }
  .team-card__foot { flex-direction: column; align-items: flex-start; gap: 0.8rem; margin-top: 0.95rem; padding-top: 0.9rem; }
  .team-card__count strong { font-size: 1rem; }
  .team-card__count span { font-size: 0.8rem; }
}

/* Phone: the card between the lede and the booking buttons, as one row of
   overlapping faces, the count, then the rating. */
@media (max-width: 47.99rem) {
  .premium-inner.post-type-archive-elite_clinician .ihero--team .ihero__in { display: flex; flex-direction: column; align-items: stretch; gap: 0.85rem; }
  .premium-inner.post-type-archive-elite_clinician .ihero--team .ihero__copy { display: contents; }
  .premium-inner.post-type-archive-elite_clinician .ihero--team .ihero__copy > :is(.breadcrumbs, .eyebrow, .tag) { align-self: flex-start; }
  .premium-inner.post-type-archive-elite_clinician .ihero--team .ihero__visual { order: 1; width: 100%; margin-top: 0.15rem; padding: 0; }
  .premium-inner.post-type-archive-elite_clinician .ihero--team .hero-book { order: 2; margin-top: 0.3rem; }
  .premium-inner.post-type-archive-elite_clinician .ihero--team .hero-contact { order: 3; }
  .premium-inner.post-type-archive-elite_clinician .team-card { max-width: none; padding: 0.85rem 0.9rem 0.8rem; border-radius: 1.25rem; box-shadow: 0 24px 50px -40px rgba(26, 18, 54, 0.5); }
  /* The faces share the card's width, overlapping a little. */
  .team-card__wall { display: flex; flex-wrap: nowrap; gap: 0; }
  .team-card__face {
    flex: 1 1 0; min-width: 0; max-width: 2.9rem; height: auto; aspect-ratio: 1; margin-left: -0.5rem;
    border: 2px solid #fff; border-radius: 50%; box-shadow: 0 4px 10px -6px rgba(26, 18, 54, 0.45);
  }
  .team-card__face:first-child { margin-left: 0; }
  .team-card__foot { flex-direction: column; align-items: flex-start; gap: 0.6rem; margin-top: 0.7rem; padding-top: 0.7rem; }
  .team-card__count { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 0 0.4rem; }
  .team-card__count strong { font-size: 0.95rem; }
  .team-card__count span { font-size: 0.8rem; }
  .ihero--team .team-card .gbadge--incard { gap: 0.55rem; }
  .ihero--team .team-card .gbadge--incard .gbadge__g { width: 24px; height: 24px; }
  .ihero--team .team-card .gbadge--incard .gbadge__meta { flex-direction: row; align-items: center; gap: 0.55rem; }
  .ihero--team .team-card .gbadge--incard .gbadge__num { font-size: 1.15rem; }
}


/* --------------------------------------------------------------------------
   2. Profile hero: the portrait in the system's arch with the Google badge.
   The name keeps one line where it fits and breaks evenly where it does not.
   -------------------------------------------------------------------------- */
.premium-inner.single-elite_clinician .ihero--profile .ihero__copy h1 { max-width: none; text-wrap: balance; }
.premium-inner.single-elite_clinician .ihero--profile .ihero__visual .ihero__art img { object-position: center 16%; }

/* The pediatric dentist's profile takes the pediatric accent below the hero
   too (facts icons, credential ticks, links). */
.premium-inner.single-elite_clinician main:has(> .ihero--ped) {
  --lane: var(--ped); --lane-dark: var(--ped-dark); --lane-tint: #e5f5f6; --lane-tint-2: #f2faf9;
}

/* Tablet: copy beside a portrait large enough to hold the screen. */
@media (min-width: 48rem) and (max-width: 63.99rem) {
  .premium-inner.single-elite_clinician .ihero--profile .ihero__in { grid-template-columns: minmax(0, 1fr) minmax(0, 21.5rem); gap: 2rem; align-items: center; }
  .premium-inner.single-elite_clinician .ihero--profile .ihero__visual { width: 100%; justify-self: end; padding: 0; }
  .premium-inner.single-elite_clinician .ihero--profile .ihero__visual .ihero__art { width: 100%; max-width: none; height: 27.5rem; aspect-ratio: auto; border-radius: 999px 999px 1.5rem 1.5rem; }
  .premium-inner.single-elite_clinician .ihero--profile .ihero__visual .ihero__art img { width: 100%; height: 100%; object-fit: cover; object-position: center 12%; }
}

/* Phone, as the home hero: the portrait between the lede and the booking
   button, a 4:3 rounded rectangle that holds the whole head and shoulders. */
@media (max-width: 47.99rem) {
  .premium-inner.single-elite_clinician .ihero--profile .ihero__in { display: flex; flex-direction: column; align-items: stretch; gap: 0.8rem; }
  .premium-inner.single-elite_clinician .ihero--profile .ihero__copy { display: contents; }
  .premium-inner.single-elite_clinician .ihero--profile .ihero__copy > :is(.breadcrumbs, .eyebrow, .tag, .rating, .hero-rating) { align-self: flex-start; }
  .premium-inner.single-elite_clinician .ihero--profile .ihero__visual { order: 1; width: 100%; margin-top: 0.15rem; padding: 0; }
  .premium-inner.single-elite_clinician .ihero--profile .hero-book { order: 2; margin-top: 0.25rem; }
  .premium-inner.single-elite_clinician .ihero--profile .hero-contact { order: 3; }
  .premium-inner.single-elite_clinician .ihero--profile .ihero__copy > :is(.hero-rating, .rating) { order: 4; }
  .premium-inner.single-elite_clinician .ihero--profile .ihero__visual .ihero__art {
    width: 100%; max-width: none; height: auto; aspect-ratio: 4 / 3; margin: 0; border-radius: 1.5rem;
  }
  .premium-inner.single-elite_clinician .ihero--profile .ihero__visual .ihero__art img { width: 100%; height: 100%; object-fit: cover; object-position: center 9%; }
}


/* --------------------------------------------------------------------------
   3. Our team: the doctors as rows (clinician-card.php, 'row'), portrait and
   biography side by side, alternating sides.
   -------------------------------------------------------------------------- */
.dcard { min-width: 0; }
.dcard__media { display: block; min-width: 0; text-decoration: none; }
.dcard__photo {
  position: relative; display: block; overflow: hidden; aspect-ratio: 1178 / 1335;
  border: 1px solid rgba(255, 255, 255, 0.95); border-radius: 999px 999px 2rem 2rem;
  background: linear-gradient(145deg, #eee8f8, #e4f4f4); box-shadow: 0 40px 80px -48px rgba(26, 18, 54, 0.55);
}
.dcard--ped .dcard__photo { background: linear-gradient(145deg, #e5f5f6, #f2faf9); }
.dcard__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 18%; transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1); }
.dcard__media:hover .dcard__photo img, a.dcard:hover .dcard__photo img { transform: scale(1.035); }
.dcard__body { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; min-width: 0; }
.dcard__head { display: flex; flex-direction: column; align-items: flex-start; gap: 0.8rem; }
.dcard__head .tag { margin: 0; }
.dcard__name { margin: 0; color: var(--ink); font-family: var(--display); font-weight: 700; letter-spacing: -0.035em; line-height: 1.08; }
.dcard__name a { color: inherit; text-decoration: none; }
.dcard__name a:hover { color: var(--ortho); }
.dcard--ped .dcard__name a:hover { color: var(--ped); }
.dcard__bio { margin: 0; color: var(--body-strong, #3c3450); line-height: 1.7; }
.dcard__creds { gap: 0.7rem; margin: 0; }
.dcard--ped .dcard__creds li::before { background-color: var(--ped-tint); color: var(--ped); }
.dcard__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; }
.dcard--ped .dcard__go:hover { border-color: var(--ped); color: var(--ped); }
.dcard--ped .dcard__go .go-link__ic { background: var(--ped-tint); color: var(--ped); }
.dcard--ped .dcard__go:hover .go-link__ic { background: var(--ped); color: #fff; }

.team-doctors .dlist { display: grid; gap: clamp(4rem, 7vw, 6.5rem); }
.dcard--row { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); align-items: center; gap: clamp(2.5rem, 6.5vw, 6.5rem); }
.dcard--row > .dcard__media { justify-self: center; width: 100%; max-width: 27rem; }
.dcard--row .dcard__name { font-size: clamp(2rem, 1.35rem + 1.5vw, 2.65rem); }
.dcard--row .dcard__bio { max-width: 58ch; font-size: 1.07rem; }
.dcard--row .dcard__creds { max-width: 56ch; }
.dcard--row .dcard__creds li { font-size: 0.98rem; line-height: 1.5; }
.dcard--row .dcard__acts { margin-top: 0.3rem; }

/* Desktop: each portrait on the content edge (the headings' left edge, the
   facts strip's right edge), the text beside it at one fixed width and one
   gap, so the rows mirror each other exactly. */
@media (min-width: 64rem) {
  .dcard--row { grid-template-columns: min(27rem, 38%) minmax(0, 1fr); gap: clamp(3rem, 6vw, 5.5rem); }
  .dcard--row:nth-child(even) { grid-template-columns: minmax(0, 1fr) min(27rem, 38%); }
  .dcard--row > .dcard__media { justify-self: stretch; max-width: none; }
  .dcard--row:nth-child(even) > .dcard__media { order: 2; }
  .dcard--row > .dcard__body { justify-self: start; width: 100%; max-width: 36rem; }
  .dcard--row:nth-child(even) > .dcard__body { justify-self: end; }
  .dcard--row :is(.dcard__bio, .dcard__creds) { max-width: none; }
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
  .dcard--row { grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); gap: 2.25rem; }
  .dcard--row .dcard__bio { font-size: 1rem; }
  .dcard--row .dcard__creds li { font-size: 0.93rem; }
}

/* Phone: a small arch beside the specialty and the name, then the text at
   full width; a rule between doctors. */
@media (max-width: 47.99rem) {
  .team-doctors .dlist { gap: 0; }
  .dcard--row {
    grid-template-columns: 6rem minmax(0, 1fr); align-items: center; column-gap: 1.05rem; row-gap: 1.1rem;
  }
  .dcard--row + .dcard--row { margin-top: 2.25rem; padding-top: 2.25rem; border-top: 1px solid var(--line-soft, #efedf5); }
  .dcard--row > .dcard__media { order: 0; grid-column: 1; grid-row: 1; max-width: none; }
  .dcard--row .dcard__photo { border-radius: 999px 999px 1rem 1rem; box-shadow: none; }
  .dcard--row > .dcard__body { display: contents; }
  .dcard--row .dcard__head { grid-column: 2; grid-row: 1; gap: 0.5rem; }
  .dcard--row .dcard__name { font-size: 1.4rem; line-height: 1.12; }
  .dcard--row :is(.dcard__bio, .dcard__creds, .dcard__acts) { grid-column: 1 / -1; }
  .dcard--row .dcard__bio { font-size: 0.98rem; line-height: 1.62; }
  .dcard--row .dcard__creds { gap: 0.6rem; }
  .dcard--row .dcard__creds li { font-size: 0.92rem; }
  .dcard--row .dcard__acts { margin-top: 0; }
  .dcard--row .dcard__acts .go-link { width: 100%; }
}


/* --------------------------------------------------------------------------
   4. Our team: the patient care team as portrait tiles (staff-card.php).
   Five and four on a desktop, three by three on a tablet, two across on a
   phone (the ninth centred). Names hold one line and roles two, so every
   caption row lines up.
   -------------------------------------------------------------------------- */
.tstaff-grid { --cols: 5; --gap-x: 1.5rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 2.25rem var(--gap-x); margin: 0; padding: 0; list-style: none; }
.tstaff { display: flex; flex: 0 0 calc((100% - (var(--cols) - 1) * var(--gap-x)) / var(--cols)); flex-direction: column; align-items: center; min-width: 0; text-align: center; }
.tstaff__photo {
  position: relative; display: grid; place-items: center; width: 100%; overflow: hidden; isolation: isolate; aspect-ratio: 561 / 635; margin-bottom: 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.95); border-radius: 999px 999px 1.25rem 1.25rem;
  background: linear-gradient(145deg, #eee8f8, #e4f4f4); box-shadow: 0 30px 60px -44px rgba(26, 18, 54, 0.55);
}
/* The studio shots are on white: multiplied onto the gradient, the white
   becomes the doctors' backdrop and the person is unchanged to the eye. */
.tstaff__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 12%; mix-blend-mode: multiply; }
/* No portrait yet: the logo's mark and the initials, quietly, in the same frame. */
.tstaff__photo--mark { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.7rem; background: linear-gradient(160deg, #f4f1fa, #eaf6f6); }
.tstaff__mark { width: 30%; max-width: 4rem; height: auto; }
.tstaff__mark-a { fill: rgba(56, 205, 219, 0.5); }
.tstaff__mark-b { fill: rgba(70, 45, 136, 0.26); }
.tstaff__initials { color: rgba(70, 45, 136, 0.72); font-family: var(--display); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.16em; line-height: 1; }
.tstaff__name { max-width: 100%; color: var(--ink); font-family: var(--display); font-size: 1.08rem; font-weight: 700; letter-spacing: -0.015em; line-height: 1.25; text-wrap: balance; }
.tstaff__role { margin-top: 0.25rem; color: var(--body); font-size: 0.88rem; line-height: 1.4; text-wrap: balance; }

@media (max-width: 63.99rem) {
  .tstaff-grid { --cols: 3; --gap-x: 1.25rem; row-gap: 2rem; }
  .tstaff__role { min-height: 2.8em; }
}
@media (max-width: 47.99rem) {
  .tstaff-grid { --cols: 2; --gap-x: 0.9rem; row-gap: 1.6rem; }
  .tstaff__photo { margin-bottom: 0.7rem; border-radius: 999px 999px 1rem 1rem; box-shadow: none; }
  .tstaff__name { font-size: 0.95rem; letter-spacing: -0.01em; white-space: nowrap; }
  .tstaff__role { margin-top: 0.2rem; font-size: 0.8rem; line-height: 1.35; min-height: 2.7em; }
  .tstaff__initials { font-size: 0.74rem; }
}


/* --------------------------------------------------------------------------
   5. Profile: one reading column (biography, a review naming the doctor,
   then the full education list) beside the Google trust card, which stays
   in view on a desktop while the column scrolls.
   -------------------------------------------------------------------------- */
.pbio { display: grid; grid-template-columns: minmax(0, 40rem) minmax(0, 23rem); justify-content: space-between; align-items: start; gap: 3rem; }
.pbio__main { min-width: 0; }
.pbio__main > .eyebrow { margin: 0 0 1rem; }
.pbio__block h2 { margin: 0 0 1.6rem; }
.pbio__block + .pbio__block { margin-top: 2.75rem; }
.pbio .prose p { margin: 0; color: var(--body-strong, #3c3450); font-size: 1.08rem; line-height: 1.78; }
.pbio .prose p + p { margin-top: 1.15rem; }
.pbio .prose p:first-child { color: var(--ink); font-size: 1.2rem; line-height: 1.65; }

.pbio__quote {
  position: relative; display: grid; gap: 0.75rem; margin: 2.5rem 0 0; padding: 1.6rem 1.8rem 1.5rem;
  border: 1px solid var(--line-soft, #efedf5); border-radius: 1.25rem; background: var(--lane-tint-2, #f7f4fb);
}
.pbio__quote blockquote { margin: 0; }
.pbio__quote blockquote p { margin: 0; color: var(--ink); font-family: var(--display); font-size: 1.28rem; font-weight: 600; letter-spacing: -0.015em; line-height: 1.45; }
.pbio__quote figcaption { display: flex; flex-wrap: wrap; gap: 0.35rem 0.6rem; color: var(--body); font-size: 0.9rem; }
.pbio__quote figcaption strong { color: var(--ink); }
.pbio__stars .stars, .pbio__stars svg { color: #f4b400; }

.pbio__aside { display: grid; gap: 1.25rem; }
.pcreds {
  padding: 1.6rem 1.7rem 1.7rem; border: 1px solid var(--line-soft, #efedf5); border-radius: 1.25rem; background: #fff;
  box-shadow: 0 24px 50px -36px rgba(26, 18, 54, 0.45);
}
.pbio__main > .pcreds { margin-top: 2.5rem; }
.pcreds__head { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 1.3rem; }
.pcreds__head h3 { flex: 1; margin: 0; font-size: 1.15rem; line-height: 1.3; }
.pcreds__icon { display: grid; flex: none; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 0.8rem; background: var(--lane-tint-2, #f7f4fb); color: var(--lane, var(--ortho)); }
.pcreds .checks { gap: 0.8rem; }
.pcreds .checks li { font-size: 0.95rem; line-height: 1.5; }
.premium-inner .pbio__aside .gbadge--card { max-width: none; }

/* From a tablet up the education list reads in two columns. */
@media (min-width: 48rem) {
  .pcreds .checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem 1.75rem; }
}
@media (min-width: 64rem) {
  .pbio__aside { position: sticky; top: calc(var(--header-h, 81px) + 1.5rem); }
}
@media (min-width: 64rem) and (max-width: 79.99rem) {
  .pbio { grid-template-columns: minmax(0, 1fr) minmax(0, 20rem); gap: 3rem; }
}
@media (max-width: 63.99rem) {
  .pbio { grid-template-columns: 1fr; gap: 2.5rem; }
}
/* Tablet: one column at the full width, so the section has one right edge;
   the Google card laid out as a row (score beside the business and address). */
@media (min-width: 48rem) and (max-width: 63.99rem) {
  .pbio { gap: 1.5rem; }
  .pbio__main > .pcreds { margin-top: 2.25rem; }
  .premium-inner .pbio__aside .gbadge--card.pbio__google {
    display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 0.55rem 2rem; padding: 1.5rem 1.75rem;
  }
  .premium-inner .pbio__google .gbadge__top { grid-area: 1 / 1; }
  .premium-inner .pbio__google .gbadge__score { grid-area: 2 / 1; }
  .premium-inner .pbio__google .gbadge__count { grid-area: 3 / 1; }
  .premium-inner .pbio__google .gbadge__biz { grid-area: 1 / 2 / 3 / 3; align-self: end; padding: 0 0 0 2rem; border-top: 0; border-left: 1px solid var(--line-soft, #e5e1ea); }
  .premium-inner .pbio__google .gbadge__cta { grid-area: 3 / 2; padding-left: 2rem; }
}
@media (max-width: 47.99rem) {
  .pbio { gap: 1rem; }
  .pbio__block h2 { margin-bottom: 1.1rem; }
  .pbio .prose p { font-size: 1rem; line-height: 1.7; }
  .pbio .prose p:first-child { font-size: 1.08rem; }
  .pbio__quote { margin-top: 2rem; padding: 1.25rem 1.3rem; }
  .pbio__quote blockquote p { font-size: 1.1rem; }
  .pbio__main > .pcreds { margin-top: 2rem; }
  .pbio__aside { grid-template-columns: 1fr; gap: 1rem; }
  .pcreds { padding: 1rem 1.1rem; box-shadow: none; }
  .pcreds__head { gap: 0.75rem; margin-bottom: 0; }
  .pcreds__head h3 { font-size: 1.02rem; }
  .pcreds__icon { width: 2.3rem; height: 2.3rem; }
  .pcreds.is-open .pcreds__panel { margin-top: 1.1rem; }
  .pcreds .checks li { font-size: 0.93rem; }
  .single-elite_clinician:has(.ihero--ped) .pcreds .fold-btn { color: var(--ped); }
  .premium-inner .pbio__aside .gbadge--card { padding: 1.2rem 1.25rem; box-shadow: none; }
}


/* --------------------------------------------------------------------------
   6. Profile treatments: the system's treatment cards and one booking row.
   -------------------------------------------------------------------------- */
.premium-inner.single-elite_clinician .profile-treatments .nowrap { white-space: nowrap; }
.premium-inner.single-elite_clinician .profile-treatments .book-cta { align-items: center; }
@media (max-width: 47.99rem) {
  .premium-inner.single-elite_clinician .profile-treatments .book-cta { flex-direction: column; align-items: stretch; gap: 0.6rem; }
  .premium-inner.single-elite_clinician .profile-treatments .book-cta > * { width: 100%; }
}


/* --------------------------------------------------------------------------
   7. Profile: the other doctors, each one link (clinician-card.php, 'mini').
   -------------------------------------------------------------------------- */
.premium-inner.single-elite_clinician .profile-team .sect-head > .go-link { justify-self: end; align-self: end; }
.dmini-grid { display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); gap: 1.25rem; }
.dcard--mini {
  display: flex; align-items: center; gap: 1.35rem; padding: 1rem 1.5rem 1rem 1rem;
  border: 1px solid var(--line-soft, #efedf5); border-radius: 1.35rem; background: #fff; color: var(--ink); text-decoration: none;
  box-shadow: 0 1px 0 rgba(26, 18, 54, 0.03);
  transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.28s ease, border-color 0.28s ease;
}
.dcard--mini:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--ortho) 24%, #efedf5); box-shadow: 0 28px 50px -34px rgba(26, 18, 54, 0.5); }
.dcard--mini.dcard--ped:hover { border-color: color-mix(in srgb, var(--ped) 28%, #efedf5); }
.dcard--mini .dcard__photo { flex: 0 0 6.75rem; width: 6.75rem; border-radius: 999px 999px 1rem 1rem; box-shadow: none; }
.dcard--mini .dcard__body { gap: 0.45rem; }
.dcard--mini .dcard__name { font-size: 1.35rem; line-height: 1.15; }
.dcard--mini .dcard__text { display: -webkit-box; max-width: 46ch; overflow: hidden; color: var(--body); font-size: 0.9rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.profile-team__foot { display: none; }
.premium-inner.single-elite_clinician main:has(> .ihero--ped) .profile-team .go-link:hover { border-color: var(--ped); color: var(--ped); }
.premium-inner.single-elite_clinician main:has(> .ihero--ped) .profile-team .go-link .go-link__ic { background: var(--ped-tint); color: var(--ped); }
.premium-inner.single-elite_clinician main:has(> .ihero--ped) .profile-team .go-link:hover .go-link__ic { background: var(--ped); color: #fff; }
.dcard__more { display: inline-flex; align-items: center; gap: 0.6rem; margin-top: 0.2rem; color: var(--ortho); font-size: 0.88rem; font-weight: 700; }
.dcard--ped .dcard__more { color: var(--ped); }
.dcard__more .go-link__ic { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 0.55rem; background: var(--ortho-tint, #eee9f7); transition: transform 0.25s ease; }
.dcard--ped .dcard__more .go-link__ic { background: var(--ped-tint, #e3f4f6); }
.dcard--mini:hover .dcard__more .go-link__ic { transform: translateX(3px); }
.dcard--mini:focus-visible { outline: 3px solid var(--ortho); outline-offset: 3px; }
@media (max-width: 47.99rem) {
  .premium-inner.single-elite_clinician .profile-team .sect-head > .go-link { display: none; }
  .profile-team__foot { display: block; margin-top: 1rem; }
  .profile-team__foot .go-link { width: 100%; }
  .dcard--mini .dcard__text { display: none; }
  .dmini-grid { grid-template-columns: 1fr; gap: 0.7rem; }
  .dcard--mini { gap: 1rem; padding: 0.7rem 1rem 0.7rem 0.7rem; border-radius: 1.1rem; }
  .dcard--mini:hover { transform: none; }
  .dcard--mini .dcard__photo { flex-basis: 4.75rem; width: 4.75rem; border-radius: 999px 999px 0.75rem 0.75rem; }
  .dcard--mini .dcard__name { font-size: 1.08rem; }
  .dcard--mini .tag { font-size: 0.62rem; }
}


/* --------------------------------------------------------------------------
   8. meet-clinician.php: the lane button then the profile go-link; on a
   phone a small arch beside the name, as on the home page's team cards.
   -------------------------------------------------------------------------- */
.meet__acts { align-items: center; }
@media (max-width: 47.99rem) {
  .premium-inner .meet { grid-template-columns: 5.75rem minmax(0, 1fr); column-gap: 1rem; row-gap: 0.3rem; align-items: center; }
  .premium-inner .meet > .meet__photo { grid-column: 1; grid-row: 1 / span 3; align-self: center; width: 5.75rem; max-width: none; aspect-ratio: 1 / 1.1; border-radius: 999px 999px 0.75rem 0.75rem; box-shadow: none; }
  .premium-inner .meet > .meet__photo img { object-fit: cover; object-position: center 12%; }
  .premium-inner .meet > .meet__body { display: contents; }
  .premium-inner .meet > .meet__body > :is(.eyebrow, h2, .meet__role) { grid-column: 2; margin: 0; }
  .premium-inner .meet > .meet__body > .eyebrow { font-size: 0.7rem; letter-spacing: 0.12em; }
  .premium-inner .meet > .meet__body > .eyebrow::before { display: none; }
  .premium-inner .meet > .meet__body > h2 { font-size: 1.3rem; line-height: 1.15; }
  .premium-inner .meet > .meet__body > .meet__role { justify-self: start; }
  .premium-inner .meet > .meet__body > .meet__acts { grid-column: 1 / -1; margin-top: 1.1rem !important; }
  .meet__acts { flex-direction: column; align-items: stretch; gap: 0.6rem !important; width: 100%; }
  .meet__acts .btn { width: 100%; }
  .meet__acts .go-link { width: 100%; }
}
.meet--ped .meet__go .go-link__ic { background: var(--ped-tint); color: var(--ped); }
.meet--ped .meet__go:hover { border-color: var(--ped); color: var(--ped); }
.meet--ped .meet__go:hover .go-link__ic { background: var(--ped); color: #fff; }


/* --------------------------------------------------------------------------
   9. Our team: the closing booking panel (archive-elite_clinician.php). The
   two lane buttons naming the doctors, the phone and Get Directions, beside
   the Google trust card with the business name and address.
   -------------------------------------------------------------------------- */
.premium-inner.post-type-archive-elite_clinician .team-close__in {
  display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); align-items: center; gap: clamp(2rem, 5vw, 5rem);
  padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid rgba(225, 219, 235, 0.95); border-radius: 1.75rem; background: #fff;
  box-shadow: 0 40px 80px -56px rgba(26, 18, 54, 0.45);
}
.premium-inner.post-type-archive-elite_clinician .team-close__copy { min-width: 0; }
.premium-inner.post-type-archive-elite_clinician .team-close__copy > .eyebrow { margin: 0 0 0.9rem; }
.premium-inner.post-type-archive-elite_clinician .team-close__copy > h2 { margin: 0; }
.premium-inner.post-type-archive-elite_clinician .team-close__copy > .lede { max-width: 46ch; margin: 1rem 0 0; }
.premium-inner.post-type-archive-elite_clinician .team-close__copy > .hero-book { margin-top: 1.75rem; }
.premium-inner.post-type-archive-elite_clinician .team-close__copy > .hero-contact { margin-top: 0.75rem; }
.premium-inner.post-type-archive-elite_clinician .team-close__trust { justify-self: stretch; max-width: none; box-shadow: none; background: var(--lane-tint-2, #f7f4fb); }

/* Tablet: the copy and buttons at full width, then the trust card as a row
   (score beside the business and address), as on the profiles. */
@media (min-width: 48rem) and (max-width: 63.99rem) {
  .premium-inner.post-type-archive-elite_clinician .team-close__in { grid-template-columns: 1fr; gap: 2rem; padding: 2.25rem; }
  .premium-inner.post-type-archive-elite_clinician .team-close__trust {
    display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 0.55rem 2rem; padding: 1.5rem 1.75rem;
  }
  .premium-inner .team-close__trust .gbadge__top { grid-area: 1 / 1; }
  .premium-inner .team-close__trust .gbadge__score { grid-area: 2 / 1; }
  .premium-inner .team-close__trust .gbadge__count { grid-area: 3 / 1; }
  .premium-inner .team-close__trust .gbadge__biz { grid-area: 1 / 2 / 3 / 3; align-self: end; padding: 0 0 0 2rem; border-top: 0; border-left: 1px solid var(--line-soft, #e5e1ea); }
  .premium-inner .team-close__trust .gbadge__cta { grid-area: 3 / 2; padding-left: 2rem; }
}
@media (max-width: 47.99rem) {
  /* On a phone the panel's frame goes, so the buttons keep the hero's full width. */
  .premium-inner.post-type-archive-elite_clinician .team-close__in { grid-template-columns: 1fr; gap: 1.5rem; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
  .premium-inner.post-type-archive-elite_clinician .team-close__copy > .hero-book { margin-top: 1.25rem; }
  .premium-inner.post-type-archive-elite_clinician .team-close__trust { padding: 1.2rem 1.25rem; }
}
