/* =============================================================
   Ana Cristina - Neurociencias
   Hoja de estilos única, organizada por capas:
   1. Tokens  2. Reset/base  3. Tipografía  4. Layout
   5. Componentes  6. Secciones  7. Motion  8. Responsive
   Tema: dark, bloqueado (una sola apariencia en toda la página).
   ============================================================= */

/* ============================ 1. TOKENS ============================ */
:root{
  /* Marca */
  --gold:#FFB600;
  --gold-deep:#E0A500;
  --teal:#459499;
  --teal-deep:#38797D;
  --teal-light:#7CC4C7;

  /* Superficies (off-black, nunca #000) */
  --bg:#08080B;
  --surface-1:#0D0D12;
  --surface-2:#14141B;
  --surface-3:#1B1B24;

  /* Texto (off-white, nunca #fff puro) */
  --text:#F4F4F6;
  --text-muted:rgba(244,244,246,.60);
  --text-dim:rgba(244,244,246,.38);

  /* Líneas */
  --line:rgba(244,244,246,.09);
  --line-gold:rgba(255,182,0,.18);
  --line-teal:rgba(69,148,153,.22);

  /* Radios - sistema documentado:
     botones = rectos (0) · superficies = 16px · chips/píldoras = full */
  --r-card:16px;
  --r-sm:10px;
  --r-pill:999px;

  /* Ritmo vertical */
  --sp-section:clamp(5rem,10vw,9rem);
  --wrap:1200px;
  --nav-h:72px;

  /* Sombras (tintadas al fondo, nunca negro puro sobre claro) */
  --shadow-card:0 24px 60px rgba(0,0,0,.45);

  /* Tipografía */
  --font-body:'Sk-Modernist','Helvetica Neue','Segoe UI',Arial,sans-serif;
  --font-head:'Sk-Modernist-Bold','Sk-Modernist','Helvetica Neue',Arial,sans-serif;

  --ease:cubic-bezier(.16,1,.3,1);
}

/* ========================= 2. RESET / BASE ========================= */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
html:focus-within{scroll-behavior:smooth;}

body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;}
::selection{background:var(--gold);color:var(--bg);}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px;}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.skip-link{
  position:fixed;top:-100px;left:1rem;z-index:1000;
  background:var(--gold);color:var(--bg);font-weight:700;
  padding:.7rem 1.2rem;border-radius:var(--r-sm);transition:top .2s var(--ease);
}
.skip-link:focus{top:1rem;}

/* ========================== 3. TIPOGRAFÍA ========================== */
.h-display{
  font-family:var(--font-head);
  font-weight:900;
  font-size:clamp(2.4rem,5.5vw,4.4rem);
  line-height:.95;
  letter-spacing:-.02em;
}
.h-mega{
  font-family:var(--font-head);
  font-weight:900;
  font-size:clamp(4rem,12vw,10rem);
  line-height:.82;
  letter-spacing:-.03em;
}
.eyebrow{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--text-dim);
}
.eyebrow--gold{color:var(--gold);}
.eyebrow--teal{color:var(--teal-light);}
.accent-gold{color:var(--gold);}
.accent-teal{color:var(--teal-light);}

p{max-width:65ch;}

/* =========================== 4. LAYOUT ============================ */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem);}
.section{padding-block:var(--sp-section);position:relative;}

/* ========================= 5. COMPONENTES ========================= */
/* --- Botones (rectos, marca) --- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-head);font-weight:900;
  font-size:.92rem;letter-spacing:.16em;text-transform:uppercase;
  padding:1.05rem 2.4rem;border:2px solid transparent;border-radius:0;
  transition:transform .18s var(--ease),background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
  white-space:nowrap;
}
.btn--sm{padding:.7rem 1.4rem;font-size:.8rem;}
.btn:active{transform:translateY(1px) scale(.99);}

.btn--primary{background:var(--gold);color:var(--bg);}
.btn--primary:hover{background:var(--gold-deep);transform:translateY(-2px);}

.btn--ghost{background:transparent;color:var(--gold);border-color:var(--line-gold);}
.btn--ghost:hover{border-color:var(--gold);background:rgba(255,182,0,.08);}

.btn--teal{background:var(--teal);color:#fff;}
.btn--teal:hover{background:var(--teal-deep);transform:translateY(-2px);}

/* Brillo diagonal al pasar el cursor (solo botones de fondo sólido) */
.btn--primary,.btn--teal,.btn--wa{position:relative;overflow:hidden;}
.btn--primary::after,.btn--teal::after,.btn--wa::after{
  content:"";position:absolute;top:0;left:-75%;width:45%;height:100%;
  background:linear-gradient(115deg,transparent,rgba(255,255,255,.38),transparent);
  transform:skewX(-18deg);transition:left .6s var(--ease);pointer-events:none;
}
@media (hover:hover){
  .btn--primary:hover::after,.btn--teal:hover::after,.btn--wa:hover::after{left:125%;}
}

/* --- Nav --- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:rgba(8,8,11,.72);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:background .3s var(--ease),height .3s var(--ease);
}
.nav__inner{
  max-width:var(--wrap);margin-inline:auto;
  height:var(--nav-h);
  padding-inline:clamp(1.25rem,4vw,3rem);
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
.nav[data-scrolled]{background:rgba(8,8,11,.94);}
.nav__logo img{height:44px;width:auto;}
.nav__menu{display:flex;align-items:center;gap:2rem;margin-left:auto;}
.nav__links{display:flex;gap:2rem;}
.nav__links a{
  font-size:.9rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-muted);transition:color .2s var(--ease);position:relative;
}
.nav__links a:hover,.nav__links a.is-active{color:var(--gold);}

.nav__toggle{
  display:none;flex-direction:column;gap:5px;
  background:none;border:0;padding:.4rem;
}
.nav__toggle span{width:26px;height:2px;background:var(--text);transition:transform .25s var(--ease),opacity .2s var(--ease);}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* --- Marquee (único en la página) --- */
.marquee{background:var(--gold);overflow:hidden;padding:.7rem 0;}
.marquee__track{display:flex;align-items:center;white-space:nowrap;width:max-content;animation:marquee 32s linear infinite;}
.marquee__track span{font-family:var(--font-head);font-weight:900;font-size:1rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bg);padding:0 1.4rem;}
.marquee__track i{color:rgba(8,8,11,.5);font-style:normal;}
@keyframes marquee{to{transform:translateX(-50%);}}

