/* ==========================================================================
   Round 13: client final changes (people). Loaded after the r8 files.

   Content first (client points 15 to 22): Our Team, the doctor profiles,
   Why Elite, Insurance & Financing and Technology show what a visitor came
   for, then ask them to book once, near the end.

   1. Content-first heroes: no booking buttons; links down the page
   2. Our Team: the doctors as equal cards (clinician-card.php, 'tile')
   3. Our Team: the care team line
   4. The closing booking section (.pclose), shared by the people pages
   5. Doctor profiles
   6. Reviews that mention a doctor (doctor-reviews.php)
   7. Why Elite
   8. Insurance & Financing
   9. Technology
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. Content-first heroes. Where the booking buttons were, a short row of
   links to the page's own sections (an arrow turned down), so the first
   screen says what the page holds. The booking is at the end.
   -------------------------------------------------------------------------- */
.premium-inner .ihero__jumps { width: 100%; }
.premium-inner .ihero__jumps ul { display: flex; flex-wrap: wrap; gap: 0.65rem; margin: 0; padding: 0; list-style: none; }
.premium-inner .ihero__jumps li { margin: 0; }
.premium-inner .ihero__jumps a {
  display: inline-flex; align-items: center; gap: 0.6rem; min-height: 2.9rem; padding: 0.45rem 0.5rem 0.45rem 1.1rem;
  border: 1px solid var(--line, #e6e3ee); border-radius: 999px; background: #fff; color: var(--ink);
  font-size: 0.97rem; font-weight: 600; line-height: 1.2; letter-spacing: -0.005em; text-decoration: none; white-space: nowrap;
  box-shadow: 0 12px 26px -22px rgba(26, 18, 54, 0.5); transition: border-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.premium-inner .ihero__jump-ic {
  display: grid; flex: none; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%;
  background: var(--lane-tint, var(--ortho-tint)); color: var(--lane, var(--ortho)); transform: rotate(90deg); transition: background 0.2s, color 0.2s;
}
.premium-inner .ihero__jumps a:hover { border-color: color-mix(in srgb, var(--lane, var(--ortho)) 40%, #e7e3ee); color: var(--lane, var(--ortho)); box-shadow: 0 14px 28px -18px rgba(26, 18, 54, 0.5); }
.premium-inner .ihero__jumps a:hover .ihero__jump-ic { background: var(--lane, var(--ortho)); color: #fff; }
.premium-inner .ihero__jumps a:focus-visible { outline: 2px solid var(--lane, var(--ortho)); outline-offset: 3px; }
/* The sections the links land on clear the sticky header. */
.premium-inner :is(#doctors, #care-team, #about, #reviews, #treatments, #insurance, #financing, #payment-options, #questions, #practice, #specialties, #technology, #compare, #different, #stories, #book, #plans, #benefits, #claims, #payment, #hsa-fsa) { scroll-margin-top: calc(var(--header-h, 81px) + 1rem); }

/* Below a desktop the links are one list, a full-width row each (as a table
   of contents), so none is left alone on a second line of pills. */
@media (max-width: 63.99rem) {
  .premium-inner .ihero__jumps ul { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.45rem; }
  .premium-inner .ihero__jumps a { display: flex; justify-content: space-between; width: 100%; min-height: 2.85rem; padding: 0.3rem 0.35rem 0.3rem 1rem; border-radius: 0.95rem; font-size: 0.95rem; box-shadow: none; }
  .premium-inner .ihero__jump-ic { width: 1.8rem; height: 1.8rem; }
}
@media (min-width: 48rem) and (max-width: 63.99rem) {
  .premium-inner .ihero__jumps { max-width: 24rem; }
}


/* On these pages a script ties the last two words of every text block
   (inc/reviews.php, elite_ortho_widont_script()), so no word is left alone
   on a last line. Plain wrapping then keeps the lines above it full; the
   'pretty' wrapping, combined with the tie, could leave one word alone on a
   middle line. Headings stay balanced. */
:is(.post-type-archive-elite_clinician, .single-elite_clinician, .page-template-page-templatestemplate-why-elite-php, .page-template-template-insurance, .page-template-page-templatestemplate-technology-php).premium-inner main :is(p, li, dd, figcaption, .fact__v, .rev__text, .drev__text p) { text-wrap: wrap; }

/* A doctor's degrees (inc/reviews.php, elite_ortho_doctor_name(); the profile
   hero's H1): on their own line under the name, smaller, so a degree is
   never left alone on a line. The comma stays for screen readers only. */
.premium-inner .dname__creds { display: block; margin-top: 0.3rem; color: var(--body); font-family: var(--body-font, inherit); font-size: 0.58em; font-weight: 600; letter-spacing: 0.08em; line-height: 1.3; }
.premium-inner .dcard--mini .dname__creds { margin-top: 0.2rem; font-size: 0.72em; }
.premium-inner .dname__sep,
.premium-inner .ihero__creds-sep.ihero__creds-sep { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (min-width: 64rem) {
  /* A desktop has room for the name and the degrees on one line. */
  .premium-inner .ihero__creds-sep.ihero__creds-sep { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
}
@media (max-width: 63.99rem) {
  .premium-inner .ihero--profile .ihero__creds { display: block; margin-top: 0.45rem; color: var(--body); font-size: max(0.42em, 0.95rem); font-weight: 600; letter-spacing: 0.06em; line-height: 1.3; }
}


/* --------------------------------------------------------------------------
   2. Our Team: the doctors as equal cards side by side. Each card's parts
   (portrait, name, training, biography, buttons) are rows of the grid, so
   they line up across the cards whatever each biography's length; the
   specialty groups are named over their columns.
   -------------------------------------------------------------------------- */
.tdoc-grid {
  display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); grid-template-rows: auto repeat(5, auto);
  column-gap: clamp(1.25rem, 2.4vw, 2.25rem); row-gap: 0;
}
.tdoc-group {
  grid-row: 1; display: flex; align-items: center; gap: 0.9rem; margin: 0 0 1.35rem;
  color: var(--ortho); font-family: var(--display); font-size: 1.12rem; font-weight: 700; letter-spacing: -0.015em; line-height: 1.2;
}
.tdoc-group::after { content: ""; flex: 1; height: 2px; border-radius: 2px; background: var(--ortho-tint); }
.tdoc-group--ped { color: var(--ped); }
.tdoc-group--ped::after { background: var(--ped-tint); }

.dtile {
  --tl: var(--ortho); --tl-tint: var(--ortho-tint); --tl-dark: var(--ortho-dark);
  grid-row: 2 / span 5; display: grid; grid-template-rows: subgrid; row-gap: 0; min-width: 0;
  padding: 0.85rem 0.85rem 1.6rem; border: 1px solid var(--line, #e6e3ee); border-radius: 2rem; background: #fff;
  box-shadow: 0 34px 70px -52px rgba(26, 18, 54, 0.55); scroll-margin-top: calc(var(--header-h, 81px) + 1rem);
}
.dtile--ped { --tl: var(--ped); --tl-tint: var(--ped-tint); --tl-dark: var(--ped-dark); }
.dtile__media { display: block; min-width: 0; text-decoration: none; }
.dtile__photo {
  position: relative; display: block; overflow: hidden; aspect-ratio: 1178 / 1260; border-radius: 999px 999px 1.4rem 1.4rem;
  background: linear-gradient(145deg, #eee8f8, #e4f4f4);
}
.dtile--ped .dtile__photo { background: linear-gradient(145deg, #e5f5f6, #f2faf9); }
.dtile__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 14%; transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1); }
.dtile__media:hover .dtile__photo img { transform: scale(1.03); }
.dtile__head { display: flex; flex-direction: column; align-items: center; gap: 0.7rem; padding: 1.35rem 0.75rem 0; text-align: center; }
.dtile__head .tag { align-self: center; margin: 0; background: var(--tl-tint); color: var(--tl); }
.dtile__name { margin: 0; color: var(--ink); font-family: var(--display); font-size: clamp(1.4rem, 1.05rem + 0.75vw, 1.8rem); font-weight: 700; letter-spacing: -0.03em; line-height: 1.12; text-wrap: balance; }
.dtile__name a { color: inherit; text-decoration: none; }
.dtile__name a:hover { color: var(--tl); }
/* The training at a glance: one row a fact, the label left and the value right, so every value keeps one line. */
.dtile__facts {
  display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 0.6rem;
  margin: 1.2rem 0.75rem 0; padding: 1.05rem 0; border-block: 1px solid var(--line-soft, #efedf5);
}
.dtile__fact { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; min-width: 0; }
.dtile__fact dt { flex: none; color: var(--body); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.11em; line-height: 1.3; text-transform: uppercase; }
.dtile__fact dd { min-width: 0; margin: 0; color: var(--ink); font-size: 0.95rem; font-weight: 600; line-height: 1.35; text-align: right; }
.dtile__bio { margin: 1.1rem 0.75rem 0; color: var(--body-strong, #3c3450); font-size: 1rem; line-height: 1.62; text-align: center; text-wrap: pretty; }
.dtile__acts { display: grid; align-content: end; gap: 0.7rem; margin: 1.4rem 0.75rem 0; }
.dtile__acts .btn { width: 100%; min-height: 3.25rem; justify-content: center; gap: 0.6rem; padding-inline: 1rem; font-size: 1rem; text-align: center; white-space: nowrap; }
.dtile__more { border-color: color-mix(in srgb, var(--tl) 30%, #ded9e8); color: var(--ink); background: #fff; }
.dtile__more-ic { display: grid; flex: none; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--tl-tint); color: var(--tl); transition: background 0.2s, color 0.2s; }
.dtile__more:hover { border-color: var(--tl); background: #fff; color: var(--tl); }
.dtile__more:hover .dtile__more-ic { background: var(--tl); color: #fff; }
.dtile__book { background: var(--tl); color: #fff; }
.dtile__book:hover { background: var(--tl-dark); color: #fff; }
.dtile__book-ic { display: inline-flex; flex: none; }

/* A laptop: the same cards, a little tighter. */
@media (min-width: 64rem) and (max-width: 79.99rem) {
  .dtile { padding: 0.75rem 0.75rem 1.35rem; border-radius: 1.75rem; }
  .dtile__head { padding-inline: 0.4rem; }
  .dtile__facts { margin-inline: 0.4rem; }
  .dtile__fact dd { font-size: 0.92rem; }
  .dtile__bio { margin-inline: 0.4rem; font-size: 0.97rem; }
  .dtile__acts { margin-inline: 0.4rem; }
  .dtile__acts .btn { font-size: 0.95rem; padding-inline: 0.75rem; }
}

/* Tablet and phone: one doctor a row, the specialty on each card. */
@media (max-width: 63.99rem) {
  .tdoc-grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: 1.5rem; }
  .tdoc-group { display: none; }
  .dtile { grid-row: auto; grid-template-rows: none; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); column-gap: 2rem; align-items: start; padding: 1rem 1.75rem 1rem 1rem; }
  .dtile > * { grid-column: 2; }
  .dtile__media { grid-column: 1; grid-row: 1 / span 5; align-self: stretch; }
  .dtile__photo { height: 100%; min-height: 20rem; aspect-ratio: auto; border-radius: 999px 999px 1.4rem 1.4rem; }
  .dtile__head { align-items: flex-start; padding: 1.1rem 0 0; text-align: left; }
  .dtile__head .tag { align-self: flex-start; }
  .dtile__facts { margin: 1rem 0 0; }
  .dtile__bio { margin: 0.95rem 0 0; text-align: left; }
  .dtile__acts { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1.25rem 0 0.75rem; }
}
@media (min-width: 48rem) and (max-width: 63.99rem) {
  .dtile__acts { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 47.99rem) {
  .tdoc-grid { row-gap: 1.25rem; }
  .dtile { grid-template-columns: minmax(0, 1fr); padding: 0.7rem 0.7rem 1.2rem; border-radius: 1.6rem; }
  .dtile > *, .dtile__media { grid-column: 1; grid-row: auto; }
  .dtile__photo { height: auto; min-height: 0; aspect-ratio: 1 / 0.92; border-radius: 999px 999px 1.2rem 1.2rem; }
  .dtile__photo img { object-position: center 12%; }
  .dtile__head { align-items: center; padding: 1.05rem 0.4rem 0; text-align: center; gap: 0.55rem; }
  .dtile__head .tag { align-self: center; }
  .dtile__name { font-size: 1.45rem; }
  .dtile__facts { margin: 0.95rem 0.4rem 0; padding: 0.9rem 0; gap: 0.55rem; }
  .dtile__fact dd { font-size: 0.92rem; }
  .dtile__bio { margin: 0.9rem 0.4rem 0; font-size: 0.97rem; text-align: center; }
  .dtile__acts { grid-template-columns: minmax(0, 1fr); gap: 0.6rem; margin: 1.15rem 0.4rem 0; }
  .dtile__acts .btn { min-height: 3.1rem; font-size: 0.97rem; }
}


/* --------------------------------------------------------------------------
   3. Our Team: the care team. Anyone without a portrait is named, with
   their role, in one clean line after the portraits.
   -------------------------------------------------------------------------- */
.premium-inner .tstaff-also__v { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 0.15rem 0; }
.premium-inner .tstaff-also__p { white-space: nowrap; }
.premium-inner .tstaff-also__p + .tstaff-also__p::before { content: "\00B7"; margin: 0 0.6rem; color: var(--body); }
.premium-inner .tstaff-also__n { color: var(--ink); font-weight: 600; }
.premium-inner .tstaff-also__r::before { content: ", "; }
.premium-inner .tstaff-also__r { color: var(--body); }
@media (max-width: 47.99rem) {
  .premium-inner .tstaff-also__v { flex-direction: column; align-items: center; gap: 0.15rem; }
  .premium-inner .tstaff-also__p + .tstaff-also__p::before { content: none; }
}


/* --------------------------------------------------------------------------
   4. The closing booking section: the page's one booking prompt, after the
   content. The copy and the two buttons beside the office's details and the
   Google rating, in one card.
   -------------------------------------------------------------------------- */
.pclose__in {
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); align-items: center; gap: clamp(2rem, 5vw, 4.5rem);
  padding: clamp(1.75rem, 4vw, 3.4rem); border: 1px solid var(--line, #e6e3ee); border-radius: 2rem; background: #fff;
  box-shadow: 0 40px 80px -60px rgba(26, 18, 54, 0.55);
}
.pclose__copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.pclose__copy .eyebrow { margin: 0 0 0.9rem; }
.pclose__copy h2 { margin: 0; max-width: 18ch; text-wrap: balance; }
.pclose__copy .lede { max-width: 44ch; margin: 1rem 0 0; text-wrap: pretty; }
.pclose__acts { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.75rem; }
.pclose__acts .btn { gap: 0.65rem; white-space: nowrap; }
.pclose__acts .btn--stacked { white-space: normal; }
.pclose__ic { display: inline-flex; flex: none; }
.pclose__side { display: grid; gap: 1.1rem; min-width: 0; padding: 1.5rem 1.6rem; border-radius: 1.5rem; background: var(--mist); }
.pclose__info { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.pclose__info li { display: flex; align-items: flex-start; gap: 0.85rem; margin: 0; min-width: 0; color: var(--ink); font-size: 0.97rem; font-weight: 600; line-height: 1.45; }
.pclose__info li > span:last-child { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.pclose__info small { color: var(--body); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.11em; line-height: 1.3; text-transform: uppercase; }
.pclose__info a { color: var(--ink); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--ortho) 35%, transparent); text-underline-offset: 3px; }
.pclose__info a:hover { color: var(--ortho); text-decoration-color: currentColor; }
.pclose__info-ic { display: grid; flex: none; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 0.8rem; background: #fff; color: var(--ortho); }
/* The hours as a small table of whole days (two columns), never a separator at a line's end. */
.pclose__hours { display: grid; grid-template-columns: repeat(2, max-content); gap: 0.15rem 1.4rem; }
.pclose__hours > span { white-space: nowrap; }
@media (max-width: 25rem) {
  .pclose__hours { grid-template-columns: max-content; }
}
.premium-inner .pclose .gbadge.pclose__google { position: static; display: flex; align-items: center; gap: 0.75rem; margin: 0; padding: 1rem 0 0; border: 0; border-top: 1px solid var(--line, #e6e3ee); border-radius: 0; background: none; box-shadow: none; }

@media (max-width: 63.99rem) {
  .pclose__in { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .pclose__side { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .pclose__info { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .premium-inner .pclose .gbadge.pclose__google { grid-column: 1 / -1; }
}
@media (max-width: 47.99rem) {
  .pclose__in { padding: 1.4rem 1.15rem; border-radius: 1.5rem; gap: 1.4rem; }
  .pclose__acts { flex-direction: column; align-items: stretch; width: 100%; gap: 0.6rem; margin-top: 1.35rem; }
  .pclose__acts .btn { justify-content: center; width: 100%; }
  .pclose__side { grid-template-columns: minmax(0, 1fr); padding: 1.15rem 1.1rem; border-radius: 1.2rem; }
  .pclose__info { grid-template-columns: minmax(0, 1fr); gap: 0.85rem; }
  .pclose__info li { font-size: 0.93rem; }
}


/* --------------------------------------------------------------------------
   5. Doctor profiles. The hero has no booking buttons (links down the page
   instead). Beside the profile, on a desktop, a card keeps the doctor and
   the profile's sections in view; the booking is its own section near the
   end (.pclose--doctor).
   -------------------------------------------------------------------------- */
.premium-inner.single-elite_clinician .pbio__aside { align-self: start; }
.pglance {
  --gl: var(--ortho); --gl-tint: var(--ortho-tint);
  display: grid; gap: 1.1rem; padding: 1.5rem 1.5rem 1.35rem; border: 1px solid var(--line, #e6e3ee); border-radius: 1.75rem; background: #fff;
  box-shadow: 0 34px 70px -52px rgba(26, 18, 54, 0.55);
}
.pglance--ped { --gl: var(--ped); --gl-tint: var(--ped-tint); }
.pglance__who { display: flex; align-items: center; gap: 0.95rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--line-soft, #efedf5); }
.pglance__photo { display: block; flex: none; width: 4rem; height: 4rem; overflow: hidden; border-radius: 999px 999px 0.9rem 0.9rem; background: linear-gradient(145deg, #eee8f8, #e4f4f4); }
.pglance--ped .pglance__photo { background: linear-gradient(145deg, #e5f5f6, #f2faf9); }
.pglance__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 14%; }
.pglance__id { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.pglance__name { color: var(--ink); font-family: var(--display); font-size: 1.22rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; }
.pglance__role { color: var(--gl); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; line-height: 1.3; text-transform: uppercase; }
.pglance__k { margin: 0; color: var(--body); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; line-height: 1.3; text-transform: uppercase; }
.pglance__toc { display: grid; gap: 0.15rem; margin: -0.35rem 0 0; padding: 0; list-style: none; }
.pglance__toc li { margin: 0; }
.pglance__toc a {
  display: flex; align-items: center; gap: 0.75rem; min-height: 2.6rem; padding: 0.3rem 0.5rem 0.3rem 0.3rem; border-radius: 0.8rem;
  color: var(--ink); font-size: 0.97rem; font-weight: 600; line-height: 1.3; text-decoration: none; transition: background 0.2s, color 0.2s;
}
.pglance__toc a:hover { background: var(--gl-tint); color: var(--gl); }
.pglance__toc a:focus-visible { outline: 2px solid var(--gl); outline-offset: 2px; }
.pglance__ic { display: grid; flex: none; place-items: center; width: 2rem; height: 2rem; border-radius: 0.65rem; background: var(--gl-tint); color: var(--gl); }
.pglance__toc li:last-child a { margin-top: 0.35rem; border: 1px solid color-mix(in srgb, var(--gl) 28%, #e2deea); }
.premium-inner .pglance .gbadge.pglance__google { position: static; display: flex; align-items: center; gap: 0.75rem; margin: 0; padding: 1rem 0 0; border: 0; border-top: 1px solid var(--line-soft, #efedf5); border-radius: 0; background: none; box-shadow: none; }

/* Below a desktop the profile is one column and the hero's links lead the way. */
@media (max-width: 63.99rem) {
  .premium-inner.single-elite_clinician .pbio__aside { display: none; }
}

/* The treatments' link to the specialty page sits by their heading. */
.premium-inner.single-elite_clinician .profile-treatments .sect-head { align-items: end; }
.premium-inner.single-elite_clinician .profile-treatments__hub { flex: none; }
@media (max-width: 47.99rem) {
  .premium-inner.single-elite_clinician .profile-treatments .sect-head { align-items: flex-start; }
}

/* The booking near the end takes the doctor's lane colour. */
.pclose--doctor[data-lane="ped"] .pclose__info-ic { color: var(--ped); }
.pclose--doctor[data-lane="ped"] .pclose__info a { text-decoration-color: color-mix(in srgb, var(--ped) 35%, transparent); }


/* --------------------------------------------------------------------------
   6. Reviews that mention a doctor (doctor-reviews.php). Three at first,
   then "See more reviews". On a desktop the cards share a row equally
   (a 6-column grid: three cards a row, two a row share it in halves, one
   alone spans it), so no row is left part-empty; a short review is set
   larger, so the cards in a row read as full.
   -------------------------------------------------------------------------- */
.drevs { --dl: var(--ortho); --dl-tint: var(--ortho-tint); }
.drevs--ped { --dl: var(--ped); --dl-tint: var(--ped-tint); }
.drevs__head { align-items: end; }
.drevs__side { display: flex; flex-direction: column; align-items: flex-start; gap: 0.9rem; min-width: 0; }
.drevs__side .lede { margin: 0; max-width: 46ch; }
.premium-inner .drevs .gbadge.drevs__google { position: static; display: inline-flex; align-items: center; gap: 0.65rem; margin: 0; padding: 0.55rem 0.95rem 0.55rem 0.7rem; border: 1px solid var(--line, #e6e3ee); border-radius: 999px; background: #fff; box-shadow: none; }

.drevs__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.1rem; margin: 0; padding: 0; list-style: none; }
.drev { display: flex; min-width: 0; margin: 0; }
.drev[hidden] { display: none; }
.drev:focus { outline: none; }
.drev:focus-visible .drev__fig { outline: 2px solid var(--dl); outline-offset: 3px; }
.drev__fig {
  display: flex; flex: 1; flex-direction: column; gap: 1rem; min-width: 0; margin: 0; padding: 1.5rem 1.55rem 1.35rem;
  border: 1px solid var(--line, #e6e3ee); border-radius: 1.5rem; background: #fff; box-shadow: 0 30px 60px -50px rgba(26, 18, 54, 0.5);
}
.drev__top { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.drev__stars .stars { gap: 2px; color: var(--star, #f4b400); }
.drev__stars svg { color: var(--star, #f4b400); }
.drev__text { margin: 0; color: var(--ink); font-size: 1.04rem; line-height: 1.62; letter-spacing: -0.005em; }
.drev__text p { margin: 0; text-wrap: pretty; }
.drev__text p + p { margin-top: 0.75rem; }
.drev--s .drev__excerpt { font-family: var(--display); font-size: clamp(1.25rem, 1.05rem + 0.6vw, 1.5rem); font-weight: 600; line-height: 1.38; letter-spacing: -0.018em; }
.drev--m .drev__excerpt { font-size: 1.1rem; line-height: 1.58; }
.drev__doc { color: var(--dl); font-weight: 700; }
.drev__full { margin-top: -0.35rem; }
.drev__full summary { display: inline-flex; align-items: center; min-height: 2.5rem; color: var(--dl); font-size: 0.93rem; font-weight: 700; cursor: pointer; list-style: none; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--dl) 35%, transparent); }
.drev__full summary::-webkit-details-marker { display: none; }
.drev__full summary:hover { text-decoration-color: currentColor; }
.drev__close { display: none; }
.drev__full[open] .drev__open { display: none; }
.drev__full[open] .drev__close { display: inline; }
.drev__full > .drev__text { margin-top: 0.6rem; }
/* Open, the whole review replaces the excerpt. */
.drev__fig:has(.drev__full[open]) > .drev__excerpt { display: none; }
.drev__who { display: flex; align-items: center; gap: 0.8rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--line-soft, #efedf5); }
.drev__av { display: grid; flex: none; place-items: center; width: 2.75rem; height: 2.75rem; overflow: hidden; border-radius: 999px 999px 0.75rem 0.75rem; font-family: var(--display); font-size: 0.85rem; font-weight: 700; }
.drev__av img { display: block; width: 100%; height: 100%; object-fit: cover; }
.drev__av.rv-av--init { background: var(--dl-tint); color: var(--dl); }
.drev__id { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; }
.drev__name { color: var(--ink); font-weight: 700; line-height: 1.3; }
.drev__meta { color: var(--body); font-size: 0.85rem; line-height: 1.35; }
.drev__meta > .rev__date::before { margin: 0 0.35rem; }

/* The other doctors under a profile: the short biography never leaves a word alone. */
.premium-inner .dcard--mini .dcard__text { text-wrap: pretty; }

.drevs__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.9rem 1.5rem; margin-top: 2rem; }
.drevs__more { gap: 0.65rem; min-height: 3.1rem; padding-inline: 1.4rem 0.6rem; border-color: color-mix(in srgb, var(--dl) 35%, #ded9e8); background: #fff; color: var(--ink); white-space: nowrap; }
.drevs__more-ic { display: grid; flex: none; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--dl-tint); color: var(--dl); transform: rotate(90deg); transition: transform 0.25s, background 0.2s, color 0.2s; }
.drevs__more[aria-expanded="true"] .drevs__more-ic { transform: rotate(-90deg); }
.drevs__more:hover { border-color: var(--dl); background: #fff; color: var(--dl); }
.drevs__more:hover .drevs__more-ic { background: var(--dl); color: #fff; }

@media (min-width: 64rem) {
  .drevs__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.35rem; }
  .drev { grid-column: span 2; }
  .drev:nth-child(3n+1):nth-last-child(2),
  .drev:nth-child(3n+1):nth-last-child(2) + .drev { grid-column: span 3; }
  .drev:nth-child(3n+1):last-child { grid-column: 1 / -1; }
  /* One review alone across the row: a centred quote. */
  .drev:nth-child(3n+1):last-child .drev__fig { align-items: center; padding: 2.1rem 2.5rem 1.8rem; text-align: center; }
  .drev:nth-child(3n+1):last-child .drev__top { justify-content: center; gap: 1rem; }
  .drev:nth-child(3n+1):last-child .drev__text { max-width: 62ch; font-size: 1.2rem; line-height: 1.6; }
  .drev:nth-child(3n+1):last-child.drev--s .drev__excerpt { font-size: 1.6rem; }
  .drev:nth-child(3n+1):last-child .drev__who { justify-content: center; min-width: 22rem; }
}
@media (max-width: 47.99rem) {
  .drevs__side { gap: 0.75rem; }
  .drev__fig { gap: 0.85rem; padding: 1.2rem 1.15rem 1.1rem; border-radius: 1.25rem; }
  .drev__text { font-size: 1rem; }
  .drev--m .drev__excerpt { font-size: 1.03rem; }
  .drevs__foot { flex-direction: column; align-items: stretch; margin-top: 1.5rem; }
  .drevs__more { justify-content: center; }
  .drevs__foot .go-link { align-self: center; }
}


/* --------------------------------------------------------------------------
   7. Why Elite: the practice first. The two specialties' cards inform (no
   booking buttons); their treatment links sit at the foot of each card.
   -------------------------------------------------------------------------- */
.page-template-page-templatestemplate-why-elite-php .why-lane__actions { padding-top: 1rem; border-top: 1px solid var(--line-soft, #efedf5); }
/* A laptop: the two narrow review cards beside the wide one set their quote a size
   smaller, so a long word never stands alone on a line of a narrow column. */
@media (min-width: 64rem) and (max-width: 79.99rem) {
  .page-template-page-templatestemplate-why-elite-php .why-proof__quotes > .quote:not(:first-child) blockquote { font-size: 1.08rem; line-height: 1.55; }
}


/* --------------------------------------------------------------------------
   8. Insurance & Financing: three chapters, each opened by its name beside
   an icon (Insurance, Financing, Payment options), larger than an eyebrow.
   The plan cards carry no booking button: each specialty's note sits under
   its introduction instead.
   -------------------------------------------------------------------------- */
.page-template-template-insurance .ins-chapter {
  display: inline-flex; align-items: center; gap: 0.75rem; margin: 0 0 1.05rem;
  color: var(--ortho); font-family: var(--display); font-size: clamp(1.1rem, 1rem + 0.3vw, 1.3rem); font-weight: 700; letter-spacing: -0.01em; line-height: 1.2;
}
.page-template-template-insurance .ins-chapter__ic { display: grid; flex: none; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 0.85rem; background: var(--ortho-tint); color: var(--ortho); }
.page-template-template-insurance .sect-head__copy > .ins-chapter + h2 { margin-top: 0; }
.page-template-template-insurance .plan-card .plan-card__note { margin: 0; }
@media (min-width: 80rem) {
  .page-template-template-insurance .plan-card .card__body { grid-template-rows: auto auto 1fr; }
  .page-template-template-insurance .plan-card .plan-card__note { grid-column: 1; grid-row: 3; align-self: end; }
  .page-template-template-insurance .plan-card__panel { grid-row: 1 / span 3; }
}
@media (max-width: 79.99rem) {
  .page-template-template-insurance .plan-card .plan-card__note { order: 5; }
}
/* The questions' heading in its narrow column: two even lines, no word alone. */
@media (min-width: 64rem) {
  .page-template-template-insurance .faqpage__nav.ins-ask h2 { font-size: clamp(1.45rem, 1.05rem + 0.7vw, 1.75rem); }
}
/* In place of the booking button: the link to the questions, at the foot of the card. */
.page-template-template-insurance .pay-terms__acts .go-link { width: 100%; justify-content: space-between; }
@media (max-width: 47.99rem) {
  .page-template-template-insurance .ins-chapter { gap: 0.6rem; margin-bottom: 0.8rem; }
  .page-template-template-insurance .ins-chapter__ic { width: 2.25rem; height: 2.25rem; border-radius: 0.7rem; }
}


/* The longer titles of these pages break into whole phrases on a tablet,
   where the copy column beside the picture is narrow. */
@media (min-width: 48rem) and (max-width: 63.99rem) {
  body:is(.page-template-template-insurance, .page-template-page-templatestemplate-technology-php, .page-template-page-templatestemplate-why-elite-php).premium-inner .ihero .ihero__copy h1 { font-size: calc(0.9rem + 2.3vw); text-wrap: wrap; }
}


/* --------------------------------------------------------------------------
   9. Technology: the two specialties' cards inform (no booking buttons).
   -------------------------------------------------------------------------- */
.page-template-page-templatestemplate-technology-php .tech-lane__actions { padding-top: 1rem; border-top: 1px solid var(--line-soft, #efedf5); }
