/* doctor — section CSS, written by its BUILD-SECTION subagent (2026-09-15).
   Source: brief/doctor.md (§2.4 tokens, §5 C1–C9, §6 row map, D-DR-1…8) re-grounded on
   cache/doctor.desktop.json + cache/doctor.mobile.json. Every rule is scoped under .doctor.
   Bands: 0–767 mobile structure (card chrome drawn by .doctor__card-bg, D-DR-1) ·
          768–1023 desktop grouping with mobile design values (D-DR-2) ·
          1024+ drawn desktop structure (card | info column). */

/* ---------------------------------------------------------------------------
   SECTION TOKENS — moved out of the page's tokens.css.

   Read by THIS block and nothing else on the site, so they belong here rather
   than in a site-wide :root. In Shopify a section can be dropped onto any
   template from the theme editor, so a section that reads a token from a
   page-level scope breaks the moment it is moved; scoped to the block's own
   class, it travels with it.

   EVERY band is carried verbatim from the old tokens.css, in that file's own
   order — so the cascade is unchanged whether the page was written
   desktop-first (base + max-width overrides) or mobile-first (base +
   min-width overrides). Verified by computed-style diff at
   375/768/1024/1440/1920.
--------------------------------------------------------------------------- */

.doctor {
  --font-serif:     'Roboto Serif', Georgia, 'Times New Roman', serif;
  --font-mono:      'Roboto Mono', ui-monospace, 'Courier New', monospace;
  --c-accent:       #e63329;
  --c-eyebrow:      #b3aeae;
  --c-surface:      #ffffff;
  --c-border:       #d6e2e7;
  --c-divider:      #e8eff3;
  --radius-sm-m:    12px;
  --radius-md-m:    16px;
  --shadow-panel-m: 0 16px 56px rgba(0,0,0,.10);
  --text-h2:        clamp(18px, calc(22px + (var(--max-vw) - 390px) * 0.015), 43px);
  --lh-h2:          1.2;
  --ls-h2:          -0.025em;
  --text-eyebrow:   clamp(8px, calc(10px + (var(--max-vw) - 390px) * 0.015), 20px);
  --lh-eyebrow:     1.5;
  --ls-eyebrow:     0.2em;
  --ls-lead:        0;
  --text-subnote:   clamp(8px, calc(10px + (var(--max-vw) - 390px) * 0.015), 20px);
  --lh-subnote:     1.5;
  --ls-subnote:     0;
  --section-pad-y:  clamp(26px, calc(32px + (var(--max-vw) - 390px) * 0.015), 63px);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .doctor {
    --text-h2:       clamp(22px, calc(22px + (var(--max-vw) - 768px) * 0.025), 46.425px);
    --text-eyebrow:  clamp(10px, calc(10px + (var(--max-vw) - 768px) * 0.025), 21.493px);
    --text-subnote:  clamp(10px, calc(10px + (var(--max-vw) - 768px) * 0.025), 13.639px);
    --section-pad-y: clamp(32px, calc(32px + (var(--max-vw) - 768px) * 0.025), 75px);
  }
}

@media (min-width: 1024px) {
  .doctor {
    --text-h2:       clamp(29px, calc(46.425px * (var(--max-vw) / var(--vw-base))), 55px);
    --lh-h2:         1.16;
    --ls-h2:         -0.012em;
    --text-eyebrow:  clamp(14px, calc(21.493px * (var(--max-vw) / var(--vw-base))), 25px);
    --lh-eyebrow:    normal;
    --ls-eyebrow:    0.1em;
    --ls-lead:       0;
    --text-subnote:  clamp(9px, calc(13.639px * (var(--max-vw) / var(--vw-base))), 16px);
    --lh-subnote:    normal;
    --ls-subnote:    -0.03em;
    --section-pad-y: clamp(47px, calc(75px * (var(--max-vw) / var(--vw-base))), 89px);
  }
}

