/* ═══════════════════════════════════════════════════════════════════════
   Capa visual del sitio público (Clínica y Fundación).
   Se carga después del CSS de cada sede y de site.css. Usa las variables
   que cada sede define en su hoja: --sede-* (color de la sede), --acento
   (coral / ámbar), --acento-texto (el mismo acento, legible sobre blanco),
   --hero-ink (texto claro de acento sobre fondo oscuro), --aurora-a/b/c
   (manchas de luz del fondo) y --spot (brillo que sigue al cursor).

   Todo lo que se mueve respeta "prefers-reduced-motion": quien pide menos
   movimiento ve la misma página, quieta.
   ═══════════════════════════════════════════════════════════════════════ */

:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.45,.05,.55,.95)}

/* ── Textura y luz (se usan en el hero, cabeceras y secciones oscuras) ── */
.grain{position:absolute;inset:0;pointer-events:none;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.aurora span{position:absolute;border-radius:50%;filter:blur(72px);opacity:.5;will-change:transform;animation:aurora 24s var(--ease-soft) infinite alternate}
.aurora-b1{width:58vw;height:58vw;max-width:760px;max-height:760px;background:var(--aurora-a);top:-22%;left:-12%}
.aurora-b2{width:46vw;height:46vw;max-width:620px;max-height:620px;background:var(--aurora-b);bottom:-28%;right:-6%;animation-duration:30s;animation-delay:-9s}
.aurora-b3{width:30vw;height:30vw;max-width:430px;max-height:430px;background:var(--aurora-c);top:28%;right:22%;opacity:.26;animation-duration:20s;animation-delay:-5s}
.aurora--soft span{opacity:.3}
.aurora--soft .aurora-b3{opacity:.14}
@keyframes aurora{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(7%,-9%,0) scale(1.14)}100%{transform:translate3d(-6%,7%,0) scale(.94)}}
/* Cuadrícula fina que se desvanece hacia los bordes (antes era un div con estilo en línea en cada vista). */
.hero-bg-pattern{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(85% 85% at 50% 40%,#000 25%,transparent 100%);mask-image:radial-gradient(85% 85% at 50% 40%,#000 25%,transparent 100%)}

/* ── Hero del inicio ─────────────────────────────────────────────────── */
.hero-v2{background:radial-gradient(120% 95% at 88% 0%,var(--sede-700) 0%,var(--sede-900) 58%,var(--sede-900) 100%);min-height:auto}
.hero-v2::before,.hero-v2::after{display:none}
.hero-v2 .hero-row{min-height:calc(100dvh - 72px);padding:64px 0 136px}
.hero-v2 .hero-eyebrow{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);margin-bottom:1.3rem}
.hero-v2 h1{font-size:clamp(2.5rem,5.6vw,4.5rem);line-height:1.04;letter-spacing:-.03em;max-width:680px;text-wrap:balance;margin-bottom:1.4rem}
.hero-v2 h1 em{color:var(--hero-ink)}
.hero-v2 .hero-subtitle{font-size:clamp(1rem,1.25vw,1.15rem);max-width:520px;color:rgba(255,255,255,.8);margin-bottom:2.3rem}
.hero-v2 .hero-trust-row{gap:1.4rem 1.8rem}

/* Entrada: el título palabra por palabra, el resto en cascada. Sin JS, el
   título simplemente se ve (las clases .w solo existen cuando el script corre). */
.rv{opacity:0;transform:translateY(18px);animation:rvIn .9s var(--ease-out) forwards}
.rv-1{animation-delay:.1s}.rv-2{animation-delay:.3s}.rv-3{animation-delay:.6s}.rv-4{animation-delay:.75s}.rv-5{animation-delay:.9s}
@keyframes rvIn{to{opacity:1;transform:none}}
.rv-words .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .04em .14em;margin:0 -.04em -.14em}
.rv-words .w>span{display:inline-block;transform:translateY(112%);animation:wordUp 1s var(--ease-out) forwards;animation-delay:calc(.2s + var(--i,0)*.055s)}
@keyframes wordUp{to{transform:none}}

