.doctor-card{
  cursor:pointer!important;
  isolation:isolate;
  outline:none;
}
.doctor-card::after{
  content:'Ver experiencia  \2197';
  position:absolute;
  top:12px;
  right:12px;
  z-index:4;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:rgba(5,18,8,.48);
  color:#fff;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(-4px);
  backdrop-filter:blur(8px);
  transition:opacity .22s ease,transform .22s cubic-bezier(.22,1,.36,1),background .22s ease;
  pointer-events:none;
}
.doctor-card:hover::after,.doctor-card:focus-visible::after{opacity:1;transform:none}
.doctor-card:focus-visible{box-shadow:0 0 0 3px #15171c,0 0 0 6px #31C21E}

html:has(body.profile-open){overflow:hidden}
body.profile-open{overflow:hidden;overscroll-behavior:none}

/* Equipo: bento de cápsulas */
@media(min-width:821px){
  .team-bento{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:26px;align-items:stretch}
  .team-bento .team-featured-grid{margin:0!important;gap:18px!important;grid-template-columns:1.45fr 1fr!important;grid-template-rows:minmax(270px,1fr) minmax(270px,1fr);align-items:stretch}
  .team-featured-grid .doctor-card:nth-child(1){grid-row:1 / span 2;aspect-ratio:auto!important;min-width:0;width:100%}
  .team-featured-grid .doctor-card:nth-child(n+2){aspect-ratio:auto!important;min-height:0}
  .team-featured-grid .doctor-card:nth-child(n+2)>div:nth-of-type(2){padding:0 22px 40px!important}
  .team-featured-grid .doctor-card:nth-child(1){aspect-ratio:3/5.2!important;box-shadow:0 50px 80px -36px rgba(30,57,194,.75),0 0 0 8px rgba(255,255,255,.55),0 0 0 9.5px color-mix(in srgb,#31C21E 60%,transparent)!important}
  .team-featured-grid .doctor-card:nth-child(1)>div:nth-of-type(2)>div:last-child{font-size:22px!important;line-height:1.1;letter-spacing:-.02em}
  .team-featured-grid .doctor-card:nth-child(1)>div:nth-of-type(2)>div:first-child{font-size:11px!important;margin-bottom:8px!important}
  .team-featured-grid .doctor-card{aspect-ratio:3/5!important;border-radius:999px!important;background:linear-gradient(160deg,#31C21E,#1E39C2)!important;box-shadow:0 40px 60px -34px rgba(30,57,194,.65),inset 0 0 0 1px rgba(255,255,255,.18);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s!important}
  
  .team-featured-grid .doctor-card:hover{transform:translateY(-8px)!important;box-shadow:0 50px 70px -30px rgba(30,57,194,.75)}
  .team-featured-grid .doctor-card>img{transition:transform .8s cubic-bezier(.22,1,.36,1)}
  .team-featured-grid .doctor-card:hover>img{transform:scale(1.06)}
  .team-featured-grid .doctor-card>div:nth-of-type(2){padding:0 28px 54px!important;text-align:center}
  .team-featured-grid .doctor-card>[data-team-overlay]{padding:60px 32px!important;text-align:center;align-items:center}
  .team-featured-grid .doctor-card::after{top:34px;left:50%;right:auto;transform:translate(-50%,-4px)}
  .team-featured-grid .doctor-card:hover::after,.team-featured-grid .doctor-card:focus-visible::after{transform:translate(-50%,0)}
  .team-bento .team-specialists-grid{grid-template-columns:1fr!important;grid-auto-rows:1fr;gap:14px!important;margin:0}
  .team-specialists-grid .doctor-card{aspect-ratio:auto!important;min-height:88px;border-radius:999px!important;background:rgba(255,255,255,.78)!important;backdrop-filter:blur(14px);box-shadow:0 18px 40px -26px rgba(30,57,194,.55),inset 0 0 0 1px rgba(30,57,194,.12);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s!important}
  .team-specialists-grid .doctor-card:nth-child(even){margin-left:36px}
  .team-featured-grid .doctor-card>div:nth-of-type(2)>div:first-child{color:rgba(255,255,255,.9)!important}
  .team-specialists-grid .doctor-card:hover{transform:translateX(-6px)!important;box-shadow:0 24px 46px -24px rgba(30,57,194,.7),inset 0 0 0 1.5px var(--brand-green,#31C21E)}
  .team-specialists-grid .doctor-card>img{inset:8px auto 8px 8px!important;width:auto!important;height:calc(100% - 16px)!important;aspect-ratio:1;border-radius:50%;object-position:50% 12%!important;filter:saturate(.9)!important;box-shadow:0 0 0 3px #fff,0 0 0 5px color-mix(in srgb,var(--brand-green,#31C21E) 55%,transparent)}
  .team-specialists-grid .doctor-card>div:nth-of-type(1){display:none}
  .team-specialists-grid .doctor-card>span{height:auto!important}
  .team-specialists-grid .doctor-card>div:nth-of-type(2){top:50%!important;bottom:auto!important;left:118px!important;padding:0 64px 0 0!important;transform:translateY(-50%)}
  .team-specialists-grid .doctor-card>div:nth-of-type(2)>div:first-child{color:var(--brand-blue,#1E39C2)!important;font-size:10px!important}
  .team-specialists-grid .doctor-card>div:nth-of-type(2)>div:last-child{color:#1e314f!important;font-size:16px!important;letter-spacing:-.01em}
  .team-specialists-grid .doctor-card>[data-team-overlay]{padding:0 70px 0 118px!important;border-radius:999px}
  .team-specialists-grid .doctor-card::after{content:'\2197';top:50%;right:22px;width:38px;height:38px;padding:0;display:grid;place-items:center;font-size:14px;opacity:1;border-radius:50%;background:var(--brand-blue,#1E39C2);transform:translateY(-50%)}
  .team-specialists-grid .doctor-card:hover::after{transform:translateY(-50%) rotate(45deg);background:var(--brand-green,#31C21E)}
}
.profile-overlay{
  position:fixed;
  inset:0;
  z-index:220;
  display:grid;
  place-items:center;
  padding:clamp(14px,3vw,42px);
  background:rgba(3,11,6,.72);
  opacity:0;
  visibility:hidden;
  backdrop-filter:blur(14px);
  transition:opacity .28s ease,visibility .28s ease;
}
.profile-overlay.is-open{opacity:1;visibility:visible}
.profile-panel{
  position:relative;
  display:grid;
  grid-template-columns:minmax(260px,.74fr) minmax(420px,1.26fr);
  grid-template-rows:minmax(0,1fr);
  width:min(1040px,100%);
  height:min(86vh,820px);
  max-height:min(86vh,820px);
  overflow:hidden;
  border:1px solid rgba(107,218,109,.28);
  border-radius:34px 34px 34px 80px;
  background:#f9faf5;
  box-shadow:0 34px 110px rgba(0,0,0,.38);
  transform:translateY(18px) scale(.985);
  transition:transform .38s cubic-bezier(.22,1,.36,1);
}
.profile-overlay.is-open .profile-panel{transform:none}
.profile-overlay.is-open .profile-photo{transform:none}
.profile-visual{
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  min-height:0;
  height:100%;
  box-sizing:border-box;
  overflow:hidden;
  padding:0;
  background:linear-gradient(145deg,#31C21E,#1E39C2);
}
.profile-visual::before{
  content:'';
  position:absolute;
  inset:-12%;
  z-index:-2;
  background-image:var(--profile-photo,none);
  background-size:cover;
  background-position:var(--profile-focus,50% 30%);
  filter:blur(28px) saturate(.72) brightness(.52);
  opacity:.78;
  transform:scale(1.08);
}
.profile-visual::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to top,rgba(4,16,8,.42),transparent 22%),linear-gradient(90deg,transparent 92%,#f9faf5 100%);
  pointer-events:none;
}
.profile-photo{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--profile-focus,50% 30%);
  filter:saturate(.95) contrast(1.02);
  -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent 100%),linear-gradient(180deg,#000 90%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,#000 88%,transparent 100%),linear-gradient(180deg,#000 90%,transparent 100%);
  mask-composite:intersect;
  transform:scale(1.04);
  transition:transform 1.2s cubic-bezier(.22,1,.36,1);
}
.profile-initials{
  display:none;
  width:100%;
  height:100%;
  place-items:center;
  color:rgba(255,255,255,.24);
  font-size:clamp(5rem,12vw,9rem);
  font-weight:800;
  letter-spacing:-.08em;
}
.profile-visual.no-photo .profile-photo{display:none}
.profile-visual.no-photo .profile-initials{display:grid}
.profile-visual.no-photo::before{display:none}
.profile-visual-note{
  position:absolute;
  left:26px;
  right:26px;
  bottom:24px;
  z-index:2;
  color:rgba(255,255,255,.82);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.profile-content{overflow:auto;padding:clamp(34px,4.8vw,62px) clamp(28px,5vw,66px) 42px;scrollbar-width:thin;scrollbar-color:#31C21E transparent}
.profile-kicker{margin-bottom:12px;color:#1E39C2;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.profile-name{max-width:14ch;color:#15171c;font-size:clamp(2rem,3.8vw,3.55rem);font-weight:800;line-height:.94;letter-spacing:-.052em}
.profile-role{margin-top:16px;color:#1E39C2;font-size:14px;font-weight:800}
.profile-university{margin-top:5px;color:#647067;font-size:12px;line-height:1.55}
.profile-rows{margin-top:30px;border-top:1px solid #dce5dc}
.profile-row{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid #dce5dc}
.profile-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e7f5e7;font-size:14px}
.profile-row strong{display:block;margin-bottom:4px;color:#15171c;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.profile-row span{display:block;color:#555b66;font-size:12.5px;line-height:1.58}
.profile-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:5;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(12,26,13,.12);
  border-radius:50%;
  background:rgba(249,250,245,.88);
  color:#15171c;
  font:inherit;
  font-size:18px;
  cursor:pointer;
  backdrop-filter:blur(8px);
  transition:transform .18s ease,background .18s ease;
}
.profile-close:hover{transform:rotate(6deg);background:#fff}
.profile-close:focus-visible{outline:3px solid #31C21E;outline-offset:3px}

@media(max-width:820px){
  .team-featured-grid,
  .team-specialists-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  .team-featured-grid .doctor-card{
    min-height:244px;
    aspect-ratio:4/3!important;
  }
  .team-specialists-grid .doctor-card{
    min-height:252px;
    aspect-ratio:4/3!important;
    background:color-mix(in srgb,#1E39C2 7%,#f8faf5)!important;
  }
  .team-specialists-grid .doctor-card>img{
    object-fit:contain!important;
    object-position:center!important;
    background:color-mix(in srgb,#1E39C2 7%,#f8faf5);
    filter:saturate(.88) contrast(1.01)!important;
  }
  .team-specialists-grid .doctor-card>div:last-child{
    padding:14px 16px!important;
  }
  .team-specialists-grid .doctor-card>div:last-child>div:nth-child(2){
    font-size:14px!important;
  }
  .doctor-card{
    min-width:0;
    touch-action:manipulation;
  }
  .doctor-card::after{
    top:10px;
    right:10px;
    display:flex;
    align-items:center;
    min-height:44px;
    box-sizing:border-box;
    padding:8px 12px;
    opacity:1;
    transform:none;
    font-size:8px;
  }
  .profile-overlay{
    place-items:end center;
    padding:0;
    background:rgba(3,11,6,.78);
  }
  .profile-panel{
    grid-template-columns:1fr;
    grid-template-rows:minmax(248px,36dvh) minmax(0,1fr);
    width:100%;
    height:min(94dvh,760px);
    max-height:94dvh;
    border-width:1px 0 0;
    border-radius:28px 28px 0 0;
  }
  .profile-visual{
    min-height:0;
    height:auto;
    max-height:none;
    padding:0;
    background:linear-gradient(145deg,#31C21E,#1E39C2);
  }
  .profile-photo{
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    -webkit-mask-image:linear-gradient(180deg,#000 88%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 88%,transparent 100%);
  }
  .profile-visual::after{background:linear-gradient(180deg,transparent 90%,#f9faf5 100%)}
  .profile-visual-note{
    left:22px;
    right:68px;
    bottom:20px;
  }
  .profile-content{
    padding:24px 20px calc(34px + env(safe-area-inset-bottom));
    overscroll-behavior:contain;
  }
  .profile-kicker{margin-bottom:10px;color:#1E39C2}
  .profile-name{max-width:12ch;font-size:clamp(1.75rem,9vw,2.45rem);line-height:.98}
  .profile-role{padding-right:42px;margin-top:12px}
  .profile-rows{margin-top:22px}
  .profile-row{
    grid-template-columns:36px minmax(0,1fr);
    gap:12px;
    padding:15px 0;
  }
  .profile-icon{width:36px;height:36px}
  .profile-row span{font-size:13px;line-height:1.55}
  .profile-close{
    top:12px;
    right:12px;
    width:48px;
    height:48px;
    background:rgba(249,250,245,.96);
  }
}
@media(max-width:359px){
  .team-featured-grid .doctor-card,
  .team-specialists-grid .doctor-card{
    min-height:224px;
  }
  .profile-panel{
    grid-template-rows:minmax(220px,32dvh) minmax(0,1fr);
    height:96dvh;
    max-height:96dvh;
  }
  .profile-content{padding-left:16px;padding-right:16px}
  .profile-name{font-size:1.72rem}
  .profile-row{padding:13px 0}
}
@media(prefers-reduced-motion:reduce){
  .doctor-card::after,.profile-overlay,.profile-panel,.profile-close{transition:none!important}
}

.lp-doc-btn::after{display:none!important}
.lp-doc-btn:focus-visible{box-shadow:0 0 0 3px #fff,0 0 0 6px #31C21E!important}