/* ========================== 6. SECCIONES ========================== */

/* --- HERO --- */
.hero{position:relative;min-height:100dvh;display:flex;align-items:center;overflow:hidden;padding-top:var(--nav-h);
  background:radial-gradient(55% 55% at 80% 38%,rgba(255,182,0,.11),transparent 62%),var(--bg);}
.hero__net{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
/* Retrato (recorte transparente) que emerge de la oscuridad, con aura dorada detrás */
.hero__media{
  position:absolute;top:0;right:0;bottom:0;width:min(66%,980px);z-index:1;pointer-events:none;
  display:flex;align-items:flex-end;justify-content:center;
}
.hero__media img{
  width:auto;height:min(98%,1040px);max-width:100%;object-fit:contain;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 34%);mask-image:linear-gradient(to right,transparent,#000 34%);
  filter:drop-shadow(0 30px 50px rgba(0,0,0,.5));
}
.hero__media::before{
  content:"";position:absolute;left:50%;bottom:6%;transform:translateX(-50%);
  width:70%;aspect-ratio:1/1;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(255,182,0,.24),transparent 70%);filter:blur(20px);
}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 2%,transparent 34%);}
.hero__veil{position:absolute;inset:0;z-index:2;background:linear-gradient(to right,var(--bg) 24%,rgba(8,8,11,.42) 52%,transparent 74%);}
.hero__inner{position:relative;z-index:3;width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem);}
.hero__copy{max-width:540px;}
.hero__copy .eyebrow{margin-bottom:1.5rem;}
.hero__firma{width:min(100%,460px);margin-bottom:2rem;filter:drop-shadow(0 0 34px rgba(255,182,0,.28));}
.hero__tagline{font-size:clamp(1.15rem,1.8vw,1.5rem);color:var(--text-muted);line-height:1.65;margin-bottom:2.4rem;max-width:26ch;}
.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;}

/* --- SOBRE ELLA --- */
.quien{background:radial-gradient(50% 65% at 12% 15%,rgba(69,148,153,.10),transparent 60%),var(--surface-1);}
.quien__grid{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:clamp(2.5rem,6vw,6rem);align-items:center;}
.quien__photo{position:relative;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--line-teal);box-shadow:var(--shadow-card);}
.quien__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s var(--ease);}
.quien__photo:hover img{transform:scale(1.05);}
/* Variante con varias fotos que se turnan (data-bleed-slideshow reutiliza el JS de "bleed"). */
.quien__photo[data-bleed-slideshow]{aspect-ratio:4/5;}
.quien__photo[data-bleed-slideshow] img{position:absolute;inset:0;height:100%;}
.no-js .quien__photo[data-bleed-slideshow] img ~ img{display:none;}
.js .quien__photo[data-bleed-slideshow] img{opacity:0;transition:opacity 1.6s var(--ease),transform .6s var(--ease);}
.js .quien__photo[data-bleed-slideshow] img.is-active{opacity:1;}
@media (prefers-reduced-motion:reduce){
  .js .quien__photo[data-bleed-slideshow] img{transition:none;}
  .js .quien__photo[data-bleed-slideshow] img ~ img{display:none;}
  .js .quien__photo[data-bleed-slideshow] img:first-child{opacity:1;}
}
.quien__photo figcaption{
  position:absolute;left:0;right:0;bottom:0;background:var(--teal);
  color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  text-align:center;padding:.6rem 1rem;
}
.quien__text .eyebrow{margin-bottom:1rem;}
.quien__text h2{margin-bottom:1.6rem;}
.quien__text p{color:var(--text-muted);font-size:1.08rem;margin-bottom:1.1rem;}
.quien__text strong{color:var(--text);}
.quien__text .btn{margin-top:1rem;}

/* --- AHA MOMENT --- */
.aha{background:radial-gradient(55% 60% at 88% 12%,rgba(255,182,0,.08),transparent 60%),var(--bg);}
.aha__head{text-align:center;margin-bottom:clamp(3rem,6vw,5rem);}
.aha__lead{color:var(--text-muted);font-size:1.15rem;max-width:52ch;margin:1.5rem auto 0;}
/* Tres ejes (info, tarjetas numeradas) */
.pillars{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:clamp(2.5rem,5vw,4rem);}
.pillar{position:relative;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-card);
  padding:clamp(1.8rem,3vw,2.6rem);display:flex;flex-direction:column;gap:.9rem;overflow:hidden;
  transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);}
.pillar::after{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.pillar:hover{border-color:var(--line-gold);transform:translateY(-5px);box-shadow:var(--shadow-card);}
.pillar:hover::after{transform:scaleX(1);}
.pillar__num{font-family:var(--font-head);font-weight:900;font-size:2.6rem;line-height:1;color:var(--gold);}
.pillar__name{font-family:var(--font-head);font-size:1.5rem;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;}
.pillar p{color:var(--text-muted);font-size:1rem;line-height:1.65;}
@media (max-width:820px){.pillars{grid-template-columns:1fr;}}

/* --- NCAN --- */
.ncan{background:radial-gradient(55% 60% at 10% 90%,rgba(255,182,0,.07),transparent 55%),var(--surface-1);}
.ncan__head{margin-bottom:clamp(2.5rem,5vw,4rem);}
.ncan__lead{color:var(--text-muted);font-size:1.15rem;margin-top:1.4rem;max-width:56ch;}
.ncan__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;margin-bottom:2.5rem;}
.ncan-card{background:var(--surface-2);padding:2.6rem 1.4rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem;transition:background .3s var(--ease);}
.ncan-card:hover{background:var(--surface-3);}
.ncan-card__mark{width:96px;height:96px;color:var(--gold);transition:transform .4s var(--ease);}
.ncan-card:hover .ncan-card__mark{transform:scale(1.08) rotate(4deg);}
.ncan-card__mark svg{width:100%;height:100%;}
.ncan-card h3{font-size:1.02rem;font-weight:700;line-height:1.4;text-transform:uppercase;letter-spacing:.02em;}
.ncan__body{
  background:var(--surface-2);border-top:3px solid var(--gold);border-radius:0 0 var(--r-card) var(--r-card);
  padding:clamp(2rem,4vw,3rem);color:var(--text-muted);font-size:1.12rem;line-height:1.8;max-width:none;text-align:center;
}
.ncan__body strong{color:var(--gold);}

