:root{
  --pink:#ff66c4;
  --soft-pink:#ffd9ef;
  --baby:#f8b8dc;
  --blush:#fff2f8;
  --rose:#f7a9d3;
  --grey:#686068;
  --light-grey:#f3eef2;
  --charcoal:#2f2930;
  --white:#fff;
  --shadow:0 24px 70px rgba(255,102,196,.22);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Montserrat,system-ui,sans-serif;color:var(--charcoal);background:linear-gradient(135deg,#fff 0%,#fff2f8 38%,#f2edf1 100%);overflow-x:hidden}
a{color:inherit;text-decoration:none}.soft-bg{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 16%,rgba(255,102,196,.18),transparent 28%),radial-gradient(circle at 78% 24%,rgba(248,184,220,.38),transparent 30%),radial-gradient(circle at 50% 85%,rgba(255,217,239,.7),transparent 32%);z-index:-1}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 5vw;background:rgba(255,246,251,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,102,196,.18)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--pink);letter-spacing:.02em}.brand img{width:42px;height:42px;object-fit:contain}.site-header nav{display:flex;gap:22px;font-size:14px;font-weight:700;color:#675760}.site-header nav a:hover{color:var(--pink)}.mini-btn,.btn{border-radius:999px;padding:12px 20px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.mini-btn{background:var(--pink);color:white;box-shadow:0 10px 25px rgba(255,102,196,.25)}.section{padding:86px 6vw}.hero{min-height:86vh;display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding:70px 6vw 60px}.eyebrow,.section-kicker{color:var(--pink);font-weight:900;text-transform:uppercase;letter-spacing:.18em;font-size:12px}.hero h1,.section h2{font-family:'Playfair Display',serif;font-size:clamp(44px,7vw,92px);line-height:.94;margin:10px 0 20px;color:#3a3037}.section h2{font-size:clamp(34px,4.4vw,62px);line-height:1.02}.lead{font-size:20px;line-height:1.7;color:#5f565d;max-width:620px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.center{justify-content:center}.btn.primary{background:linear-gradient(135deg,var(--pink),#ff8ad0);color:white;box-shadow:var(--shadow)}.btn.ghost{background:rgba(255,255,255,.78);border:1px solid rgba(255,102,196,.25);color:var(--pink)}.stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.stats span{background:white;border:1px solid rgba(255,102,196,.18);border-radius:18px;padding:14px 18px;box-shadow:0 12px 35px rgba(145,116,135,.12);color:#756870}.stats b{display:block;color:var(--pink);font-size:24px}.hero-media{position:relative;min-height:620px}.hero-media video{width:82%;height:620px;object-fit:cover;border-radius:40px;box-shadow:var(--shadow);border:10px solid rgba(255,255,255,.7)}.polaroid{position:absolute;right:0;bottom:24px;width:42%;background:white;border-radius:28px;padding:10px;box-shadow:0 30px 70px rgba(112,80,102,.22);transform:rotate(4deg)}.polaroid img{width:100%;border-radius:20px;display:block}.intro{text-align:center;max-width:990px;margin:auto}.intro p:last-child{font-size:18px;line-height:1.8;color:#6f646b}.section-head{text-align:center;margin-bottom:36px}.cards-grid,.schedule-grid,.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.class-card,.schedule-card,.price-card,.awards,.competition-card,.cta-section{background:rgba(255,255,255,.76);border:1px solid rgba(255,102,196,.18);box-shadow:0 22px 60px rgba(154,126,143,.13);border-radius:34px}.class-card{padding:30px;min-height:220px}.class-card span{color:var(--pink);font-weight:900}.class-card h3,.schedule-card h3,.price-card h3,.awards h3{font-size:25px;margin:14px 0;color:#443841}.class-card p{color:#6b6067;line-height:1.7}.video-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:20px}.video-strip video{width:100%;height:560px;object-fit:cover;border-radius:32px;border:8px solid rgba(255,255,255,.75);box-shadow:var(--shadow)}.schedule-grid{grid-template-columns:1fr 1fr}.schedule-card{padding:30px}.day{display:grid;grid-template-columns:128px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid rgba(255,102,196,.15)}.day b{color:var(--pink)}.day span{color:#5f555d}.price-grid{grid-template-columns:1fr 1fr 1fr}.price-card{padding:30px}.price-card.featured{background:linear-gradient(160deg,#fff,#ffe1f2)}.price-card ul{list-style:none;padding:0;margin:0}.price-card li{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid rgba(255,102,196,.16)}.price-card b{color:var(--pink);white-space:nowrap}.note{color:#756970;line-height:1.6}.competition-card{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;padding:32px;align-items:center}.competition-card img{width:100%;height:420px;object-fit:cover;border-radius:28px}.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.badges span{background:var(--soft-pink);color:#a83779;border-radius:999px;padding:10px 14px;font-weight:800;font-size:13px}.awards{margin-top:18px;padding:28px}.awards p{line-height:1.7;color:#665a62}.awards summary{cursor:pointer;color:var(--pink);font-weight:900;margin-top:10px}.gallery{columns:3 260px;column-gap:18px}.gallery img{width:100%;display:block;margin:0 0 18px;border-radius:30px;box-shadow:0 18px 45px rgba(117,93,108,.16);break-inside:avoid;border:7px solid rgba(255,255,255,.8);transition:.35s}.gallery img:hover{transform:translateY(-5px) scale(1.01)}.cta-section{text-align:center;margin:70px 6vw;padding:70px 5vw}.cta-section p{color:#6b6067}.locations{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:32px}.locations a{background:white;border:1px solid rgba(255,102,196,.2);padding:13px 18px;border-radius:18px;font-weight:800;color:#6c5f68}.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:30;background:#ff66c4;color:white;border-radius:999px;padding:15px 20px;font-weight:900;box-shadow:var(--shadow)}footer{text-align:center;padding:46px 20px;color:#756a72}footer img{width:50px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.show{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}.delay-3{transition-delay:.32s}@media(max-width:920px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:42px}.hero-media{min-height:auto}.hero-media video{width:100%;height:560px}.polaroid{display:none}.cards-grid,.price-grid{grid-template-columns:1fr}.schedule-grid{grid-template-columns:1fr}.competition-card{grid-template-columns:1fr}.video-strip{grid-template-columns:1fr}.video-strip video{height:520px}.day{grid-template-columns:1fr}.section{padding:62px 5vw}.hero h1{font-size:52px}}@media(max-width:520px){.hero-media video{height:470px}.video-strip video{height:470px}.stats{display:grid;grid-template-columns:1fr 1fr}.stats span:last-child{grid-column:span 2}.brand span{font-size:14px}.mini-btn{padding:10px 14px}.hero-actions .btn{width:100%}}


/* AJUSTES PUNTUALES PEDIDOS — sin cambiar estética general */

/* Premios dentro de la tarjeta de competencia, no abajo sueltos */
.competition-awards-inline{
  margin-top: 26px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.award-mini{
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(242,141,182,.35);
  border-radius: 22px;
  padding: 14px 16px;
  box-shadow: 0 8px 22px rgba(242,141,182,.14);
}
.award-mini b{
  display: inline-block;
  background: linear-gradient(135deg,#f28db6,#f05bb4);
  color: white;
  border-radius: 999px;
  padding: 9px 14px;
  font-size: .92rem;
  margin-bottom: 8px;
}
.award-mini span{
  display:block;
  color:#6c5b66;
  font-size:.94rem;
  line-height:1.45;
}

/* Galería/Momentos: rectangulares, varias por fila, no gigantes una abajo de otra */
.gallery,
.galeria,
.moments-grid,
.momentos-grid,
.grid-gallery,
section:has(img) .gallery{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
}
.gallery img,
.galeria img,
.moments-grid img,
.momentos-grid img,
.grid-gallery img{
  width:100% !important;
  height:auto !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  max-height: none !important;
}
@media (min-width: 780px){
  .gallery,
  .galeria,
  .moments-grid,
  .momentos-grid,
  .grid-gallery,
  section:has(img) .gallery{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
