/* Sai Neelkanth Hospital: specialist consultant directory.
   Self-contained responsive grid; director profiles are untouched. */
#consultants.consultants-section.section {
  padding:clamp(24px,3vw,42px) 6% clamp(24px,3.3vw,44px)!important;
  background:#fff!important;
  color:var(--pastel-ink,#263B2A);
}
#consultants .consultants-inner {
  width:100%;
  max-width:1400px;
  margin:0 auto;
}
#consultants .consultants-heading {
  margin:0 auto 24px;
  text-align:center;
  max-width:770px;
}
#consultants .consultants-heading .eyebrow {
  display:block;
  margin:0 0 8px;
  text-align:center;
  font-size:11px;
}
#consultants .consultants-heading h2 {
  margin:0 0 9px;
  font-size:clamp(29px,3.4vw,45px);
  line-height:1.15;
  letter-spacing:-.038em;
  text-wrap:balance;
}
#consultants .consultants-heading h2 em {
  font-style:normal;
  color:var(--pastel-sage-deep,#347453)!important;
}
#consultants .consultants-heading > p:last-child {
  color:var(--pastel-muted,#49614E);
  font-size:14px;
  line-height:1.55;
  margin:0 auto;
  max-width:650px;
}
#consultants .consultant-featured-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.8vw,22px);
}
#consultants .consultant-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--pastel-border,#C9D6C8);
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 26px rgba(35,68,45,.05);
  transition:border-color .22s,box-shadow .22s,transform .22s;
}
#consultants .consultant-card:hover {
  border-color:var(--pastel-sage,#75A475);
  box-shadow:0 13px 30px rgba(35,68,45,.09);
  transform:translateY(-2px);
}
#consultants .consultant-portrait {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  aspect-ratio: 5/3.6;
  background:linear-gradient(135deg,#F3F7F2 0%,#E8F0E7 100%);
  color:#658F67;
  overflow:hidden;
}
#consultants .consultant-portrait:after {
  content:"";
  position:absolute;
  inset:9px;
  border:1px dashed rgba(103,141,107,.38);
  border-radius:11px;
  pointer-events:none;
}
#consultants .consultant-portrait-icon {
  width:70px;
  height:70px;
  opacity:.72;
}
#consultants .consultant-portrait-icon svg {
  display:block;
  width:100%;
  height:100%;
}
#consultants .consultant-photo-caption {
  font-size:11px;
  font-weight:650;
  letter-spacing:.04em;
  color:#49614E;
}
#consultants .consultant-photo {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
}
#consultants .consultant-info {
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:19px 21px 22px;
  flex:1;
  min-width:0;
}
#consultants .consultant-ordinal {
  color:var(--pastel-sage-deep,#347453);
  font-size:10px;
  letter-spacing:1.4px;
  font-weight:800;
}
#consultants .consultant-name {
  margin:2px 0 0;
  font-size:clamp(19px,1.7vw,24px);
  line-height:1.21;
  letter-spacing:-.03em;
  overflow-wrap:break-word;
  color:var(--pastel-ink,#263B2A)!important;
}
#consultants .consultant-specialty {
  font-size:13px;
  line-height:1.45;
  font-weight:750;
  color:var(--pastel-sage-deep,#347453)!important;
  margin:0;
}
#consultants .consultant-degree {
  margin:5px 0 0;
  font-size:12.5px;
  line-height:1.5;
  color:var(--pastel-muted,#49614E);
}
#consultants .consultant-degree-pending {
  font-size:11.5px;
  font-style:italic;
}
#consultants .consultant-extended[hidden] {display:none!important}
#consultants .consultant-extended {margin-top:35px;}
#consultants .consultant-extended-header {margin-bottom:14px;}
#consultants .consultant-extended-header h3 {font-size:clamp(22px,2vw,28px);margin:0 0 5px;}
#consultants .consultant-extended-header p {font-size:13px;color:var(--pastel-muted,#49614E);margin:0;}
#consultants .consultant-extended-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
#consultants .consultant-roster-item {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:6px 14px;
  padding:15px 18px;
  border:1px solid var(--pastel-border,#C9D6C8);
  border-radius:10px;
  background:#fff;
}
#consultants .consultant-roster-item h4 {grid-column:1/-1;margin:0;font-size:15px;}
#consultants .consultant-roster-item p {margin:0;font-size:12px;line-height:1.45;min-width:0;}
#consultants .consultant-roster-degree {color:var(--pastel-muted,#49614E);}
#consultants .consultant-roster-specialty {color:var(--pastel-sage-deep,#347453);font-weight:750;text-align:right;}
@media(max-width:980px){
  #consultants .consultant-featured-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px) {
  #consultants.consultants-section.section {padding:22px 5% 28px!important;}
  #consultants .consultants-heading {margin-bottom:17px;}
  #consultants .consultants-heading h2 {font-size:clamp(27px,7vw,34px);}
  #consultants .consultants-heading > p:last-child {font-size:12.5px;}
  #consultants .consultant-featured-grid {grid-template-columns:1fr;gap:11px;}
  #consultants .consultant-card {flex-direction:row;min-height:150px;border-radius:13px;}
  #consultants .consultant-portrait {
    flex:0 0 38%;
    width:38%;
    aspect-ratio:auto;
    min-height:150px;
    gap:7px;
  }
  #consultants .consultant-portrait-icon {width:46px;height:46px;}
  #consultants .consultant-photo-caption {font-size:9px;text-align:center;padding:0 6px;}
  #consultants .consultant-info {padding:13px 14px;gap:5px;justify-content:center;}
  #consultants .consultant-ordinal {font-size:8.5px;}
  #consultants .consultant-name {font-size:clamp(17px,4.5vw,21px);}
  #consultants .consultant-specialty {font-size:11.5px;}
  #consultants .consultant-degree {font-size:11px;line-height:1.4;}
  #consultants .consultant-extended-list {grid-template-columns:1fr;}
  #consultants .consultant-roster-item {padding:13px;}
}
@media(max-width:390px) {
  #consultants .consultant-portrait{flex-basis:34%;width:34%;}
  #consultants .consultant-info {padding:12px 11px;}
  #consultants .consultant-name {font-size:17px;}
  #consultants .consultant-roster-item {grid-template-columns:1fr;}
  #consultants .consultant-roster-specialty {text-align:left;}
}
@media(prefers-reduced-motion:reduce){
  #consultants .consultant-card {transition:none;transform:none!important;}
}

