/* ============================================================
   RESPONSIVE — adaptaciones para tablet (≤920px) y
   teléfono (≤600px). Debe cargarse DE ÚLTIMO.
   ============================================================ */

@media (max-width:920px){
  nav.links{display:none;}
  nav.links.open{
    display:flex; position:absolute; top:100%; left:0; right:0;
    background:var(--navy-950); flex-direction:column; padding:20px 28px; gap:18px;
    border-top:1px solid rgba(217,184,74,0.18);
  }
  .menu-toggle{display:block;}
  .hero-grid{grid-template-columns:1fr; gap:40px;}
  .hero-photo-frame img, .hero-photo-frame .img-fallback{height:360px;}
  .seal{width:132px; height:132px; left:-12px; bottom:-24px;}
  .seal .num{font-size:36px;}
  .historia-layout{grid-template-columns:1fr; gap:50px;}
  .familias-grid{grid-template-columns:1fr;}
  .photo-cluster{height:360px; margin-top:10px;}
  .niveles-grid{grid-template-columns:1fr;}
  .nivel-card h3{min-height:0;}
  .nivel-lema{min-height:0;}
  .activity-grid{grid-template-columns:repeat(2,1fr);}
  .hero-strip{flex-direction:column; align-items:center; gap:22px; padding:32px 24px;}
  .hero-strip .item{padding:0;}
  .hero-strip .item + .item{border-left:0; padding-top:22px; position:relative;}
  .hero-strip .item + .item::before{
    content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:34px; height:1px; background:rgba(217,184,74,0.35);
  }
  .hero-strip .item b{font-size:20px;}
  .vida-gallery{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "bus bus"
      "actos vida"
      "civica grad";
  }
  .vg-vida{aspect-ratio:3/2;}
  .valores-grid{grid-template-columns:1fr 1fr;}
  .contacto-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr; row-gap:34px;}
  .field-row{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .valores-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .historia,.familias,.niveles,.oferta,.perfil,.testimonios,.contacto{padding:72px 0;}
  .vida{padding:72px 0 60px;}
  .wrap{padding:0 20px;}
  .hero-grid{padding:24px 20px 0;}
  .hero h1{margin:16px 0 20px;}
  .hero-photo-frame img, .hero-photo-frame .img-fallback{height:300px;}
  .seal{width:116px; height:116px; left:-8px; bottom:-20px;}
  .seal .num{font-size:30px;}
  .seal .lbl{font-size:8.5px;}
  .seal .yrs{font-size:9px;}
  .activity-card{height:190px;}
  .vida-gallery{
    grid-template-columns:1fr;
    grid-template-areas:"bus" "actos" "vida" "civica" "grad";
  }
  .vg-bus{aspect-ratio:5/4;}
  .vg-card .cap{padding:0 18px 16px; font-size:14px;}
  .vg-bus .cap{padding:0 20px 18px; font-size:16px;}
  .form-card{padding:28px 20px;}
  .field input, .field select, .field textarea{font-size:16px;}
}
@media (max-width:480px){
  .brand-text span{display:none;}
}

/* ===== Refuerzos móvil (2026-07-10) ===== */
@media (max-width:600px){
  .activity-grid{grid-template-columns:1fr;}
  .activity-card .label{
    background:linear-gradient(to top, rgba(4,8,35,0.92), rgba(4,8,35,0.4) 55%, rgba(4,8,35,0) 100%);
    font-size:14px; padding:26px 12px 10px;
  }
}
/* Pantallas táctiles: sin zoom al tocar las tarjetas */
@media (hover:none){
  .activity-card:hover img{transform:none;}
  .vg-card:hover img{transform:none;}
  .testi-card:hover,
  .testi-card:nth-child(3n+1):hover,
  .testi-card:nth-child(3n):hover{transform:none; box-shadow:0 6px 18px rgba(8,11,40,.10);}
}

/* ===== Testimonios — muro de Instagram (2026-07-10) ===== */
@media (max-width: 960px){
  .testi-wall{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 640px){
  .testi-wall{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:14px;
    padding:6px 4px 18px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .testi-wall::-webkit-scrollbar{ display:none; }
  .testi-card{
    flex:0 0 82%;
    scroll-snap-align:center;
    transform:none !important;
  }
}

/* ===== Banner histórico (2026-07-11) ===== */
@media (max-width:600px){
  .banner-historico-foto{ height:clamp(280px, 44vh, 400px); }
  .banner-historico-cap{ padding:18px 20px 24px; }
  .banner-historico-cap p{ font-size:clamp(22px, 6vw, 30px); }
}

/* ===== Franja pensum (2026-07-12, tipográfica abierta) ===== */
@media (max-width:920px){
  .pensum-band{grid-template-columns:1fr 1fr; gap:28px 34px;}
  .pensum-band > *{padding:0;}
  .pensum-band > .pensum-lead{grid-column:1 / -1; max-width:560px;}
  .pensum-it + .pensum-it{border-left:0;}
}
@media (max-width:600px){
  .pensum-strip{margin:0 0 44px;}
  .pensum-band{grid-template-columns:1fr; gap:24px;}
  .pensum-it{border-top:1px solid rgba(20,22,44,0.12); padding-top:22px;}
}
