/* ============================================================
   INICIO V15 — Propuesta A "Vibrante" + "Este mes en Girazoma" (B)
   Solo aplica a index.html (body.home-v15). Las demás páginas
   siguen usando style.css sin cambios.
   ============================================================ */
body.home-v15{ background:#0b1433; }

/* ---------- Encabezado oscuro translúcido ---------- */
.home-v15 .topbar{ background:#070d24; }
.home-v15 header.site-header{
  background: #0b1433;
  box-shadow: none; border-bottom: 1px solid rgba(255,255,255,.08);
}
/* El desenfoque solo en computador: en celular crearía un contenedor para el
   menú lateral (position:fixed) y rompería el menú y el ancho de la página. */
@media (min-width: 761px){
  .home-v15 header.site-header{
    background: rgba(11,20,51,.86);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  }
}
.home-v15 .brand-text .name{ color:#fff; }
.home-v15 .brand-text .tag{ color: var(--gold-light); }
.home-v15 .menu-toggle span{ background:#fff; }
.home-v15 .nav-cta .btn-navy{ background: var(--gold-light); color: var(--navy-dark); }
.home-v15 .nav-cta .btn-navy:hover{ background:#fff; }
@media (min-width: 761px){
  .home-v15 nav.main-nav a{ color:#c9d1ef; }
  .home-v15 nav.main-nav a:hover, .home-v15 nav.main-nav a.active{ background: rgba(255,255,255,.08); color:#fff; }
  .home-v15 nav.main-nav a.nav-platform{ background: var(--gold); color: var(--navy-dark); }
}

/* ---------- Hero ---------- */
.home-v15 .hero-slider{ height: 720px; max-height: 88vh; }
.home-v15 .hero-slider .slide::before{
  background: linear-gradient(90deg, rgba(11,20,51,.95) 0%, rgba(11,20,51,.78) 42%, rgba(11,20,51,.2) 100%);
}
.home-v15 .hero-slider .slide-content{ max-width: 780px; }
.home-v15 .hero-slider .slide-content h1{
  font-weight: 900; font-size: clamp(2.3rem, 5.4vw, 4.4rem); line-height: 1.03; letter-spacing: -.02em;
}
.home-v15 .hero-slider .slide-content p.lead{ font-size: 1.2rem; }
.hv-gold{ color: var(--gold-light); }
.home-v15 .hero-slider .eyebrow.hv-live{
  background: var(--red); color:#fff; border-color: transparent;
  display:inline-flex; align-items:center; gap:8px;
}
.hv-dot{ width:8px; height:8px; border-radius:50%; background:#fff; animation: hvPulse 1.6s ease-in-out infinite; }
@keyframes hvPulse{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }

/* ---------- Franja de novedades ---------- */
.hv-marquee{ background: var(--gold-light); border-top: 4px solid var(--red); overflow:hidden; }
.hv-track{
  display:flex; width:max-content; gap:44px; padding:15px 0;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:1.05rem; white-space:nowrap;
  animation: hvMarquee 32s linear infinite;
}
.hv-track a{ color: var(--navy-dark); }
.hv-track a:hover{ color: var(--red-dark); text-decoration: underline; }
.hv-track span{ color: var(--red-dark); }
.hv-marquee:hover .hv-track{ animation-play-state: paused; }
@keyframes hvMarquee{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }

/* ---------- Secciones oscuras ---------- */
.hv-dark{ background:#0b1433; color:#eef1fb; }
.hv-dark h2, .hv-dark h3{ color:#fff; }
.hv-eyebrow{ font-family:'Poppins',sans-serif; font-weight:700; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color: var(--gold-light); }
.hv-section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:28px; }
.hv-section-head h2{ margin:.3em 0 0; font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height:1.05; }
.hv-link{ color: var(--gold-light); font-family:'Poppins',sans-serif; font-weight:600; }
.hv-link:hover{ color:#fff; }

/* ---------- Logros ---------- */
.hv-stats-wrap{ padding: 64px 0 24px; }
.hv-stats{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:18px; }
.hv-stat{ background:#142257; border-radius:22px; padding:26px; display:flex; flex-direction:column; gap:6px; }
.hv-stat strong{ font-family:'Poppins',sans-serif; font-weight:900; font-size:2.6rem; line-height:1.05; color: var(--gold-light); }
.hv-stat span{ color:#c9d1ef; }
.hv-stat-red{ background: var(--red); }
.hv-stat-red strong{ color:#fff; }
.hv-stat-red span{ color:#ffe3e1; }

/* ---------- Este mes en Girazoma (propuesta B) ---------- */
.hv-month{ background:#fff; color: var(--ink); padding: 84px 0; margin-top: 56px; }
.hv-month-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; border-bottom:2px solid var(--navy); padding-bottom:16px; margin-bottom:34px; }
.hv-month-head h2{ margin:0; color: var(--navy); font-weight:800; font-size: clamp(1.9rem, 3.6vw, 2.8rem); letter-spacing:-.02em; }
.hv-month-head span{ color: var(--gray); font-weight:600; }
.hv-month-grid{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:44px; align-items:start; }
.hv-feature{ display:flex; flex-direction:column; gap:12px; }
.hv-feature-media{ border-radius:18px; overflow:hidden; background: var(--navy); min-height: 360px; }
.hv-feature-media .instagram-media{ margin:0 !important; min-width:0 !important; width:100% !important; max-width:100% !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.hv-feature-media blockquote.instagram-media{ padding:28px; }
.hv-feature-media blockquote.instagram-media a{ color:#fff; font-weight:700; }
.hv-feature h3{ margin:0; color: var(--navy); font-size: 1.75rem; line-height:1.15; }
.hv-feature p{ margin:0; color: var(--gray); font-size:1.05rem; line-height:1.6; }
.hv-kicker{ font-family:'Poppins',sans-serif; font-weight:700; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color: var(--maroon); }
.hv-list{ display:flex; flex-direction:column; }
.hv-item{ display:flex; gap:20px; padding:22px 0; border-bottom:1px solid #ecebe6; color: var(--ink); transition: transform .2s ease; }
.hv-item:first-child{ padding-top:0; }
.hv-item:hover{ transform: translateX(6px); color: var(--ink); }
.hv-item:hover strong{ color: var(--maroon); }
.hv-day{ font-family:'Poppins',sans-serif; font-weight:800; font-size:2.5rem; line-height:1; color: var(--gold); min-width:58px; }
.hv-item-text{ display:flex; flex-direction:column; gap:4px; }
.hv-item-text strong{ font-family:'Poppins',sans-serif; font-size:1.25rem; color: var(--navy); transition: color .2s ease; }
.hv-item-text > span:last-child{ color: var(--gray); }
.hv-more{ margin-top:20px; font-family:'Poppins',sans-serif; font-weight:700; color: var(--blue); }

/* ---------- Mosaico vida escolar ---------- */
#vida{ padding: 84px 0; }
.hv-bento{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); grid-template-rows: 260px 260px; gap:16px; }
.hv-tile{ position:relative; overflow:hidden; border-radius:24px; color:#fff; display:block; background:#142257; }
.hv-tile img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .6s ease; }
.hv-tile:hover img{ transform: scale(1.07); }
.hv-tile::after{ content:''; position:absolute; inset:0; background: linear-gradient(to top, rgba(11,20,51,.92), rgba(11,20,51,0) 58%); }
.hv-tile-big{ grid-column: span 2; grid-row: span 2; }
.hv-tile-wide{ grid-column: span 2; }
.hv-tile-cap{ position:absolute; left:24px; right:24px; bottom:22px; z-index:1; display:flex; flex-direction:column; gap:8px; }
.hv-tile-cap strong{ font-family:'Poppins',sans-serif; font-size:1.3rem; line-height:1.15; }
.hv-tile-big .hv-tile-cap strong{ font-size: 1.85rem; }
.hv-chip{ align-self:flex-start; background: var(--gold-light); color: var(--navy-dark); font-weight:700; font-size:.75rem; padding:5px 12px; border-radius:999px; }
.hv-tile-red{ background: var(--red); padding:22px; display:flex; flex-direction:column; justify-content:space-between; }
.hv-tile-red::after{ display:none; }
.hv-tile-red strong{ font-family:'Poppins',sans-serif; font-size:1.45rem; line-height:1.15; }
.hv-tile-red:hover{ color:#fff; background: var(--red-dark); }
.hv-kicker-light{ font-family:'Poppins',sans-serif; font-weight:700; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:#ffe3e1; }

/* ---------- Instagram (ya existente) sobre fondo más claro ---------- */
.home-v15 .insta-section{ background:#142257; }

/* ---------- Admisiones ---------- */
#admisiones-2027{ padding: 90px 0; }
.hv-admit{ position:relative; background: linear-gradient(135deg, var(--red) 0%, var(--red-dark) 100%); border-radius:32px; padding:56px; display:flex; gap:48px; align-items:center; flex-wrap:wrap; overflow:hidden; }
.hv-admit-text{ flex: 1 1 420px; display:flex; flex-direction:column; gap:16px; }
.hv-admit-text h2{ margin:0; font-weight:900; font-size: clamp(2rem, 4.2vw, 3.2rem); line-height:1.03; }
.hv-admit-text p{ margin:0; font-size:1.15rem; line-height:1.5; color:#ffe3e1; }
.hv-btn-white{ background:#fff; color: var(--red-dark); }
.hv-btn-white:hover{ background: var(--gold-light); color: var(--navy-dark); }
.hv-flyer{ flex: 0 1 320px; width:320px; max-width:100%; border-radius:18px; border:6px solid #fff; box-shadow: 0 30px 60px rgba(0,0,0,.35); animation: hvFloat 5s ease-in-out infinite; }
@keyframes hvFloat{ 0%,100%{ transform: translateY(0) rotate(-3deg); } 50%{ transform: translateY(-10px) rotate(-3deg); } }

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .hv-stats{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hv-month-grid{ grid-template-columns: 1fr; }
  .hv-bento{ grid-template-columns: repeat(2, minmax(0,1fr)); grid-template-rows: 300px 220px 220px; }
}
@media (max-width: 640px){
  .home-v15 .hero-slider{ height: 620px; }
  .home-v15 .hero-slider .slide::before{ background: linear-gradient(180deg, rgba(11,20,51,.55) 0%, rgba(11,20,51,.88) 55%, rgba(11,20,51,.95) 100%); }
  .hv-stats{ grid-template-columns: 1fr 1fr; gap:12px; }
  .hv-stat{ padding:18px; }
  .hv-stat strong{ font-size:1.9rem; }
  .hv-bento{ grid-template-columns: 1fr; grid-template-rows: none; }
  .hv-bento > *{ grid-column:auto; grid-row:auto; min-height:240px; }
  .hv-admit{ padding:32px 24px; }
  .hv-flyer{ margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce){
  .hv-track, .hv-dot, .hv-flyer{ animation:none; }
  .hv-tile img, .hv-item{ transition:none; }
}
