/* Layout: sitio de marca en marfil; el esmeralda marca bloques de peso (cifras, cierre, pie).
   Motivo propio: la escalera del eslogan, que sube a la derecha, reaparece en los 5 momentos y los 4 niveles. */
:root{
  --marfil:#FBF8F1; --superficie:#FFFDF9; --esmeralda:#0B4F3F; --esmeralda-hover:#0E604D;
  --oro:#C9A45C; --oro-p:#8A6A2E; --rosa:#EFD0D6; --carbon:#1E1E1C;
  --texto-2:#4A4A45; --linea:rgba(11,79,63,.15); --linea-osc:rgba(251,248,241,.18);
  --f-titulo:"Fraunces",Georgia,"Times New Roman",serif;
  --f-texto:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  --s-1:clamp(2.3rem,1.6rem + 3vw,3.6rem); --s-2:clamp(1.7rem,1.35rem + 1.5vw,2.4rem);
  --s-3:1.3rem; --s-txt:1.0625rem; --s-sm:.9rem; --s-xs:.78rem;
  --ancho:72rem; --gutter:clamp(16px,4vw,40px); --radio:6px;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0}
img{max-width:100%}
html{scroll-behavior:smooth}
body{background:var(--marfil);color:var(--carbon);font-family:var(--f-texto);font-size:var(--s-txt);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--f-titulo);font-weight:600;font-variation-settings:"opsz" 72;color:var(--esmeralda);line-height:1.15;margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:inherit}
:focus-visible{outline:2px solid var(--oro-p);outline-offset:3px}
.wrap{max-width:var(--ancho);margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{font-size:var(--s-xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--oro-p)}
.on-dark .eyebrow{color:var(--oro)}
.lead{font-size:1.15rem;color:var(--texto-2);max-width:40rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.flecha{display:inline-block;width:1.6rem;height:1.27rem;flex:none}
.flecha{fill:var(--oro-p)}
.on-dark .flecha{fill:var(--oro)}

/* Barra de revisión (solo maqueta) */

/* Encabezado */
.cab{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(251,248,241,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.cab .wrap{display:flex;align-items:center;gap:1.5rem;padding-block:.7rem}
.cab .logo{display:block;width:118px;flex:none}
.cab .logo img{display:block;width:100%;height:auto}
.menu{display:flex;gap:1.6rem;margin-left:auto;align-items:center}
.menu a{text-decoration:none;font-size:.95rem;font-weight:500;color:var(--carbon);padding-block:.3rem;border-bottom:2px solid transparent}
.menu a:hover{color:var(--esmeralda)}
.menu a[aria-current="page"]{color:var(--esmeralda);border-bottom-color:var(--oro)}
.menu a.btn{border-bottom:0}
.btn-menu{display:none;margin-left:auto;font:500 .95rem var(--f-texto);color:var(--esmeralda);background:none;border:1px solid var(--linea);border-radius:999px;padding:.45rem 1rem;cursor:pointer}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:.55rem;font:500 1rem var(--f-texto);text-decoration:none;border-radius:999px;padding:.8rem 1.4rem;border:1.5px solid var(--esmeralda);cursor:pointer;transition:background .2s,color .2s}
.btn-p{background:var(--esmeralda);color:var(--marfil)!important}
.btn-p:hover{background:var(--esmeralda-hover)}
.btn-s{background:transparent;color:var(--esmeralda)}
.btn-s:hover{background:rgba(11,79,63,.06)}
.on-dark .btn-p{background:var(--oro);border-color:var(--oro);color:var(--carbon)!important}
.on-dark .btn-p:hover{background:#D5B472}
.on-dark .btn-s{border-color:var(--marfil);color:var(--marfil)}
.on-dark .btn-s:hover{background:rgba(251,248,241,.08)}
.menu .btn{padding:.55rem 1.1rem;font-size:.95rem}
.btns{display:flex;flex-wrap:wrap;gap:.75rem}
.wa-ico{width:1.15em;height:1.15em;flex:none}

/* Secciones */
section.blq{padding-block:clamp(3.5rem,6vw,6rem)}
.blq-cab{display:grid;gap:.9rem;margin-bottom:2.5rem;max-width:44rem}
.blq-cab h2{font-size:var(--s-2)}
.on-dark{background:var(--esmeralda);color:var(--marfil)}
.on-dark h2,.on-dark h3{color:var(--marfil)}
.on-dark .lead{color:rgba(251,248,241,.82)}


/* Portada */
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:clamp(3rem,7vw,6rem)}
.hero h1{font-size:var(--s-1);letter-spacing:-.01em}
.hero-txt{display:grid;gap:1.4rem;min-width:0}
.escalera{display:grid;justify-items:end;gap:.15rem;font-family:var(--f-titulo);font-weight:600;font-variation-settings:"opsz" 144;font-size:clamp(2.6rem,1.8rem + 3.6vw,4.6rem);line-height:1.02;color:var(--esmeralda);position:relative;padding:1.6rem 0 1.6rem 1rem}
.escalera span{display:block;position:relative;padding-bottom:.18em}
.escalera span::after{content:"";position:absolute;right:0;bottom:0;height:3px;background:var(--rosa)}
.escalera span:nth-child(1){color:var(--oro-p)}
.escalera span:nth-child(1)::after{width:40%;background:var(--oro)}
.escalera span:nth-child(2)::after{width:70%}
.escalera span:nth-child(3)::after{width:100%;background:var(--esmeralda)}
.on-dark .escalera{color:var(--marfil)}
.on-dark .escalera span:nth-child(1){color:var(--oro)}
.on-dark .escalera span::after{background:var(--linea-osc)}
.on-dark .escalera span:nth-child(1)::after{background:var(--oro)}
.on-dark .escalera span:nth-child(3)::after{background:var(--marfil)}
@media (prefers-reduced-motion:no-preference){
  .hero .escalera span{animation:sube .7s cubic-bezier(.2,.7,.2,1) both}
  .hero .escalera span:nth-child(2){animation-delay:.12s}
  .hero .escalera span:nth-child(3){animation-delay:.24s}
  @keyframes sube{from{transform:translateY(.35em)}to{transform:none}}
}

.cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.cifra{padding:2.2rem 1.5rem 2rem;border-left:1px solid var(--linea-osc);display:grid;gap:.4rem;align-content:start}
.cifra:first-child{border-left:0;padding-left:0}
.cifra b{font-family:var(--f-titulo);font-weight:600;font-size:clamp(2.2rem,1.8rem + 1.6vw,3rem);color:var(--oro);line-height:1;font-variant-numeric:tabular-nums}
.cifra span{font-size:.95rem;color:rgba(251,248,241,.85);max-width:15rem}

.tarjetas{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.tarjeta{background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);padding:1.6rem 1.4rem;display:flex;flex-direction:column;gap:.8rem;text-decoration:none;transition:border-color .2s,transform .2s}
.tarjeta:hover{border-color:var(--esmeralda);transform:translateY(-2px)}
.tarjeta h3{font-size:var(--s-3)}
.tarjeta p{font-size:.97rem;color:var(--texto-2);flex:1}
.tarjeta .mas{font-size:.9rem;font-weight:500;color:var(--esmeralda)}

/* Los 5 momentos: escalera */
.momentos{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;align-items:end;list-style:none;margin:0;padding:0;counter-reset:m}
.momentos li{counter-increment:m;background:var(--superficie);border:1px solid var(--linea);border-top:3px solid var(--esmeralda);border-radius:var(--radio) var(--radio) 0 0;padding:1.1rem 1rem 1.3rem;display:grid;gap:.4rem;align-content:start}
.momentos li:nth-child(1){min-height:12.5rem}
.momentos li:nth-child(2){min-height:15rem;background:#EEF2EC}
.momentos li:nth-child(3){min-height:17.5rem;background:#DCE7E0}
.momentos li:nth-child(4){min-height:20rem;background:#C3D6CC}
.momentos li:nth-child(5){min-height:22.5rem;background:var(--esmeralda);border-color:var(--esmeralda);border-top-color:var(--oro)}
.momentos li:nth-child(5) h3{color:var(--marfil)}
.momentos li:nth-child(5) p{color:rgba(251,248,241,.85)}
.momentos li:nth-child(5)::before{color:var(--oro)}
.momentos li::before{content:counter(m);font-family:var(--f-titulo);font-weight:600;font-size:1.6rem;color:var(--oro-p);line-height:1}
.momentos h3{font-size:1.15rem}
.momentos p{font-size:.92rem;color:var(--texto-2)}
.momentos.simple li p{display:none}
.momentos.simple li{min-height:0!important}
.momentos.simple li:nth-child(1){min-height:5rem!important}.momentos.simple li:nth-child(2){min-height:7.5rem!important}.momentos.simple li:nth-child(3){min-height:10rem!important}.momentos.simple li:nth-child(4){min-height:12.5rem!important}.momentos.simple li:nth-child(5){min-height:15rem!important}

.dos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.dos>*{min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.chips li,.chip{background:var(--rosa);color:var(--carbon);border-radius:999px;padding:.35rem .9rem;font-size:.92rem}

.cierre{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}
.cierre h2{font-size:var(--s-2)}
.cierre p{margin-top:.7rem;color:rgba(251,248,241,.85);max-width:34rem}

/* Encabezado de página interior */
.pcab{border-bottom:1px solid var(--linea)}
.pcab .wrap{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;padding-block:clamp(3rem,6vw,5rem) clamp(2.2rem,4vw,3.2rem)}
.pcab h1{font-size:var(--s-1);margin-block:.6rem 1rem}
.pcab .resumen{font-family:var(--f-titulo);font-weight:600;color:var(--oro-p);font-size:1rem;text-align:right;max-width:16rem;line-height:1.35}

/* Servicios */
.servicios{display:grid;grid-template-columns:1fr 1fr;gap:0 3.5rem;counter-reset:s}
.serv{padding-block:1.6rem;border-top:1px solid var(--linea);display:grid;align-content:start;grid-template-columns:auto 1fr;gap:.2rem 1rem}
.serv .flecha{grid-row:1/3;margin-top:.3rem;width:1.4rem;height:1.11rem}
.serv h3{font-size:var(--s-3)}
.serv p{color:var(--texto-2);font-size:.98rem}
.tag{display:inline-block;font:600 .68rem var(--f-texto);letter-spacing:.1em;text-transform:uppercase;background:var(--rosa);color:var(--carbon);border-radius:3px;padding:.15rem .45rem;vertical-align:middle;margin-left:.4rem}

.niveles{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;align-items:end}
.nivel{border-radius:var(--radio) var(--radio) 0 0;padding:1.1rem 1rem;display:grid;gap:.3rem;align-content:start;color:var(--marfil)}
.nivel h3{color:inherit;font-size:1.25rem}
.nivel p{font-size:.9rem;opacity:.92}
.nivel:nth-child(1){background:#5E8C7C;min-height:8rem}
.nivel:nth-child(2){background:#2F7160;min-height:9.5rem}
.nivel:nth-child(3){background:var(--esmeralda);min-height:11rem}
.nivel:nth-child(4){background:var(--carbon);min-height:12.5rem}
.nivel:nth-child(4) h3{color:var(--oro)}
.nivel small{font-size:var(--s-xs);letter-spacing:.12em;text-transform:uppercase;opacity:.75}

/* Formaciones: la casa */
.casa-blq{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.casa{display:grid;gap:.5rem;font-size:.92rem}
.casa .techo{background:var(--esmeralda);color:var(--marfil);clip-path:polygon(50% 0,100% 62%,100% 100%,0 100%,0 62%);padding:3.4rem 1.2rem 1rem;text-align:center}
.casa .pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.casa .base{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.casa .pz{background:var(--superficie);border:1px solid var(--linea);padding:.9rem .8rem;display:grid;gap:.25rem;border-radius:3px}
.casa .pilares .pz{min-height:9rem;border-top:3px solid var(--esmeralda)}
.casa .base .pz{background:var(--rosa);border-color:transparent}
.casa b{font-family:var(--f-titulo);font-weight:600;font-size:1.05rem;color:var(--esmeralda);line-height:1.2}
.casa .techo b{color:var(--oro);font-size:1.2rem}
.casa i{font-style:normal;color:var(--texto-2);line-height:1.35}
.casa .techo i{color:rgba(251,248,241,.88)}
.casa .cod{font-size:var(--s-xs);letter-spacing:.12em;color:var(--oro-p);font-weight:600}
.casa .techo .cod{color:var(--oro)}
.itin{list-style:none;margin:0;padding:0;display:grid}
.itin li{display:grid;grid-template-columns:5.2rem 1fr;gap:1rem;padding-block:.85rem;border-top:1px solid var(--linea);align-items:baseline}
.itin li:last-child{border-bottom:1px solid var(--linea)}
.itin .niv{font-size:var(--s-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--oro-p)}
.itin b{font-weight:600;color:var(--esmeralda)}
.itin span{display:block;font-size:.92rem;color:var(--texto-2)}
.itin .nuevo{display:inline-block}
.nuevo{font:600 .66rem var(--f-texto);letter-spacing:.1em;text-transform:uppercase;color:var(--oro-p);border:1px solid var(--oro-p);border-radius:3px;padding:.05rem .35rem;margin-left:.4rem;vertical-align:2px}

.rutas{display:grid;gap:.6rem}
.ruta{min-width:0;background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio)}
.ruta[open]{border-color:var(--esmeralda)}
.ruta summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto auto;gap:1.2rem;align-items:center;padding:1.15rem 1.3rem}
.ruta summary::-webkit-details-marker{display:none}
.ruta h3{font-size:1.2rem}
.ruta .para{font-size:.92rem;color:var(--texto-2);margin-top:.15rem}
.ruta .n{font-size:.88rem;color:var(--esmeralda);font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
.ruta .mas{width:1.9rem;height:1.9rem;border-radius:50%;border:1px solid var(--linea);display:grid;place-items:center;color:var(--esmeralda);font-size:1.2rem;line-height:1;transition:transform .2s}
.ruta[open] .mas{transform:rotate(45deg);background:var(--esmeralda);color:var(--marfil);border-color:var(--esmeralda)}
.mods{padding:0 1.3rem 1.2rem;overflow-x:auto}
.mods table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:30rem}
.mods th{font-size:var(--s-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--oro-p);text-align:left;font-weight:600;padding:.6rem .5rem;border-bottom:1px solid var(--linea)}
.mods td{padding:.6rem .5rem;border-bottom:1px solid var(--linea);vertical-align:top}
.mods td:first-child{font-variant-numeric:tabular-nums;color:var(--oro-p);width:2rem}
.mods td:last-child{white-space:nowrap;color:var(--texto-2)}
.nota{font-size:var(--s-sm);color:var(--texto-2);margin-top:1.2rem}

/* Experiencia: línea de tiempo */
.linea{list-style:none;margin:0;padding:0;position:relative}
.linea::before{content:"";position:absolute;left:8.6rem;top:.6rem;bottom:.6rem;width:1px;background:var(--linea)}
.linea li{display:grid;grid-template-columns:8rem 1fr;gap:1.6rem;padding-block:1.1rem;position:relative}
.linea li::after{content:"";position:absolute;left:calc(8.6rem - 4px);top:1.55rem;width:9px;height:9px;border-radius:50%;background:var(--marfil);border:2px solid var(--esmeralda)}
.linea li:first-child::after{background:var(--oro);border-color:var(--oro-p)}
.linea .per{font-weight:600;color:var(--esmeralda);font-variant-numeric:tabular-nums;font-size:.95rem;padding-top:.15rem}
.linea .org{font-family:var(--f-titulo);font-weight:600;color:var(--carbon);font-size:1.1rem;line-height:1.3}
.linea p{color:var(--texto-2);font-size:.97rem;margin-top:.3rem;max-width:44rem}
.foto{background:repeating-linear-gradient(135deg,rgba(11,79,63,.05) 0 10px,transparent 10px 20px),var(--rosa);border-radius:var(--radio);display:grid;place-items:center;text-align:center;color:var(--carbon);font-size:var(--s-sm);padding:1.5rem;min-height:14rem}
.foto b{display:block;font-family:var(--f-titulo);font-weight:600;color:var(--esmeralda);font-size:1.05rem;margin-bottom:.2rem}

/* Sobre Lourdes */
.perfil{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.perfil .foto{aspect-ratio:4/5;min-height:0;max-width:100%}
.perfil .txt{display:grid;gap:1.1rem;max-width:40rem}
.cita{font-family:var(--f-titulo);font-weight:600;font-variation-settings:"opsz" 96;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);line-height:1.25;color:var(--esmeralda);border-left:3px solid var(--oro);padding-left:1.2rem;margin:.8rem 0}
.cita::before{content:"«"}.cita::after{content:"»"}
.formacion{list-style:none;margin:0;padding:0;display:grid}
.formacion li{padding-block:.65rem;border-top:1px solid var(--linea);font-size:.98rem}
.formacion li span{color:var(--texto-2)}
.valores{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.valor{border-top:1px solid var(--linea-osc);padding-top:1rem;display:grid;gap:.4rem;align-content:start}
.valor small{font-size:var(--s-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--oro)}
.valor h3{font-size:1.35rem}
.valor p{color:rgba(251,248,241,.85);font-size:.95rem}

/* Recursos */
.filtros{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.6rem}
.filtros button{font:500 .9rem var(--f-texto);border:1px solid var(--linea);background:var(--superficie);color:var(--carbon);border-radius:999px;padding:.4rem .9rem;cursor:pointer}
.filtros button[aria-pressed="true"]{background:var(--esmeralda);color:var(--marfil);border-color:var(--esmeralda)}
.recursos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 2.5rem}
.rec{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;align-items:center;padding-block:1rem;border-top:1px solid var(--linea)}
.rec>div{min-width:0}
.rec b{font-weight:500;color:var(--carbon);display:block}
.rec .meta{font-size:.86rem;color:var(--texto-2)}
.rec .meta i{font-style:normal;color:var(--oro-p);font-weight:500}
.rec a{font-size:.9rem;font-weight:500;color:var(--esmeralda);text-decoration:none;border:1px solid var(--linea);border-radius:999px;padding:.35rem .85rem;white-space:nowrap}
.rec a:hover{border-color:var(--esmeralda)}

/* Contacto */
.contacto{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.canal{display:grid;gap:.35rem;padding-block:1.3rem;border-top:1px solid var(--linea)}
.canal small{font-size:var(--s-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-p)}
.canal .dato{font-family:var(--f-titulo);font-weight:600;font-size:1.35rem;color:var(--esmeralda);user-select:all;overflow-wrap:anywhere}
.canal p{font-size:.92rem;color:var(--texto-2)}
.form{background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);padding:clamp(1.3rem,3vw,2.2rem);display:grid;gap:1.1rem}
.campo{display:grid;gap:.35rem}
.campo label{font-size:.9rem;font-weight:500}
.campo label em{font-style:normal;color:var(--oro-p)}
.campo input,.campo select,.campo textarea{font:400 1rem var(--f-texto);color:var(--carbon);background:var(--marfil);border:1px solid rgba(30,30,28,.22);border-radius:4px;padding:.75rem .85rem;width:100%}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--esmeralda);outline-offset:0;border-color:var(--esmeralda)}
.campo textarea{min-height:7.5rem;resize:vertical}
.fila2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.consent{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;font-size:.9rem;color:var(--texto-2)}
.consent input{width:1.15rem;height:1.15rem;margin-top:.2rem;accent-color:var(--esmeralda)}
.consent a{color:var(--esmeralda)}
.aviso{border-radius:4px;padding:.8rem 1rem;font-size:.95rem}
.aviso.ok{background:rgba(11,79,63,.08);color:var(--esmeralda);border:1px solid var(--linea)}
.aviso.err{background:var(--rosa);color:var(--carbon)}

/* Pie */
.pie{background:var(--esmeralda);color:var(--marfil)}
.pie .wrap{padding-block:3.5rem 2rem;display:grid;gap:2.5rem}
.pie-top{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start}
.pie .logo{display:block;width:190px}
.pie .logo img{display:block;width:100%;height:auto}
.pie-top p{margin-top:1.2rem;max-width:22rem;color:rgba(251,248,241,.82);font-size:.95rem}
.pie .escalera{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.6rem);padding:0}
.pie-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;border-top:1px solid var(--linea-osc);padding-top:2rem;font-size:.93rem}
.pie-cols h4{font-family:var(--f-texto);font-weight:600;font-size:var(--s-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--oro);margin-bottom:.8rem}
.pie-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.pie-cols a{text-decoration:none;color:rgba(251,248,241,.88)}
.pie-cols a:hover{color:var(--marfil);text-decoration:underline}
.pie-cols li{color:rgba(251,248,241,.88);overflow-wrap:anywhere}
.legal{font-size:var(--s-xs);color:rgba(251,248,241,.6);border-top:1px solid var(--linea-osc);padding-top:1.2rem}

/* WhatsApp fijo */
.wa{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;align-items:center;gap:.5rem;background:var(--esmeralda);color:var(--marfil);text-decoration:none;border-radius:999px;padding:.8rem 1.1rem;font-weight:500;font-size:.95rem;box-shadow:0 6px 20px rgba(11,79,63,.28);border:1.5px solid var(--oro)}
.wa:hover{background:var(--esmeralda-hover)}

/* Responsive */
@media (max-width:960px){
  .tarjetas{grid-template-columns:repeat(2,1fr)}
  .cifras{grid-template-columns:repeat(2,1fr)}
  .cifra:nth-child(3){border-left:0;padding-left:0}
  .cifra:nth-child(n+3){border-top:1px solid var(--linea-osc)}
  .valores{grid-template-columns:repeat(2,1fr)}
  .casa-blq{grid-template-columns:1fr}
}
@media (max-width:820px){
  .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--marfil);border-bottom:1px solid var(--linea);padding:.5rem var(--gutter) 1.2rem}
  .menu.abierto{display:flex}
  .menu a{padding-block:.8rem;border-bottom:1px solid var(--linea)}
  .menu a[aria-current="page"]{border-bottom-color:var(--linea);color:var(--esmeralda);font-weight:600}
  .menu a.btn{margin-top:.8rem;justify-content:center;border-bottom:1.5px solid var(--esmeralda)}
  .btn-menu{display:inline-block}
  .cab .wrap{position:relative}
  .hero .wrap,.dos,.perfil,.contacto,.servicios,.recursos{grid-template-columns:1fr}
  .hero .escalera{justify-items:end;padding-top:0}
  .momentos,.niveles{grid-template-columns:1fr;align-items:stretch}
  .momentos li,.momentos.simple li,.nivel{min-height:0!important}
  .momentos li:nth-child(1){margin-right:20%}.momentos li:nth-child(2){margin-right:15%}.momentos li:nth-child(3){margin-right:10%}.momentos li:nth-child(4){margin-right:5%}
  .momentos li{border-radius:var(--radio);display:grid;grid-template-columns:auto 1fr;column-gap:.9rem}
  .momentos li::before{grid-row:1/3}
  .nivel:nth-child(1){margin-right:18%}.nivel:nth-child(2){margin-right:12%}.nivel:nth-child(3){margin-right:6%}
  .nivel{border-radius:var(--radio)}
  .cierre,.pcab .wrap,.pie-top{grid-template-columns:1fr}
  .pcab .resumen{text-align:left;max-width:none}
  .pie .escalera{justify-items:start}
  .pie-cols{grid-template-columns:1fr 1fr}
  .linea::before{left:.3rem}
  .linea li{grid-template-columns:1fr;gap:.2rem;padding-left:1.6rem}
  .linea li::after{left:-1px}
  .perfil .foto{max-width:20rem}
}
@media (max-width:520px){
  .tarjetas,.cifras,.valores,.fila2,.pie-cols{grid-template-columns:1fr}
  .cifra{border-left:0!important;padding-left:0!important;border-top:1px solid var(--linea-osc);padding-block:1.4rem}
  .cifra:first-child{border-top:0}
  .casa .pilares,.casa .base{grid-template-columns:1fr}
  .casa .pilares .pz{min-height:0}
  .ruta summary{grid-template-columns:1fr auto;gap:.8rem}
  .ruta .n{grid-column:1;grid-row:2}
  .ruta .mas{grid-row:1/3;grid-column:2}
  .wa span{display:none}
  .wa{padding:.85rem}
  }


/* Fotos */
.foto-real{margin:0;display:grid;gap:.6rem}
.foto-real img{display:block;width:100%;height:auto;border-radius:var(--radio);border-bottom:4px solid var(--oro)}
.foto-real figcaption{font-size:var(--s-xs);color:var(--texto-2);letter-spacing:.02em}
.foto-dos{align-items:center;margin-bottom:2.8rem}
.retratos{margin:0;position:relative;padding:0 0 22% 0;max-width:26rem}
.retratos .r1{display:block;width:82%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:var(--radio);border-bottom:5px solid var(--oro)}
.retratos .r2{position:absolute;right:0;bottom:0;width:44%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:40% 20%;border-radius:var(--radio);border:5px solid var(--marfil);box-shadow:0 8px 24px rgba(11,79,63,.18)}

.foto-43{aspect-ratio:4/3;object-fit:cover;object-position:50% 12%;height:auto}
.banda{margin:clamp(1.8rem,4vw,2.8rem) 0 0;display:grid;gap:.6rem}
.banda img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;border-radius:var(--radio);border-bottom:4px solid var(--oro)}
.banda figcaption{font-size:var(--s-xs);color:var(--texto-2);letter-spacing:.02em}
@media (max-width:520px){.banda img{aspect-ratio:16/9}}
.perfil{grid-template-areas:"foto txt" "form form";align-items:center}
.perfil .retratos{grid-area:foto}.perfil .txt{grid-area:txt}.perfil-form{grid-area:form;display:grid;gap:.9rem;align-content:start;border-top:1px solid var(--linea);padding-top:2rem}
.perfil-form .formacion{grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));column-gap:1.5rem}
@media (max-width:820px){.perfil{grid-template-areas:"foto" "txt" "form";grid-template-rows:auto}}
/* Íconos de línea */
.ico{width:1.5rem;height:1.5rem;flex:none;color:var(--esmeralda)}
.ico-caja{width:3rem;height:3rem;border-radius:12px;background:var(--rosa);display:grid;place-items:center}
.ico-caja .ico{width:1.6rem;height:1.6rem}
.flecha.mini{width:.8rem;height:.65rem;vertical-align:1px;margin-left:.2rem}
.serv-ico{grid-row:1/3;width:1.9rem;height:1.9rem;margin-top:.05rem;padding:.3rem;box-sizing:content-box;border-radius:50%;background:var(--rosa)}
.mom-ico{width:1.6rem;height:1.6rem;justify-self:end;margin-top:-1.9rem}
.momentos li:nth-child(5) .mom-ico{color:var(--oro)}
.momentos.simple .mom-ico{margin-top:-1.9rem}
.val-ico{color:var(--oro);width:1.8rem;height:1.8rem}
.can-ico{width:1.05rem;height:1.05rem;vertical-align:-3px;margin-right:.45rem;color:var(--oro-p)}
.eyebrow{display:flex;align-items:center;gap:.55rem}
.eyebrow::before{content:"";width:.85rem;height:.68rem;flex:none;background:currentColor;-webkit-mask:var(--chev) no-repeat center/contain;mask:var(--chev) no-repeat center/contain}
:root{--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='92.3 79.1 31.4 24.9'%3E%3Cpath d='M92.3 92.1 108.8 79.1 123.7 92.4V104L108.8 90 92.3 102.8Z'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

@media (max-width:640px){.mods table{min-width:0}.mods thead{display:none}.mods tr{display:grid;grid-template-columns:2rem 1fr;row-gap:.15rem;padding:.75rem 0;border-bottom:1px solid var(--linea)}.mods td{border:0!important;padding:0!important}.mods td:first-child{grid-row:1/4}.mods td:nth-child(2){font-weight:500}.mods td:nth-child(3){color:var(--texto-2);font-size:.88rem}.mods td:last-child{font-size:.82rem;white-space:normal}}
a.sr:focus{width:auto;height:auto;clip:auto;z-index:50;background:var(--superficie);padding:.6rem 1rem;color:var(--esmeralda)}
.rec[hidden]{display:none}
.form button[disabled]{opacity:.6;cursor:wait}