/* Orbe que respira: inhala 4 s, sostiene 2 s, exhala 5 s (ciclo de 12 s). */
.hero-visual{position:relative;width:min(100%,400px);aspect-ratio:1;margin:0 0 0 auto}
.respira{position:absolute;inset:0}
.respira-ring{position:absolute;inset:0;border-radius:50%;animation:respira 12s var(--ease-soft) infinite}
.respira-r1{background:radial-gradient(circle,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 68%)}
.respira-r2{inset:11%;border:1px solid rgba(255,255,255,.28);animation-delay:-.25s}
.respira-r3{inset:22%;background:radial-gradient(circle,var(--aurora-b) 0%,transparent 70%);opacity:.65;filter:blur(16px);animation-delay:-.5s}
.respira-core{position:absolute;inset:33%;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;box-shadow:inset 0 0 44px rgba(255,255,255,.08),0 30px 70px rgba(0,0,0,.28);animation:respiraCore 12s var(--ease-soft) infinite}
.respira-txt{grid-area:1/1;font-family:var(--font-display);font-style:italic;font-size:1.45rem;color:#fff;letter-spacing:.01em;opacity:0}
.respira-txt:nth-child(1){animation:txtInhala 12s linear infinite}
.respira-txt:nth-child(2){animation:txtSosten 12s linear infinite}
.respira-txt:nth-child(3){animation:txtExhala 12s linear infinite}
@keyframes respira{0%{transform:scale(1)}33%{transform:scale(1.3)}50%{transform:scale(1.3)}92%{transform:scale(1)}100%{transform:scale(1)}}
@keyframes respiraCore{0%{transform:scale(1)}33%{transform:scale(1.12)}50%{transform:scale(1.12)}92%{transform:scale(1)}100%{transform:scale(1)}}
@keyframes txtInhala{0%{opacity:0}5%,28%{opacity:1}36%,100%{opacity:0}}
@keyframes txtSosten{0%,33%{opacity:0}38%,47%{opacity:1}53%,100%{opacity:0}}
@keyframes txtExhala{0%,52%{opacity:0}58%,86%{opacity:1}94%,100%{opacity:0}}
.respira-cap{position:absolute;left:50%;bottom:-2.4rem;transform:translateX(-50%);white-space:nowrap;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
/* Chips de vidrio que flotan alrededor del orbe */
.chip{position:absolute;display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:.8rem;font-weight:600;padding:.55rem .95rem;border-radius:40px;box-shadow:0 14px 34px rgba(0,0,0,.22);white-space:nowrap;animation:chipFloat 6s ease-in-out infinite}
.chip i{color:var(--hero-ink);font-size:1rem}
.chip .bi-whatsapp{color:#25D366}
.chip-a{top:5%;right:-4%}
.chip-b{bottom:7%;left:-10%;animation-delay:-2s}
.chip-c{top:49%;right:-15%;animation-delay:-4s}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
/* En el teléfono el orbe queda detrás del texto, como luz de fondo. */
.respira-mini{position:absolute;inset:auto;top:-70px;right:-90px;width:250px;height:250px;opacity:.45;pointer-events:none;z-index:1}
/* Invitación a bajar */
.scroll-cue{position:absolute;bottom:5.8rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(255,255,255,.5);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;transition:color .3s}
.scroll-cue:hover{color:#fff}
.scroll-cue span{width:22px;height:34px;border:1.5px solid rgba(255,255,255,.4);border-radius:12px;position:relative}
.scroll-cue span::after{content:'';position:absolute;top:6px;left:50%;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:#fff;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}

/* ── Cifras: tarjeta flotante que cruza el borde del hero ───────────── */
.stats-float{position:relative;z-index:3;margin-top:-76px}
.stats-card{background:#fff;border:1px solid var(--border);border-radius:26px;box-shadow:0 30px 70px -24px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.04);display:grid;grid-template-columns:repeat(4,1fr);padding:1.5rem .8rem;position:relative;overflow:hidden}
.stats-card::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--sede-600),var(--acento))}
.stats-card .stat{text-align:center;padding:.5rem 1rem;border-left:1px solid var(--border)}
.stats-card .stat:first-child{border-left:none}
.stats-card .stat-num{font-family:var(--font-display);font-size:clamp(1.9rem,2.6vw,2.5rem);color:var(--sede-800);line-height:1}
.stats-card .stat-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-top:.4rem;font-weight:700}

/* ── Títulos de sección un poco más editoriales ─────────────────────── */
.section-title,.section-title-light{font-size:clamp(2rem,3.8vw,2.9rem);letter-spacing:-.03em;line-height:1.1;text-wrap:balance}
.section-subtitle,.section-subtitle-light{font-size:1.02rem;line-height:1.7}

/* ── Servicios / programas en cuadrícula "bento" ────────────────────── */
.svc-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(3,1fr)}
.svc-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:22px;padding:1.7rem;color:inherit;text-decoration:none;overflow:hidden;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .3s,opacity .65s var(--ease-out)}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--s-lg);border-color:var(--sede-400);color:inherit}
.svc-icon{width:52px;height:52px;border-radius:16px;background:var(--sede-100);color:var(--sede-700);display:grid;place-items:center;font-size:1.35rem;margin-bottom:1.1rem;transition:transform .5s var(--ease-out),background .3s,color .3s}
.svc-card:hover .svc-icon{transform:rotate(-6deg) scale(1.08);background:var(--sede-700);color:#fff}
.svc-card h3{font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:.45rem;letter-spacing:-.01em}
.svc-card p{color:var(--ink-3);font-size:.9rem;line-height:1.65;flex:1;margin:0}
.svc-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:1.1rem}
.svc-price{font-size:.78rem;font-weight:700;color:var(--sede-800);background:var(--sede-100);padding:.22rem .7rem;border-radius:40px}
.svc-arrow{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;color:var(--sede-700);margin-left:auto;transition:background .3s,color .3s,border-color .3s,transform .5s var(--ease-out)}
.svc-card:hover .svc-arrow{background:var(--sede-700);color:#fff;border-color:var(--sede-700);transform:translateX(3px)}
.svc-card--feat{background:linear-gradient(145deg,var(--sede-800) 0%,var(--sede-600) 100%);border-color:transparent;color:#fff;padding:2.1rem}
.svc-card--feat::before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.2),transparent 65%);top:-130px;right:-110px;pointer-events:none}
.svc-card--feat .svc-icon{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.2)}
.svc-card--feat h3{color:#fff;font-family:var(--font-display);font-size:1.75rem;letter-spacing:-.02em;line-height:1.15}
.svc-card--feat p{color:rgba(255,255,255,.84);font-size:1rem}
.svc-card--feat .svc-price{background:rgba(255,255,255,.14);color:#fff}
.svc-card--feat .svc-arrow{border-color:rgba(255,255,255,.35);color:#fff}
.svc-card--feat:hover{color:#fff;border-color:transparent}
.svc-card--feat:hover .svc-arrow{background:#fff;color:var(--sede-800);border-color:#fff}
.svc-card--feat:hover .svc-icon{background:#fff;color:var(--sede-800)}
.svc-mark{position:absolute;right:-.6rem;top:50%;transform:translateY(-50%) rotate(-8deg);font-size:8.5rem;line-height:1;color:rgba(255,255,255,.07);pointer-events:none}
.svc-grid--feat .svc-card--feat{grid-row:span 2}
.svc-card--more{border-style:dashed;align-items:center;justify-content:center;text-align:center;color:var(--sede-700);font-weight:700;gap:.5rem;background:var(--surface)}
.svc-card--more i{font-size:1.7rem}
.svc-card--more:hover{background:var(--sede-50);border-color:var(--sede-600);color:var(--sede-800)}
.svc-etiqueta{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);padding:.25rem .7rem;border-radius:40px;margin-bottom:1.1rem}

/* ── Cómo funciona: tres pasos unidos por una línea que se dibuja ───── */
.pasos{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3.2rem}
.pasos::before,.pasos::after{content:'';position:absolute;top:35px;left:calc(16.66% + 42px);right:calc(16.66% + 42px);height:2px;border-radius:2px}
.pasos::before{background:var(--border)}
.pasos::after{background:linear-gradient(90deg,var(--sede-600),var(--acento));transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease-out) .3s}
.pasos.visible::after{transform:scaleX(1)}
.paso{position:relative;text-align:center;padding:0 1rem}
.paso-ico{position:relative;z-index:1;width:72px;height:72px;border-radius:24px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;font-size:1.55rem;color:var(--sede-700);box-shadow:0 12px 30px -12px rgba(0,0,0,.18);margin:0 auto 1.3rem;transition:transform .5s var(--ease-out),background .3s,color .3s,border-color .3s}
.paso:hover .paso-ico{transform:translateY(-5px) rotate(-5deg);background:var(--sede-700);color:#fff;border-color:var(--sede-700)}
.paso-num{display:block;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--acento-texto);font-weight:700;margin-bottom:.5rem}
.paso h3{font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:.45rem;letter-spacing:-.01em}
.paso p{color:var(--ink-3);font-size:.9rem;line-height:1.65;margin:0 auto;max-width:280px}

/* ── Manifiesto: una frase grande, sin adornos ──────────────────────── */
.manifiesto{padding:96px 0;background:linear-gradient(180deg,#fff 0%,var(--sede-50) 100%);position:relative;overflow:hidden}
.manifiesto-inner{max-width:880px;margin:0 auto;text-align:center;position:relative}
.manifiesto-q{position:absolute;top:-78px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:12rem;line-height:1;color:var(--sede-100);pointer-events:none;user-select:none}
.manifiesto h2{font-family:var(--font-display);font-size:clamp(1.9rem,4.2vw,3.3rem);line-height:1.15;letter-spacing:-.025em;color:var(--ink);margin-bottom:1.1rem;position:relative;text-wrap:balance}
.manifiesto h2 em{color:var(--sede-700);font-style:italic}
.manifiesto p{color:var(--ink-3);font-size:1.1rem;max-width:640px;margin:0 auto;line-height:1.7;position:relative}
.manifiesto-firma{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.7rem;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sede-700);font-weight:700}
.manifiesto-firma::before,.manifiesto-firma::after{content:'';width:36px;height:1px;background:var(--sede-400)}

/* ── Equipo ─────────────────────────────────────────────────────────── */
.psych-card{border-radius:22px;background:linear-gradient(180deg,var(--sede-50) 0%,#fff 160px);position:relative;overflow:hidden;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .3s}
.psych-card::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--sede-600),var(--acento));opacity:0;transition:opacity .3s}
.psych-card:hover{transform:translateY(-8px);box-shadow:var(--s-lg);border-color:var(--sede-400)}
.psych-card:hover::before{opacity:1}
.psych-avatar{width:88px;height:88px;font-size:1.5rem;margin:2.1rem auto 1rem;box-shadow:0 0 0 5px #fff,0 0 0 7px var(--sede-100),0 14px 30px -10px rgba(0,0,0,.25);transition:box-shadow .3s,transform .5s var(--ease-out)}
.psych-card:hover .psych-avatar{box-shadow:0 0 0 5px #fff,0 0 0 7px var(--acento),0 18px 34px -10px rgba(0,0,0,.3);transform:scale(1.04)}
.psych-body h5{font-size:1.05rem}
.psych-body .btn-primary-custom{width:100%;justify-content:center}

/* ── Eventos en el inicio: imagen completa sobre fondo difuminado y fecha ─ */
.event-card{border-radius:22px}
.event-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--sede-900)}
.event-media::before{content:'';position:absolute;inset:-24px;background:var(--img,none) center/cover;filter:blur(18px) saturate(1.2);opacity:.8;transform:scale(1.1)}
.event-media img{position:relative;width:100%;height:100%;object-fit:contain;cursor:zoom-in;transition:transform .7s var(--ease-out)}
.event-card:hover .event-media img{transform:scale(1.04)}
.event-media .event-img-placeholder{position:relative;height:100%;background:linear-gradient(135deg,var(--sede-600),var(--sede-900));font-size:3.2rem}
.event-date{position:absolute;top:.9rem;left:.9rem;z-index:2;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:14px;padding:.45rem .7rem;text-align:center;line-height:1;box-shadow:0 8px 20px rgba(0,0,0,.18);min-width:52px}
.event-date strong{display:block;font-family:var(--font-display);font-size:1.5rem;color:var(--sede-800)}
.event-date span{display:block;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:.2rem;font-weight:700}
.event-type--over{position:absolute;top:.95rem;right:.9rem;z-index:2;margin:0;box-shadow:0 6px 16px rgba(0,0,0,.2)}

/* ── Sección oscura "por qué elegirnos": tarjetas de vidrio ─────────── */
.section-dark{background:radial-gradient(120% 100% at 10% 0%,var(--sede-800) 0%,var(--sede-900) 62%)}
.features-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.feature-item--glass{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:1.05rem 1.15rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .3s,transform .4s var(--ease-out),border-color .3s}
.feature-item--glass:hover{background:rgba(255,255,255,.1);transform:translateY(-3px);border-color:rgba(255,255,255,.22)}
.feature-item--glass .feature-icon{background:rgba(255,255,255,.1);color:var(--acento);border:1px solid rgba(255,255,255,.12)}
.feature-item--glass .feature-title{color:#fff}
.feature-item--glass .feature-desc{color:rgba(255,255,255,.66)}
.features-grid .feature-item--glass:last-child:nth-child(odd){grid-column:span 2}

/* ── Llamado final ──────────────────────────────────────────────────── */
.cta-v2{padding:112px 0;background:radial-gradient(120% 100% at 50% 100%,var(--sede-800) 0%,var(--sede-900) 65%)}
.cta-v2::before{display:none}
.cta-v2 .section-title-light{font-size:clamp(2.1rem,4.6vw,3.5rem);letter-spacing:-.03em;margin-bottom:.9rem}
.btn-pulse{position:relative}
.btn-pulse::before{content:'';position:absolute;inset:-4px;border-radius:inherit;border:2px solid rgba(255,255,255,.45);animation:pulse 2.4s ease-out infinite;pointer-events:none}
@keyframes pulse{0%{transform:scale(.96);opacity:.8}70%{transform:scale(1.12);opacity:0}100%{opacity:0}}

/* ── Preguntas frecuentes ───────────────────────────────────────────── */
.faq .accordion-item{border:1px solid var(--border)!important;border-radius:18px!important;margin-bottom:.6rem;overflow:hidden;background:#fff;transition:border-color .3s,box-shadow .3s}
.faq .accordion-item:hover{border-color:var(--sede-400)!important}
.faq .accordion-item:has(.accordion-button:not(.collapsed)){box-shadow:var(--s);border-color:var(--sede-400)!important}
.faq .accordion-button{padding:1.05rem 1.3rem;gap:.9rem;font-size:.98rem;background:#fff;border-radius:0}
.faq .accordion-button:not(.collapsed){background:#fff;color:var(--sede-800)}
.faq .accordion-button::after{content:'+';background-image:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;font-size:1.3rem;line-height:1;font-weight:300;color:var(--sede-700);transition:transform .35s var(--ease-out),background .3s,color .3s,border-color .3s}
.faq .accordion-button:not(.collapsed)::after{transform:rotate(45deg);background:var(--sede-700);color:#fff;border-color:var(--sede-700)}
.faq-n{font-size:.72rem;letter-spacing:.14em;color:var(--acento-texto);font-weight:700;flex-shrink:0}
.faq .accordion-body{padding:0 1.3rem 1.2rem 3.4rem;font-size:.93rem}

/* ── Pie de página ──────────────────────────────────────────────────── */
footer{position:relative;overflow:hidden}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--sede-400) 40%,var(--acento) 60%,transparent)}
.footer-mark{position:absolute;right:-1%;bottom:-9%;font-family:var(--font-body);font-weight:800;font-size:clamp(9rem,24vw,22rem);line-height:.9;color:rgba(255,255,255,.035);pointer-events:none;letter-spacing:-.06em;user-select:none}
footer .container{position:relative}
.footer-legal{display:flex;gap:1.3rem;justify-content:center;flex-wrap:wrap;margin-top:.45rem}
.footer-legal a{display:inline;margin:0;font-size:.76rem;color:rgba(255,255,255,.4)}
.footer-legal a:hover{padding-left:0;color:#fff}

/* ── Botones con destello y tarjetas con brillo que sigue al cursor ── */
.btn-coral,.btn-amber,.btn-primary-custom{position:relative;overflow:hidden;isolation:isolate}
.btn-coral::after,.btn-amber::after,.btn-primary-custom::after{content:'';position:absolute;top:0;bottom:0;left:-80%;width:45%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.38) 50%,transparent 100%);transform:skewX(-22deg);transition:left .7s var(--ease-out);pointer-events:none}
.btn-coral:hover::after,.btn-amber:hover::after,.btn-primary-custom:hover::after{left:130%}
.spot{position:relative}
.spot::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(320px circle at var(--x,50%) var(--y,50%),var(--spot),transparent 62%);opacity:0;transition:opacity .4s;pointer-events:none;z-index:0}
.spot:hover::after{opacity:1}
.spot>*{position:relative;z-index:1}

/* ── Cabeceras de las páginas interiores (mismo lenguaje que el hero) ── */
.page-hero{background:radial-gradient(120% 110% at 90% 0%,var(--sede-700) 0%,var(--sede-900) 62%);padding:78px 0 62px;color:#fff;position:relative;overflow:hidden}
.page-hero--compact{padding:54px 0 44px}
.page-hero h1{text-wrap:balance}
.page-hero .aurora span{filter:blur(60px)}
.psych-profile-header.page-hero{padding:68px 0 48px}

/* ── Responsivo ─────────────────────────────────────────────────────── */
@media(max-width:1199px){.chip-c{display:none}.chip-a{right:0}.chip-b{left:-4%}}
@media(max-width:991px){
  .hero-v2 .hero-row{min-height:auto;padding:56px 0 112px}
  .stats-float{margin-top:-60px}
  .svc-grid{grid-template-columns:1fr 1fr}
  .svc-grid--feat .svc-card--feat{grid-row:auto;grid-column:span 2}
}
@media(max-width:767px){
  .hero-v2 .hero-row{padding:40px 0 100px}
  .hero-v2 h1{font-size:clamp(2.2rem,9vw,3rem)}
  .stats-card{grid-template-columns:1fr 1fr;padding:1rem .5rem;border-radius:22px}
  .stats-card .stat{padding:.7rem .5rem}
  .stats-card .stat:nth-child(odd){border-left:none}
  .stats-card .stat:nth-child(n+3){border-top:1px solid var(--border)}
  .manifiesto{padding:72px 0}
  .manifiesto-q{font-size:8rem;top:-56px}
  .pasos{grid-template-columns:1fr;gap:2.2rem}
  .pasos::before,.pasos::after{display:none}
  .cta-v2{padding:80px 0}
  .faq .accordion-body{padding-left:1.3rem}
  .aurora span{filter:blur(44px);animation:none}
}
@media(max-width:575px){
  .svc-grid{grid-template-columns:1fr}
  .svc-grid--feat .svc-card--feat{grid-column:auto}
  .features-grid{grid-template-columns:1fr}
  .features-grid .feature-item--glass:last-child:nth-child(odd){grid-column:auto}
  .respira-mini{top:-80px;right:-120px;width:230px;height:230px;opacity:.4}
}

/* ── Menos movimiento: todo quieto y visible ────────────────────────── */
@media(prefers-reduced-motion:reduce){
  .aurora span,.respira-ring,.respira-core,.respira-txt,.chip,.scroll-cue span::after,.btn-pulse::before{animation:none!important}
  .respira-txt:first-child{opacity:1}
  .rv,.rv-words .w>span{animation:none!important;opacity:1!important;transform:none!important}
  .pasos::after{transition:none;transform:scaleX(1)}
  .fade-up,.fade-left,.fade-right,.scale-in{transition:none}
}
