.kdr-ov{
  position:fixed;inset:0;z-index:10060;
  background:rgba(20,32,24,.55);backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;transition:opacity .3s ease, visibility .3s;
  display:flex;align-items:center;justify-content:center;padding:2vh 2vw;
  font-family:'Jost',sans-serif;overflow:auto;
}
.kdr-ov.kdr-open{opacity:1;visibility:visible;}
.kdr-panel{
  position:relative;width:min(1024px,96vw);max-height:96vh;overflow-y:auto;overflow-x:hidden;
  border-radius:calc(min(1024px,96vw)/1024*28);
  box-shadow:0 40px 100px rgba(20,35,26,.45);
  transform:translateY(18px) scale(.985);transition:transform .35s cubic-bezier(.22,.9,.3,1);
  background:#fff;
}
.kdr-ov.kdr-open .kdr-panel{transform:none;}
.kdr{
  position:relative;
  --u: calc(min(1024px,96vw) / 1024);
  width:100%;
  aspect-ratio:1024 / 1536;
  background-image:url("../img/shared-14.webp");
  background-size:100% 100%;
  background-repeat:no-repeat;
}
.kdr > *{position:absolute;margin:0;}
.kdr-close{
  position:absolute;right:calc(var(--u)*28);top:calc(var(--u)*30);
  width:calc(var(--u)*46);height:calc(var(--u)*46);border-radius:50%;
  border:none;background:transparent;cursor:pointer;z-index:5;
}
.kdr-name{
  left:calc(var(--u)*455);top:calc(var(--u)*88);
  font-family:'Cormorant Garamond',serif !important;font-weight:600 !important;
  font-size:calc(var(--u)*40) !important;color:#1f4a33 !important;white-space:nowrap;
}
.kdr-role{
  left:calc(var(--u)*455);top:calc(var(--u)*148);
  font-size:calc(var(--u)*21);font-weight:400;color:#2f5d43;white-space:nowrap;
}
.kdr-tag{
  left:calc(var(--u)*538);top:calc(var(--u)*216);
  font-size:calc(var(--u)*17.5);font-weight:300;line-height:calc(var(--u)*25);color:#3d4a3f;
}
.kdr-h{
  font-family:'Cormorant Garamond',serif !important;font-weight:600 !important;
  font-size:calc(var(--u)*25) !important;line-height:calc(var(--u)*30) !important;color:#1f4a33 !important;
}
.kdr-p{
  left:calc(var(--u)*465);
  font-size:calc(var(--u)*17);font-weight:300;line-height:calc(var(--u)*26);color:#3d4a3f;
}
.kdr-li{
  left:calc(var(--u)*138);
  font-size:calc(var(--u)*17);font-weight:300;color:#2f3d33;white-space:nowrap;
}
.kdr-ck{
  left:calc(var(--u)*112);
  font-size:calc(var(--u)*17);font-weight:300;color:#2f3d33;white-space:nowrap;
}
.kdr-q{
  left:calc(var(--u)*733);transform:translateX(-50%);text-align:center;
  font-family:'Cormorant Garamond',serif !important;font-weight:500 !important;font-style:italic;
  font-size:calc(var(--u)*22) !important;line-height:calc(var(--u)*33) !important;color:#2f5d43 !important;white-space:nowrap;
}
.kdr-kk{left:calc(var(--u)*598);font-size:calc(var(--u)*16);font-weight:400;color:#2f3d33;white-space:nowrap;}
.kdr-kv{left:calc(var(--u)*739);font-size:calc(var(--u)*16);font-weight:300;line-height:calc(var(--u)*24);color:#3d4a3f;}
.kdr-name{margin-top:calc(var(--u)*-3);}
.kdr-role{margin-top:calc(var(--u)*-3);}
.kdr-tag{margin-top:calc(var(--u)*-2);}
.kdr-h{margin-top:calc(var(--u)*-3);}
.kdr-p{margin-top:calc(var(--u)*10);}
.kdr-li{margin-top:calc(var(--u)*0);}
.kdr-ck{margin-top:calc(var(--u)*0);}
.kdr-q{margin-top:calc(var(--u)*12);}
.kdr-kk{margin-top:calc(var(--u)*-3);}
.kdr-kv{margin-top:calc(var(--u)*-3);}

/* Responsive doctor modal: desktop above remains unchanged. */
.kdr-responsive-photo{display:none;}

@media (max-width: 900px){
  .kdr-ov{
    align-items:flex-start;
    padding:24px 18px;
    overscroll-behavior:contain;
  }
  .kdr-panel{
    width:min(760px,100%);
    max-height:none;
    border-radius:24px;
    overflow:visible;
  }
  .kdr{
    --u:1px;
    width:100%;
    aspect-ratio:auto;
    min-height:0;
    padding:30px;
    display:grid;
    grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);
    column-gap:34px;
    row-gap:14px;
    background:#fbfaf6;
    box-sizing:border-box;
  }
  .kdr > *{
    position:static !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    margin:0 !important;
    min-width:0;
  }
  .kdr-responsive-photo{
    display:block;
    grid-column:1;
    grid-row:1 / span 6;
    width:100%;
    max-height:420px;
    object-fit:cover;
    object-position:center 18%;
    border-radius:20px;
    box-shadow:0 14px 32px rgba(31,74,51,.12);
  }
  .kdr-close{
    position:absolute !important;
    top:16px !important;
    right:16px !important;
    width:48px;
    height:48px;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(31,74,51,.18);
    box-shadow:0 4px 16px rgba(31,74,51,.12);
    z-index:20;
  }
  .kdr-close::before,.kdr-close::after{
    content:"";
    position:absolute;
    left:50%;top:50%;
    width:20px;height:1.5px;
    background:#1f4a33;
    transform-origin:center;
  }
  .kdr-close::before{transform:translate(-50%,-50%) rotate(45deg);}
  .kdr-close::after{transform:translate(-50%,-50%) rotate(-45deg);}
  .kdr-name,.kdr-role,.kdr-tag,
  .kdr-h[style*="519"],.kdr-p{
    grid-column:2;
  }
  .kdr-name{
    font-size:34px !important;
    line-height:1.08 !important;
    white-space:normal;
    padding-right:50px;
  }
  .kdr-role{
    font-size:18px;
    line-height:1.45;
    white-space:normal;
  }
  .kdr-tag{
    font-size:16px;
    line-height:1.55;
    padding:14px 0 18px;
  }
  .kdr-h{
    font-size:25px !important;
    line-height:1.18 !important;
    margin-top:18px !important;
  }
  .kdr-p{
    font-size:16px;
    line-height:1.65;
  }
  .kdr-p br,.kdr-tag br{display:none;}

  /* Lower content becomes an intentional two-column tablet layout. */
  .kdr-h[style*="139"],
  .kdr-li,
  .kdr-h[style*="138"] ,
  .kdr-ck{
    grid-column:1;
  }
  .kdr-h[style*="624"],
  .kdr-q,
  .kdr-h[style*="606"],
  .kdr-kk,.kdr-kv{
    grid-column:2;
  }
  .kdr-h[style*="139"],.kdr-h[style*="624"]{
    margin-top:32px !important;
  }
  .kdr-li,.kdr-ck{
    font-size:16px;
    line-height:1.45;
    white-space:normal;
    padding:9px 12px 9px 34px;
    border-radius:12px;
    background:rgba(255,255,255,.72);
    position:relative !important;
  }
  .kdr-li::before,.kdr-ck::before{
    position:absolute;
    left:12px;top:9px;
    color:#4e7654;
    font-weight:600;
  }
  .kdr-li::before{content:"•";}
  .kdr-ck::before{content:"✓";}
  .kdr-q{
    font-size:21px !important;
    line-height:1.55 !important;
    white-space:normal;
    text-align:left;
    padding:22px 24px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(31,74,51,.08);
  }
  .kdr-q br{display:none;}
  .kdr-kk{
    font-size:14px;
    font-weight:500;
    white-space:normal;
    color:#2f5d43;
    margin-top:6px !important;
  }
  .kdr-kv{
    font-size:16px;
    line-height:1.45;
    padding-bottom:10px;
    border-bottom:1px solid rgba(31,74,51,.12);
  }
}

@media (max-width: 600px){
  .kdr-ov{padding:0;align-items:stretch;}
  .kdr-panel{
    width:100%;
    min-height:100dvh;
    border-radius:0;
    overflow-y:auto;
  }
  .kdr{
    display:flex;
    flex-direction:column;
    gap:0;
    padding:20px 18px 38px;
  }
  .kdr-responsive-photo{
    order:0;
    width:calc(100% + 36px);
    max-width:none;
    height:min(72vw,360px);
    margin:-20px -18px 24px !important;
    border-radius:0 0 26px 26px;
    object-position:center 22%;
    box-shadow:none;
  }
  .kdr-close{
    position:fixed !important;
    top:14px !important;
    right:14px !important;
    width:50px;height:50px;
  }
  .kdr-name{
    order:1;
    font-size:31px !important;
    padding-right:0;
    margin-bottom:6px !important;
  }
  .kdr-role{order:2;font-size:17px;margin-bottom:10px !important;}
  .kdr-tag{order:3;font-size:15.5px;padding:0 0 22px;}
  .kdr-h{font-size:24px !important;margin-top:26px !important;margin-bottom:10px !important;}
  .kdr-p{font-size:16px;line-height:1.62;margin-bottom:12px !important;}
  .kdr-li,.kdr-ck{
    width:100%;
    box-sizing:border-box;
    margin-bottom:8px !important;
    padding:11px 12px 11px 35px;
  }
  .kdr-li::before,.kdr-ck::before{top:11px;}
  .kdr-q{
    font-size:20px !important;
    line-height:1.5 !important;
    padding:20px;
    margin-top:2px !important;
  }
  .kdr-kk{font-size:14px;margin-top:10px !important;}
  .kdr-kv{font-size:16px;padding:2px 0 10px;margin-bottom:2px !important;}
}

@media (max-width: 380px){
  .kdr{padding-left:15px;padding-right:15px;}
  .kdr-responsive-photo{width:calc(100% + 30px);margin-left:-15px !important;margin-right:-15px !important;}
  .kdr-name{font-size:28px !important;}
}