/* --- NEUROSESIONES --- */
.neuro{background:radial-gradient(55% 60% at 90% 15%,rgba(69,148,153,.10),transparent 60%),var(--bg);}
.neuro__head{text-align:center;margin-bottom:clamp(2.5rem,5vw,4rem);}
.neuro__head .eyebrow{margin-bottom:1rem;}
.neuro__tagline{font-family:var(--font-head);font-weight:900;font-size:clamp(1.4rem,2.4vw,2rem);text-transform:uppercase;letter-spacing:.02em;margin-top:1rem;color:var(--text);}
.neuro__intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);max-width:960px;margin:0 auto clamp(3rem,5vw,4rem);}
.neuro__intro p{color:var(--text-muted);font-size:1.1rem;line-height:1.85;}
.neuro__intro-note{border-left:2px solid var(--teal);padding-left:1.5rem;color:var(--text-dim);}
.neuro__intro-note em{color:var(--text);font-style:normal;}
.neuro__steps{max-width:860px;margin:0 auto;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;}
.neuro-row{display:grid;grid-template-columns:90px 1fr;gap:1.8rem;padding:2rem 2.4rem;background:var(--surface-1);border-bottom:1px solid var(--line);transition:background .3s var(--ease);}
.neuro-row:last-child{border-bottom:0;}
.neuro-row:hover{background:var(--surface-2);}
.neuro-row--close{background:rgba(69,148,153,.06);}
.neuro-row__num{font-family:var(--font-head);font-weight:900;font-size:2.4rem;color:var(--teal-light);line-height:1;}
.neuro-row h3{font-family:var(--font-head);font-size:.8rem;font-weight:900;letter-spacing:.3em;text-transform:uppercase;color:var(--teal-light);margin-bottom:.6rem;}
.neuro-row p{color:var(--text-muted);font-size:1.05rem;line-height:1.7;}
.neuro-row--close p{color:var(--text);font-size:1.15rem;font-weight:700;}
.neuro__cta{text-align:center;margin-top:clamp(2.5rem,4vw,3.5rem);}

/* --- BLOG --- */
.blog{background:radial-gradient(55% 65% at 15% 8%,rgba(255,182,0,.07),transparent 55%),var(--surface-1);}
.blog__head{margin-bottom:clamp(2.5rem,5vw,3.5rem);}
.blog__lead{color:var(--text-muted);font-size:1.1rem;margin-top:1rem;}
.blog__grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:1.6rem;}
.post{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);}
.post:hover{border-color:var(--line-gold);transform:translateY(-4px);box-shadow:var(--shadow-card);}
.post--feature{grid-row:span 2;}
.post__media{display:block;overflow:hidden;aspect-ratio:16/10;}
.post--feature .post__media{aspect-ratio:16/11;}
.post__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.post:hover .post__media img{transform:scale(1.06);}
.post__body{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;flex:1;}
.post__tags{display:flex;flex-wrap:wrap;gap:.5rem;}
.post__tags span{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line-gold);border-radius:var(--r-pill);padding:.28rem .8rem;}
.post h3{font-family:var(--font-head);font-size:1.25rem;font-weight:900;line-height:1.25;transition:color .2s var(--ease);}
.post--feature h3{font-size:1.7rem;}
.post:hover h3{color:var(--gold);}
.post__body p{color:var(--text-muted);font-size:.95rem;line-height:1.65;flex:1;}
.post__meta{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--text-dim);padding-top:.9rem;border-top:1px solid var(--line);}
.post__avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-pill);background:var(--gold);color:var(--bg);font-weight:900;font-size:.72rem;flex-shrink:0;}

/* --- ARTÍCULO (blog) --- */
.article{max-width:70ch;margin-inline:auto;}
.article__media{margin-bottom:clamp(1.5rem,3vw,2.5rem);border-radius:var(--r-card);overflow:hidden;border:1px solid var(--line);}
.article__media img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.article__h2{font-family:var(--font-head);font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:900;color:var(--text);margin:2.2rem 0 .9rem;}
.article__h3{font-family:var(--font-head);font-size:clamp(1.15rem,1.8vw,1.4rem);font-weight:900;color:var(--text);margin:1.8rem 0 .7rem;}
.article__list{margin:1.2rem 0 1.4rem;padding-left:1.3rem;color:var(--text-muted);font-size:1.12rem;line-height:1.85;}
.article__list li{margin-bottom:.5rem;}
.article__list li::marker{color:var(--gold);}
.prose a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;}
.prose img{border-radius:var(--r-card);margin:1.5rem 0;}
.article__quote{border-left:2px solid var(--gold);padding-left:1.3rem;color:var(--text);font-size:1.15rem;line-height:1.7;margin:1.8rem 0;}
.article__back{margin-top:clamp(2rem,4vw,3rem);}