/* ============ section-local tokens — mobile band (anchor 390) ============ */
.doctor {
  --doctor-head-gap-1: clamp(7px, calc(8px + (var(--max-vw) - 390px) * 0.015), 16px);
  --doctor-head-gap-2: clamp(10px, calc(12px + (var(--max-vw) - 390px) * 0.015), 24px);
  --doctor-layout-mt: clamp(16px, calc(20px + (var(--max-vw) - 390px) * 0.015), 39px);
  --doctor-col-gap: clamp(16px, calc(20px + (var(--max-vw) - 390px) * 0.015), 39px);
  --doctor-id-mt: clamp(13px, calc(16px + (var(--max-vw) - 390px) * 0.015), 31px);
  --doctor-id-pl: clamp(16px, calc(20px + (var(--max-vw) - 390px) * 0.015), 39px);
  --doctor-role-mt: clamp(2px, calc(2px + (var(--max-vw) - 390px) * 0.015), 4px);
  --doctor-bio-mt: clamp(10px, calc(12px + (var(--max-vw) - 390px) * 0.015), 24px);
  --doctor-quote-inset-x: clamp(10px, calc(12px + (var(--max-vw) - 390px) * 0.015), 24px);
  --doctor-quote-inset-bottom: clamp(9px, calc(10.93px + (var(--max-vw) - 390px) * 0.015), 21px);
  --doctor-quote-h: clamp(34px, calc(41.99px + (var(--max-vw) - 390px) * 0.015), 83px);
  --doctor-quote-pl: clamp(10px, calc(12px + (var(--max-vw) - 390px) * 0.015), 24px);
  --doctor-quote-pb: clamp(8px, calc(10px + (var(--max-vw) - 390px) * 0.015), 20px);
  --doctor-quote-gap: clamp(8px, calc(10px + (var(--max-vw) - 390px) * 0.015), 20px);
  --doctor-quote-icon-w: clamp(25px, calc(30px + (var(--max-vw) - 390px) * 0.015), 59px);
  --doctor-quote-icon-h: clamp(18px, calc(21.99px + (var(--max-vw) - 390px) * 0.015), 43px);
  --doctor-creds-mt: clamp(16px, calc(20px + (var(--max-vw) - 390px) * 0.015), 39px);
  --doctor-creds-col-gap: clamp(10px, calc(12px + (var(--max-vw) - 390px) * 0.015), 24px);
  --doctor-creds-row-gap: clamp(10px, calc(12px + (var(--max-vw) - 390px) * 0.015), 24px);
  --doctor-cred-ring: clamp(30px, calc(36px + (var(--max-vw) - 390px) * 0.015), 71px);
  --doctor-cred-icon: clamp(13px, calc(15.99px + (var(--max-vw) - 390px) * 0.015), 31px);
  --doctor-cred-gap: clamp(7px, calc(8px + (var(--max-vw) - 390px) * 0.015), 16px);
  --doctor-subnote-pt: clamp(20px, calc(24px + (var(--max-vw) - 390px) * 0.015), 47px);
  --doctor-subnote-pb: clamp(10px, calc(12px + (var(--max-vw) - 390px) * 0.015), 24px);
  /* section-local type roles (size tokens; lh as ratios of the drawn px values) */
  --doctor-bio-size: clamp(11px, calc(13px + (var(--max-vw) - 390px) * 0.015), 26px);
  --doctor-bio-lh: 1.55;          /* 20.15px */
  --doctor-name-size: clamp(13px, calc(16px + (var(--max-vw) - 390px) * 0.015), 31px);
  --doctor-name-lh: 1.5;          /* 24px */
  --doctor-role-size: clamp(10px, calc(12px + (var(--max-vw) - 390px) * 0.015), 24px);
  --doctor-role-lh: 1.5;          /* 18px */
  --doctor-quote-size: clamp(10px, calc(12px + (var(--max-vw) - 390px) * 0.015), 24px);
  --doctor-quote-lh: 1.25;        /* 15px */
  --doctor-cred-size: clamp(9px, calc(11px + (var(--max-vw) - 390px) * 0.015), 22px);
  --doctor-cred-lh: 1.25;         /* 13.75px */
}

/* ============ section + header (C1) ============ */
.doctor {
  padding-top: var(--section-pad-y);
  padding-bottom: var(--section-pad-y);
}
.doctor__eyebrow {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: var(--text-eyebrow);
  line-height: var(--lh-eyebrow);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--c-eyebrow);
}
.doctor__title {
  margin-top: var(--doctor-head-gap-1);
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: var(--text-h2);
  line-height: var(--lh-h2);
  letter-spacing: var(--ls-h2);
  color: var(--c-ink);
}
.doctor__accent-m { color: var(--c-accent); }   /* "One" is red on mobile only (D-DR-3) */
.doctor__lead {
  margin-top: var(--doctor-head-gap-2);
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--text-lead);
  line-height: var(--lh-lead);
  letter-spacing: var(--ls-lead);
  color: var(--c-text);
}

