/* ==========================================================
   Centro Psicológico DIME · Propuesta B (colorida)
   ========================================================== */
@font-face{font-family:"Nunito";src:url(../fonts/nunito-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F,U+20A0-20CF,U+2122,U+2190-2193,U+2212}
@font-face{font-family:"Nunito";src:url(../fonts/nunito-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F,U+20A0-20CF,U+2122,U+2190-2193,U+2212}
@font-face{font-family:"Nunito";src:url(../fonts/nunito-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F,U+20A0-20CF,U+2122,U+2190-2193,U+2212}
@font-face{font-family:"Nunito";src:url(../fonts/nunito-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-017F,U+2000-206F,U+20A0-20CF,U+2122,U+2190-2193,U+2212}

:root{
  /* Paleta DIME 2026 (gama pastel del cliente). Texto SIEMPRE en --ink sobre estos fondos.
     Las variantes -2 son la sombra sólida del botón; las -t, el mismo color legible sobre blanco. */
  --red:#ff8b8b;      --red-2:#f2635f;      --red-t:#b33f3c;      /* Mona Lisa   */
  --orange:#ffb356;   --orange-2:#ef9024;   --orange-t:#9d5a06;   /* Texas Rose  */
  --yellow:#ffd97a;   --yellow-2:#f5c13f;   --yellow-t:#8a6400;   /* companion   */
  --green:#75d06a;    --green-2:#4fb243;    --green-t:#2f7a28;    /* Pastel Green*/
  --teal:#6ed1cf;     --teal-2:#3fb2b0;     --teal-t:#1f7573;     /* Downy       */
  --blue:#1fa7e1;     --blue-2:#1183b5;     --blue-t:#0d6d97;     /* Summer Sky  */
  --indigo:#8f91f2;   --indigo-2:#5a5ce0;   --indigo-t:#4a4cc4;   /* Slate Blue  */
  --lavender:#a265e1; --lavender-2:#8038cc; --lavender-t:#7a35bb; /* Amethyst    */
  --pink:#fb96bb;     --pink-2:#ec6796;     --pink-t:#b63e69;     /* Illusion    */
  /* Alias para no romper clases existentes */
  --purple:var(--lavender); --purple-2:var(--lavender-2); --purple-t:var(--lavender-t);
  --hero:var(--blue);
  --navy:#241f52;

  --ink:#15142e;
  --text:#2d2c45;
  --muted:#55566d;
  --bg:#ffffff;
  --soft:#f6f4fb;
  --line:#e6e3f0;

  --font-body:"Nunito",ui-rounded,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --font-display:var(--font-body);

  /* Las ilustraciones son WebP con transparencia: el color de fondo lo pone el CSS */
  --art:color-mix(in srgb,var(--yellow) 24%,#fff);

  /* Cristal: solo se usa donde hay color detrás (barras fijas, franja amarilla, cajas de color) */
  --glass:rgba(255,255,255,.35);
  --glass-2:rgba(255,255,255,.55);
  --glass-line:rgba(255,255,255,.45);
  --glass-blur:saturate(1.8) blur(22px);
  --hdr:100px;

  --radius:20px;
  --wrap:1200px;
  --gutter:clamp(1rem,.6rem + 2vw,2rem);
  --space:clamp(4rem,3rem + 4vw,7rem);
  --ease:cubic-bezier(.22,1,.36,1);
  --bounce:cubic-bezier(.34,1.56,.64,1);
  --z-shape:1; --z-content:2; --z-header:30; --z-float:50;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
section[id],div[id],h2[id],article[id]{scroll-margin-top:calc(var(--hdr) + 1rem)}
#evaluaciones,#sesiones,#emt{scroll-margin-top:calc(var(--hdr) + 5rem)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:400;font-size:1.02rem;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-t)}
h1,h2,h3{color:var(--ink);font-family:var(--font-display);font-weight:900;line-height:1.12;letter-spacing:-.015em;margin:0 0 .55em;text-wrap:balance}
h2{font-size:clamp(1.9rem,1.35rem + 2.1vw,2.9rem)}
h3{font-size:1.3rem;line-height:1.28}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.ico{width:1.2em;height:1.2em;flex:none}
.lead{font-size:clamp(1.08rem,1rem + .4vw,1.24rem);line-height:1.55;max-width:56ch}
.muted{color:var(--muted)}

/* Colores utilitarios */
.bg-red{background:var(--red);color:var(--ink)}.bg-blue{background:var(--blue);color:var(--ink)}.bg-purple{background:var(--lavender);color:var(--ink)}
.bg-pink{background:var(--pink);color:var(--ink)}.bg-teal{background:var(--teal);color:var(--ink)}.bg-indigo{background:var(--indigo);color:var(--ink)}
.bg-green{background:var(--green);color:var(--ink)}.bg-orange{background:var(--orange);color:var(--ink)}.bg-yellow{background:var(--yellow);color:var(--ink)}
.h-red{color:var(--red-t)}.h-blue{color:var(--blue-t)}.h-purple{color:var(--lavender-t)}.h-pink{color:var(--pink-t)}.h-green{color:var(--green-t)}.h-orange{color:var(--orange-t)}.h-yellow{color:var(--yellow-t)}.h-teal{color:var(--teal-t)}.h-indigo{color:var(--indigo-t)}
.c-red{background:var(--red)}.c-green{background:var(--green)}.c-purple{background:var(--lavender)}.c-orange{background:var(--orange)}.c-pink{background:var(--pink)}.c-yellow{background:var(--yellow)}.c-blue{background:var(--blue)}.c-teal{background:var(--teal)}.c-indigo{background:var(--indigo)}

.kicker{font-weight:800;font-size:1.02rem;letter-spacing:.005em;margin-bottom:.5rem}
.k-orange{color:var(--orange-t)}.k-pink{color:var(--pink-t)}.k-ink{color:var(--ink)}.k-blue{color:var(--blue-t)}.k-teal{color:var(--teal-t)}.k-indigo{color:var(--indigo-t)}.k-yellow{color:var(--yellow)}
.center-head{text-align:center;max-width:720px;margin:0 auto clamp(2.5rem,2rem + 2vw,3.5rem)}

/* Botones con volumen */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.75em 1.4em;border:0;border-radius:14px;font-family:inherit;font-weight:800;font-size:.98rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background-color .2s}
.btn-lg{min-height:56px;padding:.9em 1.7em;font-size:1.03rem}
.btn:hover{transform:translateY(2px)}
.btn:active{transform:translateY(5px);box-shadow:none!important}
.btn-yellow{background:var(--yellow);color:var(--ink);box-shadow:0 5px 0 var(--yellow-2)}
.btn-yellow:hover{box-shadow:0 3px 0 var(--yellow-2);color:var(--ink)}
.btn-purple{background:var(--blue);color:var(--ink);box-shadow:0 5px 0 var(--blue-2)}
.btn-purple:hover{box-shadow:0 3px 0 var(--blue-2);color:var(--ink)}
.btn-white{background:#fff;color:var(--ink);box-shadow:0 5px 0 rgba(0,0,0,.2)}
.btn-white:hover{box-shadow:0 3px 0 rgba(0,0,0,.2);color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.75rem}
.link-arrow,.link-light{display:inline-flex;align-items:center;gap:.4em;font-weight:800;text-decoration:none}
.link-arrow{color:var(--blue-t)}
.link-light{color:var(--ink)}
.link-arrow .ico,.link-light .ico{transition:transform .3s var(--ease)}
.link-arrow:hover .ico,.link-light:hover .ico{transform:translateX(5px)}

/* Formas decorativas */
.shape{position:absolute;z-index:var(--z-shape);display:block;width:var(--s,32px);pointer-events:none;animation:float var(--d,7s) ease-in-out infinite;animation-delay:var(--dl,0s);will-change:transform}
.shape svg{width:100%;height:auto;display:block}
@keyframes float{
  0%,100%{transform:translate(0,0) rotate(0)}
  25%{transform:translate(10px,-22px) rotate(9deg)}
  50%{transform:translate(-4px,-34px) rotate(-6deg)}
  75%{transform:translate(-12px,-16px) rotate(-12deg)}
}
.wave{display:block;width:100%;height:clamp(40px,6vw,90px)}

/* ---------- Encabezado ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);padding-top:.9rem;transition:padding-top .35s var(--ease)}
.site-header.scrolled{padding-top:.45rem}
.nav-row{display:flex;align-items:center;gap:1.5rem;min-height:74px;padding-block:.5rem;border-radius:22px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:0 14px 34px -22px rgba(21,20,46,.55);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:background-color .35s var(--ease),box-shadow .35s var(--ease)}
.site-header.scrolled .nav-row{background:var(--glass-2);box-shadow:0 16px 38px -20px rgba(21,20,46,.6);backdrop-filter:saturate(1.8) blur(30px);-webkit-backdrop-filter:saturate(1.8) blur(30px)}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  .nav-row,.site-header.scrolled .nav-row{background:rgba(255,255,255,.95)}
}
.brand{display:flex;align-items:center;color:var(--ink)}
/* El logotipo va en dos capas: la monocroma se pinta con currentColor y el cuadro de colores encima */
.logo{position:relative;display:block;width:106px;aspect-ratio:568/328;transition:transform .4s var(--bounce)}
.logo-mark{position:absolute;inset:0;background-color:currentColor;
  -webkit-mask:url(../img/logo-dime-mark.png) no-repeat center/contain;
          mask:url(../img/logo-dime-mark.png) no-repeat center/contain}
.logo-grid{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@supports not ((-webkit-mask-image:url(#m)) or (mask-image:url(#m))){
  .logo-mark{background:url(../img/logo-dime-mark-ink.png) no-repeat center/contain}
}
.brand:hover .logo{transform:scale(1.06) rotate(-2deg)}
.nav{margin-inline:auto}
.nav-list{display:flex;align-items:center;gap:.35rem}
.nav-link{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:.5rem .95rem;border-radius:12px;color:var(--ink);font-weight:800;font-size:.95rem;text-decoration:none;transition:color .25s var(--ease),background-color .25s var(--ease),transform .3s var(--bounce)}
.nav-link::after{content:"";position:absolute;left:50%;right:50%;bottom:.35rem;height:3px;border-radius:3px;background:currentColor;opacity:0;transition:left .3s var(--ease),right .3s var(--ease),opacity .2s}
.nav-link:hover{transform:translateY(-3px)}
.nav-link:hover::after,.nav-link[aria-current="page"]::after{left:.95rem;right:.95rem;opacity:1}
.nl-blue:hover,.nl-blue[aria-current="page"]{color:var(--blue-t)}
.nl-green:hover,.nl-green[aria-current="page"]{color:var(--green-t)}
.nl-purple:hover,.nl-purple[aria-current="page"]{color:var(--lavender-t)}
.nl-orange:hover,.nl-orange[aria-current="page"]{color:var(--orange-t)}
.nav-cta{flex:none}
.nav-cta-mobile{display:none}
.menu-btn{display:none}

/* ---------- Hero ---------- */
.hero{position:relative;background-color:var(--hero);background-image:radial-gradient(rgba(255,255,255,.22) 2px,transparent 2.5px);background-size:34px 34px;color:var(--ink);padding-top:calc(var(--hdr) + clamp(1.5rem,1rem + 2.5vw,3rem));overflow:hidden}
.hero-grid{display:grid;gap:2rem;align-items:center;padding-bottom:clamp(7rem,6rem + 4vw,10rem)}
.tag{display:inline-block;background:var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-line);color:var(--ink);border-radius:999px;padding:.4rem .9rem;font-weight:600;font-size:.85rem;margin-bottom:1.1rem}
.hero h1{color:var(--ink);font-size:clamp(2.35rem,1.5rem + 3.3vw,3.9rem);letter-spacing:-.02em}
.hero .lead{color:#1c2a3a}
.hero-art{position:relative;width:min(100%,520px);aspect-ratio:1;margin-inline:auto}
.hero-photo{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;padding:4%;background:var(--art);border-radius:47% 53% 44% 56% / 55% 45% 55% 45%;z-index:var(--z-content);animation:rise 1s var(--ease) .1s backwards}
.blob{position:absolute;display:block}
.blob-yellow{inset:0 0 10% 12%;background:var(--yellow);border-radius:58% 42% 50% 50% / 45% 55% 45% 55%;animation:morph 14s ease-in-out infinite}
.blob-pink{width:26%;aspect-ratio:1;left:-2%;bottom:6%;background:var(--lavender);border-radius:50% 50% 45% 55% / 55% 45% 55% 45%;animation:morph 11s ease-in-out infinite reverse}
@keyframes morph{
  0%,100%{border-radius:58% 42% 50% 50% / 45% 55% 45% 55%;transform:translate(0,0) scale(1)}
  33%{border-radius:45% 55% 60% 40% / 55% 40% 60% 45%;transform:translate(14px,-18px) scale(1.05)}
  66%{border-radius:52% 48% 38% 62% / 62% 52% 48% 38%;transform:translate(-12px,10px) scale(.96)}
}
.s-hero-star{--s:46px;color:var(--yellow);top:2%;left:4%;z-index:3}
.s-hero-ring{--s:54px;color:#fff;top:-2%;right:18%;--d:9s;z-index:3}
.s-hero-tri{--s:34px;color:var(--green);bottom:4%;right:4%;--d:8s;--dl:-2s;z-index:3}
.s-hero-dot{--s:18px;color:var(--orange);top:40%;right:-3%;--d:6s}
.s-hero-plus{--s:26px;color:var(--pink);bottom:-3%;left:30%;--d:10s;--dl:-4s;z-index:3}
.wave-hero{position:absolute;left:0;right:0;bottom:-1px;color:var(--bg)}

/* Tarjetas por tipo de paciente */
.audiences-wrap{position:relative;z-index:var(--z-content);margin-top:clamp(-7.5rem,-4rem - 3vw,-5.5rem)}
.audiences{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.audiences li:last-child{grid-column:1 / -1}
.aud{position:relative;display:flex;flex-direction:column;height:100%;min-height:230px;padding:1.3rem 1.25rem 1.25rem;border-radius:var(--radius);text-decoration:none;overflow:hidden;box-shadow:0 6px 0 rgba(21,20,46,.16);transition:transform .35s var(--ease),box-shadow .35s var(--ease);animation:rise .8s var(--ease) backwards}
.audiences li:nth-child(2) .aud{animation-delay:.06s}.audiences li:nth-child(3) .aud{animation-delay:.12s}.audiences li:nth-child(4) .aud{animation-delay:.18s}.audiences li:nth-child(5) .aud{animation-delay:.24s}
.aud:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:0 12px 0 rgba(21,20,46,.12)}
.aud-name{font-weight:800;font-size:1.35rem;line-height:1.15;margin-bottom:.35rem;position:relative;z-index:2}
.aud-txt{font-size:.9rem;line-height:1.45;max-width:17ch;position:relative;z-index:2}
.aud img{position:absolute;right:-14px;bottom:-14px;width:118px;height:118px;border-radius:50%;object-fit:cover;border:6px solid rgba(255,255,255,.9)}
.aud-go{margin-top:auto;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);position:relative;z-index:2;transition:transform .3s var(--ease)}
.aud:hover .aud-go{transform:translateX(4px)}

/* ---------- Secciones ---------- */
.section{position:relative;padding-block:var(--space)}
.about-grid{display:grid;gap:3rem;align-items:center}
.collage{position:relative;width:min(100%,560px);aspect-ratio:1;margin-inline:auto}
.collage img,.collage .block{position:absolute;display:block}
.block{border-radius:24px}
.block-green{left:2%;top:16%;width:58%;height:60%;background:var(--green)}
.block-orange{right:0;bottom:4%;width:46%;height:36%;background:var(--orange)}
.c-main{left:10%;top:6%;width:58%;aspect-ratio:1;object-fit:contain;padding:5%;background:color-mix(in srgb,var(--blue) 13%,#fff);border-radius:24px;z-index:2}
.c-sm1{right:5%;bottom:11%;width:50%;aspect-ratio:4/3;object-fit:contain;padding:4%;background:color-mix(in srgb,var(--green) 18%,#fff);border-radius:20px;box-shadow:0 0 0 6px color-mix(in srgb,var(--green) 40%,#fff);z-index:3}
.c-sm2{right:4%;top:2%;width:30%;aspect-ratio:1;object-fit:contain;padding:8%;background:color-mix(in srgb,var(--lavender) 16%,#fff);border-radius:50%;box-shadow:0 0 0 5px var(--lavender);z-index:3}
.s-col-star{--s:44px;color:var(--yellow);left:0;bottom:6%;z-index:4}
.s-col-ring{--s:40px;color:var(--lavender);right:40%;top:-2%;--d:9s}
.s-col-sq{--s:26px;color:var(--blue);left:4%;top:2%;--d:8s;--dl:-3s}
.s-col-arc{--s:40px;color:var(--red);right:-2%;top:40%;--d:10s;--dl:-5s}
.feats{display:grid;gap:1.25rem;margin-top:1.5rem}
.feats li{display:flex;gap:1rem;align-items:flex-start;color:var(--muted)}
.feats strong{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:.15rem}
.feat-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;flex:none}
.feat-ico .ico{width:26px;height:26px}

.why{background:var(--soft);overflow:hidden}
.why-list{display:grid;gap:2.5rem;text-align:center}
.why-list li{max-width:32ch;margin-inline:auto}
.why-list p{color:var(--muted)}
.num{display:grid;place-items:center;width:84px;height:78px;margin:0 auto 1.25rem;font-weight:800;font-size:2rem;box-shadow:0 5px 0 rgba(21,20,46,.14)}
.blob-a{border-radius:62% 38% 55% 45% / 52% 48% 52% 48%;transform:rotate(-6deg)}
.blob-b{border-radius:45% 55% 40% 60% / 60% 45% 55% 40%;transform:rotate(5deg)}
.blob-c{border-radius:55% 45% 62% 38% / 44% 58% 42% 56%;transform:rotate(-3deg)}
.s-why-tri{--s:40px;color:var(--lavender);left:4%;top:18%}
.s-why-dot{--s:22px;color:var(--blue);right:6%;bottom:16%;--d:6s}

/* Servicios (sección amarilla) */
.services{position:relative;color:var(--yellow)}
.services .wave-bottom{transform:scaleY(-1)}
.services-inner{background-color:var(--yellow);background-image:radial-gradient(rgba(21,20,46,.07) 2px,transparent 2.5px);background-size:30px 30px;color:var(--text);padding-block:clamp(2rem,1rem + 3vw,3.5rem);margin-block:-1px}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.5rem}
.svc{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--text);box-shadow:0 6px 0 rgba(21,20,46,.12);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.svc:hover{transform:translateY(-6px);box-shadow:0 12px 0 rgba(21,20,46,.1)}
.svc img{width:100%;aspect-ratio:3/2;object-fit:cover}
.svc-body{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem 1.35rem 2.9rem}
.svc-name{font-weight:800;font-size:1.15rem;line-height:1.25}
.svc-txt{color:var(--muted);font-size:.93rem;line-height:1.5}
.svc-go{position:absolute;right:1.1rem;bottom:1.1rem;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;transition:transform .3s var(--ease)}
.svc:hover .svc-go{transform:translateX(4px)}

/* Cómo empezar (caja azul) */
.start-box{position:relative;display:grid;gap:2rem;align-items:center;background:var(--blue);color:#12324a;border-radius:32px;padding:clamp(1.75rem,1rem + 3vw,3.5rem)}
.start-box h2{color:var(--ink)}
.start-art{position:relative;width:min(100%,380px);aspect-ratio:1;margin-inline:auto}
.start-art img{position:absolute;inset:8%;width:84%;height:84%;object-fit:cover;border-radius:50%;border:7px solid #fff;z-index:2}
.blob-orange{inset:0;background:var(--orange);border-radius:55% 45% 60% 40% / 45% 60% 40% 55%;animation:morph 13s ease-in-out infinite}
.s-start-star{--s:44px;color:var(--yellow);right:0;top:4%;z-index:3}
.s-start-ring{--s:46px;color:rgba(255,255,255,.6);right:3%;top:-18px}
.s-start-dot{--s:20px;color:var(--yellow);left:40%;bottom:-10px;--d:6s}
.steps{counter-reset:p;display:grid;gap:1rem;margin:1.25rem 0 2rem}
.steps li{counter-increment:p;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;line-height:1.5}
.steps li::before{content:counter(p);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--blue-t);font-weight:800}
.steps strong{color:var(--ink)}

/* Promoción */
.promo{padding-bottom:var(--space)}
.promo-box{position:relative;display:grid;gap:1.5rem;align-items:center;background:var(--lavender);color:#2b1638;border-radius:28px;padding:clamp(1.75rem,1rem + 3vw,3rem)}
.promo-box h2{color:var(--ink);font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);margin-bottom:.4em}
.promo-box p{margin:0;max-width:52ch}
.sticker{display:grid;place-content:center;text-align:center;width:120px;height:120px;border-radius:50%;background:var(--yellow);color:var(--ink);font-weight:600;font-size:.85rem;line-height:1.1;transform:rotate(-10deg);box-shadow:0 5px 0 var(--yellow-2)}
.sticker strong{display:block;font-size:2.2rem;font-weight:800;letter-spacing:-.02em}
.s-promo-star{--s:30px;color:var(--yellow);right:3%;top:-14px}
.s-promo-plus{--s:22px;color:var(--pink);left:44%;bottom:12px;--d:9s}

/* Preguntas frecuentes */
.faq-sec{padding-top:0}
.faq-grid{display:grid;gap:2rem}
.faq{display:grid;gap:.75rem}
.faq details{--fc:var(--lavender-t);--fcb:var(--lavender);border:2px solid var(--line);border-radius:18px;background:#fff;transition:background-color .3s,border-color .3s}
.faq .f-red{--fc:var(--red-t);--fcb:var(--red)}.faq .f-green{--fc:var(--green-t);--fcb:var(--green)}.faq .f-blue{--fc:var(--blue-t);--fcb:var(--blue)}.faq .f-orange{--fc:var(--orange-t);--fcb:var(--orange)}.faq .f-pink{--fc:var(--lavender-t);--fcb:var(--lavender)}
.faq details[open]{border-color:var(--fc);background:color-mix(in srgb,var(--fc) 7%,#fff)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;cursor:pointer;list-style:none;font-weight:800;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--fcb);color:var(--ink);font-size:1.3rem;line-height:1;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 1.25rem 1.2rem;margin:0;color:var(--muted);max-width:62ch}

/* Contacto */
.contact{color:var(--navy)}
.contact-inner{background:var(--navy);color:#dcdaf3;padding-block:clamp(2rem,1rem + 3vw,4rem) var(--space);margin-top:-1px}
.contact h2{color:#fff}
.contact .lead{color:#c9c6ea}
.contact-grid{display:grid;gap:2.5rem;align-items:start}
.contact-list{display:grid;gap:1rem;margin-top:1.75rem}
.contact-list li{display:flex;align-items:center;gap:.9rem}
.contact-list a{color:#fff;font-weight:600;text-decoration:none}
.contact-list a:hover{text-decoration:underline}
.ci{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;flex:none}
.form{background:#fff;color:var(--text);border-radius:24px;padding:clamp(1.25rem,1rem + 1.5vw,2.25rem);box-shadow:0 8px 0 rgba(0,0,0,.18)}
.form h3{font-size:1.4rem;margin-bottom:1rem}
.field{display:grid;gap:.35rem;margin-bottom:1rem}
.field label{font-weight:800;font-size:.9rem;color:var(--ink)}
.opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:.75rem .95rem;font:inherit;color:var(--ink);background:var(--soft);border:2px solid transparent;border-radius:14px;transition:border-color .2s,background-color .2s}
.field textarea{resize:vertical;min-height:100px}
.field input::placeholder{color:#6b6c80}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue-t);background:#fff}
.field input[aria-invalid="true"]{border-color:#c0141a}
.form .btn{width:100%;margin-top:.5rem}
.form-note{font-size:.82rem;color:var(--muted);margin:1rem 0 0}
.form-status{margin:.75rem 0 0;font-weight:800;min-height:1.5em}
.form-status.ok{color:#2f6b12}.form-status.err{color:#b3131a}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Pie */
.site-footer{background:var(--ink);color:#b9b8d0;font-size:.92rem}
.site-footer .logo{color:#fff}
.stripe{display:flex;height:8px}.stripe i{flex:1}
.footer-grid{display:grid;gap:2rem;padding-block:3.5rem 1rem}
.footer-brand .logo{width:126px;margin-bottom:1.15rem}
.footer-brand p{max-width:36ch}
.footer-title{font-weight:800;color:#fff;margin-bottom:.75rem}
.site-footer li{margin-bottom:.45rem}
.site-footer a{color:#e4e3f3;text-decoration:none}
.site-footer a:hover{color:var(--yellow)}
.footer-legal{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.25rem 1.75rem;font-size:.85rem}
.footer-legal::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);border-top:1px solid rgba(255,255,255,.12)}
.footer-legal p{margin:0}

.dock{position:fixed;left:50%;bottom:clamp(14px,1.4vw,24px);transform:translateX(-50%);z-index:var(--z-float);display:flex;align-items:center;gap:.4rem;max-width:calc(100vw - 24px);padding:.45rem;border-radius:999px;background:var(--glass-2);border:1px solid var(--glass-line);backdrop-filter:saturate(1.8) blur(30px);-webkit-backdrop-filter:saturate(1.8) blur(30px);box-shadow:0 18px 42px -22px rgba(21,20,46,.65);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.dock.hide{opacity:0;transform:translate(-50%,26px);pointer-events:none}
.dock-wa{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .95rem;border-radius:999px;color:var(--ink);font-weight:800;font-size:.93rem;text-decoration:none;white-space:nowrap;transition:background-color .25s var(--ease),transform .3s var(--bounce)}
.dock-wa:hover{background:rgba(255,255,255,.75);color:var(--ink);transform:translateY(-2px)}
.dock-wa .ico{width:22px;height:22px;flex:none;color:var(--green-t)}
.dock .btn{min-height:44px;padding:.5rem 1.15rem;font-size:.93rem;border-radius:999px;white-space:nowrap}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.dock{background:rgba(255,255,255,.96)}}
@media (max-width:479.98px){.dock-label{display:none}.dock-wa{padding:.5rem .7rem}.dock .btn{padding:.5rem .95rem;font-size:.88rem}}

@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero-copy > *{animation:rise .8s var(--ease) backwards}
.hero-copy > :nth-child(2){animation-delay:.06s}.hero-copy > :nth-child(3){animation-delay:.12s}.hero-copy > :nth-child(4){animation-delay:.18s}

/* ---------- Responsive ---------- */
@media (max-width:959.98px){
  .nav-row{min-height:62px;gap:1rem}
  :root{--hdr:92px}
  .brand .logo{width:90px}
  .nav-cta{display:none}
  .nav-cta-mobile{display:inline-flex;width:100%}
  .menu-btn{margin-left:auto;display:inline-flex;align-items:center;gap:.6rem;min-height:44px;padding:.5rem 1rem;border:0;border-radius:12px;background:var(--blue);color:var(--ink);font-family:inherit;font-weight:800;font-size:.92rem;cursor:pointer;box-shadow:0 4px 0 var(--blue-2)}
  .menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:18px;height:2px;background:currentColor;transition:transform .3s var(--ease),background-color .2s}
  .menu-icon{position:relative}
  .menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0}
  .menu-icon::before{top:-6px}.menu-icon::after{top:6px}
  .menu-btn[aria-expanded="true"] .menu-icon{background:transparent}
  .menu-btn[aria-expanded="true"] .menu-icon::before{transform:translateY(6px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] .menu-icon::after{transform:translateY(-6px) rotate(-45deg)}
  .nav{position:fixed;inset:var(--hdr) var(--gutter) auto;display:none;margin:0;padding:1rem 1.1rem 1.25rem;border-radius:22px;background:var(--glass-2);border:1px solid var(--glass-line);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 22px 40px -22px rgba(21,20,46,.55)}
  .nav.open{display:block;animation:dropIn .35s var(--ease)}
  @keyframes dropIn{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
  .nav-list{flex-direction:column;align-items:stretch;gap:.25rem;margin-bottom:1rem}
  .nav-link{min-height:54px;font-size:1.05rem;border-radius:14px}
  .nav-link:hover{transform:none;background:var(--soft)}
  .nav-link::after{display:none}
  body.menu-open{overflow:hidden}
  .hero{padding-top:calc(var(--hdr) + 1.25rem)}
  .ph-deco{display:none}
  .ph-noimg .page-hero-grid{padding-bottom:6rem}

}
@media (min-width:640px){
  .audiences{grid-template-columns:repeat(6,1fr)}
  .audiences li{grid-column:span 2}
  .audiences li:nth-child(4){grid-column:2 / span 2}
  .audiences li:last-child{grid-column:span 2}
  .why-list{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .promo-box{grid-template-columns:auto 1fr}
  .promo-box .btn{grid-column:2;justify-self:start}
}
@media (min-width:960px){
  .hero-grid{grid-template-columns:1.05fr 1fr;gap:3rem}
  .audiences{grid-template-columns:repeat(5,1fr)}
  .audiences li,.audiences li:nth-child(4),.audiences li:last-child{grid-column:auto}
  .aud{min-height:260px}
  .about-grid{grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6rem)}
  .start-box{grid-template-columns:.9fr 1.1fr;gap:3rem}
  .promo-box{grid-template-columns:auto 1fr auto;gap:2.5rem}
  .promo-box .btn{grid-column:auto}
  .faq-grid{grid-template-columns:5fr 7fr;gap:clamp(3rem,6vw,6rem)}
  .contact-grid{grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6rem)}
  .footer-grid{grid-template-columns:1.3fr 1fr 1fr 1.1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}
@media (max-width:639.98px){
  .aud{min-height:212px;padding:1.1rem 1rem 1rem}
  .aud-name{font-size:1.15rem}
  .aud-txt{font-size:.82rem;max-width:none}
  .aud img{width:84px;height:84px;right:-10px;bottom:-10px;border-width:5px}
  .audiences li:last-child .aud{min-height:170px}
  .audiences li:last-child .aud-txt{max-width:22ch}
}

.emt-fig{width:min(100%,520px);margin:1.75rem auto 0;padding:3%;background:color-mix(in srgb,var(--lavender) 12%,#fff);border-radius:26px}

.equipo-fig{display:block;width:min(100%,560px);margin:0 auto clamp(2rem,1.5rem + 2vw,3rem);padding:2.5%;background:color-mix(in srgb,var(--teal) 15%,#fff);border-radius:26px}

/* ---------- Cintillo de crédito ---------- */
.credito{background:var(--soft);color:var(--muted)}
.credito-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem 1rem;padding-block:1.1rem;font-size:.85rem}
.no-js .credito-row,.credito-row{padding-bottom:max(1.1rem,env(safe-area-inset-bottom))}
.credito-marca{display:inline-flex;align-items:center;transition:transform .35s var(--bounce),opacity .3s}
.credito-marca img{width:104px;height:auto;display:block}
.credito-marca:hover{transform:translateY(-3px) rotate(-2deg)}
.credito-marca:focus-visible{outline-offset:6px}
.credito-row p{margin:0;color:var(--muted)}
.credito-row p::before{content:"·";margin-right:.8rem;color:var(--line)}
@media (max-width:479.98px){.credito-row p::before{display:none}}

/* ---------- Proceso de evaluación ---------- */
.proc{margin-top:clamp(3.5rem,3rem + 3vw,5.5rem)}
.proc-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}
.proc-col{background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 3px 0 var(--line),0 14px 30px -22px rgba(21,20,46,.4);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.proc-col:hover{transform:translateY(-8px);box-shadow:0 3px 0 var(--line),0 26px 44px -24px rgba(21,20,46,.45)}
.proc-head{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding:1.5rem 1.6rem}
.proc-head h3{margin:0 0 .3em;font-size:1.3rem;color:inherit}
.proc-head p{margin:0;font-size:.94rem;line-height:1.5}
.proc-ico{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:16px;background:rgba(255,255,255,.62)}
.proc-ico svg{width:30px;height:30px;fill:none;stroke:var(--ink);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.proc-steps{padding:1.7rem 1.6rem 1.9rem;counter-reset:none}
.proc-steps > li{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1rem;padding-bottom:1.6rem}
.proc-steps > li:last-child{padding-bottom:0}
.proc-steps > li::before{content:"";position:absolute;left:19px;top:44px;bottom:6px;width:2px;background:var(--line);border-radius:2px}
.proc-steps > li:last-child::before{display:none}
.proc-n{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-weight:900;font-size:1.05rem;color:var(--ink);box-shadow:0 3px 0 rgba(21,20,46,.13)}
.proc-t{margin:.4rem 0 .35rem;font-weight:900;color:var(--ink);line-height:1.25}
.proc-dur{display:inline-block;margin-left:.15em;padding:.12rem .55rem;border-radius:999px;background:var(--soft);color:var(--muted);font-weight:800;font-size:.76rem;vertical-align:.12em}
.proc-x{margin:0;color:var(--muted);font-size:.94rem;line-height:1.55}
.proc-subs{display:grid;gap:.7rem;margin-top:.7rem}
.proc-subs li{padding:.85rem 1rem;border-radius:16px;background:var(--soft)}
.proc-st{margin:0 0 .25rem;font-weight:800;color:var(--ink);font-size:.95rem}
.proc-fig{display:block;width:100%;max-width:390px;margin:.9rem 0 .2rem;border-radius:18px;background:color-mix(in srgb,var(--blue) 9%,#fff);padding:2%}
.proc-fig-sub{max-width:380px;margin-top:.7rem;background:#fff}
.proc-fin{display:flex;align-items:flex-start;gap:.8rem;max-width:760px;margin:1.75rem auto 0;padding:1.25rem 1.5rem;border-radius:22px;background:var(--soft);color:var(--ink);font-weight:600;line-height:1.55}
.proc-fin .ico{flex:none;width:26px;height:26px;margin-top:.1em;fill:none;stroke:var(--lavender-t);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:640px){
  .proc-head{padding:1.25rem 1.2rem}
  .proc-steps{padding:1.4rem 1.2rem 1.6rem}
}

/* ==========================================================
   Páginas interiores
   ========================================================== */
.page-hero{position:relative;--ph:var(--lavender);--ph-ink:var(--ink);--ph-sub:rgba(21,20,46,.86);--ph-blob:var(--yellow);background-color:var(--ph);background-image:radial-gradient(rgba(255,255,255,.22) 2px,transparent 2.5px);background-size:34px 34px;color:var(--ph-sub);padding-top:calc(var(--hdr) + clamp(1rem,.5rem + 2vw,2.5rem));overflow:hidden}
.ph-red{--ph:var(--red)}.ph-blue{--ph:var(--blue);--ph-blob:var(--yellow)}
.ph-pink{--ph:var(--pink);--ph-blob:var(--yellow)}
.ph-purple{--ph:var(--lavender);--ph-sub:var(--ink);--ph-blob:var(--yellow)}
.ph-teal{--ph:var(--teal);--ph-blob:var(--yellow)}
.ph-indigo{--ph:var(--indigo);--ph-sub:var(--ink);--ph-blob:var(--yellow)}
.ph-yellow{--ph:var(--yellow);--ph-blob:var(--blue)}
.ph-green{--ph:var(--green);--ph-blob:var(--yellow)}
.ph-orange{--ph:var(--orange);--ph-blob:var(--blue)}
.page-hero h1{color:var(--ph-ink);font-size:clamp(2.1rem,1.4rem + 3vw,3.5rem);letter-spacing:-.02em}
.page-hero .lead{color:var(--ph-sub)}
.page-hero .link-light{color:var(--ph-ink)}
.ph-yellow .btn-yellow{background:#fff;box-shadow:0 5px 0 rgba(0,0,0,.18)}
.page-hero-grid{display:grid;gap:2rem;align-items:center;padding-bottom:clamp(5rem,4rem + 4vw,8rem)}
.crumbs{display:flex;gap:.5rem;font-size:.85rem;font-weight:600;margin-bottom:1rem;color:var(--ph-sub)}
.crumbs a{color:var(--ph-ink);text-decoration:none;opacity:.9}
.crumbs a:hover{text-decoration:underline}
.page-art{position:relative;width:min(100%,560px);margin-inline:auto;aspect-ratio:4/3.2}
.page-art img{position:absolute;inset:4% 3% 6% 6%;width:91%;height:90%;object-fit:contain;padding:4%;background:var(--art);border-radius:38% 62% 46% 54% / 48% 40% 60% 52%;z-index:2;animation:rise 1s var(--ease) .1s backwards}
.page-blob{inset:0 0 0 12%;background:var(--ph-blob);border-radius:58% 42% 50% 50% / 45% 55% 45% 55%;animation:morph 14s ease-in-out infinite}
.s-ph-star{--s:40px;color:#fff;top:0;left:2%;z-index:3}
.s-ph-ring{--s:46px;color:var(--ph-blob);bottom:0;left:4%;--d:9s;z-index:3}
.s-ph-dot{--s:18px;color:#fff;top:12%;right:-2%;--d:6s}

.detail-grid{display:grid;gap:2.5rem;align-items:start}
.prose p{font-size:1.06rem;line-height:1.72;max-width:68ch}
.side-card{background:#fff;border:2px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 6px 0 rgba(21,20,46,.06)}
.side-top{padding:1.1rem 1.4rem}
.side-top h3{margin:0;color:inherit;font-size:1.15rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:1.25rem 1.4rem}
.chips li{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .8rem;border-radius:999px;background:var(--soft);font-weight:600;font-size:.9rem;color:var(--ink)}
.chips .sq{width:.65em;height:.65em;border-radius:3px}
.side-cta{padding:0 1.4rem 1.5rem}
.side-cta p{color:var(--muted);font-size:.95rem}
.side-cta .btn{width:100%}

.related{padding-top:0}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:.9rem}
.rel{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px;padding:1rem 1.2rem;border-radius:18px;font-weight:800;line-height:1.25;text-decoration:none;box-shadow:0 5px 0 rgba(21,20,46,.14);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.rel:hover{transform:translateY(-4px);box-shadow:0 9px 0 rgba(21,20,46,.1)}
.rel.bg-red:hover,.rel.bg-blue:hover,.rel.bg-purple:hover,.rel.bg-pink:hover,.rel.bg-yellow:hover{color:var(--ink)}
.rel.bg-green:hover,.rel.bg-orange:hover{color:var(--ink)}

@media (min-width:960px){
  .page-hero-grid{grid-template-columns:1.05fr 1fr;gap:3rem}
  .detail-grid{grid-template-columns:7fr 5fr;gap:clamp(3rem,6vw,5rem)}
  .side-card{position:sticky;top:24px}
}

/* Hero sin foto */
.ph-noimg .page-hero-grid{grid-template-columns:1fr}
.ph-noimg .hero-copy{max-width:760px}
.ph-deco{position:absolute;inset:0;pointer-events:none}
.ph-deco .s-ph-star{top:18%;left:auto;right:12%}
.ph-deco .s-ph-ring{bottom:auto;top:52%;left:auto;right:26%}
.s-ph-tri{--s:36px;color:var(--yellow);top:30%;right:4%;--d:8s}
.s-ph-plus{--s:26px;color:rgba(255,255,255,.6);top:66%;right:10%;--d:10s}
.ph-noimg .page-hero-grid{position:relative}

/* Nosotros */
.quote{margin:1.75rem 0 0;padding:1.4rem 1.6rem;border-radius:20px;background:color-mix(in srgb,var(--lavender) 16%,#fff);color:var(--ink);font-weight:600;font-size:1.1rem;line-height:1.6;position:relative}
.quote::before{content:"“";position:absolute;top:-.35em;left:.4em;font-size:4rem;line-height:1;color:var(--lavender-t);font-weight:800}
.mv-grid{display:grid;gap:1.5rem}
.mv{position:relative;border-radius:28px;padding:clamp(1.75rem,1rem + 2vw,2.75rem);box-shadow:0 6px 0 rgba(21,20,46,.14)}
.mv h2{color:inherit;font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.mv p{margin:0;font-size:1.05rem;opacity:.95}
.mv .num{margin:0 0 1rem}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.5rem}
.pillar{background:#fff;border:2px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.pillar-top{display:block;padding:1rem 1.3rem;font-size:1.2rem}
.pillar-q{font-weight:800;padding:1.1rem 1.3rem 0;margin-bottom:.5rem;line-height:1.35}
.pillar p:last-child{padding:0 1.3rem 1.3rem;color:var(--muted);font-size:.95rem;margin:0}

/* Equipo */
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:1.75rem;text-align:center}
.member-photo{display:block;width:180px;aspect-ratio:1;margin:0 auto 1rem;border-radius:47% 53% 44% 56% / 55% 45% 55% 45%;overflow:hidden;border:6px solid #fff;box-shadow:0 0 0 4px var(--line)}
.member-photo img{width:100%;height:100%;object-fit:cover}
.member h3{margin-bottom:.2rem}
.member p{font-weight:800;font-size:.95rem}

/* Promociones */
.promo-cards{display:grid;gap:1.5rem}
.pcard{position:relative;border-radius:28px;padding:clamp(1.75rem,1rem + 3vw,3rem);box-shadow:0 6px 0 rgba(21,20,46,.16)}
.pcard h3{color:inherit;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin:1.25rem 0 .5rem}
.pcard p{max-width:40ch;opacity:.95;margin-bottom:1.5rem}
.pcard .sticker{width:130px;height:130px}
.sticker-green{background:var(--green);box-shadow:0 5px 0 var(--green-2);gap:.2rem;justify-items:center}
.s-pc-star{--s:40px;color:var(--yellow);right:6%;top:10%}
.s-pc-plus{--s:30px;color:rgba(255,255,255,.55);right:8%;top:12%}
.center-note{text-align:center;margin-top:2rem;color:var(--muted)}
.center-note a{font-weight:800}

/* Contacto */
.channels-wrap{margin-top:clamp(-6.5rem,-3rem - 3vw,-4.5rem)}
.channels{display:grid;grid-template-columns:1fr;gap:1rem}
.channel{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:1rem;align-items:center;padding:1.25rem;border-radius:20px;text-decoration:none;box-shadow:0 6px 0 rgba(21,20,46,.16);transition:transform .3s var(--ease),box-shadow .3s var(--ease);min-width:0}
.channel:hover{transform:translateY(-5px);box-shadow:0 11px 0 rgba(21,20,46,.12)}
.channel.bg-red:hover,.channel.bg-blue:hover{color:var(--ink)}.channel.bg-green:hover,.channel.bg-orange:hover{color:var(--ink)}
.ch-ico{grid-row:1 / 3;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--glass-2);border:1px solid var(--glass-line);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--ink)}
.ch-ico .ico{width:26px;height:26px}
.ch-label{font-size:.85rem;font-weight:600;opacity:.9}
.ch-val{font-weight:800;font-size:clamp(.92rem,.85rem + .3vw,1.05rem);overflow-wrap:anywhere}
.hours{padding-bottom:calc(var(--space) * .6)}
.hours-box{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2rem;justify-content:center}
.hours-box .num{margin:0}
.hours-box h2{margin-bottom:.4rem;font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.hours-list{display:flex;flex-wrap:wrap;gap:.5rem 2rem}
.hours-list li{display:flex;gap:.5rem;color:var(--muted)}
.hours-list strong{color:var(--ink)}
.narrow{max-width:760px}

@media (min-width:640px){
  .channels{grid-template-columns:1fr 1fr}
  .promo-cards{grid-template-columns:1fr 1fr}
  .mv-grid{grid-template-columns:1fr 1fr}
}
@media (min-width:1100px){
  .channels{grid-template-columns:repeat(4,1fr)}
}
.ph-noimg .page-hero-grid{padding-bottom:clamp(8rem,6rem + 5vw,10rem)}
.page-hero .hero-copy{position:relative;z-index:2}
@media (max-width:959.98px){.ph-deco{display:none}.ph-noimg .page-hero-grid{padding-bottom:6rem}}

/* Página de servicios */
.scards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.5rem}
.scard{display:flex;flex-direction:column;height:100%;border-radius:var(--radius);overflow:hidden;text-decoration:none;box-shadow:0 6px 0 rgba(21,20,46,.16);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.scard:hover{transform:translateY(-6px);box-shadow:0 12px 0 rgba(21,20,46,.12)}
.scard img{width:100%;aspect-ratio:4/3;object-fit:cover}
.scard-body{display:flex;flex-direction:column;gap:.4rem;padding:1.25rem 1.35rem 1.4rem}
.scard-name{font-weight:800;font-size:1.25rem;line-height:1.2}
.scard-txt{font-size:.95rem;line-height:1.5}
.scard-go{display:inline-flex;align-items:center;gap:.4em;margin-top:.4rem;font-weight:800;font-size:.92rem}
.scard-go .ico{transition:transform .3s var(--ease)}
.scard:hover .scard-go .ico{transform:translateX(5px)}

/* Mapa */
.mapa{padding-block:var(--space) 0}
.mapa-box{width:100%;background:var(--soft)}
.mapa-box iframe{display:block;width:100%;height:clamp(320px,52vh,560px);border:0}
.mapa-cta{display:flex;justify-content:center;padding-block:1.75rem}

/* ==========================================================
   Tarjetas con icono + movimiento más marcado
   ========================================================== */
.aud{min-height:250px;padding:1.5rem 1.4rem 1.4rem;transition:transform .45s var(--bounce),box-shadow .45s var(--ease)}
.aud img{display:none}
.aud-ico{display:grid;place-items:center;width:74px;height:74px;margin-bottom:1rem;border-radius:26px;background:rgba(255,255,255,.92);color:var(--ink);transition:transform .45s var(--bounce),border-radius .45s var(--ease)}
.aud-ico svg{width:40px;height:40px}
.aud-txt{max-width:22ch}
.aud:hover{transform:translateY(-16px) rotate(-2deg) scale(1.03);box-shadow:0 20px 0 rgba(21,20,46,.14)}
.aud:hover .aud-ico{transform:rotate(-10deg) scale(1.12);border-radius:50%}
.aud:hover .aud-go{transform:translateX(10px)}
.aud-all{background:var(--ink);color:#fff}
.aud-all .aud-ico{background:var(--yellow)}
.aud-all .aud-go{background:var(--yellow)}

.svc{padding-top:1.6rem;transition:transform .45s var(--bounce),box-shadow .45s var(--ease)}
.svc img{display:none}
.svc-ico{display:grid;place-items:center;width:68px;height:68px;margin:0 1.35rem .3rem;border-radius:22px;transition:transform .45s var(--bounce),border-radius .45s var(--ease)}
.svc-ico svg{width:36px;height:36px}
.svc-body{padding-top:.75rem}
.svc:hover{transform:translateY(-14px) scale(1.02);box-shadow:0 18px 0 rgba(21,20,46,.1)}
.svc:hover .svc-ico{transform:rotate(8deg) scale(1.1);border-radius:50%}
.svc:hover .svc-go{transform:translateX(10px) scale(1.1)}

.scard{padding-top:1.75rem;transition:transform .45s var(--bounce),box-shadow .45s var(--ease)}
.scard-ico{display:grid;place-items:center;width:84px;height:84px;margin:0 1.35rem;border-radius:28px;background:rgba(255,255,255,.92);color:var(--ink);transition:transform .45s var(--bounce),border-radius .45s var(--ease)}
.scard-ico svg{width:46px;height:46px}
.scard:hover{transform:translateY(-16px) rotate(1.5deg) scale(1.03);box-shadow:0 20px 0 rgba(21,20,46,.14)}
.scard:hover .scard-ico{transform:rotate(-10deg) scale(1.12);border-radius:50%}

.rel:hover{transform:translateY(-8px) scale(1.03)}
.channel:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 16px 0 rgba(21,20,46,.12)}
.btn:hover{transform:translateY(-3px) scale(1.03)}
.btn-yellow:hover{box-shadow:0 8px 0 var(--yellow-2)}
.btn-purple:hover{box-shadow:0 8px 0 var(--blue-2)}
.btn-white:hover{box-shadow:0 8px 0 rgba(0,0,0,.2)}
.btn:active{transform:translateY(3px) scale(.99)}
.dock:hover{box-shadow:0 22px 48px -22px rgba(21,20,46,.7)}
.member-photo{transition:transform .45s var(--bounce)}
.member:hover .member-photo{transform:rotate(-6deg) scale(1.06)}

/* ==========================================================
   Animaciones de entrada con más recorrido
   ========================================================== */
@keyframes rise{from{opacity:0;transform:translateY(56px) scale(.96)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.3) rotate(-12deg)}to{opacity:1;transform:none}}
.hero-copy > *{animation-duration:1s}
.hero-photo{animation:heroIn 1.2s var(--ease) .1s backwards}
@keyframes heroIn{from{opacity:0;transform:translateY(60px) scale(.88) rotate(-6deg)}to{opacity:1;transform:none}}
.page-art img{animation:heroIn 1.1s var(--ease) .1s backwards}

/* Revelado al hacer scroll (solo con JavaScript activo) */
.js .reveal{opacity:0;transform:translateY(60px)}
.js .reveal-l{transform:translateX(-70px)}
.js .reveal-r{transform:translateX(70px)}
.js .reveal.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0) * .09s)}

@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1!important;transform:none!important}
}

/* Equipo */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:2rem 1.5rem;text-align:center}
.member-photo{display:block;width:100%;max-width:210px;aspect-ratio:1;margin:0 auto 1.1rem;border-radius:47% 53% 44% 56% / 55% 45% 55% 45%;overflow:hidden;background:var(--soft);box-shadow:0 0 0 6px #fff,0 0 0 11px var(--ring,var(--blue));transition:transform .45s var(--bounce),border-radius .45s var(--ease),box-shadow .45s var(--ease)}
.member:hover .member-photo{transform:translateY(-8px) rotate(-4deg) scale(1.05);border-radius:50%;box-shadow:0 0 0 6px #fff,0 0 0 14px var(--ring,var(--blue))}
.member-photo img{width:100%;height:100%;object-fit:cover}
.ring-red{--ring:var(--red)}.ring-green{--ring:var(--green)}.ring-blue{--ring:var(--blue)}
.ring-orange{--ring:var(--orange)}.ring-purple{--ring:var(--lavender)}.ring-yellow{--ring:var(--yellow)}
.member h3{font-size:1.1rem;margin-bottom:.25rem}
.member-role{font-weight:800;font-size:.92rem;margin-bottom:.15rem}
.member-esp{color:var(--muted);font-size:.88rem;margin:0}

/* ==========================================================
   Catálogo de servicios interactivo
   ========================================================== */
.catalogo{padding-top:clamp(2.5rem,2rem + 2vw,4rem)}
.tabs-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3rem)}
.tab-btn{display:inline-flex;align-items:center;gap:.6rem;min-height:56px;padding:.75rem 1.4rem;border:2px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);font-family:inherit;font-weight:800;font-size:1rem;cursor:pointer;transition:transform .35s var(--bounce),box-shadow .35s var(--ease),background-color .3s,border-color .3s,color .3s}
.tab-btn svg{width:26px;height:26px;transition:transform .4s var(--bounce)}
.tab-btn:hover{transform:translateY(-5px) scale(1.03)}
.tab-btn:hover svg{transform:rotate(-8deg) scale(1.12)}
.tb-blue[aria-selected="true"]{background:var(--blue);border-color:var(--blue);box-shadow:0 6px 0 var(--blue-2)}
.tb-green[aria-selected="true"]{background:var(--green);border-color:var(--green);box-shadow:0 6px 0 var(--green-2)}
.tb-purple[aria-selected="true"]{background:var(--lavender);border-color:var(--lavender);box-shadow:0 6px 0 var(--lavender-2)}
.tab-btn[aria-selected="true"]{transform:translateY(-3px)}
.tab-panel{animation:panelIn .5s var(--ease)}
@keyframes panelIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.panel-head{max-width:720px;margin:0 auto 2.5rem;text-align:center}
.panel-head h3{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.2rem);margin-bottom:.5rem}
.panel-head p{color:var(--muted);font-size:1.05rem}

.cat-grid,.emt-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:1rem;align-items:start}
.cat-card{background:#fff;border:2px solid var(--line);border-radius:20px;overflow:hidden;transition:border-color .3s,box-shadow .35s var(--ease),transform .35s var(--bounce)}
.cat-card:hover{transform:translateY(-6px);box-shadow:0 10px 0 rgba(21,20,46,.07)}
.ct-red[open]{border-color:var(--red)}.ct-green[open]{border-color:var(--green)}.ct-blue[open]{border-color:var(--blue)}
.ct-orange[open]{border-color:var(--orange)}.ct-purple[open]{border-color:var(--lavender)}.ct-yellow[open]{border-color:var(--yellow)}
.cat-card summary{display:flex;align-items:center;gap:.9rem;padding:1.1rem 1.2rem;cursor:pointer;list-style:none}
.cat-card summary::-webkit-details-marker{display:none}
.cat-ico{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:16px;transition:transform .4s var(--bounce),border-radius .4s var(--ease)}
.cat-ico svg{width:28px;height:28px}
.cat-card:hover .cat-ico{transform:rotate(-8deg) scale(1.1);border-radius:50%}
.cat-name{flex:1;font-weight:800;color:var(--ink);line-height:1.3}
.cat-plus{position:relative;flex:none;width:26px;height:26px;border-radius:50%;background:var(--soft);transition:transform .35s var(--bounce),background-color .3s}
.cat-plus::before,.cat-plus::after{content:"";position:absolute;inset:50% 25%;height:2.5px;margin-top:-1.25px;border-radius:2px;background:var(--ink);transition:transform .35s var(--ease)}
.cat-plus::after{transform:rotate(90deg)}
.cat-card[open] .cat-plus{transform:rotate(135deg)}
.cat-card:hover .cat-plus{transform:scale(1.15)}
.cat-card[open]:hover .cat-plus{transform:rotate(135deg) scale(1.15)}
.cat-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.cat-card[open] .cat-wrap{grid-template-rows:1fr}
.cat-body{overflow:hidden;padding:0 1.2rem 1.2rem 1.2rem}
.cat-body p{color:var(--muted);margin-bottom:.75rem}
.bullets{display:grid;gap:.5rem}
.bullets li{display:flex;gap:.6rem;align-items:flex-start;color:var(--muted)}
.bullets .sq{width:10px;height:10px;border-radius:3px;margin-top:.5em;flex:none}

.nota{display:flex;gap:1.1rem;align-items:center;margin-top:1.5rem;padding:1.25rem 1.5rem;border-radius:20px;box-shadow:0 6px 0 rgba(21,20,46,.12)}
.nota-ico{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:50%;background:rgba(255,255,255,.75)}
.nota-ico svg{width:28px;height:28px}
.nota strong{display:block;font-size:1.05rem}
.nota p{margin:0;font-size:.95rem}

.sub-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}
.sub-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.6rem 1.15rem;border:2px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-family:inherit;font-weight:800;font-size:.95rem;cursor:pointer;transition:transform .35s var(--bounce),background-color .3s,border-color .3s,box-shadow .3s}
.sub-btn svg{width:22px;height:22px}
.sub-btn:hover{transform:translateY(-4px) scale(1.03)}
.sb-blue[aria-selected="true"]{background:var(--blue);border-color:var(--blue);box-shadow:0 5px 0 var(--blue-2)}
.sb-purple[aria-selected="true"]{background:var(--lavender);border-color:var(--lavender);box-shadow:0 5px 0 var(--lavender-2)}
.sub-panel{animation:panelIn .45s var(--ease)}
.panel-cta{display:flex;justify-content:center;margin-top:2.5rem}
@media (prefers-reduced-motion:reduce){.tab-panel,.sub-panel{animation:none}.cat-wrap{transition:none}}
html{overflow-x:clip}
@media (max-width:959.98px){
  .js .reveal-l,.js .reveal-r{transform:translateY(60px)}
  .tabs-nav{gap:.5rem}
  .tab-btn{min-height:50px;padding:.6rem 1rem;font-size:.92rem}
  .tab-btn svg{width:22px;height:22px}
}

/* ==========================================================
   Página de servicios (versión con secciones)
   ========================================================== */
.serv-nav{position:sticky;top:var(--hdr);z-index:20;background:var(--glass-2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-line)}
.serv-nav-row{display:flex;gap:.5rem;overflow-x:auto;padding-block:.6rem;scrollbar-width:none}
.serv-nav-row::-webkit-scrollbar{display:none}
.sn-link{display:inline-flex;align-items:center;gap:.5rem;flex:none;min-height:46px;padding:.5rem 1rem;border-radius:999px;color:var(--ink);font-weight:800;font-size:.95rem;text-decoration:none;white-space:nowrap;transition:transform .35s var(--bounce),background-color .3s,color .3s,box-shadow .3s}
.sn-link svg{width:22px;height:22px}
.sn-link:hover{transform:translateY(-4px) scale(1.04);color:var(--ink)}
.sn-blue:hover,.sn-blue.active{background:var(--blue);box-shadow:0 4px 0 var(--blue-2)}
.sn-green:hover,.sn-green.active{background:var(--green);box-shadow:0 4px 0 var(--green-2)}
.sn-purple:hover,.sn-purple.active{background:var(--lavender);box-shadow:0 4px 0 var(--lavender-2)}
.serv-sec{scroll-margin-top:150px}

.sec-intro{display:flex;gap:1.5rem;align-items:flex-start;max-width:860px;margin:0 auto clamp(2.5rem,2rem + 2vw,3.5rem)}
.sec-badge{display:grid;place-items:center;width:76px;height:76px;flex:none;border-radius:26px;box-shadow:0 6px 0 rgba(21,20,46,.12);transition:transform .45s var(--bounce),border-radius .45s var(--ease)}
.sec-badge svg{width:40px;height:40px}
.sec-intro:hover .sec-badge{transform:rotate(-8deg) scale(1.06);border-radius:50%}
.sec-intro h2{margin-bottom:.35em}
.sec-intro .lead{color:var(--muted);max-width:none}

/* Tarjetas de color (evaluaciones) */
.color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1.25rem}
.ccard{position:relative;display:flex;flex-direction:column;height:100%;padding:1.6rem 1.5rem 1.5rem;border-radius:24px;box-shadow:0 7px 0 rgba(21,20,46,.15);transition:transform .45s var(--bounce),box-shadow .45s var(--ease)}
.ccard:hover{transform:translateY(-14px) rotate(-1.5deg) scale(1.03);box-shadow:0 18px 0 rgba(21,20,46,.12)}
.ccard-ico{display:grid;place-items:center;width:66px;height:66px;margin-bottom:1rem;border-radius:22px;background:rgba(255,255,255,.9);color:var(--ink);transition:transform .45s var(--bounce),border-radius .45s var(--ease)}
.ccard-ico svg{width:36px;height:36px}
.ccard:hover .ccard-ico{transform:rotate(-10deg) scale(1.1);border-radius:50%}
.ccard h3{font-size:1.2rem;margin-bottom:.45rem;color:inherit}
.ccard p{font-size:.95rem;line-height:1.55;margin-bottom:1.1rem}
.ccard-link{margin-top:auto;display:inline-flex;align-items:center;gap:.4em;font-weight:800;font-size:.92rem;color:inherit;text-decoration:none}
.ccard-link .ico{transition:transform .3s var(--ease)}
.ccard:hover .ccard-link .ico{transform:translateX(8px)}
.ccard-nota{background:var(--soft);border:2px dashed var(--lavender)}
.ccard-nota .ccard-ico{background:var(--yellow)}

/* Lista de sesiones */
.line-list{display:grid;gap:.9rem;max-width:900px;margin-inline:auto}
.line-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.1rem;padding:1.1rem 1.25rem;background:var(--glass-2);border:1px solid var(--glass-line);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:20px;text-decoration:none;color:var(--text);box-shadow:0 6px 0 rgba(21,20,46,.1);transition:transform .45s var(--bounce),box-shadow .45s var(--ease)}
.line-item:hover{transform:translateX(12px) scale(1.01);box-shadow:0 10px 0 rgba(21,20,46,.08);color:var(--text)}
.line-ico{display:grid;place-items:center;width:58px;height:58px;flex:none;border-radius:20px;transition:transform .45s var(--bounce),border-radius .45s var(--ease)}
.line-ico svg{width:30px;height:30px}
.line-item:hover .line-ico{transform:rotate(-10deg) scale(1.1);border-radius:50%}
.line-name{display:block;font-weight:800;color:var(--ink);font-size:1.08rem;line-height:1.3}
.line-txt{display:block;color:var(--muted);font-size:.93rem;line-height:1.5;margin-top:.15rem}
.line-go{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;transition:transform .35s var(--bounce)}
.line-item:hover .line-go{transform:translateX(6px) scale(1.12)}

/* Estimulación magnética */
.emt-sec{background:linear-gradient(180deg,#fff 0%,var(--soft) 100%)}
.emt-head{text-align:center;max-width:820px;margin:0 auto clamp(2.5rem,2rem + 2vw,3.5rem)}
.emt-head .sec-badge{margin:0 auto 1.25rem}
.emt-head .lead{color:var(--muted);margin-inline:auto}
.emt-block{margin-bottom:clamp(2.5rem,2rem + 2vw,3.5rem)}
.emt-title{display:flex;align-items:center;gap:1rem;font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem);margin-bottom:1.5rem}
.emt-ico{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:18px}
.emt-ico svg{width:28px;height:28px}
.emt-line{flex:1;height:5px;border-radius:5px;opacity:.5}
.cond-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.25rem}
.cond{height:100%;padding:1.4rem 1.5rem;background:#fff;border:2px solid var(--line);border-radius:22px;transition:transform .45s var(--bounce),border-color .3s,box-shadow .45s var(--ease)}
.cond:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 14px 0 rgba(21,20,46,.07)}
.cond.ct-blue:hover{border-color:var(--blue)}
.cond.ct-purple:hover{border-color:var(--lavender)}
.cond h4{margin:0 0 .75rem;font-size:1.1rem;font-weight:800;color:var(--ink)}
.emt-cta{position:relative;display:grid;gap:1.5rem;align-items:center;padding:clamp(1.75rem,1rem + 3vw,2.75rem);border-radius:28px;box-shadow:0 7px 0 rgba(21,20,46,.15)}
.emt-cta h3{font-size:clamp(1.25rem,1.1rem + .8vw,1.7rem);margin-bottom:.4rem;color:inherit}
.emt-cta p{margin:0;max-width:52ch}

@media (min-width:640px){
  .cnote{grid-column:span 1}
  .emt-cta{grid-template-columns:1fr auto}
}
@media (max-width:959.98px){
  .serv-nav{top:var(--hdr)}
  .sec-intro{gap:1rem}
  .sec-badge{width:60px;height:60px;border-radius:20px}
  .sec-badge svg{width:32px;height:32px}
  .line-item:hover{transform:translateY(-6px)}
}
