/* EQUIPAR · Coaching y Formación Cristiana
   Estilo FDE (el mismo de gonzaloaranda.com): Raleway 800 en titulares con acento en cursiva de color,
   DM Mono en etiquetas, negro #0B0D0E + blanco + celeste #5FC4CF (sobre negro) / #127C8A (sobre blanco). */

:root{
  --negro:#0B0D0E;--negro-2:#16191B;--negro-3:#202427;
  --blanco:#FFFFFF;--papel:#F4F4F4;
  --celeste:#5FC4CF;--celeste-osc:#127C8A;--celeste-suave:#E3F4F6;
  --arena:#8A7A5C;--arena-claro:#BFAE88;
  --texto:#3E4245;--texto-suave:#5F6468;--claro:#B9C2C4;
  --linea:#E2E2E2;--linea-osc:#2A2F32;--error:#B42318;
  --display:"Raleway",-apple-system,"Segoe UI",sans-serif;
  --texto-font:"Raleway",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"DM Mono",ui-monospace,Menlo,monospace;
  --ancho:74rem;
  --gutter:max(20px,env(safe-area-inset-left,0px));
  --sec:clamp(4rem,9vw,7.5rem);
  --sec-corta:clamp(2.75rem,5vw,4rem);
  /* alias para los estilos del formulario y del Balance */
  --azul:var(--celeste-osc);--profundo:var(--negro);--gris-claro:var(--papel);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--blanco);color:var(--texto);font-family:var(--texto-font);font-weight:500;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0}
strong{font-weight:700;color:var(--negro)}
:focus-visible{outline:2px solid var(--celeste-osc);outline-offset:3px;border-radius:2px}
.oscuro :focus-visible,.barra :focus-visible,.pie :focus-visible{outline-color:var(--celeste)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* ---------- Tipografía ---------- */
.titular{font-family:var(--display);font-weight:800;letter-spacing:-.045em;line-height:1.04;color:var(--negro);text-wrap:balance}
.t-xxl{font-size:clamp(2.8rem,7.4vw,5.6rem)}
.t-xl{font-size:clamp(2.4rem,5.6vw,4.3rem)}
.t-l{font-size:clamp(2rem,4.4vw,3.3rem)}
.t-m{font-size:clamp(1.5rem,2.8vw,2.1rem)}
.acento{font-style:italic;color:var(--celeste-osc)}
.etiqueta{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--mono);font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--arena);margin-bottom:1.5rem}
.etiqueta::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--celeste);flex:none}
.lead{font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.6;color:var(--texto)}
.apagado{color:var(--texto-suave)}
.mono{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em}
.prosa{max-width:40rem;display:grid;gap:1.15rem}
.prosa--ancha{max-width:48rem}
.remate{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.25;font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--negro)}
.remate b{font-style:italic;font-weight:800;color:var(--celeste-osc)}