/* ============ layout (C2) — mobile: one-column grid, wrappers flattened (D-DR-1) ============ */
.doctor__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-top: var(--doctor-layout-mt);
}
.doctor__card,
.doctor__info { display: contents; }

.doctor__card-bg {                       /* card chrome around photo + id + bio, mobile 3271:967 */
  grid-column: 1;
  grid-row: 1 / 4;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md-m);
  box-shadow: var(--shadow-panel-m);
}

/* ---- photo (C4) ---- */
.doctor__media {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  margin: 1px 1px 0;
  border-radius: 15px 15px 0 0;          /* card radius 16 minus the 1px border */
  overflow: hidden;                      /* clips the photo's top corners (the card box is display: contents) */
  background: var(--c-divider);
}
.doctor__photo {
  width: 100%;
  aspect-ratio: 348.74 / 261.55;
  object-fit: cover;
}

/* ---- glass quote caption (C5) ---- */
.doctor__quote {
  position: absolute;
  left: var(--doctor-quote-inset-x);
  right: var(--doctor-quote-inset-x);
  bottom: var(--doctor-quote-inset-bottom);
  height: var(--doctor-quote-h);
  display: flex;
  align-items: center;
  gap: var(--doctor-quote-gap);
  padding: var(--doctor-quote-pb) var(--doctor-quote-pl);
  background: rgba(255, 255, 255, .72);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-radius: var(--radius-sm-m);
}
.doctor__quote-icon {
  flex: none;
  width: var(--doctor-quote-icon-w);
  height: var(--doctor-quote-icon-h);
}
.doctor__quote-text {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: var(--doctor-quote-size);
  line-height: var(--doctor-quote-lh);
  color: var(--c-ink);
  white-space: nowrap;                   /* one line on both layers (D-DR-6) */
}

/* ---- name + role (C6) ---- */
.doctor__id {
  grid-column: 1;
  grid-row: 2;
  padding: var(--doctor-id-mt) var(--doctor-id-pl) 0;
}
.doctor__name {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: var(--doctor-name-size);
  line-height: var(--doctor-name-lh);
  color: var(--c-ink);
}
.doctor__role {
  margin-top: var(--doctor-role-mt);
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--doctor-role-size);
  line-height: var(--doctor-role-lh);
  color: var(--c-text);
}

/* ---- info column (C7) ---- */
.doctor__subtitle { display: none; }     /* desktop only (D-DR-3) */
.doctor__bio {
  grid-column: 1;
  grid-row: 3;
  margin: var(--doctor-bio-mt) var(--doctor-id-pl) var(--doctor-id-mt);   /* margins, not padding: the element box = the drawn text box 3271:981 */
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--doctor-bio-size);
  line-height: var(--doctor-bio-lh);
  color: var(--c-text);
}

/* ---- credentials (C8) ---- */
.doctor__creds {
  grid-column: 1;
  grid-row: 4;
  margin-top: var(--doctor-creds-mt);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--doctor-creds-col-gap);
  row-gap: var(--doctor-creds-row-gap);
}
.doctor__cred {
  display: flex;
  align-items: flex-start;
  gap: var(--doctor-cred-gap);
}
.doctor__cred-icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--doctor-cred-ring);
  height: var(--doctor-cred-ring);
  margin-top: 2px;
  border: 1px solid var(--c-accent);
  border-radius: 50%;
}
.doctor__cred-icon img {
  width: var(--doctor-cred-icon);
  height: var(--doctor-cred-icon);
}
.doctor__cred-label {
  flex: 1 1 0;
  min-width: 0;
  padding-top: 4px;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: var(--doctor-cred-size);
  line-height: var(--doctor-cred-lh);
  color: var(--c-text);
}
.doctor__br-d { display: none; }         /* natural wrap below 1024; explicit Figma breaks from 1024 (D-DR-3) */

/* ---- subnote + CTA (C9) ---- */
.doctor__subnote {
  grid-column: 1;
  grid-row: 5;
  padding: var(--doctor-subnote-pt) 0 var(--doctor-subnote-pb);
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--text-subnote);
  line-height: var(--lh-subnote);
  letter-spacing: var(--ls-subnote);
  text-align: center;
  color: var(--c-text);
}
.doctor__cta {
  grid-column: 1;
  grid-row: 6;
}

