/* =====================================================================
   Tema La Milagrosa · dirección «Cuaderno de patio»
   Fraunces (titulares) + Figtree (texto) + Caveat (notas). Mobile-first.
   Paleta corporativa intocable: --lm-teal-800, --lm-teal-500, --lm-green,
   --lm-yellow, --lm-orange. Texto sobre amarillo/verde/naranja: --tinta.
   ===================================================================== */

@font-face{font-family:"Fraunces";font-style:normal;font-weight:500 700;font-display:swap;src:url(../fonts/fraunces-normal-latin.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:400 600;font-display:swap;src:url(../fonts/fraunces-italic-latin.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/figtree-normal-latin.woff2) format("woff2")}
@font-face{font-family:"Caveat";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/caveat-normal-latin.woff2) format("woff2")}

:root{
  --lm-teal-800:#006d7b; --lm-teal-500:#5fb3c5; --lm-green:#95c11f; --lm-yellow:#fdc300; --lm-orange:#f3953f;
  --tinta:#0f2f33;         /* 14:1 sobre blanco · 8,8:1 sobre amarillo */
  --tinta-suave:#3c5a5e;   /* 7:1 sobre blanco */
  --teal-oscuro:#004e58;
  --papel:#fbf7ef; --papel-2:#f4ecdc; --linea:#e7dfcf; --blanco:#fff;
  --f-titular:"Fraunces", Georgia, "Times New Roman", serif;
  --f-texto:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-nota:"Caveat", "Segoe Print", cursive;
  --radio:20px; --ancho:1180px;
}

/* ---------- Base (solo páginas propias: en las antiguas manda Divi) ---------- */
body.lm-propia{margin:0;background:var(--papel)!important;color:var(--tinta);font:400 1.0625rem/1.6 var(--f-texto);-webkit-font-smoothing:antialiased}
body.lm-propia *,body.lm-propia *::before,body.lm-propia *::after{box-sizing:border-box}
body.lm-propia img,body.lm-propia video{display:block;max-width:100%;height:auto}
body.lm-propia p{margin:0;padding:0}
body.lm-propia a{color:inherit}
body.lm-propia h1,body.lm-propia h2,body.lm-propia h3{padding:0}
body.lm{overflow-x:clip}

/* Titulares (en páginas propias y en las piezas nuevas de todas) */
.lm-propia h1,.lm-propia h2,.lm-propia h3,
.lm-entrada-cabeza h1,.lm-pie-titulo{font-family:var(--f-titular);font-weight:620;letter-spacing:-.01em;line-height:1.06;font-variation-settings:"SOFT" 100,"WONK" 0;margin:0;color:var(--lm-teal-800);text-wrap:balance}
.lm-propia h1{font-size:clamp(2.4rem,7.5vw,4.6rem)}
.lm-propia h2{font-size:clamp(1.9rem,5vw,3rem)}
.lm-propia h3{font-size:clamp(1.2rem,2.4vw,1.45rem)}