/* ---------- Bandas ---------- */
.banda{background:var(--blanco)}
.banda--gris{background:var(--papel)}
.oscuro{background:var(--negro);color:#fff}
.oscuro--2{background:var(--negro-2)}
.oscuro .titular,.oscuro h2,.oscuro h3,.oscuro strong{color:#fff}
.oscuro .acento,.oscuro .remate b{color:var(--celeste)}
.oscuro .etiqueta{color:var(--arena-claro)}
.oscuro .lead{color:#E6EBEC}
.oscuro .apagado,.oscuro p{color:#CDD4D6}
.oscuro .remate{color:#fff}
.caja{max-width:var(--ancho);margin-inline:auto;padding-block:var(--sec);padding-inline:var(--gutter)}
.caja--corta{padding-block:var(--sec-corta)}
.cabeza-sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:end;margin-bottom:clamp(2.2rem,5vw,3.5rem)}
.cabeza-sec .etiqueta{grid-column:1/-1;margin-bottom:-.4rem}
@media (max-width:820px){.cabeza-sec{grid-template-columns:1fr;gap:1rem}}

/* ---------- Barra superior ---------- */
.barra{position:sticky;top:0;z-index:30;background:rgba(11,13,14,.97);color:#fff;backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--linea-osc)}
.barra__caja{max-width:var(--ancho);margin-inline:auto;padding:.9rem var(--gutter);display:flex;align-items:center;gap:1.2rem}
.marca{text-decoration:none;display:grid;line-height:1;margin-right:auto;color:#fff}
.marca__logo{height:2.3rem;width:auto;display:block}
.marca__nombre{font-family:var(--display);font-weight:800;font-size:1.45rem;letter-spacing:-.03em}
.marca__nombre i{color:var(--celeste);font-style:normal}
.marca__sub{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--claro);margin-top:.35rem;white-space:nowrap}
.menu{display:flex;align-items:center;gap:1.4rem}
.menu a{font-size:.9rem;font-weight:600;white-space:nowrap;text-decoration:none;color:var(--claro);padding-block:.3rem;border-bottom:2px solid transparent;transition:color .15s}
.menu a:hover,.menu a[aria-current="page"]{color:#fff}
.menu a[aria-current="page"]{border-bottom-color:var(--celeste)}
.menu .btn{margin-left:.3rem;color:var(--negro);border-bottom:2px solid var(--celeste)}
.menu .btn:hover{color:var(--negro)}
.menu-boton{display:none;background:none;border:1px solid var(--linea-osc);color:#fff;border-radius:2px;padding:.5rem .95rem;font:500 .74rem var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
@media (max-width:1060px){
  .menu-boton{display:inline-block}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--negro);flex-direction:column;align-items:stretch;gap:0;padding:.4rem var(--gutter) 1.4rem;border-bottom:1px solid var(--linea-osc)}
  .menu.abierto{display:flex}
  .menu a{padding:.95rem 0;border-bottom:1px solid var(--linea-osc);font-size:1.05rem}
  .menu a[aria-current="page"]{border-bottom-color:var(--linea-osc);color:var(--celeste)}
  .menu .btn{margin:1.1rem 0 0;text-align:center}
}
@media (max-width:420px){.marca__sub{display:none}}

/* ---------- Botones y enlaces ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font:700 .95rem/1 var(--display);letter-spacing:0;text-decoration:none;padding:1.05rem 1.6rem;border-radius:2px;border:2px solid var(--celeste);background:var(--celeste);color:var(--negro);cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}
.btn::after{content:"→";font-weight:500;transition:transform .15s}
.btn:hover{background:var(--negro);border-color:var(--negro);color:#fff}
.btn:hover::after{transform:translateX(3px)}
.btn--chico{padding:.72rem 1.1rem;font-size:.86rem}
.btn--chico::after,button.btn::after,.btn--sin::after{content:none}
.btn--linea{background:transparent;color:var(--negro);border-color:var(--negro)}
.btn--linea::after{content:none}
.btn--linea:hover{background:var(--negro);color:#fff}
.oscuro .btn:hover,.hero .btn:hover,.menu .btn:hover{background:#fff;border-color:#fff;color:var(--negro)}
.oscuro .btn--linea,.hero .btn--linea{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.oscuro .btn--linea:hover,.hero .btn--linea:hover{background:#fff;color:var(--negro);border-color:#fff}
.acciones{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.6rem}
.enlace{font-weight:700;text-decoration:none;color:var(--negro);border-bottom:2px solid var(--celeste);padding-bottom:2px;transition:color .15s}
.enlace:hover{color:var(--celeste-osc)}
.oscuro .enlace{color:#fff}
.oscuro .enlace:hover{color:var(--celeste)}

/* ---------- Fotos: un solo tratamiento para todo el sitio ---------- */
.foto{position:relative;margin:0}
.foto img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;filter:saturate(.82) contrast(1.04);border-radius:2px}
.foto::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--celeste);border-radius:2px;z-index:-1}
.foto--ancha img{aspect-ratio:3/2}
.foto figcaption{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--texto-suave);margin-top:1.4rem}
.oscuro .foto figcaption{color:var(--claro)}
.marco{isolation:isolate}

/* ---------- Portada de inicio ---------- */
.hero{position:relative;overflow:hidden;isolation:isolate;background:var(--negro);color:#fff}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;filter:saturate(.75)}
.hero__circulo{position:absolute;right:max(1.5rem,calc((100vw - 76rem)/2));top:50%;transform:translateY(-50%);width:min(30rem,38vw);aspect-ratio:1/1;margin:0;z-index:-1}
.hero__circulo img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:saturate(.85)}
.hero__circulo::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--celeste);border-radius:50%;z-index:-1}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(11,13,14,.97) 0%,rgba(11,13,14,.92) 40%,rgba(11,13,14,.78) 70%,rgba(11,13,14,.6) 100%),linear-gradient(0deg,rgba(11,13,14,.9),transparent 40%)}
.hero .caja{min-height:min(88vh,50rem);display:flex;flex-direction:column;justify-content:center;gap:1.6rem}
.hero__texto{max-width:38rem;display:grid;gap:1.5rem}
.hero .titular{color:#fff}
.hero .acento{color:var(--celeste)}
.hero .etiqueta{color:var(--arena-claro);margin:0}
.hero .lead{color:#E6EBEC;max-width:33rem}
.hero__cita{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--claro);border-left:2px solid var(--celeste);padding-left:.9rem;max-width:30rem}
@media (max-width:820px){
  .hero .caja{min-height:0;padding-top:1.8rem;padding-bottom:2.5rem}
  .hero__img{height:100%}
  .hero__circulo{position:relative;right:auto;top:auto;transform:none;width:min(17rem,64vw);margin:2rem 0 0 20px;z-index:0}
}

/* Franja de cifras/hechos bajo la portada */
.hechos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--linea-osc)}
.hecho{padding:1.6rem 1.2rem 1.7rem 0;display:grid;gap:.35rem}
.hecho + .hecho{padding-left:1.4rem;border-left:1px solid var(--linea-osc)}
.hecho b{font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:-.02em;color:#fff}
.hecho span{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--claro)}
@media (max-width:820px){.hechos{grid-template-columns:1fr 1fr}.hecho:nth-child(3){padding-left:0;border-left:0}.hecho:nth-child(n+3){border-top:1px solid var(--linea-osc)}}