/* ============ 768–1023: desktop grouping, mobile design values (D-6, D-DR-2) ============ */
@media (min-width: 768px) and (max-width: 1023px) {
  .doctor {
    --doctor-head-gap-1: clamp(8px, calc(8px + (var(--max-vw) - 768px) * 0.025), 15.66px);
    --doctor-head-gap-2: clamp(12px, calc(12px + (var(--max-vw) - 768px) * 0.025), 22.15px);
    --doctor-layout-mt: clamp(20px, calc(20px + (var(--max-vw) - 768px) * 0.025), 43.97px);
    --doctor-col-gap: clamp(20px, calc(20px + (var(--max-vw) - 768px) * 0.025), 58.2px);
    --doctor-id-mt: clamp(16px, calc(16px + (var(--max-vw) - 768px) * 0.025), 19.82px);
    --doctor-id-pl: clamp(20px, calc(20px + (var(--max-vw) - 768px) * 0.025), 8.19px);
    --doctor-role-mt: clamp(2px, calc(2px + (var(--max-vw) - 768px) * 0.025), 2.96px);
    --doctor-bio-mt: clamp(12px, calc(12px + (var(--max-vw) - 768px) * 0.025), 12.13px);
    --doctor-quote-inset-x: clamp(12px, calc(12px + (var(--max-vw) - 768px) * 0.025), 8.19px);
    --doctor-quote-inset-bottom: clamp(10.93px, calc(10.93px + (var(--max-vw) - 768px) * 0.025), 7.77px);
    --doctor-quote-h: clamp(41.99px, calc(41.99px + (var(--max-vw) - 768px) * 0.025), 73.81px);
    --doctor-quote-pl: clamp(12px, calc(12px + (var(--max-vw) - 768px) * 0.025), 27.81px);
    --doctor-quote-pb: clamp(10px, calc(10px + (var(--max-vw) - 768px) * 0.025), 22.11px);
    --doctor-quote-gap: clamp(10px, calc(10px + (var(--max-vw) - 768px) * 0.025), 12.82px);
    --doctor-quote-icon-w: clamp(30px, calc(30px + (var(--max-vw) - 768px) * 0.025), 46.74px);
    --doctor-quote-icon-h: clamp(21.99px, calc(21.99px + (var(--max-vw) - 768px) * 0.025), 34.96px);
    --doctor-creds-mt: clamp(20px, calc(20px + (var(--max-vw) - 768px) * 0.025), 25.32px);
    --doctor-creds-col-gap: clamp(12px, calc(12px + (var(--max-vw) - 768px) * 0.025), 24px);
    --doctor-creds-row-gap: clamp(12px, calc(12px + (var(--max-vw) - 768px) * 0.025), 26.78px);
    --doctor-cred-ring: clamp(36px, calc(36px + (var(--max-vw) - 768px) * 0.025), 73.14px);
    --doctor-cred-icon: clamp(15.99px, calc(15.99px + (var(--max-vw) - 768px) * 0.025), 33.9px);
    --doctor-cred-gap: clamp(8px, calc(8px + (var(--max-vw) - 768px) * 0.025), 12.26px);
    --doctor-subnote-pt: clamp(24px, calc(24px + (var(--max-vw) - 768px) * 0.025), 47px);
    --doctor-subnote-pb: clamp(12px, calc(12px + (var(--max-vw) - 768px) * 0.025), 24px);
    --doctor-bio-size: clamp(13px, calc(13px + (var(--max-vw) - 768px) * 0.025), 23.837px);
    --doctor-name-size: clamp(16px, calc(16px + (var(--max-vw) - 768px) * 0.025), 25.297px);
    --doctor-role-size: clamp(12px, calc(12px + (var(--max-vw) - 768px) * 0.025), 16.601px);
    --doctor-quote-size: clamp(12px, calc(12px + (var(--max-vw) - 768px) * 0.025), 22.11px);
    --doctor-cred-size: clamp(11px, calc(11px + (var(--max-vw) - 768px) * 0.025), 20.447px);
  }

  .doctor__layout {
    display: flex;
    gap: var(--doctor-col-gap);
  }
  .doctor__card-bg { display: none; }
  /* RESPONSIVE 2026-09-15: basis as a share of (layout − gap), NOT `flex: 1 1 0` (FD-AA) — a 0 basis
     is floored at the card's 1px border, so the card took 355 vs 353 at 768. Equal halves, brief-page §7.2. */
  .doctor__card {
    display: block;
    flex: 0 1 calc((100% - var(--doctor-col-gap)) / 2);
    min-width: 0;
    align-self: flex-start;
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md-m);
    box-shadow: var(--shadow-panel-m);
  }
  .doctor__info {
    display: block;
    flex: 0 1 calc((100% - var(--doctor-col-gap)) / 2);
    min-width: 0;
    align-self: center;
  }
  .doctor__media { margin: 0; }
  .doctor__id { padding: var(--doctor-id-mt) var(--doctor-id-pl); }
  .doctor__bio { margin: 0; }
  .doctor__cta { display: flex; }        /* block-level box: no inline strut gap under the link */
}

