/* About the doctors: black marble, gold hairlines, sacred geometry */
.d-body{background:#0d0d0b}
.d-hero{position:relative;overflow:hidden;isolation:isolate;padding:150px var(--gutter) 120px;background:#070706 url(menu-marble.svg) center/cover no-repeat;border-bottom:1px solid #bfa37c40}
.d-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#050504f0 0%,#050504c7 52%,#05050466 100%),linear-gradient(0deg,#0d0d0b 0%,transparent 35%)}
.d-hero h1{font-size:clamp(84px,13vw,210px);font-weight:400;letter-spacing:-.065em;line-height:.85;color:#f1ebdf}
.d-hero h1 em{font-size:1.12em;color:#e2c38e;letter-spacing:-.04em}
.d-hero-lead{margin-top:40px;max-width:520px;font-size:19px;line-height:1.75;color:#cfc8b8;text-shadow:0 1px 14px #000}
.d-hero-geo{position:absolute;z-index:-1;right:-60px;top:50%;width:min(560px,70vw);height:auto;transform:translateY(-50%);opacity:.3}
.d-hero-geo circle,.d-portrait-geo circle{fill:none;stroke:#d1b083;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;animation:d-draw 1.8s cubic-bezier(.3,.6,.2,1) both;animation-delay:calc(.2s + var(--i) * .06s)}
.d-hero-geo .r-geo-ring{stroke-width:1.6}
.d-hero-geo{animation:d-turn 60s linear infinite}
@keyframes d-draw{to{stroke-dashoffset:0}}
@keyframes d-turn{to{transform:translateY(-50%) rotate(360deg)}}

.d-doctor{display:grid;grid-template-columns:minmax(260px,.9fr) 1.2fr;gap:8%;align-items:center;padding:120px var(--gutter);border-bottom:1px solid #bfa37c26}
.d-doctor-alt{grid-template-columns:1.2fr minmax(260px,.9fr)}
.d-doctor-alt .d-portrait{order:2}
.d-portrait{margin:0}
.d-portrait-frame{position:relative;aspect-ratio:4/5;padding:14px;border:1px solid #bfa37c80;background:#070706 url(menu-marble.svg) center/cover no-repeat;box-shadow:0 40px 80px #0009}
.d-portrait-frame:after{content:'';position:absolute;inset:6px;border:1px solid #bfa37c33;pointer-events:none}
.d-portrait-frame img{display:block;width:100%;height:100%;object-fit:cover}
.d-portrait-placeholder{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#1d1a14cc 0%,#070706f2 70%)}
.d-portrait-geo{position:absolute;width:82%;height:auto;opacity:.32}
.d-monogram{position:relative;font-family:var(--display);font-style:italic;font-size:clamp(84px,9vw,140px);line-height:1;color:#e2c38e;letter-spacing:.02em;text-shadow:0 4px 30px #000}
.d-portrait-note{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#a99c84}
.d-index{font-size:12px;letter-spacing:.14em;color:var(--bronze);margin-bottom:16px}
.d-bio h2{font-family:var(--display);font-weight:400;font-size:clamp(48px,5.4vw,84px);line-height:1;letter-spacing:-.02em;color:#f1ebdf}
.d-role{margin:14px 0 34px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#b9b39f}
.d-text{max-width:560px;font-size:17px;line-height:1.85;color:#d6d1c4}
.d-text+.d-text{margin-top:18px}
.d-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px;max-width:560px;margin:36px 0 30px}
.d-facts div{padding-top:14px;border-top:1px solid #bfa37c40}
.d-facts dt{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze)}
.d-facts dd{margin:8px 0 0;font-size:15px;color:#a99c84;font-style:italic;font-family:var(--display);font-size:19px}
.d-contact{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:15px}
.d-contact a{border-bottom:1px solid #bfa37c66;color:#e5e1d6;transition:color .2s}.d-contact a:hover{color:var(--bronze)}
.d-cta-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 36px}
.d-text-link{font-size:14px;border-bottom:1px solid #bfa37c70;padding:8px 0;transition:color .2s}.d-text-link:hover{color:var(--bronze)}

/* Gentle reveal as each doctor scrolls into view (only when scripts run) */
.d-js .d-doctor .d-portrait-frame,.d-js .d-doctor .d-bio{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.75,.2,1)}
.d-js .d-doctor.is-in .d-portrait-frame,.d-js .d-doctor.is-in .d-bio{opacity:1;transform:none}
.d-js .d-doctor.is-in .d-bio{transition-delay:.12s}

@media(max-width:860px){
  .d-hero{padding:100px var(--gutter) 80px}
  .d-hero h1{font-size:25vw}
  .d-hero-lead{font-size:17px}
  .d-hero-geo{right:-35%;width:110vw;opacity:.22}
  .d-doctor,.d-doctor-alt{grid-template-columns:1fr;gap:40px;padding:80px var(--gutter)}
  .d-doctor-alt .d-portrait{order:0}
  .d-portrait{max-width:420px}
  .d-facts{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.d-hero-geo,.d-hero-geo circle,.d-portrait-geo circle{animation:none;stroke-dashoffset:0}.d-js .d-doctor .d-portrait-frame,.d-js .d-doctor .d-bio{opacity:1;transform:none;transition:none}}
/* Odd number of facts: last one spans the row */
.d-facts div:last-child:nth-child(odd){grid-column:1/-1}
/* Circle portrait frames: same marble ring and gold lines, round */
.d-portrait-frame{aspect-ratio:1;border-radius:50%}
.d-portrait-frame:after{border-radius:50%}
.d-portrait-frame img,.d-portrait-placeholder{border-radius:50%;overflow:hidden}
.d-portrait-note{bottom:19%}
/* Desktop: line the round portrait up with the top of the bio */
@media(min-width:861px){.d-doctor{align-items:start}.d-portrait{margin-top:8px}}