/* ---------- Cabecera de páginas internas ---------- */
.cab{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.cab__texto{display:grid;gap:1.4rem}
.cab__texto .etiqueta{margin:0}
.foto--circulo::after{border-radius:50%}
.foto--circulo img{aspect-ratio:1/1;border-radius:50%}
.cab .foto{max-width:26rem;justify-self:end;width:100%}
@media (max-width:860px){.cab{grid-template-columns:1fr}.cab .foto{justify-self:start;max-width:30rem;margin-right:14px}}
.cab-simple{display:grid;gap:1.4rem;max-width:52rem}
.cab-simple .etiqueta{margin:0}

/* ---------- Dos columnas ---------- */
.dos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5.5rem);align-items:start}
.dos--centro{align-items:center}
@media (max-width:860px){.dos{grid-template-columns:1fr}}
@media (min-width:861px){.dos > .fijo{position:sticky;top:7rem}}

/* ---------- Tarjetas de área con foto ---------- */
.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,2.5vw,2rem)}
@media (max-width:900px){.areas{grid-template-columns:1fr}}
.area{display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:inherit;background:var(--blanco);border:1px solid var(--linea);border-radius:2px;overflow:hidden;transition:border-color .2s,transform .2s}
.area:hover{border-color:var(--negro);transform:translateY(-3px)}
.area__img{overflow:hidden;background:var(--negro)}
.area__img img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:saturate(.8);transition:transform .5s,opacity .3s}
.area:hover .area__img img{transform:scale(1.04)}
.area__cuerpo{padding:clamp(1.4rem,2.5vw,1.9rem);display:grid;gap:.8rem;align-content:start}
.area__num{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;color:var(--arena)}
.area h3{font-family:var(--display);font-weight:800;font-size:1.55rem;letter-spacing:-.035em;line-height:1.1;color:var(--negro)}
.area p{color:var(--texto);font-size:.98rem}
.area__ir{margin-top:.4rem;font-weight:700;font-size:.92rem;color:var(--negro);display:inline-flex;gap:.5rem;align-items:center}
.area__ir::after{content:"→";color:var(--celeste-osc);transition:transform .15s}
.area:hover .area__ir::after{transform:translateX(4px)}