/* ============ 1024+: drawn desktop structure ============ */
@media (min-width: 1024px) {
  .doctor {
    --doctor-head-gap-1: clamp(10px, calc(15.66px * (var(--max-vw) / var(--vw-base))), 19px);
    --doctor-head-gap-2: clamp(14px, calc(22.15px * (var(--max-vw) / var(--vw-base))), 26px);
    --doctor-layout-mt: clamp(28px, calc(43.97px * (var(--max-vw) / var(--vw-base))), 52px);
    --doctor-col-gap: clamp(37px, calc(58.2px * (var(--max-vw) / var(--vw-base))), 69px);
    --doctor-card-w: clamp(306px, calc(484.27px * (var(--max-vw) / var(--vw-base))), 574px);
    --doctor-card-pad-top: clamp(14px, calc(22.34px * (var(--max-vw) / var(--vw-base))), 26px);
    --doctor-card-pad-x: clamp(15px, calc(23.55px * (var(--max-vw) / var(--vw-base))), 28px);
    --doctor-card-pad-bottom: clamp(18px, calc(28.46px * (var(--max-vw) / var(--vw-base))), 34px);
    --doctor-id-mt: clamp(13px, calc(19.82px * (var(--max-vw) / var(--vw-base))), 24px);
    --doctor-id-pl: clamp(5px, calc(8.19px * (var(--max-vw) / var(--vw-base))), 10px);
    --doctor-role-mt: clamp(2px, calc(2.96px * (var(--max-vw) / var(--vw-base))), 4px);
    --doctor-bio-mt: clamp(8px, calc(12.13px * (var(--max-vw) / var(--vw-base))), 14px);
    --doctor-quote-inset-x: clamp(5px, calc(8.19px * (var(--max-vw) / var(--vw-base))), 10px);
    --doctor-quote-inset-bottom: clamp(5px, calc(7.77px * (var(--max-vw) / var(--vw-base))), 9px);
    --doctor-quote-h: clamp(47px, calc(73.81px * (var(--max-vw) / var(--vw-base))), 88px);
    --doctor-quote-pl: clamp(18px, calc(27.81px * (var(--max-vw) / var(--vw-base))), 33px);
    --doctor-quote-pb: clamp(14px, calc(22.11px * (var(--max-vw) / var(--vw-base))), 26px);
    --doctor-quote-gap: clamp(8px, calc(12.82px * (var(--max-vw) / var(--vw-base))), 15px);
    --doctor-quote-icon-w: clamp(30px, calc(46.74px * (var(--max-vw) / var(--vw-base))), 55px);
    --doctor-quote-icon-h: clamp(22px, calc(34.96px * (var(--max-vw) / var(--vw-base))), 41px);
    --doctor-info-pt: clamp(16px, calc(25.46px * (var(--max-vw) / var(--vw-base))), 30px);
    --doctor-text-inset: clamp(4px, calc(6.66px * (var(--max-vw) / var(--vw-base))), 8px);
    --doctor-subtitle-maxw: clamp(237px, calc(374.86px * (var(--max-vw) / var(--vw-base))), 445px);
    --doctor-bio-maxw: clamp(300px, calc(473.57px * (var(--max-vw) / var(--vw-base))), 562px);
    --doctor-creds-mt: clamp(16px, calc(25.32px * (var(--max-vw) / var(--vw-base))), 30px);
    --doctor-creds-col1: clamp(208px, calc(329.39px * (var(--max-vw) / var(--vw-base))), 391px);
    --doctor-creds-row-gap: clamp(17px, calc(26.78px * (var(--max-vw) / var(--vw-base))), 32px);
    --doctor-cred-ring: clamp(46px, calc(73.14px * (var(--max-vw) / var(--vw-base))), 87px);
    --doctor-cred-icon: clamp(21px, calc(33.9px * (var(--max-vw) / var(--vw-base))), 40px);
    --doctor-cred-gap: clamp(8px, calc(12.26px * (var(--max-vw) / var(--vw-base))), 15px);
    --doctor-cta-mt: clamp(23px, calc(36.92px * (var(--max-vw) / var(--vw-base))), 44px);
    --doctor-cta-w: clamp(252px, calc(398.33px * (var(--max-vw) / var(--vw-base))), 472px);
    --doctor-cta-h: clamp(38px, calc(59.59px * (var(--max-vw) / var(--vw-base))), 71px);
    --doctor-subtitle-size: clamp(22px, calc(34.374px * (var(--max-vw) / var(--vw-base))), 41px);
    --doctor-bio-size: clamp(15px, calc(23.837px * (var(--max-vw) / var(--vw-base))), 28px);
    --doctor-bio-lh: normal;
    --doctor-name-size: clamp(16px, calc(25.297px * (var(--max-vw) / var(--vw-base))), 30px);
    --doctor-name-lh: normal;
    --doctor-role-size: clamp(10px, calc(16.601px * (var(--max-vw) / var(--vw-base))), 20px);
    --doctor-role-lh: normal;
    --doctor-quote-size: clamp(14px, calc(22.11px * (var(--max-vw) / var(--vw-base))), 26px);
    --doctor-quote-lh: normal;
    --doctor-cred-size: clamp(13px, calc(20.447px * (var(--max-vw) / var(--vw-base))), 24px);
    --doctor-cred-lh: 1.0114;     /* 20.68px */
  }

  /* header centred (D-DR-4) */
  .doctor__eyebrow,
  .doctor__title,
  .doctor__lead { text-align: center; }
  .doctor__accent-m { color: inherit; }

  /* row: card 484.27 | 58.2 | info (C2) */
  .doctor__layout {
    display: flex;
    align-items: flex-start;
    gap: var(--doctor-col-gap);
  }
  .doctor__card-bg { display: none; }

  /* card (C3). Figma stroke is INSIDE, so the drawn insets are measured from the outer
     edge — subtract the 1px CSS border to land the photo at 22.34 / 23.55. */
  .doctor__card {
    display: block;
    flex: 0 0 var(--doctor-card-w);
    min-width: 0;
    padding: calc(var(--doctor-card-pad-top) - 1px) calc(var(--doctor-card-pad-x) - 1px) calc(var(--doctor-card-pad-bottom) - 1px);
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: 23.308px;
    box-shadow: 25.25px 32.048px 133.825px 0 rgba(0, 0, 0, .13);
  }
  .doctor__media {
    margin: 0;
    border-radius: 23.308px;
    background: transparent;
  }
  .doctor__photo { aspect-ratio: 437.18 / 410.8; }

  .doctor__quote {
    align-items: flex-end;               /* icon and text share a bottom edge */
    padding: 0 0 var(--doctor-quote-pb) var(--doctor-quote-pl);
    background: rgba(255, 255, 255, .65);
    border-radius: 15.538px;
  }

  .doctor__id {
    padding: 0 0 0 var(--doctor-id-pl);
    margin-top: var(--doctor-id-mt);
  }

  /* info column (C7) */
  .doctor__info {
    display: block;
    flex: 1 1 0;
    min-width: 0;
    padding-top: var(--doctor-info-pt);
  }
  .doctor__subtitle {
    display: block;
    max-width: var(--doctor-subtitle-maxw);
    margin-left: var(--doctor-text-inset);
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: var(--doctor-subtitle-size);
    line-height: normal;
    color: var(--c-ink);
  }
  .doctor__bio {
    max-width: var(--doctor-bio-maxw);
    margin: var(--doctor-bio-mt) 0 0 var(--doctor-text-inset);
  }

  /* credentials (C8) */
  .doctor__creds {
    grid-template-columns: var(--doctor-creds-col1) auto;
    column-gap: 0;
    justify-items: start;
  }
  .doctor__cred { align-items: center; }
  .doctor__cred-icon {
    margin-top: 0;
    border-width: 3.327px;
  }
  .doctor__cred-label {
    flex: none;
    padding-top: 0;
    white-space: nowrap;                 /* explicit Figma breaks only (MUST-APPLY) */
  }
  .doctor__br-d { display: inline; }

  /* subnote not drawn on desktop; CTA left-aligned at k 1.0301 box (§4.0) */
  .doctor__subnote { display: none; }
  .doctor .doctor__cta {
    --btn-w: var(--doctor-cta-w);
    --btn-h: var(--doctor-cta-h);
    --btn-r: 8.364px;
    display: flex;
    margin-top: var(--doctor-cta-mt);
  }
}