/* --- CONTACTO --- */
.contacto{background:radial-gradient(60% 55% at 50% 0%,rgba(69,148,153,.10),transparent 60%),var(--bg);}
.contacto__wrap{max-width:640px;text-align:center;}
.contacto__lead{color:var(--text-muted);font-size:1.15rem;margin:1.2rem auto 3rem;}
.form{display:grid;gap:1.4rem;text-align:left;}
.field{display:grid;gap:.5rem;}
.field label{font-size:.85rem;font-weight:700;letter-spacing:.06em;color:var(--text-muted);}
.field input,.field textarea{
  width:100%;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-sm);
  color:var(--text);font-family:var(--font-body);font-size:1rem;padding:.9rem 1rem;
  transition:border-color .2s var(--ease),background .2s var(--ease);resize:vertical;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:var(--surface-2);}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#E5484D;}
.field__error{font-size:.8rem;color:#E5766F;min-height:1em;}
.form__submit{justify-self:start;margin-top:.4rem;}
.form__status{font-size:.95rem;min-height:1.2em;}
.form__status[data-state="ok"]{color:var(--teal-light);}
.form__status[data-state="err"]{color:#E5766F;}

/* --- FOOTER --- */
.footer{background:#050507;border-top:1px solid var(--line);padding-block:2.5rem;}
.footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;}
.footer__brand{display:flex;align-items:center;gap:.9rem;}
.footer__brand img{height:34px;width:auto;opacity:.85;}
.footer__brand p{font-size:.82rem;color:var(--text-dim);letter-spacing:.04em;}
.footer__nav{display:flex;flex-wrap:wrap;gap:1.4rem;}
.footer__nav a{font-size:.82rem;color:var(--text-muted);letter-spacing:.06em;transition:color .2s var(--ease);}
.footer__nav a:hover{color:var(--gold);}
.footer__copy{font-size:.78rem;color:var(--text-dim);width:100%;}

/* ===================== 6b. NAV DROPDOWN (Servicios) ===================== */
.nav__item{position:relative;display:flex;align-items:center;}
.nav__subtoggle{
  display:inline-flex;align-items:center;gap:.35rem;background:none;border:0;padding:0;
  font-family:var(--font-body);font-size:.9rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-muted);transition:color .2s var(--ease);
}
.nav__subtoggle:hover,.nav__item.is-open .nav__subtoggle,.nav__subtoggle.is-active{color:var(--gold);}
.nav__subtoggle svg{width:10px;height:10px;transition:transform .25s var(--ease);}
.nav__item.is-open .nav__subtoggle svg{transform:rotate(180deg);}
.nav__sub{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);
  min-width:220px;background:rgba(13,13,18,.98);backdrop-filter:blur(14px);
  border:1px solid var(--line);border-radius:var(--r-card);padding:.5rem;
  display:flex;flex-direction:column;gap:.1rem;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s;
  box-shadow:var(--shadow-card);z-index:10;
}
.nav__item:hover .nav__sub,.nav__item.is-open .nav__sub{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.nav__sub a{
  padding:.7rem .9rem;border-radius:var(--r-sm);font-size:.85rem;font-weight:700;letter-spacing:.06em;
  color:var(--text-muted);text-transform:none;transition:background .2s var(--ease),color .2s var(--ease);
}
.nav__sub a:hover,.nav__sub a[aria-current="page"]{background:var(--surface-2);color:var(--gold);}
.nav__links a[aria-current="page"]{color:var(--gold);}

/* ===================== 6c. CABECERA DE SUBPÁGINA ===================== */
.page-header{
  position:relative;overflow:hidden;
  padding:calc(var(--nav-h) + clamp(3.5rem,8vw,6rem)) 0 clamp(3rem,6vw,5rem);
  background:
    radial-gradient(70% 120% at 15% 0%,rgba(255,182,0,.10),transparent 55%),
    radial-gradient(60% 120% at 100% 100%,rgba(69,148,153,.12),transparent 55%),
    var(--bg);
  border-bottom:1px solid var(--line);
}
.page-header--teal{
  background:
    radial-gradient(70% 120% at 15% 0%,rgba(69,148,153,.14),transparent 55%),
    radial-gradient(60% 120% at 100% 100%,rgba(69,148,153,.08),transparent 55%),
    var(--bg);
}
.page-header__inner{position:relative;z-index:2;max-width:60ch;}
.page-header .eyebrow{margin-bottom:1rem;}
.page-header h1{font-family:var(--font-head);font-weight:900;font-size:clamp(2.6rem,6vw,5rem);line-height:.95;letter-spacing:-.02em;}
.page-header__lead{color:var(--text-muted);font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.6;margin-top:1.4rem;max-width:56ch;}
.page-header__media{position:absolute;top:0;right:0;bottom:0;width:min(46%,600px);z-index:1;pointer-events:none;}
.page-header__media img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 62%);mask-image:linear-gradient(to right,transparent,#000 62%);}
.page-header__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 2%,transparent 46%);}
@media (max-width:820px){
  .page-header__media{width:100%;opacity:.28;}
  .page-header__media img{object-position:50% 12%;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 90%);mask-image:linear-gradient(to bottom,#000,transparent 90%);}
}

/* Credenciales (Sobre ella) */
.creds{display:grid;gap:.85rem;}
.creds li{list-style:none;display:grid;grid-template-columns:26px 1fr;gap:.8rem;align-items:start;color:var(--text-muted);font-size:1.02rem;line-height:1.45;}
.creds svg{width:22px;height:22px;color:var(--gold);margin-top:.15rem;}
.creds strong{color:var(--text);}

/* Redes en el pie */
.footer__social{display:flex;gap:.8rem;align-items:center;}
.footer__social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r-pill);
  border:1px solid var(--line);color:var(--text-muted);transition:border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease);}
.footer__social a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);}
.footer__social svg{width:18px;height:18px;}

/* ===================== 6d. PROSA / CONTENIDO ===================== */
.prose{max-width:70ch;}
.prose p{color:var(--text-muted);font-size:1.12rem;line-height:1.85;margin-bottom:1.3rem;}
.prose p:last-child{margin-bottom:0;}
.prose strong{color:var(--text);}
.prose em{color:var(--gold);font-style:normal;}
.prose .accent-teal{color:var(--teal-light);}
.pull{font-family:var(--font-head);font-weight:900;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2;color:var(--text);max-width:22ch;}
.pull .accent-gold{color:var(--gold);}

