@font-face {font-family: 'Besley'; font-style: normal; font-display: swap; font-weight: 600; src:url(fuentes/besley-latin-ext-600-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Besley'; font-style: normal; font-display: swap; font-weight: 600; src:url(fuentes/besley-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Besley'; font-style: italic; font-display: swap; font-weight: 700; src:url(fuentes/besley-latin-ext-700-italic.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Besley'; font-style: italic; font-display: swap; font-weight: 700; src:url(fuentes/besley-latin-700-italic.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Nunito Sans'; font-style: normal; font-display: swap; font-weight: 400; src:url(fuentes/nunito-sans-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Nunito Sans'; font-style: normal; font-display: swap; font-weight: 400; src:url(fuentes/nunito-sans-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Nunito Sans'; font-style: italic; font-display: swap; font-weight: 400; src:url(fuentes/nunito-sans-latin-ext-400-italic.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Nunito Sans'; font-style: italic; font-display: swap; font-weight: 400; src:url(fuentes/nunito-sans-latin-400-italic.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Nunito Sans'; font-style: normal; font-display: swap; font-weight: 700; src:url(fuentes/nunito-sans-latin-ext-700-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Nunito Sans'; font-style: normal; font-display: swap; font-weight: 700; src:url(fuentes/nunito-sans-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Nunito Sans'; font-style: italic; font-display: swap; font-weight: 700; src:url(fuentes/nunito-sans-latin-ext-700-italic.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Nunito Sans'; font-style: italic; font-display: swap; font-weight: 700; src:url(fuentes/nunito-sans-latin-700-italic.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
:root{
  --hondo:#0f3470; --hondo-2:#16468f; --cielo:#2866b6; --cielo-claro:#9cc8f4; --celeste:#eaf3fc; --nube:#ffffff;
  --tinta:#14294a; --suave:#4f607b; --linea:#cddcee; --sol:#f2bd3d;
  --display:"Besley",Georgia,"Times New Roman",serif;
  --texto:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--nube);color:var(--tinta);font-family:var(--texto);font-size:1.0625rem;line-height:1.7}
img{max-width:100%;height:auto}
a{color:var(--cielo);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--hondo)}
a[href^="tel:"]{white-space:nowrap}
:focus-visible{outline:3px solid var(--sol);outline-offset:3px;border-radius:3px}
h1,h2,h3,h4{margin:0;text-wrap:balance}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.15;color:var(--hondo)}
h2{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.3rem)}
h3{font-size:1.5rem}
h4{font-weight:700;font-size:1.05rem;line-height:1.4;margin:1.6rem 0 .4rem;color:var(--hondo)}
p{margin:0 0 1.1em}
sup{font-size:.5em;vertical-align:super;line-height:0}
.contenedor{width:min(100% - 2.5rem,72rem);margin-inline:auto}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.saltar{position:absolute;left:1rem;top:-4rem;background:var(--sol);color:var(--hondo);padding:.5rem 1rem;z-index:10;font-weight:700}
.saltar:focus{top:1rem}

/* ---------- cabecera sobre el cielo */
.cabecera{position:relative;isolation:isolate;color:#fff;background:#2c6fbd url(nubes.jpg) center 40%/cover no-repeat}
.cabecera::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(13,46,104,.5) 0%,rgba(22,78,160,.26) 45%,rgba(22,78,160,.34) 100%)}
.barra-fondo{background:rgba(11,40,92,.55);border-bottom:1px solid rgba(255,255,255,.18)}
.barra{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.8rem 0}
.marca{color:#fff;text-decoration:none;font-family:var(--display);font-style:italic;font-weight:700;font-size:1.2rem;letter-spacing:.01em}
.marca:hover{color:#fff}
.cabecera nav ul{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;list-style:none;margin:0;padding:0}
.cabecera nav a{color:#fff;text-decoration:none;font-weight:700;font-size:.98rem;padding:.3rem 0;border-bottom:2px solid transparent}
.cabecera nav a:hover{border-color:rgba(255,255,255,.7)}
.cabecera nav a[aria-current=page]{border-color:var(--sol)}
.menu-btn{display:none;background:none;border:2px solid rgba(255,255,255,.8);color:#fff;font:700 1rem var(--texto);padding:.35rem 1rem;border-radius:999px;cursor:pointer}

/* ---------- portada (inicio): el banner original, tal cual */
.inicio .cabecera{background:var(--hondo)}
.inicio .cabecera::before{display:none}
.portada img{display:block;width:100%;height:auto}
.portada-pie{background:linear-gradient(180deg,var(--hondo-2),var(--hondo));padding:1.3rem 0 1.5rem;text-align:center}
.bienvenida{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.acciones{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin:0}

/* ---------- banda de título (páginas interiores) */
.titulo-band{padding:clamp(2rem,5vw,3.6rem) 0 clamp(2.4rem,6vw,4.2rem)}
.titulo-band h1{font-style:italic;font-weight:700;font-size:clamp(2.2rem,1.4rem + 3.6vw,4rem);color:#fff;text-shadow:0 2px 0 rgba(11,40,92,.35),0 8px 24px rgba(9,36,84,.5)}
.bajada{font-size:clamp(1.1rem,1rem + .5vw,1.35rem);font-weight:700;font-style:italic;line-height:1.5;margin:.9rem 0 0;max-width:36rem;text-shadow:0 1px 10px rgba(9,36,84,.75)}

/* ---------- botones */
.boton{display:inline-block;background:var(--cielo);color:#fff;text-decoration:none;font-weight:700;font-size:1.02rem;line-height:1.3;padding:.8rem 1.6rem;border-radius:999px;border:2px solid var(--cielo);transition:background .15s,border-color .15s,color .15s}
.boton:hover{background:var(--hondo);border-color:var(--hondo);color:#fff}
.cabecera .boton{background:#fff;border-color:#fff;color:var(--hondo)}
.cabecera .boton:hover{background:var(--sol);border-color:var(--sol);color:var(--hondo)}
.cabecera .boton.secundario{background:rgba(11,40,92,.35);color:#fff}
.cabecera .boton.secundario:hover{background:#fff;border-color:#fff;color:var(--hondo)}

/* ---------- secciones */
.seccion{padding:clamp(3rem,7vw,5.5rem) 0}
.franja{background:var(--celeste)}
.dos-col{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.5rem clamp(2rem,6vw,5rem);align-items:start}
.prosa,.grande{max-width:40rem}
.prosa>:last-child,.grande>:last-child{margin-bottom:0}
.grande{font-size:clamp(1.12rem,1.02rem + .45vw,1.3rem);line-height:1.65}
.nota{color:var(--suave);max-width:40rem;margin:.8rem 0 0}
.seccion>.contenedor>h2+.nota{margin-bottom:2rem}
.seccion>.contenedor>h2+.lista-plegables,.seccion>.contenedor>h2+.testimonios{margin-top:2rem}

/* ---------- accesos (inicio) */
.accesos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem)}
.acceso{display:block;color:inherit;text-decoration:none;border-top:4px solid var(--cielo);padding-top:1.2rem}
.acceso.a2{border-color:var(--hondo)}
.acceso.a3{border-color:var(--sol)}
.acceso h3{font-size:1.8rem;margin-bottom:.6rem}
.acceso p{color:var(--suave);margin-bottom:.8rem}
.acceso span{color:var(--cielo);font-weight:700;text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.acceso:hover h3{color:var(--cielo)}

/* ---------- testimonios */
.testimonios{display:grid;grid-template-columns:7fr 5fr;gap:clamp(2rem,5vw,4rem)}
.testimonios figure{margin:0;padding-left:1.4rem;border-left:3px solid var(--cielo-claro)}
.testimonios blockquote{margin:0;font-style:italic;font-size:1.12rem}
.testimonios figcaption{font-family:var(--display);font-weight:600;font-size:1.05rem;color:var(--hondo);margin-top:.4rem}

/* ---------- plegables */
.lista-plegables{border-bottom:1px solid var(--linea)}
.plegable{border-top:1px solid var(--linea)}
.plegable summary{list-style:none;cursor:pointer;position:relative;padding:1.15rem 3rem 1.15rem 0;display:grid;gap:.15rem}
.plegable summary::-webkit-details-marker{display:none}
.plegable summary::after{content:"";position:absolute;right:.4rem;top:1.7rem;width:.95rem;height:.95rem;
  background:linear-gradient(var(--cielo),var(--cielo)) center/100% 2px no-repeat,linear-gradient(var(--cielo),var(--cielo)) center/2px 100% no-repeat;transition:transform .2s}
.plegable[open] summary::after{transform:rotate(45deg)}
.plegable .tit{font-family:var(--display);font-weight:600;color:var(--hondo);font-size:clamp(1.15rem,1.05rem + .6vw,1.45rem);line-height:1.25}
.plegable summary:hover .tit{color:var(--cielo)}
.plegable .sub{color:var(--suave);font-style:italic}
.plegable .req{color:var(--suave);font-size:.95rem}
.plegable .cuerpo{max-width:42rem;padding:.2rem 0 2rem}
.cuerpo ul,.prosa ul{list-style:disc;padding-left:1.2rem;margin:0 0 1.1em}
.cuerpo li,.prosa li{margin-bottom:.45em}
.cuerpo li::marker,.prosa li::marker{color:var(--cielo)}
.ficha{margin:0 0 1.4rem;padding:1rem 1.2rem;background:var(--celeste);border-left:3px solid var(--cielo);display:grid;gap:.35rem;font-size:1rem}
.franja .ficha{background:var(--nube)}
.ficha.en-linea{margin-top:.8rem}
.ficha div{display:grid;grid-template-columns:9.5rem 1fr;gap:.2rem 1rem}
.ficha dt{font-weight:700;color:var(--hondo)}
.ficha dd{margin:0}

/* ---------- camino de niveles (meditación) */
.intro-camino{margin-bottom:2.5rem}
.intro-camino .nota{margin:0}
.camino{list-style:none;margin:0;padding:0;position:relative}
.camino::before{content:"";position:absolute;left:1.5rem;top:1.5rem;bottom:1.5rem;width:2px;background:var(--cielo-claro)}
.camino>li{position:relative;padding-left:4.6rem}
.nivel-num{position:absolute;left:0;top:.7rem;width:3rem;height:3rem;border-radius:50%;border:2px solid var(--cielo);background:var(--nube);
  display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:1rem;color:var(--hondo)}
.camino>li:first-child .plegable{border-top:0}

/* ---------- docentes */
.docentes{list-style:none;margin:0;padding:0;columns:2;column-gap:2.5rem}
.docentes li{font-family:var(--display);font-weight:600;color:var(--hondo);font-size:1.2rem;line-height:1.3;padding:.75rem 0;border-top:1px solid var(--linea);break-inside:avoid}

/* ---------- contacto */
.contacto{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem clamp(2rem,6vw,5rem)}
.contacto div{border-top:4px solid var(--cielo);padding-top:1rem}
.contacto dt{color:var(--suave);font-weight:700;font-size:1rem}
.contacto dd{margin:.2rem 0 0;font-family:var(--display);font-weight:600;color:var(--hondo);font-size:clamp(1.2rem,1.05rem + .9vw,1.6rem);line-height:1.35;overflow-wrap:anywhere}
.contacto .chico{font-family:var(--texto);font-weight:400;font-size:1.05rem}

/* ---------- pie */
.pie{background:linear-gradient(180deg,var(--hondo-2),var(--hondo));color:#cfe0f5;font-size:1rem;padding:3.5rem 0 1.5rem}
.pie a{color:#fff}
.pie a:hover{color:var(--sol)}
.pie-grid{display:grid;grid-template-columns:2fr 1.4fr 1fr 1fr;gap:2rem}
.pie h2{font-size:1.05rem;color:#fff;margin-bottom:.6rem}
.pie-marca{font-family:var(--display);font-style:italic;font-weight:700;font-size:1.35rem;color:#fff;margin-bottom:.8rem}
.pie ul{list-style:none;margin:0;padding:0}
.pie-legal{border-top:1px solid rgba(255,255,255,.2);margin-top:2.5rem;padding-top:1.2rem;font-size:.9rem}
.pie-legal p{margin:0}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.plegable summary::after,.boton{transition:none}}

/* ---------- móvil */
@media (max-width:62rem){
  .menu-btn{display:block}
  .barra{flex-wrap:wrap}
  .cabecera nav{display:none;flex-basis:100%}
  .cabecera nav.abierto{display:block}
  .cabecera nav ul{flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.25);padding-top:.4rem}
  .cabecera nav a{display:block;padding:.65rem 0;font-size:1.1rem;border-bottom:0}
  .cabecera nav a[aria-current=page]{color:var(--sol)}
}
@media (max-width:48rem){
  .cabecera{background-image:url(nubes-chica.jpg)}
  .dos-col,.accesos,.testimonios,.contacto{grid-template-columns:1fr}
  .pie-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pie-grid>div:first-child,.pie-grid>div:nth-child(2){grid-column:1/-1}
  .docentes{columns:1}
  .bienvenida{position:static;width:auto;height:auto;overflow:visible;clip-path:none;font-style:italic;font-weight:700;font-size:1.05rem;line-height:1.5;max-width:34rem;margin:0 auto 1.2rem}
  .barra{gap:.8rem}
  .marca{font-size:1.08rem}
  .ficha div{grid-template-columns:1fr;gap:0}
  .camino>li{padding-left:3.6rem}
  .camino::before{left:1.2rem}
  .nivel-num{width:2.4rem;height:2.4rem;font-size:.85rem;top:.9rem}
}
