/* =====================================================
   GARDEN LAND - ESTILOS PRINCIPALES
   ===================================================== */

:root{--green:#075f3d;--green2:#16a357;--yellow:#ffc928;--cream:#fff7d9;--mint:#e8faef;--bluebg:#e7f7ff;--ink:#153f59;--pink:#ef4e83;--shadow:0 10px 28px rgba(7,86,55,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Nunito",sans-serif;color:var(--ink);background:#fff}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button{font:inherit}.wrap{width:min(1120px,92%);margin:auto}
header{height:82px;background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 #e8eee8}.nav{width:min(1180px,96%);height:100%;margin:auto;display:flex;align-items:center;gap:20px}.brand{width:150px;align-self:stretch;display:flex;align-items:center;justify-content:center}.brand img{width:125px;height:125px;object-fit:contain;position:relative;z-index:2;border-radius:50%;background:#fff;box-shadow:0 4px 16px #0001}.links{display:flex;align-items:center;gap:18px;margin-left:auto}.links a{font-size:12px;font-weight:900;white-space:nowrap}.links a:hover{color:var(--green2)}.cta{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#21ae5c,#118746);color:#fff;padding:12px 20px;border-radius:22px;font-weight:900;white-space:nowrap}.hamb{display:none;margin-left:auto;border:0;background:transparent;color:var(--green);font-size:27px}
.hero{height:430px;position:relative;overflow:hidden;background:#164a31}.hero-track{height:100%;display:flex;transition:transform .65s cubic-bezier(.22,.61,.36,1)}.hero-slide{position:relative;min-width:100%;height:100%;background-position:center;background-size:cover}.hero-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,51,29,.91),rgba(2,51,29,.58) 35%,rgba(2,51,29,.06) 68%)}.hero-copy{position:relative;z-index:2;width:min(1120px,86%);margin:auto;padding-top:57px;color:#fff}.hero h1{font:800 61px/.8 "Baloo 2";letter-spacing:-2px;margin:0;text-shadow:0 3px 2px #0003}.hero h1 span{display:block}.yellow{color:var(--yellow)}.hero p{font-size:21px;line-height:1.3;font-weight:800;margin:23px 0 18px}.hero-btn{display:inline-flex;align-items:center;gap:20px;background:var(--yellow);color:#17452e;padding:13px 22px;border-radius:25px;font-weight:900}.carousel-btn{position:absolute;z-index:8;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#138150;box-shadow:var(--shadow);cursor:pointer;font-size:21px;display:grid;place-items:center}.hero .prev{left:16px;top:47%}.hero .next{right:16px;top:47%}.hero-dots{position:absolute;z-index:8;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:8px}.hero-dots button,.section-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#d3ddce;cursor:pointer}.hero-dots button{background:#ffffff88}.hero-dots button.active{background:#fff}.section-dots button.active{background:#268e4b}
.benefits{padding:23px 0 30px}.benefits-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.benefit{display:flex;align-items:center;justify-content:center;gap:11px}.benefit i{font-size:34px}.benefit b{font-size:12px;line-height:1.2}.section{padding:48px 0}.eyebrow{text-align:center;color:var(--green);font-size:13px;font-weight:900;letter-spacing:3px;margin:0 0 5px}.title{text-align:center;color:var(--green);font:800 39px/1.05 "Baloo 2";margin:0 0 31px}.title:after{content:"";display:block;width:38px;height:4px;background:var(--yellow);border-radius:5px;margin:8px auto 0}
.levels{background:linear-gradient(#fffbea,#fff5d7)}.levels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.level{background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.level img{width:100%;height:158px;object-fit:cover}.level-body{padding:0 20px 20px;min-height:148px}.tag{display:inline-block;transform:translateY(-18px);margin-bottom:-8px;padding:6px 17px;border-radius:19px;font:800 19px "Baloo 2"}.tag-y{background:#ffc719}.tag-p{background:var(--pink);color:#fff}.tag-g{background:#45a93f;color:#143e2a}.age{display:block;color:#13563f;font-size:13px;font-weight:900}.level p{font-size:12px;line-height:1.4;margin:6px 0}
.program{background:linear-gradient(#effdf3,#e4f8e9)}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.program-card{background:#fff;border-radius:20px;padding:18px;min-height:132px;display:flex;gap:13px}.program-icon{width:54px;height:54px;min-width:54px;border-radius:50%;display:grid;place-items:center;font-size:25px;background:#d8f0db;color:#218d3b}.program-card h3{color:#0757a1;font-size:14px;line-height:1.15;margin:3px 0 8px}.program-card p{font-size:11px;line-height:1.35;margin:0}
.why{background:linear-gradient(#fffbe6,#fff5ce)}.why-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:17px}.why-item{aspect-ratio:1.08;background:#ffffffaa;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:15px}.why-item i{font-size:34px;color:#2aa650;margin-bottom:8px}.why-item b{font-size:12px;line-height:1.15}
.teachers{background:linear-gradient(#e9fbef,#def8e8)}.slider-shell{width:min(1120px,96%);margin:auto;position:relative;padding:0 4px}.viewport{overflow:hidden}.teacher-track,.gallery-track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}.teacher-track{gap:15px}.teacher{flex:0 0 calc((100% - 60px)/5);background:#fff;border-radius:17px;padding:8px;text-align:center;box-shadow:var(--shadow)}.teacher img{width:100%;height:150px;object-fit:cover;border-radius:13px}.teacher h3{font-size:14px;color:#176345;margin:8px 0 1px}.teacher p{font-size:10px;margin:0 0 5px}.slider-shell .prev{left:-18px;top:38%}.slider-shell .next{right:-18px;top:38%}.section-dots{display:flex;justify-content:center;gap:7px;margin-top:16px}
.gallery{background:#fffdf8}.gallery-track{gap:12px}.gallery-item{flex:0 0 calc((100% - 48px)/5)}.gallery-item img{width:100%;height:132px;object-fit:cover;border-radius:16px}.gallery-shell .prev,.gallery-shell .next{top:35%}
.social{background:var(--bluebg)}.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.social-card{min-height:128px;padding:20px;display:flex;align-items:center;gap:16px;border-radius:19px;color:#fff;box-shadow:var(--shadow)}.fb{background:linear-gradient(135deg,#0763df,#153cac)}.ig{background:linear-gradient(135deg,#f16c5c,#aa3bd4)}.tt{background:#050505}.social-card>i{font-size:47px;min-width:55px;text-align:center}.social-card h3{font-size:19px;margin:0}.social-card p{font-size:11px;line-height:1.2;margin:2px 0 11px}
.contact-grid{display:grid;grid-template-columns:.8fr 1.5fr;gap:30px;align-items:center}.contact-item{display:flex;gap:10px;margin-bottom:11px;font-size:14px;font-weight:800}.contact-item i{width:22px;color:#0aa55a;font-size:18px;text-align:center}.wa{display:inline-flex;align-items:center;gap:9px;margin-top:9px;padding:12px 18px;background:#11a857;color:#fff;border-radius:20px;font-size:13px;font-weight:900}.map{height:265px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.map iframe{width:100%;height:100%;border:0}
footer{background:#005b3b;color:#fff;padding:29px 0 14px}.footer-grid{display:grid;grid-template-columns:250px 1fr auto auto;gap:25px;align-items:center}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:96px;height:96px;object-fit:contain;border-radius:50%;background:#fff}.footer-brand b{font-size:17px;line-height:1.25}.footer-links{display:grid;grid-template-columns:repeat(4,auto);gap:8px 15px}.footer-links a{font-size:11px}.footer-social{display:flex;gap:9px;font-size:23px}.copyright{text-align:center;font-size:9px;margin-top:17px;opacity:.88}


/* ---------- RESPONSIVE TABLET ---------- */
@media(max-width:950px){.links{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:18px 7%;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.links.open{display:flex}.links a{padding:6px}.hamb{display:block}.top-cta{display:none}.benefits-grid{grid-template-columns:repeat(2,1fr)}.benefit:last-child{grid-column:1/-1}.levels-grid{grid-template-columns:1fr}.program-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:repeat(3,1fr)}.teacher{flex-basis:calc((100% - 30px)/3)}.gallery-item{flex-basis:calc((100% - 24px)/3)}.social-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-brand,.footer-social{justify-content:center}.footer-links{justify-content:center}.footer-grid>.cta{justify-self:center}.slider-shell .prev{left:3px}.slider-shell .next{right:3px}}


/* ---------- RESPONSIVE MOVIL ---------- */
@media(max-width:580px){header,.nav{height:72px}.brand{width:105px}.brand img{width:91px;height:91px}.links{top:72px}.hero{height:450px}.hero-slide:before{background:linear-gradient(90deg,#033720df,#03372069)}.hero-copy{width:78%;margin-left:12%;padding-top:76px}.hero h1{font-size:42px}.hero p{font-size:17px}.hero-btn{font-size:13px;padding:11px 16px}.benefits-grid{grid-template-columns:1fr 1fr}.benefit{justify-content:flex-start}.section{padding:40px 0}.title{font-size:31px}.program-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:repeat(2,1fr)}.teacher{flex-basis:78%}.gallery-item{flex-basis:78%}.teacher img{height:190px}.gallery-item img{height:190px}.map{height:300px}.footer-links{grid-template-columns:repeat(2,auto)}}

/* =====================================================
   SECCIÓN REGLAMENTO
   ===================================================== */
.regulation{
  background:linear-gradient(180deg,#f5fff7 0%,#e7f8ec 100%);
  position:relative;
  overflow:hidden;
}
.regulation:before,
.regulation:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(95,170,57,.08);
}
.regulation:before{left:-70px;top:-70px}
.regulation:after{right:-70px;bottom:-80px}
.regulation-card{
  position:relative;
  z-index:2;
  max-width:900px;
  margin:0 auto;
  padding:34px 38px;
  background:#fff;
  border-radius:28px;
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:130px 1fr;
  gap:30px;
  align-items:center;
}
.regulation-icon{
  width:120px;
  height:120px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#e5f8e8,#fff4b8);
  color:var(--green);
  font-size:52px;
}
.regulation-content h3{
  margin:0 0 8px;
  color:var(--green);
  font:800 27px/1.1 "Baloo 2";
}
.regulation-content p{
  margin:0 0 18px;
  font-size:14px;
  line-height:1.55;
}
.regulation-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:13px;
}
.regulation-btn{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:11px 18px;
  border-radius:22px;
  font-size:13px;
  font-weight:900;
  transition:.2s ease;
}
.regulation-btn:hover{transform:translateY(-2px)}
.regulation-btn.primary{
  background:var(--green);
  color:#fff;
}
.regulation-btn.secondary{
  background:var(--yellow);
  color:#17452e;
}
.regulation-content small{
  display:block;
  color:#6c7f76;
  font-size:10px;
  line-height:1.4;
}
@media(max-width:700px){
  .regulation-card{
    grid-template-columns:1fr;
    text-align:center;
    padding:28px 22px;
  }
  .regulation-icon{margin:auto}
  .regulation-actions{justify-content:center}
}


/* =====================================================
   LIGHTBOX DE GALERÍA
   ===================================================== */
.gallery-item img.lightbox-image{
  cursor:zoom-in;
  transition:transform .25s ease,filter .25s ease;
}
.gallery-item img.lightbox-image:hover{
  transform:scale(1.025);
  filter:brightness(.94);
}
.lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:42px 75px;
  background:rgba(2,25,17,.93);
  backdrop-filter:blur(7px);
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;
}
.lightbox.open{
  opacity:1;
  visibility:visible;
}
.lightbox-content{
  position:relative;
  width:min(1100px,88vw);
  height:min(78vh,760px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.lightbox-content img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  transform:scale(.96);
  transition:transform .25s ease;
}
.lightbox.open .lightbox-content img{transform:scale(1)}
.lightbox-close,
.lightbox-nav{
  position:absolute;
  border:0;
  color:#fff;
  background:rgba(255,255,255,.13);
  backdrop-filter:blur(8px);
  cursor:pointer;
  transition:.2s ease;
  display:grid;
  place-items:center;
}
.lightbox-close:hover,
.lightbox-nav:hover{
  background:#fff;
  color:var(--green);
}
.lightbox-close{
  right:24px;
  top:22px;
  width:46px;
  height:46px;
  border-radius:50%;
  font-size:24px;
}
.lightbox-nav{
  top:50%;
  transform:translateY(-50%);
  width:50px;
  height:50px;
  border-radius:50%;
  font-size:22px;
}
.lightbox-prev{left:22px}
.lightbox-next{right:22px}
.lightbox-counter{
  position:absolute;
  left:50%;
  bottom:-35px;
  transform:translateX(-50%);
  color:#fff;
  background:rgba(0,0,0,.35);
  padding:5px 12px;
  border-radius:15px;
  font-size:12px;
  font-weight:800;
}
body.lightbox-open{overflow:hidden}
@media(max-width:650px){
  .lightbox{padding:65px 18px 70px}
  .lightbox-content{width:100%;height:70vh}
  .lightbox-close{right:14px;top:14px}
  .lightbox-nav{width:42px;height:42px;top:auto;bottom:16px;transform:none}
  .lightbox-prev{left:calc(50% - 54px)}
  .lightbox-next{right:calc(50% - 54px)}
  .lightbox-counter{bottom:-42px}
}

/* Indicador visual de que las fotos de galería se pueden ampliar */
.gallery-item{position:relative}
.gallery-item .lightbox-image{cursor:zoom-in}


/* =====================================================
   LIGHTBOX DOCENTES
   ===================================================== */
.teacher img{cursor:zoom-in;transition:transform .25s ease,filter .25s ease}
.teacher:hover img{transform:scale(1.025);filter:brightness(.95)}
.teacher-lightbox-card{
  width:min(760px,86vw);
  max-height:80vh;
  overflow:hidden;
  background:#fff;
  border-radius:26px;
  box-shadow:0 25px 80px rgba(0,0,0,.45);
  display:grid;
  grid-template-columns:1.05fr .95fr;
}
.teacher-lightbox-card img{
  width:100%;height:520px;object-fit:cover;
}
.teacher-lightbox-info{
  padding:42px 34px;display:flex;flex-direction:column;justify-content:center;
}
.teacher-lightbox-label{
  color:var(--green2);font-size:11px;font-weight:900;letter-spacing:2px;
}
.teacher-lightbox-info h3{
  color:var(--green);font:800 34px/1.05 "Baloo 2";margin:7px 0 5px;
}
.teacher-lightbox-info p{font-size:15px;font-weight:800;margin:0;color:var(--ink)}
.teacher-lightbox-counter{
  margin-top:22px;font-size:11px;font-weight:900;color:#82958b;
}
@media(max-width:650px){
 .teacher-lightbox-card{width:88vw;grid-template-columns:1fr;max-height:72vh;overflow:auto}
 .teacher-lightbox-card img{height:310px}
 .teacher-lightbox-info{padding:22px;text-align:center}
 .teacher-lightbox-info h3{font-size:27px}
}

/* =====================================================
   MISIÓN Y VISIÓN
   Garden Land Pre-School
   ===================================================== */

.mision-vision {
    position: relative;
    padding: 95px 20px;
    background:
        radial-gradient(circle at 10% 20%, rgba(255, 211, 74, .15), transparent 25%),
        radial-gradient(circle at 90% 80%, rgba(75, 166, 98, .12), transparent 25%),
        #f7fff9;
    overflow: hidden;
}

.mv-container {
    position: relative;
    z-index: 2;
    width: min(1180px, 100%);
    margin: 0 auto;
}


/* ---------- ENCABEZADO ---------- */

.mv-header {
    max-width: 720px;
    margin: 0 auto 55px;
    text-align: center;
}

.mv-etiqueta {
    display: inline-block;
    margin-bottom: 8px;

    color: #62a842;

    font-size: 12px;
    font-weight: 900;
    letter-spacing: 2px;
}

.mv-header h2 {
    margin: 0 0 12px;

    color: #075f3d;

    font-family: "Baloo 2", sans-serif;
    font-size: clamp(36px, 5vw, 54px);
    font-weight: 800;
    line-height: 1;
}

.mv-header p {
    max-width: 620px;
    margin: auto;

    color: #61756b;

    font-size: 15px;
    line-height: 1.7;
}


/* ---------- GRID ---------- */

.mv-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}


/* ---------- TARJETAS ---------- */

.mv-card {
    position: relative;

    display: grid;
    grid-template-columns: 105px 1fr;
    gap: 25px;

    min-height: 360px;
    padding: 42px 38px;

    background: #ffffff;

    border-radius: 30px;

    box-shadow:
        0 15px 45px rgba(0, 75, 45, .09);

    overflow: hidden;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.mv-card:hover {
    transform: translateY(-8px);

    box-shadow:
        0 22px 55px rgba(0, 75, 45, .14);
}


/* línea superior */

.mv-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 7px;
}

.mv-mision::before {
    background: #69ad4b;
}

.mv-vision::before {
    background: #ffc928;
}


/* ---------- ICONOS ---------- */

.mv-icono {
    width: 90px;
    height: 90px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    font-size: 38px;

    transition: transform .3s ease;
}

.mv-card:hover .mv-icono {
    transform: rotate(-5deg) scale(1.06);
}

.mv-mision .mv-icono {
    color: #075f3d;

    background:
        linear-gradient(
            135deg,
            #e1f5e4,
            #f4fff5
        );
}

.mv-vision .mv-icono {
    color: #d59b00;

    background:
        linear-gradient(
            135deg,
            #fff2b4,
            #fffbea
        );
}


/* ---------- CONTENIDO ---------- */

.mv-contenido {
    position: relative;
}

.mv-numero {
    position: absolute;

    top: -22px;
    right: -10px;

    color: rgba(7, 95, 61, .06);

    font-family: "Baloo 2", sans-serif;
    font-size: 80px;
    font-weight: 900;
    line-height: 1;
}

.mv-contenido h3 {
    position: relative;

    margin: 5px 0 17px;

    color: #075f3d;

    font-family: "Baloo 2", sans-serif;
    font-size: 29px;
    font-weight: 800;
    line-height: 1.1;
}

.mv-contenido p {
    position: relative;

    margin: 0 0 13px;

    color: #61756b;

    font-size: 14px;
    line-height: 1.7;
}

.mv-contenido p:last-child {
    margin-bottom: 0;
}


/* ---------- DECORACIONES ---------- */

.mv-deco {
    position: absolute;

    border-radius: 50%;

    pointer-events: none;
}

.mv-deco-1 {
    width: 240px;
    height: 240px;

    top: -110px;
    left: -100px;

    background: rgba(255, 201, 40, .08);
}

.mv-deco-2 {
    width: 320px;
    height: 320px;

    right: -160px;
    bottom: -150px;

    background: rgba(71, 164, 91, .08);
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 900px) {

    .mision-vision {
        padding: 75px 20px;
    }

    .mv-grid {
        grid-template-columns: 1fr;
        max-width: 680px;
        margin: auto;
    }

}


/* =====================================================
   CELULAR
   ===================================================== */

@media (max-width: 580px) {

    .mision-vision {
        padding: 60px 18px;
    }

    .mv-header {
        margin-bottom: 35px;
    }

    .mv-header h2 {
        font-size: 38px;
    }

    .mv-header p {
        font-size: 14px;
    }

    .mv-card {
        display: block;

        min-height: auto;

        padding: 30px 25px;

        border-radius: 24px;
    }

    .mv-icono {
        width: 75px;
        height: 75px;

        margin-bottom: 22px;

        font-size: 31px;
    }

    .mv-contenido h3 {
        font-size: 26px;
    }

    .mv-numero {
        top: -85px;

        font-size: 65px;
    }