/* Dos columnas texto + aside */
.split-content{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(2.5rem,6vw,5rem);align-items:start;}
.split-content--media{grid-template-columns:.9fr 1.1fr;align-items:center;}
.aside-card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(1.6rem,3vw,2.2rem);transition:box-shadow .3s var(--ease);}
.aside-card h3{font-family:var(--font-head);font-size:1.1rem;font-weight:900;text-transform:uppercase;letter-spacing:.02em;margin-bottom:1.2rem;}

/* Chips (formación) */
.chips{display:flex;flex-wrap:wrap;gap:.6rem;}
.chips li{list-style:none;font-size:.82rem;font-weight:700;letter-spacing:.04em;color:var(--text-muted);
  border:1px solid var(--line-gold);border-radius:var(--r-pill);padding:.45rem 1rem;transition:border-color .2s var(--ease),color .2s var(--ease);}
.chips li:hover{border-color:var(--gold);color:var(--gold);}

/* Lista de resultados con palomita */
.checklist{display:grid;gap:.9rem;}
.checklist li{list-style:none;display:grid;grid-template-columns:26px 1fr;gap:.9rem;align-items:start;color:var(--text-muted);font-size:1.08rem;line-height:1.5;}
.checklist svg{width:22px;height:22px;color:var(--teal-light);margin-top:.2rem;}

/* ===================== 6e. TARJETAS DE CONFERENCIAS ===================== */
.talks{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.talk{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-card);padding:2rem;
  display:flex;flex-direction:column;gap:.9rem;transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);}
.talk:hover{border-color:var(--line-gold);transform:translateY(-4px);box-shadow:var(--shadow-card);}
.talk__num{font-family:var(--font-head);font-weight:900;font-size:1.1rem;color:var(--gold);letter-spacing:.05em;}
.talk h3{font-family:var(--font-head);font-size:1.35rem;font-weight:900;line-height:1.15;text-transform:uppercase;letter-spacing:-.01em;}
.talk p{color:var(--text-muted);font-size:.98rem;line-height:1.6;}

/* Audiencias */
.audience{display:flex;flex-wrap:wrap;gap:.7rem;}
.audience li{list-style:none;background:var(--surface-2);border-radius:var(--r-sm);padding:.6rem 1.1rem;font-size:.92rem;font-weight:700;color:var(--text-muted);}

/* ============= 6d2. BANDA A SANGRE CON FOTO DE FONDO =============
   Rompe el ritmo de "caja tras caja": la foto ocupa todo el ancho de la
   pantalla y el texto vive encima, como un segundo hero. */
.bleed{
  position:relative;overflow:hidden;
  min-height:clamp(440px,58vh,620px);
  display:flex;align-items:center;
}
.bleed__bg{position:absolute;inset:0;z-index:0;}
.bleed__bg img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;object-position:50% 38%;
}
/* Sin JS solo se ve la primera; con JS se turnan con fundido. */
.no-js .bleed__bg img ~ img{display:none;}
.js .bleed__bg img{opacity:0;transition:opacity 1.6s var(--ease);}
.js .bleed__bg img.is-active{opacity:1;}
@media (prefers-reduced-motion:reduce){
  .js .bleed__bg img{transition:none;}
  .js .bleed__bg img ~ img{display:none;}
  .js .bleed__bg img:first-child{opacity:1;}
}
.bleed__veil{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to right,var(--bg) 6%,rgba(8,8,11,.88) 42%,rgba(8,8,11,.45) 78%,rgba(8,8,11,.75) 100%),
    linear-gradient(to bottom,var(--bg) 0%,transparent 22%,transparent 78%,var(--bg) 100%);
}
.bleed__inner{position:relative;z-index:2;width:100%;}
.bleed__copy{max-width:34rem;}
/* Nota: el selector lleva .bleed__copy por delante para ganarle en
   especificidad a la regla de párrafo de abajo. */
.bleed__copy .bleed__lead{
  font-family:var(--font-head);font-weight:900;
  font-size:clamp(1.9rem,3.6vw,3.1rem);line-height:1.08;letter-spacing:-.02em;
  color:var(--text);margin-bottom:1.6rem;
}
.bleed__copy p{color:var(--text-muted);font-size:1.08rem;line-height:1.8;margin-bottom:1rem;}
.bleed__copy p:last-child{margin-bottom:0;}
.bleed__copy strong{color:var(--text);}
.bleed__copy em{color:var(--gold);font-style:normal;}
@media (max-width:820px){
  .bleed{min-height:0;padding-block:clamp(3rem,10vw,4.5rem);}
  .bleed__bg img{object-position:50% 28%;}
  .bleed__veil{background:linear-gradient(to bottom,rgba(8,8,11,.72),rgba(8,8,11,.94));}
  .bleed__copy{max-width:none;}
}

/* ============= 6d3. EJES ESCALONADOS (número en contorno) =============
   Alternativa a las tres tarjetas idénticas: escalón progresivo que
   sugiere avance, con el número como pieza gráfica. */