.lm-wrap{width:min(100% - 32px,var(--ancho));margin-inline:auto}
.lm-wrap-texto{max-width:760px}
.lm-lead{font-size:clamp(1.08rem,2vw,1.25rem);color:var(--tinta-suave);max-width:38ch}
.lm-label{font:700 .78rem/1 var(--f-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--lm-teal-800);display:inline-flex;align-items:center;gap:.55em}
.lm-label::before{content:"";width:22px;height:4px;border-radius:4px;background:var(--lm-yellow)}
.lm-label-claro{color:#fff}
.lm-nota{font-family:var(--f-nota);font-weight:600;font-size:1.6rem;line-height:1;color:var(--lm-teal-800)}
.i24{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.i16{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Palabra destacada: cursiva cálida con subrayado a mano */
.mark{position:relative;white-space:nowrap;font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1}
.mark::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.08em;height:.32em;z-index:-1;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 13 C 50 4, 120 4, 197 10' stroke='%23fdc300' stroke-width='9' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.lm-propia h1,.lm-propia h2{position:relative;z-index:0}

/* Botones */
.lm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.8em 1.35em;border-radius:999px;font:700 1rem/1.1 var(--f-texto)!important;text-decoration:none!important;border:2px solid transparent;transition:transform .15s,background-color .15s;cursor:pointer}
.lm-btn:hover{transform:translateY(-2px)}
.lm-btn-amarillo{background:var(--lm-yellow);color:var(--tinta)!important}
.lm-btn-teal{background:var(--lm-teal-800);color:#fff!important}
.lm-btn-borde{border-color:var(--lm-teal-800);color:var(--lm-teal-800)!important;background:transparent}
.lm-btn-blanco{background:#fff;color:var(--lm-teal-800)!important}
.lm-btn-ancho{width:100%}
.lm a:focus-visible,.lm button:focus-visible,.lm summary:focus-visible{outline:3px solid var(--lm-teal-800);outline-offset:3px}
.lm-acciones{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.lm-mas{margin-top:1.4rem!important}

.lm-saltar{position:absolute;left:-999px;top:0;z-index:100;background:var(--lm-yellow);color:var(--tinta);padding:.6rem 1rem;font-weight:700}
.lm-saltar:focus{left:8px;top:8px}

/* =================== Cabecera (todas las páginas) =================== */
.lm-topbar{background:var(--lm-teal-800);color:#fff;font:400 .88rem/1.3 var(--f-texto)}
.lm-topbar .lm-wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:40px}
.lm-topbar a{color:#fff!important;text-decoration:none;display:inline-flex;align-items:center;gap:.4em}
.lm-topbar .i24{width:16px;height:16px}
.lm-topbar-contacto{display:flex;gap:1.1rem}
.lm-solo-tablet{display:none!important}
.lm-topbar-educamos{background:rgba(255,255,255,.14);padding:.3rem .75rem;border-radius:999px;font-weight:700}

.lm-cabecera{background:#fff;border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:50;font-family:var(--f-texto)}
.admin-bar .lm-cabecera{top:46px}
.lm-cabecera>.lm-wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:1rem}
.lm-logo{display:block;width:132px;flex:none;line-height:0}
.lm-logo svg{width:100%;height:auto;display:block}
.lm-nav{display:none}
.lm-cabecera ul{list-style:none;margin:0;padding:0}
.lm-cabecera-cta{display:none!important}
.lm-hamburguesa{all:unset;cursor:pointer;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#f2f8f9;color:var(--lm-teal-800)}
.lm-nav-movil{background:#fff;border-bottom:1px solid var(--linea);max-height:calc(100vh - 116px);overflow:auto}
.lm-nav-movil[hidden]{display:none}
.lm-nav-movil>.lm-wrap>ul{padding:.4rem 0 1rem}
.lm-nav-movil li{border-bottom:1px solid var(--linea)}
.lm-nav-movil summary,.lm-nav-movil-enlace{display:flex;justify-content:space-between;align-items:center;padding:.9rem 0;font-weight:700;font-size:1.05rem;color:var(--tinta)!important;text-decoration:none;cursor:pointer;list-style:none}
.lm-nav-movil summary::-webkit-details-marker{display:none}
.lm-nav-movil details[open] summary .i16{transform:rotate(180deg)}
.lm-nav-movil details ul{padding:0 0 .8rem .2rem}
.lm-nav-movil details li{border:0}
.lm-nav-movil details a{display:block;padding:.55rem 0;color:var(--tinta-suave)!important;text-decoration:none;font-size:1rem}
.lm-nav-movil .lm-btn{margin-top:1rem}

/* =================== Hero =================== */
.lm-hero{padding:2rem 0 3rem;position:relative;overflow:hidden}
.lm-hero>.lm-wrap{display:grid;gap:2.4rem}
.lm-hero h1{margin-top:.9rem!important}
.lm-hero .lm-lead{margin-top:1.1rem}
.lm-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.1rem 0 0;padding:0;list-style:none}
.lm-chip{display:inline-block;font:700 .82rem/1 var(--f-texto);padding:.55rem .78rem;border-radius:999px;background:#fff;border:1px solid var(--linea);color:var(--tinta)!important;text-decoration:none}
.lm-chip:hover{border-color:var(--lm-teal-800)}
.lm-chip i{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.4rem}
.lm-hero-media{position:relative}
.lm-marco{position:relative;overflow:hidden;background:var(--lm-teal-800);aspect-ratio:4/3.4;border-radius:28px;transform:rotate(.8deg);box-shadow:0 18px 40px -18px rgba(15,47,51,.45);border:8px solid #fff}
.lm-marco img,.lm-marco video{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover}
.lm-hero-video{opacity:0;transition:opacity .6s}
.lm-hero-portada .lm-hero-media{margin-inline:-8px}
.lm-hero-solo .lm-hero-texto{max-width:46rem}
.lm-foto-vacia{display:grid;place-items:center;background:color-mix(in srgb,var(--c) 22%,#fff)}
.lm-foto-vacia svg{width:64px!important;height:64px!important;color:var(--lm-teal-800)}
.lm-hero-video.lm-listo{opacity:1}
.lm-cinta{position:absolute;width:110px;height:30px;background:rgba(253,195,0,.85);top:-12px;left:22%;transform:rotate(-6deg);z-index:2;border-radius:3px}
.lm-hero .lm-nota{position:absolute;right:6px;bottom:-34px;transform:rotate(-4deg)}
.lm-insignia{position:absolute;left:-6px;bottom:18px;background:#fff;border-radius:16px;padding:.7rem .95rem;box-shadow:0 10px 30px -12px rgba(15,47,51,.45);display:flex;gap:.65rem;align-items:center;z-index:3}
.lm-insignia b{font:620 2rem/1 var(--f-titular);color:var(--lm-teal-800);font-variation-settings:"SOFT" 100}
.lm-insignia span{font-size:.82rem;line-height:1.25;color:var(--tinta-suave);max-width:9em}

/* =================== Aviso destacado (ESO, matrícula...) =================== */
.lm-aviso{background:var(--lm-yellow);color:var(--tinta)}
.lm-aviso .lm-wrap{display:grid;gap:1rem;padding:1.6rem 0;align-items:center}
.lm-aviso h2{color:var(--tinta)!important;font-size:clamp(1.5rem,4vw,2.2rem)!important}
.lm-aviso p{max-width:52ch;margin-top:.3rem!important}
.lm-pill{justify-self:start;font:700 .78rem/1 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;background:var(--tinta);color:var(--lm-yellow);padding:.45rem .7rem;border-radius:999px}

/* =================== Bloques =================== */
.lm-bloque{padding:clamp(3.2rem,8vw,6rem) 0}
.lm-sin-arriba{padding-top:0}
.lm-sec-cabeza{display:grid;gap:.9rem;margin-bottom:2.2rem;max-width:720px}

/* Etapas */
.lm-etapas{display:grid;gap:1rem}
.lm-etapa{position:relative;display:flex;flex-direction:column;gap:.7rem;padding:1.4rem 1.3rem 1.3rem;border-radius:var(--radio);text-decoration:none;color:var(--tinta)!important;background:var(--c);min-height:220px;overflow:hidden;border:2px solid rgba(15,47,51,.08);transition:transform .2s}
.lm-etapa:hover{transform:translateY(-4px)}
.lm-edad{font:620 clamp(3rem,9vw,4.2rem)/.9 var(--f-titular);letter-spacing:-.04em;font-variation-settings:"SOFT" 100}
.lm-edad small{font:700 .32em var(--f-texto);letter-spacing:0;margin-left:.2em}
.lm-etapa h3{color:var(--tinta)!important}
.lm-etapa p{font-size:.98rem}
.lm-ir{margin-top:auto;font-weight:700;display:inline-flex;gap:.4em;align-items:center}
.lm-nuevo{position:absolute;top:1rem;right:1rem;background:var(--tinta);color:#fff;font:700 .7rem/1 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;padding:.4rem .55rem;border-radius:999px}

/* Esencia */
.lm-esencia{background:var(--lm-teal-800);color:#fff}
.lm-esencia h2,.lm-esencia h3{color:#fff!important}
.lm-esencia h2{margin-top:.9rem!important}
.lm-esencia .lm-label{color:#fff}
.lm-esencia-rejilla{display:grid;gap:2.2rem}
.lm-cita{margin:2rem 0 0;padding:0;border:0}
.lm-cita p{font:italic 400 clamp(1.5rem,3.6vw,2.3rem)/1.2 var(--f-titular);font-variation-settings:"SOFT" 100,"WONK" 1}
.lm-cita cite{display:block;margin-top:.9rem;font:600 .95rem/1.3 var(--f-texto);font-style:normal;color:var(--lm-yellow)}
.lm-valores{display:grid;gap:0;list-style:none;margin:0;padding:0}
.lm-valores li{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;padding:1.1rem 0;border-top:1px solid rgba(255,255,255,.22)}
.lm-valores .lm-ico{grid-row:span 2;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--v);color:var(--tinta)}
.lm-valores p{color:#e6f3f5;font-size:.98rem}

/* Vida del colegio */
.lm-noticias{display:grid;gap:1.2rem}
.lm-tarjeta{background:#fff;border-radius:22px;padding:10px 10px 0;overflow:hidden;text-decoration:none!important;color:var(--tinta)!important;display:flex;flex-direction:column;border:1px solid var(--linea);box-shadow:0 10px 26px -20px rgba(15,47,51,.6);transition:transform .2s,box-shadow .2s}
.lm-noticias .lm-tarjeta:nth-child(odd){transform:rotate(-.4deg)}
.lm-noticias .lm-tarjeta:nth-child(even){transform:rotate(.4deg)}
.lm-noticias .lm-tarjeta:hover{transform:rotate(0) translateY(-4px);box-shadow:0 18px 34px -22px rgba(15,47,51,.55)}
.lm-foto{aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:var(--papel-2)}
.lm-foto img{width:100%!important;height:100%!important;object-fit:cover}
.lm-tarjeta-cuerpo{padding:1rem .5rem 1.25rem;display:grid;gap:.45rem}
.lm-meta{font:700 .76rem/1 var(--f-texto);letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-suave);display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.lm-etiqueta{background:var(--t);color:var(--tinta);padding:.3rem .5rem;border-radius:6px}

/* Agenda + visita */
.lm-dos{display:grid;gap:1.4rem}
.lm-agenda{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.4rem}
.lm-agenda h2{margin-top:.8rem!important;font-size:clamp(1.6rem,3.5vw,2.2rem)!important}
.lm-agenda ol{list-style:none;margin:1.2rem 0 0;padding:0;display:grid}
.lm-agenda li{display:grid;grid-template-columns:64px 1fr;gap:1rem;align-items:center;padding:.8rem 0;border-top:1px solid var(--linea)}
.lm-fecha{background:#f2f8f9;border-radius:14px;text-align:center;padding:.5rem 0;line-height:1}
.lm-fecha b{display:block;font:620 1.7rem/1 var(--f-titular);color:var(--lm-teal-800)}
.lm-fecha span{font:700 .72rem/1 var(--f-texto);text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-suave)}
.lm-agenda strong{display:block;font-size:1.02rem}
.lm-agenda small{color:var(--tinta-suave);font-size:.9rem}
.lm-vacio{margin-top:1rem!important;color:var(--tinta-suave)}
.lm-visita{position:relative;border-radius:var(--radio);overflow:hidden;min-height:380px;color:#fff;display:flex;align-items:flex-end;background:var(--teal-oscuro)}
.lm-visita>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:35% 50%}
.lm-visita::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,40,46,0) 15%,rgba(0,40,46,.55) 45%,rgba(0,40,46,.92) 80%);z-index:1}
.lm-visita-texto{position:relative;z-index:2;padding:1.5rem;display:grid;gap:.8rem}
.lm-visita h2{color:#fff!important;font-size:clamp(1.7rem,4vw,2.4rem)!important}
.lm-visita .lm-acciones{margin-top:.4rem}

/* Familias */
.lm-familias{background:var(--papel-2)}
.lm-accesos{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.lm-acceso{display:flex;flex-direction:column;gap:.55rem;padding:1.05rem;border-radius:16px;background:#fff;text-decoration:none!important;color:var(--tinta)!important;border:1px solid var(--linea);min-height:128px;transition:border-color .15s,transform .15s}
.lm-acceso:hover{border-color:var(--lm-teal-800);transform:translateY(-2px)}
.lm-acceso .lm-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--q,#dceff3);color:var(--tinta)}
.lm-acceso strong{font-size:1rem;line-height:1.2}
.lm-acceso small{color:var(--tinta-suave);font-size:.86rem;line-height:1.35}
.lm-acceso-destacado{grid-column:1/-1;background:var(--lm-teal-800);color:#fff!important;border-color:var(--lm-teal-800)}
.lm-acceso-destacado small{color:#dff1f4}
.lm-acceso-destacado .lm-ico{background:var(--lm-yellow)}

/* Fundación */
.lm-fundacion .lm-wrap{display:grid;gap:1.6rem;align-items:center}
.lm-fundacion h2{margin-top:.9rem!important}
.lm-fundacion .lm-lead{margin-top:1rem}
.lm-fundacion-tarjeta{border-radius:var(--radio);padding:1.6rem;background:#fff;border:2px solid var(--lm-green);display:grid;gap:1rem}
.lm-cifra{font:620 clamp(3.6rem,10vw,5.4rem)/.9 var(--f-titular);color:var(--lm-teal-800)}
.lm-formas{display:flex;flex-wrap:wrap;gap:.5rem}
.lm-formas span{background:#eef6d9;color:var(--tinta);font-weight:700;font-size:.88rem;padding:.45rem .7rem;border-radius:999px}

/* =================== Pie (todas las páginas) =================== */
.lm-pie{background:var(--tinta);color:#d6e6e8;padding:3.2rem 0 1.4rem;font:400 .95rem/1.6 var(--f-texto)}
.lm-pie a{color:#d6e6e8!important;text-decoration:none}
.lm-pie a:hover{color:var(--lm-yellow)!important}
.lm-pie ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.lm-pie p{margin:.9rem 0 0;padding:0;max-width:34ch}
.lm-pie-rejilla{display:grid;gap:2rem}
.lm-pie-logo{display:block;width:170px;line-height:0}
.lm-pie-logo svg{width:100%;height:auto}
.lm-pie-titulo{font:700 .8rem/1 var(--f-texto)!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--lm-yellow)!important;margin:0 0 .9rem!important;padding:0!important}
.lm-correo{overflow-wrap:anywhere}
.lm-redes{display:flex;gap:.6rem;margin-top:1rem}
.lm-redes a{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.lm-legal{border-top:1px solid rgba(255,255,255,.14);margin-top:2.4rem;padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.84rem;color:#a9c3c6}

/* =================== Entradas del blog =================== */
.lm-entrada-cabeza{padding:2.4rem 0 1.4rem}
.lm-entrada-cabeza h1{font-size:clamp(2rem,5.5vw,3.2rem)!important;margin-top:.9rem!important}
.lm-volver{display:inline-block;margin-bottom:1rem;font:700 .9rem var(--f-texto);color:var(--lm-teal-800)!important;text-decoration:none}
.lm-entrada-foto img{border-radius:22px;width:100%;height:auto}
.lm-entrada-contenido{padding-bottom:3rem}
.lm-entrada-contenido:not(:has(.et_pb_section)){width:min(100% - 32px,760px);margin-inline:auto;font:400 1.0625rem/1.7 var(--f-texto)}
.lm-paginacion{margin-top:2rem;display:flex;gap:.5rem;flex-wrap:wrap}

/* =================== Páginas antiguas (contenido Divi) =================== */
.lm-legado-contenedor{padding-top:0!important;background:transparent}
.lm-legado #main-content{background:transparent}

/* =================== Tablet / escritorio =================== */
@media (min-width:720px){
  .lm-solo-tablet{display:inline-flex!important}
  .lm-logo{width:150px}
  .lm-etapas{grid-template-columns:1fr 1fr}
  .lm-noticias{grid-template-columns:repeat(2,1fr)}
  .lm-accesos{grid-template-columns:repeat(3,1fr)}
  .lm-acceso-destacado{grid-column:span 1}
  .lm-aviso .lm-wrap{grid-template-columns:auto 1fr auto;gap:1.6rem}
  .lm-pie-rejilla{grid-template-columns:1.4fr 1fr 1fr}
  .admin-bar .lm-cabecera{top:32px}
}
@media (min-width:1040px){
  .lm-nav{display:block}
  .lm-nav>ul{display:flex;gap:.3rem;align-items:center}
  .lm-nav a,.lm-nav-boton{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;font:600 .98rem/1 var(--f-texto);color:var(--tinta);padding:.7rem .7rem;border-radius:10px}
  .lm-nav a:hover,.lm-nav-boton:hover,.lm-nav-boton[aria-expanded="true"]{background:#f2f8f9;color:var(--lm-teal-800)}
  .lm-nav-boton[aria-expanded="true"] .i16{transform:rotate(180deg)}
  .lm-nav-grupo{position:relative}
  .lm-sub{position:absolute;top:calc(100% + 6px);left:-.5rem;min-width:250px;background:#fff;border:1px solid var(--linea);border-radius:16px;box-shadow:0 22px 40px -22px rgba(15,47,51,.45);padding:.5rem!important;display:none;z-index:60}
  .lm-nav-grupo.lm-abierto .lm-sub{display:block}
  .lm-sub a{display:flex;width:100%;box-sizing:border-box;padding:.6rem .75rem;font-weight:500}
  .lm-sub strong{font-weight:700;color:var(--lm-teal-800)}
  .lm-cabecera-cta{display:inline-flex!important}
  .lm-hamburguesa,.lm-nav-movil{display:none!important}
  .lm-cabecera>.lm-wrap{min-height:88px}
  .lm-hero{padding:3.5rem 0 5rem}
  .lm-hero>.lm-wrap{grid-template-columns:1.05fr .95fr;align-items:center;gap:3.5rem}
  .lm-hero-portada>.lm-wrap{grid-template-columns:.9fr 1.1fr;gap:3rem}
  .lm-hero-solo>.lm-wrap{grid-template-columns:1fr}
  .lm-etapas{grid-template-columns:repeat(4,1fr)}
  .lm-esencia-rejilla{grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:start}
  .lm-noticias{grid-template-columns:repeat(4,1fr)}
  .lm-dos{grid-template-columns:1fr 1fr;align-items:stretch}
  .lm-accesos{grid-template-columns:repeat(4,1fr)}
  .lm-fundacion .lm-wrap{grid-template-columns:1.1fr .9fr;gap:3rem}
  .lm-pie-rejilla{grid-template-columns:1.6fr 1fr 1fr 1fr}
}
@media (prefers-reduced-motion:reduce){.lm *{transition:none!important;scroll-behavior:auto!important}}

/* =================== Vida del colegio: mosaico =================== */
.lm-vida-cabeza{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;margin-bottom:2rem}
.lm-vida-cabeza .lm-sec-cabeza{margin:0}
.lm-ig{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none!important;color:var(--tinta)!important;font:700 1rem/1.2 var(--f-texto)}
.lm-ig small{display:block;font-weight:500;color:var(--tinta-suave);font-size:.85rem}
.lm-ig-anillo{width:44px;height:44px;border-radius:50%;padding:3px;background:conic-gradient(var(--lm-yellow),var(--lm-orange),var(--lm-green),var(--lm-teal-500),var(--lm-yellow));flex:none}
.lm-ig-anillo>span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#fff}
.lm-ig-anillo img{width:70%!important;height:auto!important}
.lm-mosaico{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.lm-pieza{position:relative;display:block;overflow:hidden;border-radius:22px;color:#fff!important;text-decoration:none!important;background:var(--teal-oscuro);aspect-ratio:1/1;isolation:isolate;box-shadow:0 18px 34px -24px rgba(15,47,51,.7)}
.lm-pieza img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.lm-pieza:hover img{transform:scale(1.06)}
.lm-pieza::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,30,35,0) 35%,rgba(0,30,35,.55) 62%,rgba(0,30,35,.92) 100%);z-index:1}
.lm-pieza-texto{position:absolute;left:0;right:0;bottom:0;padding:1rem 1.05rem 1.1rem;z-index:2;display:grid;gap:.45rem}
.lm-pieza h3{color:#fff!important;font-size:clamp(1.02rem,2.4vw,1.3rem)!important;line-height:1.12!important}
.lm-pieza p{color:#e6f3f5;font-size:1rem;max-width:40ch}
.lm-pieza-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font:700 .72rem/1 var(--f-texto);letter-spacing:.08em;text-transform:uppercase;color:#e6f3f5}
.lm-pieza-tipo{position:absolute;top:.8rem;right:.8rem;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--tinta);display:grid;place-items:center}
.lm-pieza-tipo svg{width:16px;height:16px;fill:currentColor}
.lm-pieza-grande{grid-column:1/-1;aspect-ratio:4/5}
.lm-pieza-grande h3{font-size:clamp(1.6rem,4vw,2.4rem)!important}
.lm-pieza-grande .lm-cinta{position:absolute;top:-6px;left:28px;z-index:3;width:120px}
.lm-vida-nota{display:flex;justify-content:flex-end;margin-top:.6rem}
.lm-vida-nota .lm-nota{transform:rotate(-3deg)}
.lm-subtitulo{font-size:clamp(1.4rem,3vw,1.9rem)!important;margin:2.6rem 0 1.2rem!important}
.lm-cabeza-pagina .lm-sec-cabeza h1{font-size:clamp(2.2rem,6vw,3.8rem)}

/* =================== Franja de financiación (todas las páginas) =================== */
.lm-financia{background:#fff;border-top:1px solid var(--linea);padding:1rem 0}
.lm-financia .lm-wrap{display:grid;gap:.6rem}
.lm-financia-entera{display:none!important}
.lm-financia-mitad{display:block;width:100%;aspect-ratio:647/128;background-size:200% auto;background-repeat:no-repeat;background-position:0 50%}
.lm-financia-dcha{background-position:100% 50%}

@media (min-width:720px){
  .lm-mosaico{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(250px,1fr)}
  .lm-pieza{aspect-ratio:auto}
  .lm-pieza-grande{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
  .lm-mosaico-plano{grid-auto-rows:auto}
  .lm-mosaico-plano .lm-pieza{aspect-ratio:1/1}
  .lm-financia-entera{display:block!important;width:min(100%,1000px);height:auto;margin-inline:auto}
  .lm-financia-mitad{display:none}
}

/* =================== Ficha de etapa =================== */
.lm-ficha-hero .lm-label::before{background:var(--etapa)}
.lm-insignia-etapa b{font-size:2.2rem}
.lm-insignia-etapa{background:var(--etapa)}
.lm-insignia-etapa b,.lm-insignia-etapa span{color:var(--tinta)}
.lm-etapas-nav{padding:0 0 1rem}
.lm-etapas-nav .lm-wrap{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;padding:.3rem 0}
.lm-etapas-nav a{flex:1 0 auto;display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem .6rem .6rem;border-radius:999px;background:#fff;border:1px solid var(--linea);color:var(--tinta)!important;text-decoration:none!important;font:700 .92rem/1.1 var(--f-texto);white-space:nowrap}
.lm-etapas-nav a:hover{border-color:var(--lm-teal-800)}
.lm-etapas-nav-edad{display:grid;place-items:center;min-width:2.6rem;height:2.6rem;padding:0 .4rem;border-radius:999px;background:var(--c);font:620 .95rem/1 var(--f-titular);color:var(--tinta)}
.lm-etapas-nav a.lm-actual{background:var(--lm-teal-800);border-color:var(--lm-teal-800);color:#fff!important}

.lm-propuesta{display:grid;gap:2rem}
.lm-propuesta-intro h2{margin-top:.9rem!important}
.lm-propuesta-intro .lm-lead{margin-top:1rem;max-width:46ch}
.lm-pilares{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lm-pilares li{position:relative;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.3rem 1.3rem 1.4rem;display:grid;gap:.5rem;box-shadow:0 12px 26px -22px rgba(15,47,51,.6)}
.lm-pilares li:nth-child(odd){transform:rotate(-.35deg)}
.lm-pilares li:nth-child(even){transform:rotate(.35deg)}
.lm-num{justify-self:start;font:700 .78rem/1 var(--f-texto);background:var(--etapa);color:var(--tinta);padding:.4rem .55rem;border-radius:999px}
.lm-pilares p{color:var(--tinta-suave);font-size:.98rem}

.lm-ciclos{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:ciclo}
.lm-ciclos li{position:relative;background:#fff;border-radius:var(--radio);padding:1.4rem 1.3rem 1.4rem 4.2rem;border:1px solid var(--linea);counter-increment:ciclo}
.lm-ciclos li::before{content:counter(ciclo);position:absolute;left:1.1rem;top:1.2rem;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--etapa);display:grid;place-items:center;font:620 1.2rem/1 var(--f-titular);color:var(--tinta)}
.lm-ciclos p{margin-top:.5rem!important;color:var(--tinta-suave)}

.lm-ficha-cita{background:var(--lm-teal-800);color:#fff;padding:clamp(2.6rem,6vw,4rem) 0}
.lm-ficha-cita .lm-cita{margin:0;max-width:30ch}

.lm-practica{display:grid;gap:2.6rem}
.lm-datos{margin:0;display:grid;gap:10px}
.lm-datos>div{background:#fff;border-radius:16px;padding:1rem 1.1rem;border:1px solid var(--linea)}
.lm-datos dt{font:700 1rem/1.3 var(--f-texto);color:var(--lm-teal-800)}
.lm-datos dd{margin:.3rem 0 0;color:var(--tinta-suave)}
.lm-faq{display:grid;gap:10px}
.lm-faq details{background:#fff;border-radius:16px;border:1px solid var(--linea);padding:0 1.1rem}
.lm-faq summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 0;font-weight:700;cursor:pointer;list-style:none}
.lm-faq summary::-webkit-details-marker{display:none}
.lm-faq details[open] summary .i16{transform:rotate(180deg)}
.lm-faq details p{padding:0 0 1rem;color:var(--tinta-suave)}

.lm-cierre{background:var(--lm-teal-800);color:#fff;border-radius:28px;padding:clamp(1.6rem,4vw,2.6rem);display:grid;gap:1.4rem;align-items:center;position:relative;overflow:hidden}
.lm-cierre::after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:var(--etapa);opacity:.35}
.lm-cierre>*{position:relative;z-index:1}
.lm-cierre h2{color:#fff!important;margin-top:.7rem!important;font-size:clamp(1.6rem,4vw,2.4rem)!important}
.lm-cierre p{margin-top:.6rem!important;color:#e6f3f5;max-width:46ch}
.lm-cierre .lm-acciones{margin-top:0}

@media (min-width:720px){
  .lm-pilares{grid-template-columns:1fr 1fr}
  .lm-ciclos{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
  .lm-datos{grid-template-columns:1fr 1fr}
  .lm-cierre{grid-template-columns:1fr auto}
}
@media (min-width:1040px){
  .lm-propuesta{grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:start}
  .lm-propuesta-intro{position:sticky;top:120px}
  .lm-practica{grid-template-columns:1fr 1fr;gap:3rem}
  .lm-practica>div:only-child{grid-column:1/-1}
}

/* =================== Ficha de servicio =================== */
.lm-ficha-servicio .lm-insignia-etapa{gap:.5rem}
.lm-ficha-servicio .lm-insignia-etapa b .i24{width:26px;height:26px}
.lm-ficha-servicio .lm-insignia-etapa span{font:700 .95rem/1.2 var(--f-texto);max-width:12em}
.lm-ficha-servicio .lm-etapas-nav-edad .i16{width:18px;height:18px}
.lm-horario{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lm-horario li{display:flex;flex-direction:column;gap:.35rem;background:#fff;border:1px solid var(--linea);border-left:6px solid var(--etapa);border-radius:var(--radio);padding:1.1rem 1.2rem}
.lm-horario-hora{font:620 clamp(1.5rem,3.4vw,2.1rem)/1.05 var(--f-titular);color:var(--lm-teal-800);font-variation-settings:"SOFT" 100}
.lm-horario-nombre{font-weight:700;color:var(--tinta-suave)}
.lm-horario-nota{margin-top:1rem!important;color:var(--tinta-suave);max-width:70ch}
.lm-documentos{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:10px}
.lm-documentos a{display:flex;align-items:center;gap:.8rem;background:var(--lm-teal-800);color:#fff!important;text-decoration:none!important;border-radius:16px;padding:.9rem 1.1rem;font-weight:700}
.lm-documentos a span{flex:1}
.lm-documentos a:hover{background:var(--teal-oscuro)}
@media (min-width:720px){.lm-horario{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}

/* =================== Portal de servicios =================== */
.lm-servicios-rejilla{display:grid;gap:14px}
.lm-servicio-tarjeta{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:22px;overflow:hidden;text-decoration:none!important;color:var(--tinta)!important;box-shadow:0 14px 30px -24px rgba(15,47,51,.6);transition:transform .2s}
.lm-servicio-tarjeta:hover{transform:translateY(-4px)}
.lm-servicio-tarjeta .lm-foto{border-radius:0;aspect-ratio:16/10}
.lm-servicio-cuerpo{padding:1.1rem 1.2rem 1.3rem;display:grid;gap:.5rem;border-top:6px solid var(--c)}
.lm-servicio-cuerpo h3{font-size:1.35rem!important}
.lm-servicio-cuerpo p{color:var(--tinta-suave);font-size:.98rem}
.lm-servicio-hora{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.9rem;color:var(--lm-teal-800)}
.lm-servicio-hora .i24{width:18px;height:18px}
@media (min-width:720px){.lm-servicios-rejilla{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.lm-servicios-rejilla{grid-template-columns:repeat(3,1fr)}}

/* =================== Uniformes (shortcode del mu-plugin, dentro del diseño nuevo) =================== */
.lm-uniformes .lm-austral-page{font-family:var(--f-texto)!important;color:var(--tinta)}
.lm-uniformes .lm-austral-page h1,.lm-uniformes .lm-austral-page h2,.lm-uniformes .lm-austral-page h3,.lm-uniformes .lm-austral-page strong{font-family:var(--f-titular)!important;font-weight:620!important;letter-spacing:-.01em!important;font-variation-settings:"SOFT" 100}
.lm-uniformes .lm-austral-page p{padding:0}
.lm-uniformes-nav{padding-top:1.4rem}
.lm-servicio-educamos{background:var(--lm-teal-800);border-color:var(--lm-teal-800);color:#fff!important}
.lm-servicio-educamos .lm-servicio-cuerpo{border-top:0;height:100%;align-content:end;padding-top:2rem}
.lm-servicio-educamos h3{color:#fff!important}
.lm-servicio-educamos p{color:#dff1f4}
.lm-servicio-educamos .lm-servicio-hora{color:var(--lm-yellow)}
.lm-pilares li[id]{scroll-margin-top:120px}
.lm-cabeza-pagina .lm-servicios-rejilla{margin-top:.6rem}

/* =================== Páginas del colegio =================== */
.lm-hero-solo-texto>.lm-wrap{grid-template-columns:1fr!important}
.lm-hero-solo-texto .lm-lead{max-width:56ch}
.lm-cifras{padding:0 0 1rem}
.lm-cifras .lm-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.lm-cifras .lm-wrap>div{background:#fff;border:1px solid var(--linea);border-radius:18px;padding:1rem 1.1rem;display:grid;gap:.25rem}
.lm-cifras b{font:620 clamp(1.9rem,4vw,2.6rem)/1 var(--f-titular);color:var(--lm-teal-800);font-variation-settings:"SOFT" 100}
.lm-cifras span{color:var(--tinta-suave);font-size:.92rem;font-weight:600}
.lm-tiempo{list-style:none;margin:0;padding:0 0 0 .4rem;position:relative;display:grid;gap:14px}
.lm-tiempo::before{content:"";position:absolute;left:2.3rem;top:.6rem;bottom:.6rem;width:3px;border-radius:3px;background:var(--lm-yellow)}
.lm-tiempo li{position:relative;display:grid;grid-template-columns:4.4rem 1fr;gap:1rem;align-items:start}
.lm-tiempo-anio{position:relative;z-index:1;display:grid;place-items:center;width:4.2rem;height:4.2rem;border-radius:50%;background:var(--lm-yellow);color:var(--tinta);font:620 1.05rem/1 var(--f-titular);box-shadow:0 0 0 6px var(--papel-2)}
.lm-tiempo li>div{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:1.1rem 1.2rem}
.lm-tiempo h3{font-size:1.2rem!important}
.lm-tiempo p{margin-top:.4rem!important;color:var(--tinta-suave)}
.lm-articulo{max-width:760px;margin-inline:auto;background:#fff;border:1px solid var(--linea);border-radius:28px;padding:clamp(1.4rem,4vw,3rem);box-shadow:0 18px 40px -32px rgba(15,47,51,.6)}
.lm-articulo h2{margin-bottom:1.2rem!important}
.lm-articulo h3{margin:1.8rem 0 .6rem!important;font-size:1.35rem!important}
.lm-articulo p{margin:0 0 1rem!important;font-size:1.06rem;line-height:1.75;color:var(--tinta)}
.lm-equipo{display:grid;gap:3rem}
.lm-equipo-bloque .lm-sec-cabeza{margin-bottom:1.2rem}
.lm-equipo-grupo{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1.6rem 0 .8rem;padding:.7rem 1rem;border-radius:14px;background:var(--lm-teal-800);color:#fff}
.lm-equipo-grupo h3{color:#fff!important;font-size:1.1rem!important}
.lm-pill-suave{font:700 .72rem/1 var(--f-texto);letter-spacing:.06em;text-transform:uppercase;background:var(--lm-yellow);color:var(--tinta);padding:.35rem .55rem;border-radius:999px}
.lm-personas{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.lm-personas li{background:#fff;border:1px solid var(--linea);border-radius:16px;padding:.9rem 1rem;display:grid;gap:.2rem;box-shadow:0 10px 22px -20px rgba(15,47,51,.6)}
.lm-personas strong{font:620 1.08rem/1.2 var(--f-titular);color:var(--tinta)}
.lm-personas span{font-size:.88rem;color:var(--lm-teal-800);font-weight:600}
.lm-documentos-fila{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0}
@media (min-width:1040px){.lm-propuesta-intro:only-child{grid-column:1/-1;position:static;max-width:860px}.lm-propuesta-intro:only-child .lm-lead{max-width:none;columns:2;column-gap:2.4rem}}

/* =================== Contacto, cómo llegar y legales =================== */
.lm-canales{display:grid;gap:12px}
.lm-canal{display:grid;gap:.35rem;align-content:start;background:#fff;border:1px solid var(--linea);border-top:6px solid var(--c);border-radius:var(--radio);padding:1.2rem;text-decoration:none!important;color:var(--tinta)!important;transition:transform .15s}
a.lm-canal:hover{transform:translateY(-3px)}
.lm-canal .lm-ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--c);color:var(--tinta);margin-bottom:.3rem}
.lm-canal small{font:700 .75rem/1 var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-suave)}
.lm-canal strong{font:620 1.2rem/1.25 var(--f-titular);color:var(--lm-teal-800)}
.lm-canal span:last-child{color:var(--tinta-suave);font-size:.92rem}
.lm-mapa-rejilla{display:grid;gap:1.6rem;align-items:center}
.lm-mapa-rejilla h2{margin-top:.8rem!important}
.lm-direccion{font-style:normal;font:600 1.1rem/1.5 var(--f-texto);margin-top:.8rem;color:var(--tinta)}
.lm-llegar{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.4rem;color:var(--tinta-suave)}
.lm-mapa{position:relative;aspect-ratio:4/3;border-radius:24px;overflow:hidden;border:8px solid #fff;box-shadow:0 18px 40px -22px rgba(15,47,51,.55);background:#e8eef0}
.lm-mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lm-figura{margin:0}
.lm-figura img{width:100%;height:auto;border-radius:24px}
.lm-figura figcaption{margin-top:.6rem;color:var(--tinta-suave);font-size:.92rem}
.lm-legal-nota{margin-top:1.4rem!important;color:var(--tinta-suave);font-size:.92rem;max-width:70ch}
.lm-legal-nota a,.lm-datos dd a{color:var(--lm-teal-800)!important;font-weight:600;overflow-wrap:anywhere}
@media (min-width:720px){.lm-canales{grid-template-columns:1fr 1fr}.lm-datos-3{grid-template-columns:1fr 1fr}}
@media (min-width:1040px){.lm-canales{grid-template-columns:repeat(4,1fr)}.lm-mapa-rejilla{grid-template-columns:.9fr 1.1fr;gap:3rem}.lm-datos-3{grid-template-columns:repeat(3,1fr)}}
.lm-canal strong.lm-correo{font:700 .98rem/1.3 var(--f-texto);overflow-wrap:anywhere}

/* =================== Envoltorio de shortcodes (Uniformes, PIIE) y agenda del mu-plugin =================== */
.lm-envoltorio .piie-page,.lm-envoltorio .piie-page .serif,.lm-agenda-wrap{font-family:var(--f-texto)!important}
.lm-envoltorio .piie-page h1,.lm-envoltorio .piie-page h2,.lm-envoltorio .piie-page h3,.lm-envoltorio .piie-page .serif,
.lm-agenda-wrap h1,.lm-agenda-wrap h2,.lm-agenda-wrap h3{font-family:var(--f-titular)!important;font-weight:620!important;letter-spacing:-.01em!important;font-variation-settings:"SOFT" 100}
.lm-envoltorio .piie-page p,.lm-agenda-wrap p{padding:0}
.lm-agenda-wrap{margin-top:3rem!important;margin-bottom:4rem!important}
@media (min-width:1260px){.lm-hero-portada .lm-hero-media{margin-inline:0 -2.5rem}}
/* Entradas del blog (Divi) en móvil: los márgenes de Divi se sumaban a los de la tarjeta y el texto quedaba en ~60% del ancho.
   Selectores largos a propósito: Divi-child/style.css usa body:not(.home).et_pb_pagebuilder_layout ... !important */
@media (max-width:719px){
  body .lm-entrada .lm-entrada-contenido .et_pb_section.et_pb_section{padding-top:8px!important;padding-bottom:8px!important}
  body .lm-entrada .lm-entrada-contenido .et_pb_section .et_pb_row.et_pb_row{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding:12px 18px!important}
  body .lm-entrada .lm-entrada-contenido .et_pb_row .et_pb_column.et_pb_column{padding-left:0!important;padding-right:0!important}
}