/* ---------- Lista numerada de principios / pasos ---------- */
.lista-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:0;border-top:1px solid var(--linea)}
.lista-num > *{padding:1.8rem 1.6rem 1.9rem 0;display:grid;gap:.6rem;align-content:start;border-bottom:1px solid var(--linea)}
@media (min-width:700px){.lista-num > * + *{padding-left:1.6rem;border-left:1px solid var(--linea)}}
.lista-num__n{font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;color:var(--celeste-osc)}
.lista-num h3{font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:-.03em;line-height:1.15;color:var(--negro)}
.lista-num p{font-size:.96rem}
.lista-num cite{font-family:var(--mono);font-style:normal;font-size:.72rem;letter-spacing:.08em;color:var(--arena);text-transform:uppercase}
.oscuro .lista-num,.oscuro .lista-num > *{border-color:var(--linea-osc)}
.oscuro .lista-num__n{color:var(--celeste)}
.oscuro .lista-num cite{color:var(--arena-claro)}

/* ---------- Bloques de servicio ---------- */
.servicios{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:clamp(1rem,2vw,1.4rem)}
.servicio{background:var(--blanco);border:1px solid var(--linea);border-top:3px solid var(--negro);border-radius:2px;padding:clamp(1.5rem,3vw,2.1rem);display:grid;gap:.85rem;align-content:start}
.banda .servicio{background:var(--papel);border-color:var(--papel);border-top-color:var(--negro)}
.servicio__num{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;color:var(--arena)}
.servicio h3{font-family:var(--display);font-weight:800;font-size:1.4rem;letter-spacing:-.035em;line-height:1.12;color:var(--negro)}
.servicio p{font-size:.98rem}
.servicio__para{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;color:var(--texto-suave);text-transform:uppercase}
.servicio__resultado{font-weight:700;color:var(--negro);padding-top:.85rem;border-top:1px solid var(--linea)}
.servicio .enlace{justify-self:start;margin-top:.3rem}
.servicio--negro{background:var(--negro)!important;border-color:var(--negro)!important;border-top-color:var(--celeste)!important;color:#CDD4D6}
.servicio--negro h3,.servicio--negro .servicio__resultado{color:#fff}
.servicio--negro .servicio__resultado{border-top-color:var(--linea-osc)}
.servicio--negro .servicio__num{color:var(--arena-claro)}
.servicio--negro .enlace{color:#fff}
.estado{display:inline-block;justify-self:start;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .55rem;border:1px solid currentColor;border-radius:2px;color:var(--celeste-osc)}
.servicio--negro .estado{color:var(--celeste)}

/* ---------- Cita bíblica destacada ---------- */
.cita{display:grid;gap:1.2rem;max-width:50rem}
.cita blockquote{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,3.2vw,2.4rem);letter-spacing:-.035em;line-height:1.2;color:#fff;text-wrap:balance}
.cita blockquote em{color:var(--celeste);font-weight:800}
.cita cite{font-family:var(--mono);font-style:normal;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--arena-claro)}
.banda .cita blockquote,.banda--gris .cita blockquote{color:var(--negro)}
.banda .cita blockquote em,.banda--gris .cita blockquote em{color:var(--celeste-osc)}

/* ---------- Lista con raya ---------- */
.lista{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.lista li{position:relative;padding-left:1.5rem}
.lista li::before{content:"";position:absolute;left:0;top:.8em;width:.75rem;height:2px;background:var(--celeste-osc)}
.oscuro .lista li::before{background:var(--celeste)}
.lista--no li::before{background:var(--texto-suave)}

/* ---------- Galería ---------- */
.galeria{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(.6rem,1.4vw,1rem)}
.galeria figure{margin:0;position:relative;overflow:hidden;border-radius:2px;background:var(--negro)}
.galeria img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);aspect-ratio:3/2}
.galeria figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1rem .85rem;background:linear-gradient(0deg,rgba(11,13,14,.85),transparent);color:#fff;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.galeria .g-7{grid-column:span 7}.galeria .g-5{grid-column:span 5}.galeria .g-4{grid-column:span 4}.galeria .g-6{grid-column:span 6}
.galeria .g-5 img,.galeria .g-7 img{aspect-ratio:auto;min-height:100%}
@media (max-width:700px){.galeria .g-7,.galeria .g-5,.galeria .g-4,.galeria .g-6{grid-column:span 12}.galeria img{aspect-ratio:3/2!important}}

/* ---------- Fundador ---------- */
.fundador{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
@media (max-width:860px){.fundador{grid-template-columns:1fr}.fundador .foto{max-width:24rem;margin-right:14px}}
.credenciales{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:clamp(1rem,2vw,1.4rem)}
.cred{border-top:2px solid var(--negro);padding-top:1.3rem;display:grid;gap:.7rem;align-content:start}
.cred__tipo{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--arena)}
.cred h3{font-family:var(--display);font-weight:800;font-size:1.3rem;letter-spacing:-.03em;line-height:1.15;color:var(--negro)}
.cred ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.cred li{font-size:.95rem;line-height:1.55;padding-left:1.1rem;position:relative}
.cred li::before{content:"";position:absolute;left:0;top:.72em;width:.5rem;height:2px;background:var(--celeste-osc)}
.cred .enlace{justify-self:start;font-size:.9rem}
.verifica{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;margin-top:2.6rem;padding-top:1.8rem;border-top:1px solid var(--linea)}
.insignia{display:inline-flex;align-items:center;gap:.9rem;text-decoration:none}
.insignia img{width:64px;height:64px}
.insignia span{font-weight:700;color:var(--negro);line-height:1.3}
.insignia small{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--texto-suave);font-weight:400}
.hitos{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--linea-osc)}
.hitos li{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:1.5rem;padding:1.15rem 0;border-bottom:1px solid var(--linea-osc)}
.hitos b{font-family:var(--mono);font-weight:500;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--celeste);padding-top:.2rem}
@media (max-width:560px){.hitos li{grid-template-columns:1fr;gap:.3rem}}