.ejes{display:grid;gap:clamp(1rem,2vw,1.5rem);}
.eje{
  position:relative;
  display:grid;grid-template-columns:auto 1fr;
  gap:clamp(1.4rem,3.5vw,2.8rem);align-items:center;
  padding:clamp(1.7rem,3vw,2.4rem) clamp(1.5rem,3vw,2.3rem);
  background:linear-gradient(115deg,var(--surface-1) 0%,rgba(20,20,27,.55) 100%);
  border:1px solid var(--line);border-radius:var(--r-card);
  transition:border-color .35s var(--ease),transform .35s var(--ease);
}
.eje:hover{border-color:var(--line-gold);transform:translateY(-3px);}
.eje:nth-child(2){margin-left:clamp(0px,7vw,110px);}
.eje:nth-child(3){margin-left:clamp(0px,14vw,220px);}
.eje__num{
  font-family:var(--font-head);font-weight:900;
  font-size:clamp(3.2rem,7vw,5.4rem);line-height:.78;
  color:transparent;
  -webkit-text-stroke:2px var(--gold);text-stroke:2px var(--gold);
  opacity:.55;
  transition:opacity .35s var(--ease),color .35s var(--ease);
}
/* Al iluminarse, el número se rellena de color sólido. */
.eje:hover .eje__num{
  opacity:1;
  color:var(--gold);
}
.eje__name{
  font-family:var(--font-head);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:900;
  text-transform:uppercase;letter-spacing:.02em;color:var(--gold);margin-bottom:.5rem;
}
.eje p{color:var(--text-muted);font-size:1.03rem;line-height:1.65;max-width:58ch;}
@media (max-width:700px){
  .eje{grid-template-columns:1fr;gap:.7rem;}
  .eje:nth-child(2),.eje:nth-child(3){margin-left:0;}
}

/* ===================== 6e1. GALERÍA DE EXPERIENCIAS ===================== */
/* Mosaico: una pieza grande ancla la composición y el resto la acompaña. */
.gallery{
  display:grid;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:clamp(130px,15vw,190px);gap:14px;
}
.gallery__item{
  position:relative;overflow:hidden;border-radius:var(--r-card);
  border:1px solid var(--line);background:var(--surface-1);
}
.gallery__item--big{grid-column:span 2;grid-row:span 2;}
.gallery__item img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s var(--ease),filter .4s var(--ease);
  filter:saturate(.92);
}
.gallery__item:hover img{transform:scale(1.06);filter:saturate(1.05);}
.gallery__item figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:1.6rem .95rem .8rem;
  background:linear-gradient(to top,rgba(8,8,11,.92),transparent);
  color:var(--text);font-size:.82rem;font-weight:700;letter-spacing:.02em;
  opacity:0;transform:translateY(6px);
  transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.gallery__item:hover figcaption{opacity:1;transform:none;}
@media (max-width:820px){
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(120px,26vw,170px);gap:10px;}
  .gallery__item figcaption{opacity:1;transform:none;font-size:.75rem;}
}

/* ===================== 6e2. PREGUNTAS FRECUENTES ===================== */
/* Acordeón nativo con <details>: funciona sin JS. */
.faq{display:grid;gap:.9rem;max-width:70ch;}
.faq details{
  background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-card);
  padding:0 clamp(1.2rem,2.5vw,1.8rem);transition:border-color .3s var(--ease);
}
.faq details[open]{border-color:var(--line-teal);}
.faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.3rem 0;cursor:pointer;list-style:none;
  font-family:var(--font-head);font-size:clamp(1.02rem,1.6vw,1.18rem);font-weight:900;
  color:var(--text);line-height:1.35;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"";flex-shrink:0;width:12px;height:12px;
  border-right:2px solid var(--teal-light);border-bottom:2px solid var(--teal-light);
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s var(--ease);
}
.faq details[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px);}
.faq__body{padding:0 0 1.4rem;}
.faq__body p{color:var(--text-muted);font-size:1.03rem;line-height:1.8;margin-bottom:.9rem;}
.faq__body p:last-child{margin-bottom:0;}
.faq__body strong{color:var(--text);}
.faq__body em{color:var(--teal-light);font-style:normal;}

/* Lista de situaciones (dos columnas, con viñeta) */
.situations{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 2rem;list-style:none;}
.situations li{
  position:relative;padding-left:1.4rem;
  color:var(--text-muted);font-size:1.03rem;line-height:1.55;
}
.situations li::before{
  content:"";position:absolute;left:0;top:.6em;
  width:7px;height:7px;border-radius:50%;background:var(--teal);
}
@media (max-width:760px){.situations{grid-template-columns:1fr;}}

/* ===================== 6f. SERVICIOS (grid en inicio) ===================== */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
@media (max-width:900px){.posts{grid-template-columns:1fr;}}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.svc{position:relative;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-card);
  padding:clamp(1.8rem,3vw,2.6rem);display:flex;flex-direction:column;gap:1rem;overflow:hidden;
  transition:border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);}
.svc:hover{border-color:var(--line-gold);transform:translateY(-5px);box-shadow:var(--shadow-card);}
.svc__kicker{font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-light);}
.svc h3{font-family:var(--font-head);font-size:1.5rem;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;}
.svc p{color:var(--text-muted);font-size:1rem;line-height:1.65;flex:1;}
.svc__link{display:inline-flex;align-items:center;gap:.5rem;color:var(--gold);font-weight:700;font-size:.9rem;letter-spacing:.04em;margin-top:.3rem;}
.svc__link svg{width:16px;height:16px;transition:transform .2s var(--ease);}
.svc:hover .svc__link svg{transform:translateX(4px);}

/* Teaser de método (inicio) */
.method{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;}
.method__cell{background:var(--surface-1);padding:clamp(2rem,4vw,3.2rem);display:flex;flex-direction:column;gap:1rem;transition:background .3s var(--ease);}
.method__cell:hover{background:var(--surface-2);}
.method__cell h3{font-family:var(--font-head);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:900;}
.method__cell p{color:var(--text-muted);font-size:1.05rem;line-height:1.7;flex:1;}

/* ===================== 6g. BANDA CTA (WhatsApp) ===================== */
.cta-band{background:radial-gradient(70% 90% at 50% 110%,rgba(255,182,0,.09),transparent 60%),var(--surface-1);border-top:1px solid var(--line);text-align:center;}
.cta-band h2{font-family:var(--font-head);font-weight:900;font-size:clamp(2rem,4vw,3.4rem);line-height:1;margin-bottom:1rem;}
.cta-band p{color:var(--text-muted);font-size:1.15rem;max-width:48ch;margin:0 auto 2.2rem;}
.cta-band__actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;}