/* Subtle consultation link for featured doctors, preserving card geometry. */
#consultants .consultant-request {
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  margin-top:auto;
  padding-top:12px;
  color:var(--pastel-sage-deep,#347453)!important;
  text-decoration:none;
  font-size:12px;
  font-weight:750;
  line-height:1.4;
}
#consultants .consultant-request:hover,
#consultants .consultant-request:focus-visible {
  text-decoration:underline;
  text-underline-offset:3px;
}
#consultants .consultant-request:focus-visible {
  outline:2px solid var(--pastel-sage-deep,#347453);
  outline-offset:3px;
}
@media(max-width:680px) {
  #consultants .consultant-request {padding-top:6px;font-size:11px;}
}

/* Mobile-only finish for the TWO clinical leadership portraits.
   This stylesheet loads last; leave all desktop doctor layout rules locked.
   Fade only the image's left edge (not the content or photo rail itself),
   and balance Dr Neha's face size without allowing her hair to touch the card border. */
@media screen and (max-width: 760px) {
  #doctors .doctor-card .doctor-photo-rail img.doctor-original-photo {
    -webkit-mask-image: linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.24) 13%,
      rgba(0,0,0,.80) 30%,
      #000 42%);
    mask-image: linear-gradient(to right,
      transparent 0%,
      rgba(0,0,0,.24) 13%,
      rgba(0,0,0,.80) 30%,
      #000 42%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
  }

  /* Keep Neha close to natural size; the prior 1.18 scale clipped her hair.
     Dhananjay's existing mobile framing stays untouched. */
  #doctors .doctor-card-women .doctor-photo-rail img.doctor-original-photo,
  #doctors .doctor-card-women:hover .doctor-photo-rail img.doctor-original-photo,
  #doctors .doctor-card-women:focus-within .doctor-photo-rail img.doctor-original-photo {
    transform: scale(1.03)!important;
    transform-origin: 70% bottom!important;
  }
}