/* ---------- DISC ---------- */
.disc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,1.6vw,1.2rem)}
@media (max-width:900px){.disc{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.disc{grid-template-columns:1fr}}
.disc__estilo{background:var(--negro-2);border:1px solid var(--linea-osc);border-radius:2px;padding:1.6rem 1.4rem;display:grid;gap:.6rem;align-content:start}
.disc__letra{font-family:var(--display);font-weight:800;font-size:3.2rem;line-height:1;letter-spacing:-.05em;color:var(--celeste)}
.disc__estilo h3{font-family:var(--display);font-weight:800;font-size:1.2rem;letter-spacing:-.02em}
.disc__estilo p{font-size:.94rem}

/* ---------- Llamado final ---------- */
.llamado{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(1.5rem,5vw,4rem);align-items:end}
.llamado .acciones{justify-content:flex-end}
@media (max-width:820px){.llamado{grid-template-columns:1fr}.llamado .acciones{justify-content:flex-start}}

.nota-pie{font-size:.98rem;color:var(--texto);max-width:46rem;margin-top:2.2rem;padding-left:1.1rem;border-left:3px solid var(--celeste)}
.aviso{font-size:.92rem;color:var(--texto-suave);max-width:46rem;margin-top:1.4rem;padding-left:1rem;border-left:2px solid var(--celeste)}
.oscuro .aviso{color:var(--claro)}
.legal-pagina{max-width:46rem;display:grid;gap:1rem}
.legal-pagina h2{font-family:var(--display);font-weight:800;font-size:1.35rem;letter-spacing:-.03em;color:var(--negro);margin-top:1.4rem}

/* ---------- Pie ---------- */
.pie{background:var(--negro);color:#CDD4D6;border-top:1px solid var(--linea-osc)}
.pie__caja{max-width:var(--ancho);margin-inline:auto;padding:clamp(3.5rem,7vw,5rem) var(--gutter) 2.5rem;display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:2.5rem}
@media (max-width:860px){.pie__caja{grid-template-columns:1fr 1fr}.pie__caja > :first-child{grid-column:1/-1}}
.pie .marca{margin-bottom:1.3rem}
.pie__lema{font-family:var(--display);font-weight:800;font-style:italic;font-size:1.3rem;letter-spacing:-.03em;line-height:1.25;color:#fff;max-width:20rem;margin-bottom:.8rem}
.pie p{font-size:.94rem;max-width:22rem}
.pie h4{font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--arena-claro);margin-bottom:1rem}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.pie ul a{text-decoration:none;color:#E6EBEC;font-size:.95rem}
.pie ul a:hover{color:var(--celeste)}
.pie__base{max-width:var(--ancho);margin-inline:auto;padding:1.4rem var(--gutter) 2rem;border-top:1px solid var(--linea-osc);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--claro)}
.pie__base a{color:var(--claro)}

/* ===== Formularios, preguntas frecuentes y Balance (estructura usada por sitio.js y balance.js) ===== */
/* Contacto */
.contacto{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:860px){.contacto{grid-template-columns:1fr}}
.formulario{background:var(--gris-claro);border:1px solid var(--linea);border-radius:10px;padding:clamp(1.4rem,3.5vw,2.2rem);display:grid;gap:1.1rem}
.campo{display:grid;gap:.4rem}
.campo label,.campo legend{font-size:.86rem;font-weight:600;color:var(--profundo)}
.campo input,.campo select,.campo textarea{font:inherit;font-size:1rem;color:var(--texto);background:#fff;border:1.5px solid var(--linea);border-radius:6px;padding:.8rem .9rem;width:100%}
.campo textarea{min-height:8.5rem;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 3px rgba(7,141,189,.15)}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:560px){.fila{grid-template-columns:1fr}}
fieldset.campo{border:0;padding:0;margin:0}
.opciones{display:grid;gap:.45rem;margin-top:.2rem}
.opciones label{display:flex;gap:.6rem;align-items:center;font-weight:400;font-size:.97rem;background:#fff;border:1.5px solid var(--linea);border-radius:6px;padding:.65rem .8rem;cursor:pointer}
.opciones input{accent-color:var(--azul);width:auto}
.opciones label:has(input:checked){border-color:var(--azul);background:#E6F6FA}
.opciones--fila{display:flex;flex-wrap:wrap;gap:.5rem}
.opciones--fila label{flex:1 1 10rem}
.formulario .btn{justify-self:start}
.legal{font-size:.82rem;color:var(--texto-suave)}
.directo{display:grid;gap:.8rem;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--linea)}

/* FAQ */
.faq{margin-top:2rem;border-top:1px solid var(--linea)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.2rem;align-items:center;padding:1.15rem 0;font-weight:600;font-size:1.02rem;color:var(--profundo)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--display);font-size:1.4rem;font-weight:700;line-height:1;color:var(--azul);flex:none;transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 1.2rem;max-width:46rem;color:var(--texto)}
.oscuro .faq{border-top-color:var(--linea-osc)}
.oscuro .faq details{border-bottom-color:var(--linea-osc)}
.oscuro .faq summary{color:#fff}
.oscuro .faq details p{color:rgba(255,255,255,.8)}

/* Balance / autodiagnóstico */
.diag,.res{max-width:52rem;margin-inline:auto;display:grid;gap:1.4rem;scroll-margin-top:6rem}
.diag-cab{display:grid;gap:.6rem}
.diag-progreso{font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-suave);margin:0}
.diag-barra{height:6px;background:var(--linea);border-radius:999px;overflow:hidden}
.diag-barra span{display:block;height:100%;width:0;background:var(--azul);border-radius:999px;transition:width .3s ease}
.diag-instruccion{font-size:1.2rem;font-weight:500;margin:0;color:var(--profundo)}
.diag-area{font-family:var(--display);font-weight:800;font-size:clamp(1.5rem,3vw,2rem);line-height:1.1;color:var(--profundo);display:grid;gap:.3rem;margin-bottom:.4rem}
.diag-area span{font-family:var(--texto-font);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--texto-suave)}
.diag-paso{display:grid;gap:1.1rem}
.diag-item{border:1px solid var(--linea);background:var(--gris-claro);border-radius:10px;padding:1.2rem 1.3rem;margin:0;display:grid;gap:.9rem}
.diag-item legend{float:left;width:100%;padding:0;font-size:1.05rem;font-weight:500;line-height:1.45}
.diag-escala{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem}
.diag-escala label{position:relative;cursor:pointer}
.diag-escala input{position:absolute;opacity:0;width:1px;height:1px}
.diag-escala span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:2.9rem;padding:.4rem .3rem;border:1.5px solid var(--linea);border-radius:8px;background:#fff;font-size:.86rem;font-weight:600;line-height:1.2;transition:border-color .15s,background .15s}
.diag-escala label:hover span{border-color:var(--azul)}
.diag-escala input:checked+span{background:var(--profundo);border-color:var(--profundo);color:#fff}
.diag-escala input:focus-visible+span{outline:2px solid var(--azul);outline-offset:2px}
@media (max-width:520px){.diag-escala{grid-template-columns:1fr}.diag-escala span{justify-content:flex-start;padding-inline:.9rem;min-height:2.6rem}}
.diag-aviso{color:var(--error);font-weight:600;font-size:.92rem;min-height:1.2em;margin:0}
.res-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.2rem}
.res-cab h2:focus{outline:none}
.res-total{display:grid;justify-items:end;margin:0}
.res-total strong{font-family:var(--display);font-weight:800;font-size:clamp(3rem,7vw,4rem);line-height:1;color:var(--profundo)}
.res-total span{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-suave)}
.res-barras{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.res-barra{display:grid;gap:.35rem}
.res-barra__cab{display:flex;justify-content:space-between;gap:1rem;font-weight:600}
.res-barra__pista{height:12px;background:var(--linea);border-radius:999px;overflow:hidden}
.res-barra__pista span{display:block;height:100%;background:var(--azul);border-radius:999px}
.res-barra small{font-size:.78rem;color:var(--texto-suave)}
.res-barra--foco .res-barra__pista span{background:var(--profundo)}
.res-barra--foco small{color:var(--profundo);font-weight:700}
.res-detalle{margin-top:1rem}
.res-subtitulo{font-family:var(--display);font-weight:800;font-size:1.3rem;color:var(--profundo)}
.res-preguntas{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.res-preguntas li{border-left:3px solid var(--azul);padding:.2rem 0 .2rem 1rem;display:grid;gap:.25rem}
.res-preguntas small{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-suave)}
.res-preguntas p{font-weight:500;font-size:1.15rem;line-height:1.35;color:var(--profundo)}
.res-rec{background:var(--profundo);color:#fff;border-radius:10px;padding:clamp(1.3rem,3vw,1.9rem);display:grid;gap:.8rem;align-content:start}
.res-rec h3{font-family:var(--display);font-weight:800;font-size:1.2rem;color:#fff}
.res-rec p{color:rgba(255,255,255,.8)}
.res-rec .enlace{color:var(--celeste)}
.res-pie{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center}
.res-copia{font-size:.9rem;color:var(--texto-suave)}
.res-captura{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.4rem 2rem;background:var(--gris-claro);border:1px solid var(--linea);border-top:4px solid var(--azul);border-radius:10px;padding:clamp(1.3rem,3vw,2rem);margin:.6rem 0}
@media (max-width:760px){.res-captura{grid-template-columns:1fr}}
.res-captura h3{font-family:var(--display);font-weight:800;font-size:clamp(1.4rem,2.6vw,1.8rem);color:var(--profundo);margin:.6rem 0}
.res-captura__texto p{color:var(--texto-suave)}
.res-captura__campos{display:grid;gap:.9rem}
.res-captura .btn{justify-self:start}
.res-captura--listo{grid-template-columns:1fr}
.aviso-js{background:var(--gris-claro);border:1px solid var(--linea);border-radius:8px;padding:1rem}
.invita-diag{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;background:var(--gris-claro);border:1px solid var(--linea);border-left:4px solid var(--azul);border-radius:10px;padding:1.2rem 1.4rem;margin-top:2rem}
.invita-diag p{margin:0;flex:1 1 18rem}
.invita-diag strong{display:block;font-family:var(--display);font-weight:800;font-size:1.15rem;color:var(--profundo)}
.oscuro .invita-diag{background:rgba(255,255,255,.06);border-color:var(--linea-osc);border-left-color:var(--celeste)}

/* Formulario envío */
.consentimiento{display:flex;gap:.65rem;align-items:flex-start;font-size:.88rem;line-height:1.5;color:var(--texto-suave)}
.consentimiento input{accent-color:var(--azul);margin-top:.25rem;flex:none;width:1.05rem;height:1.05rem}
.estado-envio{font-size:.92rem;min-height:1.2em}
.estado-envio.error{color:var(--error);font-weight:600}
.btn[disabled]{opacity:.6;cursor:wait;transform:none}
.gracias{background:var(--gris-claro);border:1px solid var(--linea);border-radius:10px;padding:clamp(1.6rem,4vw,2.4rem);display:grid;gap:1rem;align-content:start}
.gracias h2{font-family:var(--display);font-weight:800;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--profundo)}
.enviar-con{background:var(--gris-claro);border:1px solid var(--linea);border-top:4px solid var(--profundo);border-radius:10px;padding:clamp(1.4rem,3.5vw,2.2rem);display:grid;gap:1rem;align-content:start}
.enviar-con[hidden]{display:none}
.enviar-con h2{font-family:var(--display);font-weight:800;font-size:clamp(1.5rem,2.8vw,1.9rem);color:var(--profundo)}
.enviar-con__opciones{display:flex;flex-wrap:wrap;gap:.6rem}
.estado-copia{font-size:.9rem;color:var(--azul);font-weight:600;min-height:1.2em}
.vista-mensaje summary{cursor:pointer;font-size:.9rem;font-weight:600;color:var(--texto-suave)}
.vista-mensaje pre{white-space:pre-wrap;font:inherit;font-size:.92rem;background:#fff;border:1px solid var(--linea);border-radius:6px;padding:.9rem;margin:.6rem 0 0}
.enlace-boton{justify-self:start;background:none;border:0;padding:0;font:600 .9rem var(--texto-font);color:var(--azul);text-decoration:underline;text-decoration-color:var(--celeste);text-underline-offset:3px;cursor:pointer}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nota-pie{font-size:1rem;font-weight:500;color:var(--texto);max-width:46rem;margin-top:2.4rem;padding-left:1.2rem;border-left:3px solid var(--azul)}
.aviso{font-size:.92rem;color:var(--texto-suave);max-width:44rem;margin-top:1.4rem;padding-left:1rem;border-left:2px solid var(--celeste)}

/* Res area (balance) */
.res-area{background:var(--gris-claro);border:1px solid var(--linea);border-radius:10px;padding:clamp(1.2rem,2.5vw,1.6rem);display:grid;gap:.8rem;margin-top:.8rem}
.res-area h4{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--profundo)}
.res-area ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.res-area li{font-size:.93rem;padding-left:1rem;position:relative}
.res-area li::before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--azul)}
.res-area--foco{border-left:4px solid var(--azul)}