/* Botón WhatsApp inline */
.btn--wa{background:var(--gold);color:var(--bg);}
.btn--wa:hover{background:var(--gold-deep);transform:translateY(-2px);}
.btn svg{width:20px;height:20px;flex-shrink:0;}

/* Botón flotante WhatsApp */
.wa-float{
  position:fixed;right:clamp(1rem,3vw,1.6rem);bottom:clamp(1rem,3vw,1.6rem);z-index:150;
  width:58px;height:58px;border-radius:var(--r-pill);background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.wa-float:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 14px 36px rgba(37,211,102,.35);}
.wa-float svg{width:30px;height:30px;}

/* ==================== 6g2. CURSOR NEURONAL ==================== */
/* El cursor es un nodo más de la red: núcleo dorado (va exacto) + campo que lo
   sigue con retraso. Al pasar sobre algo clickeable el campo se abre y vira a
   teal, como una sinapsis. El cursor nativo se oculta SOLO si el JS montó el
   módulo (clase en <html>), así nunca queda una página sin cursor. */
.has-cursor,.has-cursor *{cursor:none;}
/* En campos de texto se respeta el cursor nativo (barra de inserción) */
.has-cursor input,.has-cursor textarea,.has-cursor select{cursor:auto;}

.cursor{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:0;transition:opacity .3s var(--ease);}
.cursor.is-visible{opacity:1;}
.cursor.is-text{opacity:0;}   /* sobre inputs manda el cursor nativo */
.cursor__dot,.cursor__ring{position:absolute;top:0;left:0;border-radius:var(--r-pill);will-change:transform;}
/* Contorno oscuro: el núcleo es dorado igual que los botones y el marquee,
   sin él desaparecería justo encima de ellos. */
.cursor__dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--gold);box-shadow:0 0 0 1px rgba(8,8,11,.55);}
.cursor__ring{
  width:30px;height:30px;margin:-15px 0 0 -15px;
  border:1px solid rgba(255,182,0,.45);
  transition:border-color .25s var(--ease),background .25s var(--ease);
}
.cursor.is-hover .cursor__ring{border-color:var(--teal-light);background:rgba(124,196,199,.08);}
.cursor.is-down .cursor__ring{border-color:var(--gold);}

/* ============= 6h. FONDO DE RED NEURONAL (reutilizable) ============= */
/* Canvas decorativo detrás del contenido. El host debe ser position:relative
   (`.section` ya lo es). `isolation` evita que el canvas tape el contenido. */
.neural-host{isolation:isolate;overflow:hidden;}
.neural-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;}
/* El contenido del host va por encima del canvas */
.neural-host > *:not(.neural-bg){position:relative;z-index:1;}
/* Variantes de intensidad */
.neural-bg--soft{opacity:.5;}
.neural-bg--faint{opacity:.3;}

/* ==================== 6i. CARRUSEL EN ABANICO ==================== */
/* Tarjetas en abanico: la actual al centro, las demás giradas a los lados.
   Alterna tarjetas de frase (dorado) con fotos. Sin JS: fila simple, todo visible. */
.carousel{display:flex;flex-direction:column;align-items:center;gap:1.8rem;}
.carousel__stage{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;width:100%;max-width:720px;}
.carousel__card{
  appearance:none;border:0;cursor:pointer;font:inherit;text-align:left;
  background:var(--gold);color:var(--bg);border-radius:var(--r-card);
  width:180px;height:220px;padding:1.5rem;display:flex;align-items:flex-end;
  transition:left .55s var(--ease),top .55s var(--ease),transform .55s var(--ease),opacity .4s var(--ease),box-shadow .4s var(--ease);
  box-shadow:0 20px 50px rgba(0,0,0,.4);
}
.carousel__label{font-family:var(--font-head);font-weight:900;font-size:1.5rem;line-height:1.05;}
.carousel__card[aria-current="true"]{box-shadow:0 30px 70px rgba(0,0,0,.55);}
.carousel__card--photo{background:var(--surface-2);padding:0;align-items:stretch;}
.carousel__card--photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none;}
/* Con JS: abanico posicionado de forma absoluta */
.js .carousel__stage{position:relative;height:300px;max-width:1000px;}
.js .carousel__card{position:absolute;top:50%;left:50%;width:190px;height:235px;}
.carousel__controls{display:flex;align-items:center;gap:1.4rem;}
.carousel__arrow{
  width:52px;height:52px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:rgba(69,148,153,.12);border:2px solid var(--line-teal);color:var(--teal-light);
  transition:background .2s var(--ease),border-color .2s var(--ease);
}
.carousel__arrow:hover{background:rgba(69,148,153,.25);border-color:var(--teal);}
.carousel__arrow svg{width:20px;height:20px;}
.carousel__dots{display:flex;gap:.5rem;}
.carousel__dot{width:8px;height:8px;border-radius:var(--r-pill);background:rgba(69,148,153,.25);border:0;padding:0;transition:width .35s var(--ease),background .35s var(--ease);}
.carousel__dot.is-active{width:26px;background:var(--teal);}
.carousel__desc{color:var(--text-muted);font-size:1.05rem;line-height:1.7;text-align:center;max-width:52ch;min-height:3.4em;}
@media (max-width:640px){
  .js .carousel__stage{height:250px;}
  .js .carousel__card{width:150px;height:190px;padding:1.1rem;}
  .carousel__label{font-size:1.2rem;}
}

/* ==================== 6j. SPOTLIGHT DE TARJETAS ==================== */
/* Brillo que sigue al cursor, detrás del contenido (z-index:-1). */
.talk,.post,.ncan-card,.method__cell,.aside-card{position:relative;}
.svc::before,.talk::before,.post::before,.ncan-card::before,.method__cell::before,.aside-card::before,.pillar::before{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),rgba(255,182,0,.13),transparent 72%);
  opacity:0;transition:opacity .35s var(--ease);
}
@media (hover:hover){
  .svc:hover::before,.talk:hover::before,.post:hover::before,.ncan-card:hover::before,
  .method__cell:hover::before,.aside-card:hover::before,.pillar:hover::before{opacity:1;}
}

