/* Ajustes de legibilidad, alineación y consistencia visual */
:where(h1,h2,h3,.eyebrow,.team-role,.team-belt){
  text-wrap:balance;
}

:where(main p, main dd, main li){
  overflow-wrap:anywhere;
  text-wrap:pretty;
}

:where(
  .section-head p,
  .about-grid .reveal > p,
  .team-body > p,
  .team-detail-body > p,
  .detail-list dd,
  .value-card p,
  .class-card-body p,
  .video-note,
  .faq-item p,
  .legal-document p,
  .legal-document li,
  .contact-grid > .reveal > p
){
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}

.section-head p{ max-width:680px; }
.team-grid > *, .values-grid > *, .class-grid > *, .video-grid > *{ min-width:0; }
.team-card, .value-card, .class-card, .video-card{ height:100%; }
.team-body, .video-body{ min-width:0; }

/* Fichas profesionales más ordenadas */
.detail-list > div{
  display:grid;
  grid-template-columns:minmax(145px,.34fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.detail-list > div:last-child{ border-bottom:0; }
.detail-list dt, .detail-list dd{ margin:0; }

@media (max-width:700px){
  :where(
    .section-head p,
    .about-grid .reveal > p,
    .team-body > p,
    .team-detail-body > p,
    .detail-list dd,
    .value-card p,
    .class-card-body p,
    .video-note,
    .faq-item p,
    .legal-document p,
    .legal-document li,
    .contact-grid > .reveal > p
  ){
    text-align:left;
    hyphens:none;
  }
  .detail-list > div{ grid-template-columns:1fr; gap:6px; }
}

/* Vídeos en dos columnas para mantener un tamaño cómodo de visualización */
.video-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.video-kicker,
.video-body h3,
.video-note{
  width:100%;
}
.video-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.video-grid > :last-child:nth-child(odd){
  grid-column:1 / -1;
  width:calc(50% - 12px);
  justify-self:center;
}

@media (max-width:980px){
  .video-grid{grid-template-columns:1fr;max-width:760px;}
  .video-grid > :last-child:nth-child(odd){
    grid-column:auto;
    width:100%;
  }
}


/* Controles de vídeo robustos en producción */
.video-card{
  opacity:1 !important;
  transform:none !important;
}
.video-player{
  position:relative;
  isolation:isolate;
}
.video-player video{
  position:relative;
  z-index:1;
  pointer-events:auto !important;
  touch-action:manipulation;
}
.video-play-button{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.94);
  border-radius:50%;
  background:rgba(10,10,11,.82);
  color:#fff;
  box-shadow:0 12px 35px rgba(0,0,0,.5);
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, opacity .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.video-play-button::before{
  content:"";
  display:block;
  width:0;
  height:0;
  margin-left:5px;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-left:19px solid currentColor;
}
.video-play-button:hover,
.video-play-button:focus-visible{
  background:rgba(216,30,44,.94);
  transform:translate(-50%,-50%) scale(1.06);
  outline:3px solid rgba(255,255,255,.45);
  outline-offset:3px;
}
.video-player.is-playing .video-play-button{
  opacity:0;
  pointer-events:none;
}
.video-player.has-video-error .video-play-button{
  opacity:1;
  pointer-events:auto;
}
@media (max-width:620px){
  .video-play-button{ width:64px; height:64px; }
}