/* Ajustes FDE sobre formularios y Balance */
.formulario,.gracias,.enviar-con{border-radius:2px}
.campo input,.campo select,.campo textarea,.opciones label{border-radius:2px}
.campo label,.campo legend{font-weight:700}
.campo input:focus,.campo select:focus,.campo textarea:focus{box-shadow:0 0 0 3px rgba(95,196,207,.3)}
.opciones label:has(input:checked){background:var(--celeste-suave)}
.faq summary{font-family:var(--display);font-weight:700;font-size:1.08rem;letter-spacing:-.01em}
.faq summary::after{color:var(--celeste-osc)}
.enviar-con{border-top-color:var(--celeste)}

.retrato{margin:0;position:relative;display:block;max-width:22rem;aspect-ratio:1/1}
.retrato img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:saturate(.82) contrast(1.04)}
.retrato::after{content:"";position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--celeste);border-radius:50%;z-index:-1;pointer-events:none}

.galeria--mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;max-width:none}
.galeria--mini figure{aspect-ratio:1/1;border-radius:2px}
.galeria--mini img{aspect-ratio:1/1}
@media (max-width:760px){.galeria--mini{grid-template-columns:repeat(2,minmax(0,1fr))}}
.galeria--mini figcaption{padding:2rem .9rem .7rem;font-size:.7rem}

/* ---------- Test DISC (2026-11-01): círculo DISC dibujado en vez de foto en la portada de test-disc.html ---------- */
.mapa-disc svg{display:block;width:100%;height:auto;aspect-ratio:1/1;border-radius:50%;box-shadow:0 0 0 2px var(--negro)}