/* --------- Resplandor de borde en hover (tarjetas independientes) --------- */
@media (hover:hover){
  .svc:hover,.talk:hover,.post:hover,.method__cell:hover,.aside-card:hover{
    box-shadow:var(--shadow-card),0 0 0 1px rgba(255,182,0,.16),0 0 44px -14px rgba(255,182,0,.4);
  }
}
.method__cell{transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);}
.method__cell:hover{transform:translateY(-5px);}

/* --------- Textura de puntos (fondo hero / cabecera de subpágina) --------- */
.hero::before,.page-header::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(244,244,246,.07) 1px,transparent 1px);
  background-size:32px 32px;
  -webkit-mask-image:radial-gradient(ellipse 70% 65% at 50% 0%,#000 30%,transparent 100%);
  mask-image:radial-gradient(ellipse 70% 65% at 50% 0%,#000 30%,transparent 100%);
}

/* ============================ 7. MOTION ============================ */
/* Estado oculto SOLO cuando hay JS. Sin JS, todo el contenido es visible. */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
[data-reveal].is-visible{opacity:1;transform:none;}
/* Stagger para hijos directos de grillas reveladas */
.ncan__grid.is-visible .ncan-card,
.neuro__steps.is-visible .neuro-row,
.blog__grid.is-visible .post{animation:rise .6s var(--ease) backwards;}
.ncan__grid.is-visible .ncan-card:nth-child(2){animation-delay:.06s;}
.ncan__grid.is-visible .ncan-card:nth-child(3){animation-delay:.12s;}
.ncan__grid.is-visible .ncan-card:nth-child(4){animation-delay:.18s;}
.ncan__grid.is-visible .ncan-card:nth-child(5){animation-delay:.24s;}
@keyframes rise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}

/* ========================== 8. RESPONSIVE ========================= */
@media (max-width:1000px){
  .hero__tagline{max-width:36ch;}
  .quien__grid{grid-template-columns:1fr;gap:2.5rem;}
  .quien__photo{max-width:420px;}
  .ncan__grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:900px){
  /* Hero: retrato como fondo tenue tras el texto */
  .hero{min-height:auto;padding-block:calc(var(--nav-h) + 3rem) 4rem;}
  .hero__media{width:100%;opacity:.46;}
  .hero__media img{height:min(80%,560px);-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 92%);mask-image:linear-gradient(to bottom,#000 55%,transparent 92%);}
  .hero__veil{background:linear-gradient(to top,var(--bg) 22%,rgba(8,8,11,.5));}
  .nav__toggle{display:flex;}
  /* Panel desplegable único: enlaces + CTA apilados, sin solaparse */
  .nav__menu{
    display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;
    position:absolute;top:var(--nav-h);left:0;right:0;
    background:var(--bg);
    border-bottom:1px solid var(--line);padding-bottom:1rem;
    max-height:calc(100dvh - var(--nav-h));overflow-y:auto;
  }
  .nav[data-open] .nav__menu{display:flex;}
  .nav__menu .nav__links{flex-direction:column;gap:0;}
  .nav__menu .nav__links a{padding:1rem clamp(1.25rem,4vw,3rem);border-bottom:1px solid var(--line);}
  .nav__menu .nav__cta{margin:1rem clamp(1.25rem,4vw,3rem) 0;justify-content:center;}
}
@media (max-width:768px){
  .neuro__intro{grid-template-columns:1fr;gap:1.5rem;}
  .neuro__intro-note{border-left:0;padding-left:0;border-top:1px solid var(--line-teal);padding-top:1.5rem;}
  .blog__grid{grid-template-columns:1fr;}
  .post--feature{grid-row:auto;}
}
@media (max-width:560px){
  .ncan__grid{grid-template-columns:1fr 1fr;}
  .neuro-row{grid-template-columns:56px 1fr;gap:1rem;padding:1.5rem 1.4rem;}
  .neuro-row__num{font-size:1.7rem;}
  .btn{width:100%;}
  .hero__actions{flex-direction:column;}
  .footer__inner{flex-direction:column;align-items:flex-start;}
  /* Más pequeño en móvil: sigue siendo un objetivo táctil cómodo (48px),
     pero tapa menos texto al desplazarse sobre párrafos largos. */
  .wa-float{width:48px;height:48px;right:1rem;bottom:1rem;}
  .wa-float svg{width:25px;height:25px;}
}

/* --- Responsive de subpáginas --- */
@media (max-width:1000px){
  .talks{grid-template-columns:repeat(2,1fr);}
  .method{grid-template-columns:1fr;}
  .svc-grid{grid-template-columns:1fr;}
  .split-content,.split-content--media{grid-template-columns:1fr;gap:2rem;}
}
@media (max-width:900px){
  /* Dropdown "Servicios" plano dentro del panel móvil */
  .nav__menu .nav__item{flex-direction:column;align-items:stretch;}
  .nav__menu .nav__sub{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;
    min-width:0;background:transparent;border:0;box-shadow:none;padding:0;}
  .nav__menu .nav__subtoggle{padding:1rem clamp(1.25rem,4vw,3rem);border-bottom:1px solid var(--line);justify-content:space-between;width:100%;}
  .nav__menu .nav__sub a{padding:.85rem clamp(2.25rem,6vw,4rem);border-bottom:1px solid var(--line);}
  .nav__menu .nav__subtoggle svg{display:none;}
}
@media (max-width:640px){
  .talks{grid-template-columns:1fr;}
  .audience{gap:.5rem;}
}

/* Respeta prefers-reduced-motion: sin animación, todo visible */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
  [data-reveal]{opacity:1;transform:none;}
  .marquee__track{animation:none;}
}
