/* ═══ LYXAA · Doctor profile v5 — calm premium, sticky consult card (dp4-) ═══ */
:root{ --dp-blue:#0071e3; --dp-blue2:#0062c4; --dp-ink:#0e1116; --dp-mut:#5c6470; --dp-faint:#98a0ab; --dp-line:#e7e9ed; --dp-bg:#f7f8fa; --dp-ease:cubic-bezier(.16,1,.3,1); }
html{ scroll-behavior:smooth; }
body.dp4{ background:var(--dp-bg); color:var(--dp-ink); font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",sans-serif; }
:where(body.dp4 a){ color:var(--dp-blue); } :where(body.dp4 a:hover){ color:var(--dp-blue2); }
.dp4-rv{ opacity:0; transform:translateY(24px); transition:opacity .85s var(--dp-ease), transform .85s var(--dp-ease); }
.dp4-rv.in{ opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){ .dp4-rv{ opacity:1; transform:none; transition:none; } }
/* top bar */
.dp4-bar{ position:sticky; top:0; z-index:50; background:rgba(247,248,250,.82); backdrop-filter:blur(20px) saturate(1.6); border-bottom:1px solid rgba(14,17,22,.06); }
.dp4-bar-in{ width:min(1220px,94vw); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 0; }
.dp4-crumb{ font-size:13px; color:var(--dp-faint); margin:0; display:flex; align-items:center; gap:8px; }
.dp4-crumb a{ color:var(--dp-faint); text-decoration:none; font-weight:500; } .dp4-crumb a:hover{ color:var(--dp-blue); }
.dp4-crumb svg{ opacity:.5; }
.dp4-crumb span{ color:var(--dp-ink); font-weight:600; }
.dp4-bar-book{ display:inline-flex; align-items:center; gap:8px; background:var(--dp-blue); color:#fff; font-weight:600; font-size:13.5px; padding:10px 22px; border-radius:999px; text-decoration:none; transition:transform .3s var(--dp-ease), background .3s; }
.dp4-bar-book:hover{ background:var(--dp-blue2); color:#fff; transform:translateY(-1px); }
/* shell */
.dp4-shell{ width:min(1220px,94vw); margin:0 auto; display:grid; grid-template-columns:392px minmax(0,1fr); gap:clamp(36px,4.5vw,72px); align-items:start; padding:clamp(36px,5vw,64px) 0 clamp(70px,8vw,110px); }
/* ── sticky consult card ── */
.dp4-card{ position:sticky; top:86px; background:#fff; border:1px solid var(--dp-line); border-radius:26px; overflow:hidden; box-shadow:0 2px 6px rgba(14,17,22,.04), 0 34px 64px -44px rgba(14,17,22,.25); }
.dp4-card-ph{ position:relative; aspect-ratio:1/1.04; background:#e9ecf0; }
.dp4-card-ph img{ width:100%; height:100%; object-fit:cover; object-position:center 10%; }
.dp4-card-ph::after{ content:""; position:absolute; inset:0; box-shadow:inset 0 -1px 0 rgba(14,17,22,.05); }
.dp4-verified{ position:absolute; left:14px; bottom:14px; display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.9); backdrop-filter:blur(12px); border-radius:999px; padding:8px 15px; font-size:12px; font-weight:600; color:var(--dp-ink); box-shadow:0 10px 24px -12px rgba(14,17,22,.3); }
.dp4-verified svg{ color:var(--dp-blue); flex:0 0 auto; }
.dp4-card-b{ padding:22px 22px 24px; }
.dp4-card-b h2{ font-size:21px; font-weight:700; letter-spacing:-.02em; margin:0; }
.dp4-card-role{ font-size:13px; font-weight:600; color:var(--dp-blue); margin:5px 0 0; }
.dp4-card-creds{ font-family:'Spline Sans Mono',monospace; font-size:11.5px; color:var(--dp-faint); margin:9px 0 0; letter-spacing:.03em; }
.dp4-modes{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:18px; }
.dp4-mode{ display:flex; align-items:center; gap:9px; border:1px solid var(--dp-line); border-radius:13px; padding:11px 12px; font-size:12px; font-weight:600; color:var(--dp-mut); background:var(--dp-bg); }
.dp4-mode svg{ color:var(--dp-blue); flex:0 0 auto; }
.dp4-mode b{ display:block; font-size:12.5px; color:var(--dp-ink); font-weight:700; }
.dp4-mode span{ display:block; font-size:10.5px; color:var(--dp-faint); margin-top:1px; font-weight:500; }
.dp4-card-cta{ position:relative; display:flex; align-items:center; justify-content:center; gap:9px; margin-top:14px; background:var(--dp-blue); color:#fff; font-weight:600; font-size:15px; padding:15px 20px; border-radius:15px; text-decoration:none; overflow:hidden; transition:transform .35s var(--dp-ease), box-shadow .35s; box-shadow:0 14px 28px -14px rgba(0,113,227,.55); }
.dp4-card-cta::before{ content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.32) 50%,transparent 75%); transform:translateX(-130%); transition:transform .75s var(--dp-ease); }
.dp4-card-cta:hover{ transform:translateY(-2px); box-shadow:0 20px 36px -14px rgba(0,113,227,.62); color:#fff; }
.dp4-card-cta:hover::before{ transform:translateX(130%); }
.dp4-card-note{ text-align:center; font-size:11.5px; color:var(--dp-faint); margin:11px 0 0; }
.dp4-card-soc{ display:flex; justify-content:center; gap:10px; margin-top:16px; padding-top:16px; border-top:1px solid var(--dp-line); }
.dp4-soc{ display:grid; place-items:center; width:38px; height:38px; border-radius:50%; border:1px solid var(--dp-line); color:var(--dp-mut); transition:color .3s, border-color .3s, transform .3s var(--dp-ease); }
.dp4-soc:hover{ color:var(--dp-blue); border-color:var(--dp-blue); transform:translateY(-2px); }
/* ── right column ── */
.dp4-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; letter-spacing:.04em; color:var(--dp-mut); border:1px solid var(--dp-line); background:#fff; border-radius:999px; padding:8px 16px; }
.dp4-eyebrow i{ width:6px; height:6px; border-radius:50%; background:var(--dp-blue); }
.dp4-name{ font-size:clamp(38px,4.6vw,64px); font-weight:700; letter-spacing:-.045em; line-height:1.0; margin:20px 0 0; text-wrap:balance; }
.dp4-name em{ font-family:'Instrument Serif',Georgia,serif; font-style:italic; font-weight:400; color:var(--dp-blue); }
.dp4-lead{ font-size:clamp(16px,1.4vw,18px); line-height:1.65; color:var(--dp-mut); margin:20px 0 0; max-width:56ch; text-wrap:pretty; }
.dp4-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:32px 0 0; }
.dp4-stat{ background:#fff; border:1px solid var(--dp-line); border-radius:18px; padding:18px 20px; transition:transform .4s var(--dp-ease), box-shadow .4s; }
.dp4-stat:hover{ transform:translateY(-3px); box-shadow:0 22px 40px -30px rgba(14,17,22,.3); }
.dp4-stat span{ display:block; font-family:'Spline Sans Mono',monospace; font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--dp-faint); }
.dp4-stat b{ display:block; margin-top:7px; font-size:15.5px; font-weight:700; letter-spacing:-.015em; line-height:1.3; }
/* sections */
.dp4-sec{ margin-top:clamp(48px,5.5vw,72px); }
.dp4-h2{ display:flex; align-items:baseline; gap:14px; font-size:clamp(22px,2.1vw,28px); font-weight:700; letter-spacing:-.03em; margin:0 0 22px; }
.dp4-h2 i{ font-style:normal; font-family:'Spline Sans Mono',monospace; font-size:12px; font-weight:500; color:var(--dp-faint); letter-spacing:.1em; }
.dp4-about{ background:#fff; border:1px solid var(--dp-line); border-radius:22px; padding:clamp(24px,2.8vw,38px); }
.dp4-about p{ font-size:16.5px; line-height:1.76; color:#3f4854; margin:0 0 18px; text-wrap:pretty; }
.dp4-about p:last-child{ margin:0; }
/* education */
.dp4-edu{ background:#fff; border:1px solid var(--dp-line); border-radius:22px; padding:clamp(22px,2.6vw,34px); }
.dp4-edu-row{ display:grid; grid-template-columns:130px 1fr; gap:18px; padding:18px 0; border-top:1px solid var(--dp-line); }
.dp4-edu-row:first-child{ border-top:0; padding-top:0; }
.dp4-edu-row:last-child{ padding-bottom:0; }
.dp4-edu-deg{ font-family:'Spline Sans Mono',monospace; font-size:12px; font-weight:600; color:var(--dp-blue); letter-spacing:.05em; padding-top:2px; }
.dp4-edu-row b{ display:block; font-size:16px; font-weight:600; letter-spacing:-.015em; }
.dp4-edu-row i{ display:block; font-style:normal; font-size:13px; color:var(--dp-faint); margin-top:4px; }
/* focus */
.dp4-focus{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dp4-fc{ background:#fff; border:1px solid var(--dp-line); border-radius:20px; padding:24px 24px 22px; transition:transform .4s var(--dp-ease), box-shadow .4s, border-color .4s; }
.dp4-fc:hover{ transform:translateY(-4px); box-shadow:0 26px 46px -32px rgba(14,17,22,.3); border-color:#d6dbe2; }
.dp4-fc i{ font-style:normal; font-family:'Spline Sans Mono',monospace; font-size:11.5px; color:var(--dp-faint); }
.dp4-fc h3{ font-size:17px; font-weight:700; letter-spacing:-.02em; margin:10px 0 7px; }
.dp4-fc p{ font-size:13.5px; line-height:1.6; color:var(--dp-mut); margin:0; }
/* quote */
.dp4-quote{ padding:6px 0 6px 26px; border-left:2px solid var(--dp-blue); }
.dp4-quote blockquote{ font-family:'Instrument Serif',Georgia,serif; font-style:italic; font-size:clamp(20px,1.9vw,26px); line-height:1.45; margin:0; }
.dp4-quote cite{ display:block; margin-top:14px; font-style:normal; font-family:'Spline Sans Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--dp-faint); }
/* consult modes band */
.dp4-consult{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.dp4-cm{ position:relative; border-radius:22px; padding:28px 26px; overflow:hidden; }
.dp4-cm.online{ background:#0a0c11; color:#fff; }
.dp4-cm.online::before{ content:""; position:absolute; inset:-40%; background:conic-gradient(from 210deg at 32% 42%,transparent 0deg,rgba(0,113,227,.5) 60deg,rgba(90,60,220,.22) 120deg,transparent 200deg); filter:blur(64px); }
.dp4-cm.clinic{ background:#fff; border:1px solid var(--dp-line); }
.dp4-cm > *{ position:relative; z-index:1; }
.dp4-cm-ic{ width:42px; height:42px; border-radius:13px; display:grid; place-items:center; margin-bottom:16px; background:rgba(0,113,227,.1); color:var(--dp-blue); }
.dp4-cm.online .dp4-cm-ic{ background:rgba(255,255,255,.1); color:#9cc8ff; }
.dp4-cm h3{ font-size:18px; font-weight:700; letter-spacing:-.02em; margin:0 0 7px; }
.dp4-cm p{ font-size:13.5px; line-height:1.6; margin:0; color:var(--dp-mut); }
.dp4-cm.online p{ color:rgba(255,255,255,.66); }
.dp4-cm a{ display:inline-flex; align-items:center; gap:7px; margin-top:18px; font-size:13.5px; font-weight:600; text-decoration:none; color:var(--dp-blue); }
.dp4-cm.online a{ color:#9cc8ff; }
.dp4-cm a svg{ transition:transform .3s var(--dp-ease); }
.dp4-cm a:hover svg{ transform:translateX(3px); }
/* team strip reuse */
body.dp4 .ap-p-more{ padding:0 0 110px; }
body.dp4 .ap-p-more .ap-wrap{ width:min(1220px,94vw); margin:0 auto; }
.ap-rv{ opacity:0; transform:translateY(24px); transition:opacity .85s var(--dp-ease), transform .85s var(--dp-ease); }
.ap-rv.in{ opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){ .ap-rv{ opacity:1; transform:none; transition:none; } }
@media(max-width:960px){
  .dp4-shell{ grid-template-columns:1fr; }
  .dp4-card{ position:static; max-width:480px; }
  .dp4-stats{ grid-template-columns:1fr; }
  .dp4-focus,.dp4-consult{ grid-template-columns:1fr; }
  .dp4-edu-row{ grid-template-columns:1fr; gap:6px; }
}
