/* LEUKOS — Sistema visual v4 (sobre v3) (Fase 1: paleta en movimiento, motion y coaching interactivo)
   Base v2 + capa v3 al final del archivo.
   Paleta y tipografía: Manual de Marca LEUKOS 2026.
   Regla v2 (aprobada por Diana, 7 nov 2026): el color más oscuro del diseño es el Taupe #8C7B68.
   Excepción de legibilidad: párrafos y etiquetas pequeñas en Coffee #5A4639 (WCAG AA).
   Tamaños según el manual: H1 52–72 px · H2 32–44 px · texto 16–20 px · UI 14–16 px. */

@font-face{font-family:"Noto Serif Display";src:url("/assets/fonts/NotoSerifDisplay-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Noto Serif Display";src:url("/assets/fonts/NotoSerifDisplay-Italic-Variable.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Noto Sans";src:url("/assets/fonts/NotoSans-Variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --ivory:#F8F4EC; --cream:#EAE0D1; --sand:#D8C4A5; --camel:#B4936A;
  --taupe:#8C7B68;   /* color más oscuro del diseño: titulares, líneas, íconos, logo */
  --coffee:#5A4639;  /* solo texto pequeño y párrafos, por legibilidad */
  --white:#FFFFFF;
  --head:var(--taupe);
  --text:var(--coffee);
  --line:rgba(140,123,104,.30);
  --line-soft:rgba(140,123,104,.16);
  --glow:rgba(255,226,176,.55);
  --serif:"Noto Serif Display","Iowan Old Style","Baskerville","Palatino Linotype",Georgia,serif;
  --sans:"Noto Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --pad:clamp(1.25rem,5vw,5rem);
  --maxw:1320px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --slow:.85s;
  --header-h:92px;
  --fs-h1:clamp(2.5rem,1.4rem + 3.7vw,5.5rem);      /* 40 → 88 px (v3: más grande) */
  --fs-h2:clamp(1.9rem,1.45rem + 1.5vw,2.75rem);    /* 30 → 44 px */
  --fs-h3:clamp(1.5rem,1.25rem + .9vw,2.1rem);      /* 24 → 34 px */
  --fs-lead:clamp(1.05rem,1rem + .25vw,1.2rem);
  --fs-body:clamp(1rem,.97rem + .12vw,1.0625rem);
  --fs-small:.875rem;
  --fs-label:.75rem;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{margin:0;font-family:var(--sans);font-size:var(--fs-body);line-height:1.65;color:var(--text);background:var(--ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.01em;margin:0;text-wrap:balance;color:var(--head)}
p{margin:0 0 1em;text-wrap:pretty}
::selection{background:var(--sand);color:var(--coffee)}
:focus-visible{outline:2px solid var(--taupe);outline-offset:4px;border-radius:2px}
.sr-only{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{position:absolute;left:1rem;top:-4rem;z-index:200;background:var(--white);color:var(--coffee);padding:.75rem 1rem;text-decoration:none;border:1px solid var(--taupe)}
.skip:focus{top:1rem}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}

/* ---------- Eyebrow ---------- */
.eyebrow{display:flex;align-items:center;gap:.8rem;font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;font-weight:500;margin:0 0 1.6rem;color:var(--coffee)}
.eyebrow::before{content:"";width:2.2rem;height:1px;background:var(--camel)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.75rem 1.5rem;border-radius:999px;font-size:.9375rem;font-weight:600;letter-spacing:.01em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),box-shadow .6s var(--ease)}
.btn .arr{transition:transform .5s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
/* Primario: Sand con texto Coffee (contraste 5,2:1) */
.btn-light,.btn-dark,.btn-primary{background:var(--sand);color:var(--coffee);border-color:rgba(140,123,104,.35)}
.btn-light:hover,.btn-dark:hover,.btn-primary:hover{background:#E3D3BA;border-color:var(--taupe);box-shadow:0 10px 36px rgba(180,147,106,.28),0 0 0 6px rgba(255,236,205,.6)}
/* Secundario: contorno Taupe */
.btn-ghost,.btn-line{background:transparent;color:var(--coffee);border-color:var(--taupe)}
.btn-ghost:hover,.btn-line:hover{background:var(--white)}
.link-arrow{display:inline-flex;gap:.45rem;align-items:center;text-decoration:none;border-bottom:1px solid var(--camel);padding-bottom:2px;font-weight:500;color:var(--coffee);font-size:var(--fs-small)}
.link-arrow:hover{border-color:var(--taupe)}

/* ---------- Header ---------- */
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);color:var(--taupe);background:rgba(248,244,236,.78);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);transition:background .6s var(--ease),box-shadow .6s var(--ease)}
.site-header.is-scrolled{background:rgba(248,244,236,.94);box-shadow:0 1px 0 var(--line-soft)}
.site-header .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:block;width:156px;color:var(--taupe);flex:none}
.brand svg{width:100%;height:auto;display:block}
.nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem)}
.nav-links{display:flex;gap:clamp(1rem,1.6vw,1.8rem);list-style:none;margin:0;padding:0}
.nav-links a{text-decoration:none;font-size:1rem;color:var(--coffee);position:relative;padding:.4rem 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--camel);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav-links a:hover::after{transform:scaleX(1)}
.lang{display:flex;align-items:center;gap:.3rem;font-size:.78rem;letter-spacing:.12em;color:var(--coffee)}
.lang a{text-decoration:none;padding:.5rem .15rem;min-width:24px;text-align:center;border-bottom:1px solid transparent}
.lang a[aria-current="true"]{font-weight:700;border-bottom-color:var(--camel)}
.lang a:not([aria-current="true"]):hover{border-bottom-color:var(--line)}
.lang .sep{color:var(--taupe)}
.nav-cta{min-height:44px;padding:.55rem 1.3rem;font-size:.95rem;background:var(--sand);color:var(--coffee);border-color:rgba(140,123,104,.35)}
.nav-cta:hover{background:#E3D3BA;border-color:var(--taupe)}
.menu-btn{display:none;background:none;border:0;width:48px;height:48px;margin-right:-10px;cursor:pointer;position:relative;color:var(--taupe)}
.menu-btn span{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.menu-btn span:nth-child(1){top:19px}
.menu-btn span:nth-child(2){top:28px}
.menu-open .menu-btn span:nth-child(1){top:24px;transform:rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){top:24px;transform:rotate(-45deg)}

/* Mobile menu (pantalla completa, clara) */
.mobile-menu{position:fixed;inset:0;z-index:90;background:var(--ivory);color:var(--taupe);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--header-h) + 2rem) var(--pad) 2.5rem;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility 0s .5s;background-image:radial-gradient(70% 45% at 50% 0%,rgba(255,226,176,.6),transparent 70%)}
.menu-open .mobile-menu{opacity:1;visibility:visible;transition:opacity .5s var(--ease)}
.mobile-menu ul{list-style:none;margin:0;padding:0}
.mobile-menu li a{display:block;font-family:var(--serif);font-size:clamp(1.6rem,7vw,2.1rem);line-height:1.2;padding:.4rem 0;text-decoration:none;color:var(--taupe);border-bottom:1px solid var(--line-soft)}
.mobile-menu .mm-foot{display:flex;flex-direction:column;gap:1.2rem;color:var(--coffee);font-size:var(--fs-small)}
.mobile-menu .lang{font-size:.9rem}
.menu-open{overflow:hidden}
.menu-open .site-header{background:transparent;box-shadow:none}
.sticky-cta{display:none}

/* ---------- Sections ---------- */
section{position:relative}
.sec{padding-block:clamp(4.5rem,10vw,8rem)}
.h2,.h2-xl{font-size:var(--fs-h2)}
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--coffee)}
.muted-dark,.muted-light{font-style:italic;color:var(--taupe)}

/* Reveal */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease)}
.js .reveal.is-in{opacity:1;transform:none}
.js .reveal[data-delay="1"]{transition-delay:.12s}
.js .reveal[data-delay="2"]{transition-delay:.24s}
.js .reveal[data-delay="3"]{transition-delay:.36s}

/* Luz que sigue al cursor (solo desktop) */
.cursor-light{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(closest-side,rgba(255,226,170,.9),rgba(255,226,170,.25) 50%,transparent 72%);mix-blend-mode:soft-light;opacity:0;transition:opacity .8s var(--ease);will-change:transform}
.cursor-light.is-on{opacity:1}

/* ---------- 01 HERO: la lámpara de la plantilla, sin oscurecer ---------- */
.hero{min-height:100vh;min-height:100svh;background:var(--ivory);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate;text-align:center}
.hero-media{position:absolute;left:0;right:0;top:0;height:82%;z-index:-2;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 46%,rgba(0,0,0,.55) 66%,transparent 92%);mask-image:linear-gradient(180deg,#000 0%,#000 46%,rgba(0,0,0,.55) 66%,transparent 92%)}
.hero-media picture,.hero-media img{width:100%;height:100%}
.hero-media img{object-fit:cover;object-position:50% 0%}
.hero-glow{position:absolute;left:50%;bottom:4%;width:min(120vw,1500px);height:62%;transform:translateX(-50%);z-index:-1;border-radius:50%;background:radial-gradient(closest-side,rgba(252,248,240,.96),rgba(248,244,236,.78) 55%,rgba(248,244,236,0) 100%);pointer-events:none}
.hero .wrap{padding-top:calc(var(--header-h) + 44vh);padding-bottom:clamp(2rem,5vh,3.5rem)}
.hero h1{font-size:var(--fs-h1);line-height:1.04;letter-spacing:-.02em;max-width:18ch;margin-inline:auto;color:var(--taupe)}
.hero h1 em{font-style:italic}
.hero-row{display:flex;flex-direction:column;align-items:center;gap:1.8rem;margin-top:clamp(1.4rem,3vh,2rem)}
.hero-sub{font-size:var(--fs-lead);max-width:44ch;color:var(--coffee);margin:0}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.hero-foot{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(2.5rem,6vh,3.5rem);padding-top:1.2rem;border-top:1px solid var(--line-soft);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--coffee)}
.hero-foot .scroll{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.hero-foot .scroll i{display:block;width:1px;height:30px;background:linear-gradient(var(--taupe),transparent);animation:drip 2.6s var(--ease) infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- 02 QUIÉNES SOMOS ---------- */
.about{background:var(--ivory)}
.about-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}
.about h2{grid-column:1 / span 9}
.about-blocks{grid-column:6 / span 7;display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,3vw,3rem);margin-top:clamp(2.2rem,5vw,4rem)}
.about-blocks p{margin:0}
.statement{grid-column:1 / -1;margin-top:clamp(3.5rem,7vw,6rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line-soft);display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}
.statement blockquote{grid-column:3 / span 9;margin:0;font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + 1vw,2.25rem);line-height:1.25;color:var(--taupe)}
.statement blockquote span{font-style:italic}

/* ---------- 03 QUÉ NECESITA EVOLUCIONAR ---------- */
.evolve{background:linear-gradient(180deg,var(--ivory) 0%,var(--cream) 100%);overflow:hidden}
.evolve-head{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;margin-bottom:clamp(2.2rem,5vw,3.5rem)}
.evolve-head h2{grid-column:1 / span 8}
.evolve-head p{grid-column:10 / span 3;align-self:end;font-size:var(--fs-small);margin:0}
.needs{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.needs li{border-bottom:1px solid var(--line)}
.need{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:1.25rem;padding:clamp(1rem,1.8vw,1.4rem) 0;text-decoration:none;position:relative;isolation:isolate}
.need .n{font-size:var(--fs-label);letter-spacing:.15em;color:var(--coffee)}
.need .t{font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + 1vw,2.25rem);line-height:1.15;color:var(--taupe);transition:transform .7s var(--ease)}
.need .d{font-size:.8125rem;letter-spacing:.04em;color:var(--coffee);opacity:0;transform:translateX(-10px);transition:opacity .6s var(--ease),transform .6s var(--ease);white-space:nowrap;display:flex;gap:.5rem;align-items:center}
.need::before{content:"";position:absolute;z-index:-1;left:-8%;right:-8%;top:50%;height:240%;transform:translateY(-50%);background:radial-gradient(38% 50% at 28% 50%,rgba(255,252,244,.95),rgba(255,236,205,.5) 45%,transparent 72%);opacity:0;transition:opacity .8s var(--ease)}
.need::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--camel);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.need:hover .t,.need:focus-visible .t{transform:translateX(.5rem)}
.need:hover .d,.need:focus-visible .d{opacity:1;transform:none}
.need:hover::before,.need:focus-visible::before,.need:hover::after,.need:focus-visible::after{opacity:1;transform:translateY(-50%)}
.need:hover::after,.need:focus-visible::after{transform:scaleX(1)}

/* ---------- 04 QUÉ HACEMOS ---------- */
.services{background:linear-gradient(180deg,var(--cream) 0,var(--ivory) 320px)}
.services-head{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;margin-bottom:clamp(2.2rem,5vw,3.5rem)}
.services-head h2{grid-column:1 / span 5}
.services-head p{grid-column:7 / span 5;align-self:end;margin:0}
.acc{border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-item h3{margin:0}
.acc-btn{width:100%;display:grid;grid-template-columns:4rem 1fr 3rem;align-items:center;gap:1rem;padding:clamp(1.15rem,2vw,1.6rem) 0;background:none;border:0;text-align:left;cursor:pointer;color:var(--taupe)}
.acc-btn .num{font-family:var(--sans);font-size:.8rem;letter-spacing:.14em;color:var(--coffee)}
.acc-btn .ttl{font-family:var(--serif);font-size:var(--fs-h3);line-height:1.12;transition:transform .6s var(--ease)}
.acc-btn:hover .ttl{transform:translateX(.4rem)}
.acc-btn .pm{justify-self:end;width:40px;height:40px;border-radius:50%;border:1px solid var(--taupe);position:relative;transition:background .4s var(--ease),border-color .4s,color .4s}
.acc-btn .pm::before,.acc-btn .pm::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .5s var(--ease)}
.acc-btn .pm::after{transform:translate(-50%,-50%) rotate(90deg)}
.acc-btn[aria-expanded="true"] .pm{background:var(--taupe);color:var(--white)}
.acc-btn[aria-expanded="true"] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .8s var(--ease)}
.acc-panel>div{overflow:hidden}
.acc-item.is-open .acc-panel{grid-template-rows:1fr}
.no-js .acc-panel{grid-template-rows:1fr}
.acc-body{display:grid;grid-template-columns:4rem repeat(12,1fr);gap:1rem 2rem;padding-bottom:clamp(1.8rem,3.5vw,2.6rem)}
.acc-body .desc{grid-column:2 / span 6;font-size:var(--fs-lead);margin:0}
.acc-body .scope{grid-column:9 / span 5;font-size:var(--fs-small)}
.acc-body .scope strong,.acc-body .ai-note strong{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--coffee);margin-bottom:.5rem}
.acc-body .ai-note{grid-column:2 / span 7;border-left:2px solid var(--camel);padding:.2rem 0 .2rem 1.1rem;font-size:var(--fs-small);margin-top:.4rem;background:linear-gradient(90deg,rgba(255,236,205,.45),transparent 70%)}

/* ---------- 05 CÓMO PENSAMOS ---------- */
.think{background:linear-gradient(180deg,var(--ivory) 0%,var(--cream) 100%);overflow:hidden}
.think-head{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;margin-bottom:clamp(2.6rem,6vw,4.5rem)}
.think-head h2{grid-column:1 / span 6}
.principles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,2.6rem);position:relative}
.principle{position:relative;padding-top:1.8rem}
.principle::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line)}
.principle::after{content:"";position:absolute;top:-1px;left:0;height:3px;width:100%;background:linear-gradient(90deg,var(--camel),rgba(180,147,106,0));transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease)}
.principle .halo{position:absolute;left:-30%;top:-40%;width:160%;height:140%;background:radial-gradient(closest-side,rgba(255,250,240,.95),rgba(255,236,205,0));opacity:0;transition:opacity 1.6s var(--ease);z-index:0;pointer-events:none}
.principle h3{position:relative;z-index:1;font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(140,123,104,.5);transition:color 1.2s var(--ease)}
.principle p{position:relative;z-index:1;margin:.9rem 0 0;font-size:var(--fs-body);color:rgba(90,70,57,.45);transition:color 1.2s var(--ease);max-width:28ch}
.js .principle.is-lit::after{transform:scaleX(1)}
.js .principle.is-lit .halo{opacity:1}
.js .principle.is-lit h3,.no-js .principle h3{color:var(--coffee)}
.js .principle.is-lit p,.no-js .principle p{color:var(--coffee)}
.think-close{margin-top:clamp(3rem,7vw,5.5rem);font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + 1.2vw,2.5rem);line-height:1.2;color:var(--taupe);max-width:24ch}
.think-close span{display:block}
.think-close span:nth-child(3){font-style:italic}

/* ---------- 06 PULSE ---------- */
.pulse{background:linear-gradient(180deg,var(--cream) 0%,var(--ivory) 100%);padding-block:clamp(3.5rem,8vw,6.5rem)}
.pulse-card{position:relative;border-radius:24px;overflow:hidden;background:var(--white);color:var(--coffee);border:1px solid var(--line-soft);box-shadow:0 30px 80px rgba(140,123,104,.12);padding:clamp(1.8rem,4.5vw,4rem);isolation:isolate;min-height:520px;display:flex;flex-direction:column}
.pulse-card::before{content:"";position:absolute;z-index:-1;left:50%;top:-30%;width:140%;aspect-ratio:1.8/1;transform:translateX(-50%) scale(var(--glow,0.55));transform-origin:50% 0%;background:radial-gradient(closest-side,rgba(255,220,160,.55),rgba(255,236,205,.35) 50%,transparent 75%);transition:transform 1.2s var(--ease)}
.pulse-intro{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:end;margin-top:auto}
.pulse-intro .kicker{grid-column:1 / -1;font-size:var(--fs-label);letter-spacing:.22em;text-transform:uppercase;color:var(--coffee);margin:0 0 .6rem}
.pulse-intro h2{grid-column:1 / span 7;font-size:var(--fs-h2)}
.pulse-intro .side{grid-column:8 / span 5}
.dims{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0 0 1.6rem;padding:0}
.dims li{font-size:.78rem;padding:.35rem .8rem;border:1px solid var(--line);border-radius:999px;color:var(--coffee);background:rgba(248,244,236,.7)}
.pulse-note{font-size:.8rem;margin-top:1.2rem;margin-bottom:0}
.pulse-app{display:none;flex-direction:column;flex:1}
.pulse-card.is-running .pulse-intro{display:none}
.pulse-card.is-running .pulse-app{display:flex}
.pq-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--coffee)}
.pq-progress{height:3px;background:var(--cream);margin:1rem 0 0;border-radius:3px;overflow:hidden}
.pq-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--sand),var(--taupe));transition:width .8s var(--ease)}
.pq-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(1.8rem,4vw,3rem)}
.pq-q{font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem);line-height:1.2;max-width:28ch;margin:0 0 2rem;color:var(--taupe)}
.pq-q:focus{outline:none}
.pq-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;max-width:760px}
.pq-opt{position:relative}
.pq-opt input{position:absolute;opacity:0;pointer-events:none}
.pq-opt label{display:flex;flex-direction:column;gap:.45rem;align-items:flex-start;justify-content:space-between;min-height:92px;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;cursor:pointer;background:rgba(255,255,255,.7);transition:background .4s var(--ease),border-color .4s,box-shadow .6s var(--ease)}
.pq-opt label b{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1;color:var(--taupe)}
.pq-opt label span{font-size:.78rem;line-height:1.3;color:var(--coffee)}
.pq-opt label:hover{border-color:var(--taupe)}
.pq-opt input:checked+label{background:var(--sand);border-color:var(--taupe);box-shadow:0 0 0 5px rgba(255,236,205,.8),0 10px 30px rgba(180,147,106,.3)}
.pq-opt input:checked+label b{color:var(--coffee)}
.pq-opt input:focus-visible+label{outline:2px solid var(--taupe);outline-offset:3px}
.pq-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.pq-back{background:none;border:0;color:var(--coffee);cursor:pointer;padding:.8rem 0;font-size:var(--fs-small)}
.pq-back[disabled]{visibility:hidden}
.pr{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;padding-block:1rem}
.pr h3{grid-column:1 / -1;font-size:var(--fs-label);font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--coffee);font-weight:600}
.pr-bars{grid-column:1 / span 6;list-style:none;margin:0;padding:0;display:grid;gap:1.6rem;align-content:start;align-self:start}
.pr-bars li{display:grid;gap:.5rem;align-content:start}
.pr-bars .row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-small)}
.pr-bars .row b{font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--coffee)}
.pr-bars .bar{height:10px;border-radius:10px;background:var(--cream);overflow:hidden}
.pr-bars .bar i{display:block;height:100%;width:0;border-radius:10px;background:linear-gradient(90deg,var(--sand),var(--camel) 60%,var(--taupe));box-shadow:0 0 16px rgba(255,214,150,.7);transition:width 1.6s var(--ease)}
.pr-focus{grid-column:8 / span 5}
.pr-focus .lbl{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--coffee);font-weight:600;margin-bottom:.5rem}
.pr-focus h4{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,1.25rem + .8vw,2rem);line-height:1.15;margin:0 0 .7rem;color:var(--taupe)}
.pr-focus p{font-size:var(--fs-body)}
.pr-focus ol{margin:0 0 1.8rem;padding-left:1.2rem;font-size:var(--fs-body)}
.pr-focus ol li{margin-bottom:.5rem}
.pr-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}

/* ---------- 07 PERSONAS + IA ---------- */
section.ai{background:var(--ivory);overflow:hidden}
.ai-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:start}
.ai-copy{grid-column:1 / span 6}
.ai-copy h2{margin-bottom:1.8rem}
.ai-copy p{max-width:54ch}
.ai-copy .stmt{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,1.25rem + .8vw,2rem);color:var(--taupe);margin-top:1.8rem;line-height:1.25}
.ai-viz{grid-column:8 / span 5;position:relative;aspect-ratio:1/1.08;align-self:center}
.ai-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ai-svg .beams{opacity:0;transition:opacity 1.8s var(--ease)}
.ai-svg .ln{stroke-dasharray:460;stroke-dashoffset:460;transition:stroke-dashoffset 2.2s var(--ease)}
.ai-viz.is-in .beams{opacity:1}
.ai-viz.is-in .ln{stroke-dashoffset:0}
.no-js .ai-svg .beams{opacity:1}.no-js .ai-svg .ln{stroke-dashoffset:0}
.ai-words{position:absolute;inset:0;list-style:none;margin:0;padding:0;font-family:var(--serif);font-size:clamp(1.5rem,1.25rem + .7vw,1.9rem);color:var(--taupe)}
.ai-words li{position:absolute;white-space:nowrap;line-height:1}
.ai-words li:nth-child(1){left:0;top:0}
.ai-words li:nth-child(2){right:0;top:0;text-align:right}
.ai-words li:nth-child(3){left:0;bottom:0}
.ai-words li:nth-child(4){right:0;bottom:0;font-style:italic}
.ai-x{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--serif);font-size:2rem;color:var(--taupe);line-height:1}
.ai-areas{grid-column:1 / -1;margin-top:clamp(3rem,6vw,4.5rem);padding-top:1.8rem;border-top:1px solid var(--line-soft);display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}
.ai-areas h3{grid-column:1 / span 3;font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--coffee)}
.ai-areas ul{grid-column:4 / span 9;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:var(--fs-small)}
.ai-areas li::before{content:"·";margin-right:1.4rem;color:var(--camel)}
.ai-areas li:first-child::before{content:none}

/* ---------- 08 EQUIPO ---------- */
.team{background:linear-gradient(180deg,var(--ivory),#FBF8F2)}
.team-head{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;margin-bottom:clamp(3rem,6vw,4.5rem)}
.team-head h2{grid-column:1 / span 7}
.team-head p{grid-column:9 / span 4;align-self:end;margin:0;font-size:var(--fs-small)}
.person{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:center}
.person+.person{margin-top:clamp(4rem,8vw,7rem)}
.person-photo{grid-column:2 / span 4;position:relative;background:var(--cream);border-radius:4px;overflow:hidden;aspect-ratio:4/5;isolation:isolate}
.person-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(1.04);transition:transform 1.8s var(--ease)}
.person-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,232,195,.35),rgba(255,232,195,0) 50%);mix-blend-mode:soft-light;pointer-events:none}
.person:hover .person-photo img{transform:scale(1.02)}
.person-info{grid-column:7 / span 6}
.person--alt .person-photo{grid-column:8 / span 4;order:2}
.person--alt .person-info{grid-column:1 / span 6;order:1}
.person .role{font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--coffee);margin:0 0 .8rem;font-weight:600}
.person h3{font-size:clamp(1.9rem,1.5rem + 1.3vw,2.75rem);margin-bottom:1.2rem}
.person .tag{display:inline-block;font-size:.78rem;letter-spacing:.04em;background:var(--cream);border-radius:999px;padding:.3rem .8rem;margin-bottom:1.2rem}
.person .bio{max-width:52ch}
.facts{list-style:none;margin:1.6rem 0;padding:1.3rem 0 0;display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:2.2rem;border-top:1px solid var(--line-soft)}
.facts b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,1.35rem + .8vw,2.2rem);line-height:1;color:var(--taupe);margin-bottom:.3rem}
.facts span{font-size:.8125rem}
.person details{margin:1rem 0 1.5rem;max-width:54ch}
.person summary{cursor:pointer;list-style:none;display:inline-flex;gap:.6rem;align-items:center;font-weight:500;font-size:var(--fs-small);border-bottom:1px solid var(--camel);padding-bottom:2px}
.person summary::-webkit-details-marker{display:none}
.person summary::after{content:"+";font-size:1rem;line-height:1}
.person details[open] summary::after{content:"–"}
.person details ul{margin:1rem 0 0;padding-left:1.1rem;font-size:var(--fs-small)}
.person details li{margin-bottom:.45rem}
.person .links{display:flex;gap:1.6rem;align-items:center}

/* ---------- 09 EXPERIENCIA ---------- */
.clients{background:var(--white)}
.clients[hidden]{display:none}

/* ---------- 10 INSIGHTS ---------- */
.insights{background:linear-gradient(180deg,#FBF8F2,var(--white))}
.insights-head{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;margin-bottom:clamp(2.4rem,5vw,3.5rem)}
.insights-head h2{grid-column:1 / span 7}
.insights-head p{grid-column:9 / span 4;align-self:end;margin:0;font-size:var(--fs-small)}
.topics{list-style:none;margin:0;padding:0;columns:2;column-gap:clamp(2rem,6vw,5rem);border-top:1px solid var(--line-soft)}
.topics li{break-inside:avoid;display:flex;align-items:baseline;gap:1.2rem;padding:.95rem 0;border-bottom:1px solid var(--line-soft);font-family:var(--serif);font-size:clamp(1.1rem,1rem + .35vw,1.35rem);line-height:1.2;color:var(--coffee)}
.topics li small{font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;color:var(--coffee);min-width:2rem}
.insights-cta{margin-top:clamp(2.4rem,5vw,3.5rem);display:flex;flex-wrap:wrap;gap:1.2rem 3rem;align-items:center;justify-content:space-between;padding:clamp(1.6rem,3vw,2.2rem);background:var(--ivory);border:1px solid var(--line-soft);border-radius:20px}
.insights-cta p{margin:0;font-family:var(--serif);font-size:clamp(1.5rem,1.3rem + .6vw,1.85rem);line-height:1.2;max-width:32ch;color:var(--taupe)}

/* ---------- 11 CONVERSEMOS (la parte más luminosa) ---------- */
.talk{background:var(--white);overflow:hidden;isolation:isolate}
.talk::before{content:"";position:absolute;z-index:-1;left:50%;top:-12%;width:min(1500px,170vw);aspect-ratio:1.7/1;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,226,176,.5),rgba(248,244,236,.6) 45%,rgba(255,255,255,0) 75%)}
.talk-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:start}
.talk-copy{grid-column:1 / span 5;position:sticky;top:calc(var(--header-h) + 2rem)}
.talk-copy h2{font-size:var(--fs-h2);margin-bottom:1.3rem}
.contact-direct{margin-top:2.2rem;display:grid;gap:.85rem;font-size:var(--fs-small)}
.contact-direct a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:1px}
.contact-direct a:hover{border-color:var(--taupe)}
.contact-direct span{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:.1rem}
.talk-form{grid-column:7 / span 6;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-soft);border-radius:22px;padding:clamp(1.5rem,3vw,2.6rem);box-shadow:0 30px 80px rgba(140,123,104,.10)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.field{display:flex;flex-direction:column;gap:.35rem}
.field.full{grid-column:1 / -1}
.field label{font-size:var(--fs-small);font-weight:500}
.field label .opt{font-weight:400}
.field input,.field textarea{font:inherit;font-size:1rem;color:var(--coffee);background:transparent;border:0;border-bottom:1px solid var(--taupe);padding:.6rem 0;border-radius:0;transition:border-color .3s,box-shadow .3s}
.field textarea{min-height:120px;resize:vertical;border:1px solid var(--taupe);border-radius:12px;padding:.8rem 1rem}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--camel);box-shadow:0 1px 0 var(--camel)}
.field textarea:focus{box-shadow:0 0 0 3px rgba(216,196,165,.6)}
.field .err{font-size:.8rem;color:#9B3B2B;min-height:0}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#9B3B2B}
.consent{grid-column:1 / -1;display:grid;gap:1rem;margin-top:.3rem;font-size:.8rem;line-height:1.5}
.check{display:grid;grid-template-columns:22px 1fr;gap:.8rem;align-items:start}
.check input{width:20px;height:20px;margin:.1rem 0 0;accent-color:var(--taupe)}
.channels{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.6rem 0 0 2.6rem}
.channels label{display:flex;gap:.45rem;align-items:center}
.channels input{accent-color:var(--taupe);width:18px;height:18px}
.privacy-short{grid-column:1 / -1;font-size:.78rem;margin:0}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-top:.5rem}
.form-status{font-size:var(--fs-small)}
.form-done{display:none;text-align:left;padding:1rem 0}
.form-done h3{font-size:var(--fs-h3);margin-bottom:1rem}
.talk-form.is-done form{display:none}
.talk-form.is-done .form-done{display:block}
.btn[disabled]{opacity:.6;cursor:progress}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--cream);color:var(--coffee);padding:clamp(3.5rem,7vw,5.5rem) 0 2rem;font-size:var(--fs-small)}
.foot-top{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}
.foot-brand{grid-column:1 / span 4}
.foot-brand .lockup{width:190px;color:var(--taupe);margin-bottom:1.5rem}
.foot-brand .lockup svg{width:100%;height:auto}
.foot-brand .claim{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.2;color:var(--taupe);margin:0}
.foot-col.c1{grid-column:6 / span 2}.foot-col.c2{grid-column:8 / span 2}.foot-col.c3{grid-column:10 / span 3}
.foot-col h4{font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--coffee);font-weight:600;margin:0 0 1rem}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.foot-col a{text-decoration:none}
.foot-col a:hover{text-decoration:underline;text-decoration-color:var(--camel);text-underline-offset:4px}
.foot-bottom{margin-top:clamp(3rem,6vw,4.5rem);padding-top:1.4rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:center;font-size:.78rem}

/* ---------- PÁGINAS LEGALES ---------- */
.legal-hero{background:linear-gradient(180deg,var(--cream),var(--ivory));padding:calc(var(--header-h) + clamp(3.5rem,8vw,5.5rem)) 0 clamp(2.5rem,5vw,3.5rem);position:relative;overflow:hidden;isolation:isolate}
.legal-hero::before{content:"";position:absolute;z-index:-1;left:50%;top:-40%;width:110%;aspect-ratio:2/1;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,226,176,.6),transparent 70%)}
.legal-hero .eyebrow{color:var(--coffee)}
.legal-hero h1{font-size:clamp(2rem,1.5rem + 2vw,3.4rem);max-width:22ch}
.legal-hero .meta{margin-top:1.2rem;font-size:var(--fs-small)}
.legal-body{background:var(--ivory);padding:clamp(3rem,6vw,5rem) 0}
.legal-layout{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}
.legal-toc{grid-column:1 / span 3;position:sticky;top:calc(var(--header-h) + 1.5rem);align-self:start;font-size:.84rem;max-height:calc(100vh - var(--header-h) - 3rem);overflow:auto;padding-right:1rem}
.legal-toc h2{font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--coffee);font-weight:600;margin-bottom:1rem}
.legal-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.legal-toc a{text-decoration:none}
.legal-toc a:hover{text-decoration:underline}
.legal-doc{grid-column:5 / span 8;max-width:72ch}
.legal-doc h2{font-size:clamp(1.5rem,1.3rem + .6vw,1.9rem);margin:2.6rem 0 1rem;scroll-margin-top:calc(var(--header-h) + 1rem)}
.legal-doc h2:first-child{margin-top:0}
.legal-doc h3{font-size:1.5rem;margin:1.8rem 0 .8rem}
.legal-doc ul{padding-left:1.2rem}
.legal-doc li{margin-bottom:.5rem}
.legal-doc table{width:100%;border-collapse:collapse;margin:1rem 0 2rem;font-size:.93rem}
.legal-doc th,.legal-doc td{text-align:left;padding:.65rem .8rem .65rem 0;border-bottom:1px solid var(--line-soft);vertical-align:top}
.legal-doc th{width:38%;font-weight:600}
.legal-doc .boxed{background:var(--cream);border-radius:14px;padding:1.1rem 1.3rem;margin:1rem 0 1.5rem}
.legal-doc .prevails{font-size:.875rem;background:var(--white);border-left:3px solid var(--camel);padding:1rem 1.2rem;margin-bottom:2.2rem}
.legal-switch{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line-soft);font-size:var(--fs-small)}
.legal-doc ul.plain{list-style:none;padding-left:0}

/* 404 */
.nf{min-height:100vh;display:flex;align-items:center;background:var(--ivory);position:relative;overflow:hidden;isolation:isolate}
.nf::before{content:"";position:absolute;z-index:-1;left:50%;top:-10%;width:900px;max-width:150vw;aspect-ratio:1.6/1;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,226,176,.6),transparent 70%)}
.nf h1{font-size:clamp(2.2rem,1.6rem + 2.4vw,3.8rem);margin-bottom:1.3rem}
.nf .cols{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1100px){
  .nav-links{display:none}
  .site-header .nav>.lang{display:none}
  .menu-btn{display:block}
  .about-blocks{grid-column:1 / -1}
  .statement blockquote{grid-column:1 / -1}
  .principles{grid-template-columns:1fr 1fr;row-gap:2.6rem}
  .person-photo{grid-column:1 / span 5}
  .person--alt .person-photo{grid-column:8 / span 5}
}
@media (max-width:900px){
  :root{--header-h:76px}
  .brand{width:124px}
  .site-header .nav-cta{display:none}
  .hero-media{height:74%}
  .hero .wrap{padding-top:calc(var(--header-h) + 40vh)}
  .hero-foot{display:none}
  .about h2,.evolve-head h2,.evolve-head p,.services-head h2,.services-head p,.think-head h2,.team-head h2,.team-head p,.insights-head h2,.insights-head p{grid-column:1 / -1}
  .about-blocks{grid-template-columns:1fr;gap:1.2rem;margin-top:1.8rem}
  .need{grid-template-columns:2rem 1fr;gap:.7rem}
  .need .d{grid-column:2;opacity:1;transform:none;font-size:.78rem;white-space:normal}
  .acc-btn{grid-template-columns:2.4rem 1fr 40px}
  .acc-body{grid-template-columns:1fr;padding-left:2.4rem}
  .acc-body .desc,.acc-body .scope,.acc-body .ai-note{grid-column:1 / -1}
  .about-grid,.statement,.evolve-head,.services-head,.think-head,.pulse-intro,.pr,.ai-grid,.ai-areas,.team-head,.person,.insights-head,.talk-grid,.foot-top,.legal-layout{grid-template-columns:minmax(0,1fr)!important;gap:1.3rem}
  .pulse-intro h2,.pulse-intro .side,.about h2,.statement blockquote{grid-column:1 / -1}
  .ai-areas ul{flex-direction:column;gap:.45rem}.ai-areas li::before{content:none}
  .pulse-card{padding:1.5rem;border-radius:18px;min-height:0}
  .pq-scale{grid-template-columns:1fr;gap:.5rem}
  .pq-opt label{flex-direction:row;align-items:center;justify-content:flex-start;gap:1rem;min-height:56px;padding:.7rem 1rem}
  .pq-opt label b{font-size:1.3rem;width:1.4rem}
  .pr-bars,.pr-focus{grid-column:1 / -1}
  .ai-copy,.ai-viz{grid-column:1 / -1}
  .ai-viz{max-width:400px;width:100%;margin:1.5rem auto 0}
  .ai-areas h3,.ai-areas ul{grid-column:1 / -1}
  .person-photo,.person--alt .person-photo{grid-column:1 / -1;order:0;max-width:440px}
  .person-info,.person--alt .person-info{grid-column:1 / -1;order:1}
  .facts{grid-template-columns:repeat(2,auto);gap:1.4rem 2.2rem}
  .topics{columns:1}
  .talk-copy,.talk-form{grid-column:1 / -1;position:static}
  .fgrid{grid-template-columns:1fr}
  .foot-brand,.foot-col,.foot-col.c1,.foot-col.c2,.foot-col.c3{grid-column:1 / -1}
  .legal-toc{display:none}
  .legal-doc{grid-column:1 / -1}
  .nf .cols{grid-template-columns:1fr}
  .sticky-cta{display:flex;position:fixed;left:.75rem;right:calc(.75rem + 68px);bottom:.75rem;z-index:80;justify-content:center;min-height:52px;align-items:center;border-radius:999px;background:var(--sand);color:var(--coffee);border:1px solid rgba(140,123,104,.4);text-decoration:none;font-weight:600;font-size:.95rem;box-shadow:0 10px 30px rgba(140,123,104,.3);transform:translateY(140%);transition:transform .6s var(--ease)}
  .sticky-cta.is-on{transform:none}
  .site-footer{padding-bottom:6rem}
}
@media (max-width:560px){
  .principles{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr}
  .hero h1{font-size:clamp(2.1rem,9vw,2.75rem)}
  .hero-ctas .btn{flex:1 1 100%}
}
@media (hover:none){.cursor-light{display:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .js .reveal{opacity:1;transform:none}
  .cursor-light{display:none}
  .js .principle h3,.js .principle p{color:var(--coffee)}
}
@media print{.site-header,.sticky-cta,.cursor-light,.mobile-menu{display:none}.legal-hero,.legal-body{background:#fff}}
.nf .lead{font-style:italic;color:var(--coffee)}

/* =====================================================================
   CAPA v3 — La página se mueve entre los colores del Manual de Marca.
   Fondos: Ivory · Warm Cream · Sand · Camel · Taupe (el más oscuro).
   Sobre Taupe: texto blanco solo en tamaños grandes (≥ 24 px);
   las etiquetas pequeñas van en "píldoras" Ivory con texto Coffee (AA).
   ===================================================================== */
:root{--seam:72px;--white-soft:rgba(255,255,255,.86)}
section.tone-ivory{background:var(--ivory)}
section.tone-cream{background:var(--cream)}
section.tone-sand{background:var(--sand)}
section.tone-white{background:var(--white)}
.tone-camel{background:var(--camel)}
section.tone-taupe{background:var(--taupe);color:var(--white)}
.tone-taupe h1,.tone-taupe h2,.tone-taupe h3{color:var(--white)}
/* costuras suaves entre colores */
section[class*="tone-"]::after{content:"";position:absolute;left:0;right:0;top:0;height:var(--seam);background:linear-gradient(180deg,var(--seam-from,transparent),transparent);pointer-events:none;z-index:0}
section[class*="tone-"]>*{position:relative;z-index:1}
.band+section.tone-taupe{--seam-from:rgba(180,147,106,.9)}
section.tone-taupe+section.tone-cream{--seam-from:rgba(140,123,104,.55)}
section.tone-cream+section.tone-ivory,.think.tone-ivory{--seam-from:rgba(234,224,209,1)}
section.tone-ivory+section.tone-taupe{--seam-from:rgba(248,244,236,.35)}
section.tone-taupe+section.tone-sand{--seam-from:rgba(140,123,104,.7)}
section.tone-sand+section.tone-ivory{--seam-from:rgba(216,196,165,1)}
section.tone-ivory+section.tone-cream{--seam-from:rgba(248,244,236,1)}
section.tone-cream+section.tone-white{--seam-from:rgba(234,224,209,1)}
.hero::after{display:none}

/* Píldoras para textos pequeños sobre fondos medios/oscuros */
.pill{display:inline-flex;width:auto;align-items:center;gap:.6rem;background:var(--ivory);color:var(--coffee)!important;border-radius:999px;padding:.4rem .95rem;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.eyebrow.pill::before{width:1.2rem;background:var(--camel)}
p.pill:not(.eyebrow){text-transform:none;letter-spacing:.01em;font-size:.875rem;font-weight:500}

/* ---------- Header: barra de progreso de lectura ---------- */
.scroll-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent;pointer-events:none}
.scroll-progress i{display:block;height:100%;width:100%;transform:scaleX(var(--sp,0));transform-origin:left;background:linear-gradient(90deg,var(--sand),var(--camel),var(--taupe))}
.nav-links a{color:var(--coffee)}

/* ---------- HERO (lámpara intacta) + coaching interactivo ---------- */
.hero .wrap{padding-top:calc(var(--header-h) + 39vh)}
.hero h1{max-width:17ch}
.hero-row{gap:1.5rem}
.coach{margin:clamp(2rem,4.5vh,3rem) auto 0;max-width:820px;text-align:left;background:rgba(255,255,255,.58);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);border:1px solid rgba(140,123,104,.22);border-radius:22px;padding:1.2rem clamp(1.1rem,2.6vw,1.8rem) 1.1rem;box-shadow:0 24px 60px rgba(140,123,104,.14);position:relative;overflow:hidden}
.coach::before{content:"";position:absolute;inset:-40% -10% auto auto;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,226,176,.7),transparent 70%);opacity:.8;pointer-events:none;animation:coachGlow 9s ease-in-out infinite}
@keyframes coachGlow{0%,100%{transform:translate(0,0)}50%{transform:translate(-30%,25%)}}
.coach>*{position:relative}
.coach-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem}
.coach-dot{width:9px;height:9px;border-radius:50%;background:var(--camel);box-shadow:0 0 0 0 rgba(180,147,106,.6);animation:pulseDot 2.4s ease-out infinite}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(180,147,106,.55)}80%,100%{box-shadow:0 0 0 12px rgba(180,147,106,0)}}
.coach-k{margin:0;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--coffee)}
.coach-statement{margin-left:auto;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--coffee)}
.coach-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.9rem}
.chip{border:1px solid rgba(140,123,104,.4);background:rgba(248,244,236,.7);color:var(--coffee);border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .35s var(--ease),border-color .35s,box-shadow .5s var(--ease),transform .35s var(--ease)}
.chip:hover{border-color:var(--taupe);transform:translateY(-1px)}
.chip[aria-pressed="true"]{background:var(--sand);border-color:var(--taupe);box-shadow:0 0 0 4px rgba(255,236,205,.9)}
.coach-q{font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + 1vw,2rem);line-height:1.22;color:var(--taupe);margin:0 0 .9rem;min-height:2.5em}
.coach-caret{display:inline-block;width:2px;height:.9em;margin-left:.12em;vertical-align:-.08em;background:var(--camel);animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.coach-foot{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;align-items:center;justify-content:space-between}
.coach-next{background:none;border:0;color:var(--coffee);font-size:var(--fs-small);font-weight:600;cursor:pointer;padding:.5rem 0;display:inline-flex;gap:.4rem;align-items:center}
.coach-next span{display:inline-block;transition:transform .6s var(--ease)}
.coach-next:hover span{transform:rotate(-180deg)}

/* ---------- Banda de palabras (Camel) ---------- */
.band{position:relative;overflow:hidden;padding-block:1.15rem;border-block:1px solid rgba(255,255,255,.18)}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;align-items:center;will-change:transform}
.band .marquee-track span{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.6rem);color:var(--ivory);padding:0 .9rem;white-space:nowrap}
.band .marquee-track i{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#FFF4DE 0,rgba(255,236,205,.2) 70%);box-shadow:0 0 18px 6px rgba(255,236,205,.55);flex:none}

/* ---------- Quiénes somos: frase que se ilumina con el scroll ---------- */
.statement .w{transition:color .4s linear}
.js .statement blockquote.scrub .w{color:rgba(140,123,104,.28)}
.js .statement blockquote.scrub .w.on{color:var(--taupe)}

/* ---------- ¿Qué necesita evolucionar? (Taupe + luz que sigue al cursor) ---------- */
section.evolve.tone-taupe{background:var(--taupe)}
.evolve.tone-taupe .h2{color:var(--white)}
.evolve.tone-taupe .needs{border-top-color:rgba(255,255,255,.28);position:relative}
.evolve.tone-taupe .needs li{border-bottom-color:rgba(255,255,255,.28)}
.evolve.tone-taupe .needs::before{content:"";position:absolute;inset:-10% -6%;background:radial-gradient(360px 220px at var(--mx,30%) var(--my,50%),rgba(255,240,214,.34),rgba(255,226,176,.12) 45%,transparent 70%);opacity:var(--spot,0);transition:opacity .6s var(--ease);pointer-events:none}
.evolve.tone-taupe .need .t{color:var(--white)}
.evolve.tone-taupe .need .n{color:var(--white);font-size:.95rem;font-weight:600}
.evolve.tone-taupe .need .d{background:var(--ivory);color:var(--coffee);border-radius:999px;padding:.35rem .8rem;font-weight:600}
.evolve.tone-taupe .need::before{background:radial-gradient(38% 50% at 28% 50%,rgba(255,244,222,.35),rgba(255,236,205,.12) 45%,transparent 72%)}
.evolve.tone-taupe .need::after{background:var(--sand)}
.evolve-head p.pill{grid-column:9 / span 4;justify-self:end}

/* ---------- Qué hacemos (Cream) ---------- */
section.services.tone-cream{background:var(--cream)}
.services .acc,.services .acc-item{border-color:rgba(140,123,104,.35)}
.acc-item{position:relative}
.acc-item::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;background:linear-gradient(90deg,var(--camel),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.acc-item.is-open::before{transform:scaleX(1)}
.acc-item.is-open .acc-body>*{animation:rise .8s var(--ease) both}
.acc-item.is-open .acc-body>*:nth-child(2){animation-delay:.08s}.acc-item.is-open .acc-body>*:nth-child(3){animation-delay:.16s}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.acc-body .ai-note{background:linear-gradient(90deg,rgba(248,244,236,.85),transparent 80%)}

/* ---------- Cómo pensamos: secuencia fijada al scroll ---------- */
section.think.tone-ivory{background:linear-gradient(180deg,var(--ivory),var(--cream));padding:0;overflow:visible}
.think-track{position:relative}
.think-sticky{padding-block:clamp(4.5rem,9vw,7rem)}
.think-rail{position:relative;height:3px;margin-bottom:-2px;z-index:2}
.think-rail i{position:absolute;top:-30px;left:0;width:120px;height:62px;margin-left:-60px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,200,.95),rgba(255,220,160,.45) 45%,transparent 72%);transform:translateX(calc(var(--tp,0) * (100cqw - 0px)));opacity:0;transition:opacity .6s}
@media (min-width:901px) and (prefers-reduced-motion:no-preference){
  .js .think[data-pin] .think-track{height:210vh}
  .js .think[data-pin] .think-sticky{position:sticky;top:var(--header-h);min-height:calc(100vh - var(--header-h));display:flex;align-items:center;padding-block:3rem}
  .js .think[data-pin] .think-sticky>.wrap{width:100%;container-type:inline-size}
  .js .think[data-pin] .think-rail i{opacity:1;left:0;transform:translateX(calc(var(--tp,0) * 100cqw))}
  .js .think[data-pin] .think-close span{opacity:.12;transform:translateY(10px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .js .think[data-pin] .think-close span.on{opacity:1;transform:none}
  .js .think[data-pin] .think-close.reveal{opacity:1;transform:none}
}
.principle h3{font-size:1rem}
.think-close{color:var(--taupe)}

/* ---------- LEUKOS en movimiento (Taupe) ---------- */
section.film.tone-taupe{background:radial-gradient(80% 70% at 75% 40%,rgba(216,196,165,.35),transparent 70%),var(--taupe)}
.film-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:center}
.film-copy{grid-column:1 / span 4}
.film-copy .h2{color:var(--white);margin-bottom:1.6rem}
.film-steps{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;counter-reset:fs}
.film-steps li{font-family:var(--serif);font-size:1.5rem;line-height:1.25;color:rgba(255,255,255,.55);transition:color .6s var(--ease),transform .6s var(--ease)}
.film-steps li.on{color:var(--white);transform:translateX(.4rem)}
.video-slot{grid-column:5 / span 8;margin:0;position:relative;border-radius:20px;overflow:hidden;background:var(--cream);aspect-ratio:16/9;box-shadow:0 40px 90px rgba(80,62,48,.28),0 0 0 1px rgba(255,255,255,.18)}
.video-slot video{width:100%;height:100%;object-fit:cover;display:block}
.vs-toggle{position:absolute;left:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.55rem;background:var(--ivory);color:var(--coffee);border:0;border-radius:999px;padding:.55rem 1rem .55rem .7rem;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 8px 24px rgba(80,62,48,.2)}
.vs-ico{width:22px;height:22px;border-radius:50%;background:var(--sand);position:relative}
.vs-ico::before{content:"";position:absolute;left:8px;top:6px;border-left:8px solid var(--coffee);border-top:5px solid transparent;border-bottom:5px solid transparent}
.vs-toggle[aria-pressed="true"] .vs-ico::before{left:7px;top:6px;width:3px;height:10px;border:0;background:var(--coffee);box-shadow:5px 0 0 var(--coffee)}
.vs-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.25)}
.vs-progress i{display:block;height:100%;width:100%;transform:scaleX(var(--vp,0));transform-origin:left;background:linear-gradient(90deg,var(--sand),var(--camel))}
.video-try{grid-column:5 / span 8;display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center}
.video-try p{margin:0;font-size:.8rem;background:var(--ivory);color:var(--coffee);border-radius:12px;padding:.45rem .8rem}
.video-try .btn{background:var(--ivory);color:var(--coffee);border-color:transparent;cursor:pointer}

/* ---------- Pulse (Sand) ---------- */
section.pulse.tone-sand{background:var(--sand)}
.pulse.tone-sand .pulse-card{box-shadow:0 40px 90px rgba(140,123,104,.25)}

/* ---------- Personas + IA ---------- */
section.ai.tone-ivory{background:linear-gradient(180deg,var(--ivory),#FBF8F2)}
.ai-svg .beams{transform-origin:200px 216px;animation:beamTurn 24s linear infinite}
@keyframes beamTurn{to{transform:rotate(360deg)}}

/* ---------- Clientes: banda de logos en movimiento ---------- */
section.clients{display:block;padding-block:clamp(3.5rem,7vw,5.5rem);overflow:hidden}
.clients[hidden]{display:none}
.clients-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;margin-bottom:clamp(1.8rem,4vw,2.8rem)}
.clients-head .h2{max-width:20ch}
.marquee-toggle{display:inline-flex;align-items:center;gap:.5rem;background:var(--ivory);color:var(--coffee);border:1px solid rgba(140,123,104,.35);border-radius:999px;padding:.45rem .95rem .45rem .6rem;font-size:.85rem;font-weight:600;cursor:pointer}
.mt-ico{width:20px;height:20px;border-radius:50%;background:var(--sand);position:relative}
.mt-ico::before{content:"";position:absolute;left:6px;top:5px;width:3px;height:10px;background:var(--coffee);box-shadow:5px 0 0 var(--coffee)}
.marquee-toggle[aria-pressed="true"] .mt-ico::before{left:7px;top:5px;width:0;height:0;background:none;box-shadow:none;border-left:8px solid var(--coffee);border-top:5px solid transparent;border-bottom:5px solid transparent}
.logo-marquee{position:relative;padding-block:.6rem}
.logo-marquee::after{content:"";position:absolute;top:0;bottom:0;width:22%;left:-22%;background:linear-gradient(100deg,transparent,rgba(255,250,240,.55),transparent);animation:sweep 7s var(--ease) infinite;pointer-events:none}
@keyframes sweep{0%{left:-22%}60%,100%{left:110%}}
.logo-track{list-style:none;margin:0;padding:0;gap:0}
.logo-track li{flex:none;display:flex;align-items:center;justify-content:center;height:104px;padding:0 clamp(1.4rem,2.6vw,2.4rem);position:relative}
.logo-track li+li::before{content:"";position:absolute;left:0;top:30%;bottom:30%;width:1px;background:rgba(140,123,104,.25)}
.logo-track img{height:56px;width:auto;max-width:200px;object-fit:contain;filter:grayscale(1) sepia(.3) saturate(.7) contrast(.95);opacity:.78;mix-blend-mode:multiply;transition:filter .5s var(--ease),opacity .5s var(--ease),transform .6s var(--ease)}
.logo-track li:hover img{filter:none;opacity:1;transform:scale(1.06)}
.no-js .logo-marquee{overflow-x:auto}

/* ---------- Equipo ---------- */
section.team.tone-ivory{background:linear-gradient(180deg,var(--ivory),#FBF8F2)}
.js .person-photo.reveal{opacity:1;transform:none}
.js .person-photo.reveal picture{display:block;height:100%;clip-path:inset(100% 0 0 0);transition:clip-path 1.4s var(--ease)}
.js .person-photo.reveal.is-in picture{clip-path:inset(0 0 0 0)}
.person-photo::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,transparent 30%,rgba(255,240,214,.7) 50%,transparent 70%);transform:translateX(-120%);pointer-events:none}
.js .person-photo.reveal.is-in::before{animation:photoSweep 1.8s .5s var(--ease) both}
@keyframes photoSweep{to{transform:translateX(120%)}}
.video-pop{background:none;border:0;border-bottom:1px solid var(--camel);cursor:pointer;font:inherit;font-size:var(--fs-small);font-weight:500;color:var(--coffee);padding:0 0 2px}
.video-dialog{border:0;padding:0;border-radius:18px;max-width:min(92vw,1100px);width:100%;background:var(--ivory);box-shadow:0 40px 120px rgba(80,62,48,.4)}
.video-dialog::backdrop{background:rgba(140,123,104,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.video-dialog video{width:100%;display:block;background:#000}
.vd-close{position:absolute;right:.8rem;top:.8rem;z-index:2;background:var(--ivory);color:var(--coffee);border:0;border-radius:999px;padding:.4rem .9rem;font-weight:600;cursor:pointer}

/* ---------- Insights (Cream) ---------- */
section.insights.tone-cream{background:var(--cream)}
.insights .topics,.insights .topics li{border-color:rgba(140,123,104,.3)}
.topics li{position:relative;transition:padding-left .5s var(--ease)}
.topics li::after{content:"";position:absolute;left:-14px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--camel);box-shadow:0 0 14px 4px rgba(255,226,176,.9);opacity:0;transition:opacity .4s}
.topics li:hover{padding-left:.6rem}
.topics li:hover::after{opacity:1}
.insights-cta{background:var(--ivory)}

/* ---------- Conversemos / Footer ---------- */
section.talk.tone-white{background:var(--white)}
.site-footer{background:var(--sand)}
.site-footer .foot-bottom{border-top-color:rgba(140,123,104,.4)}
.magnetic{transition:transform .35s var(--ease),background .4s var(--ease),box-shadow .6s var(--ease)}

/* Títulos que la luz revela */
@supports ((-webkit-mask-image:linear-gradient(#000,#000)) or (mask-image:linear-gradient(#000,#000))){
  .js .h2.reveal,.js .h2-xl.reveal{opacity:1;transform:none;-webkit-mask-image:linear-gradient(100deg,#000 40%,rgba(0,0,0,.18) 50%,transparent 58%);mask-image:linear-gradient(100deg,#000 40%,rgba(0,0,0,.18) 50%,transparent 58%);-webkit-mask-size:280% 100%;mask-size:280% 100%;-webkit-mask-position:100% 0;mask-position:100% 0;transition:-webkit-mask-position 1.8s var(--ease),mask-position 1.8s var(--ease)}
  .js .h2.reveal.is-in,.js .h2-xl.reveal.is-in{-webkit-mask-position:0 0;mask-position:0 0}
}

/* ---------- Responsive v3 ---------- */
@media (max-width:1100px){
  .film-copy{grid-column:1 / -1}
  .video-slot,.video-try{grid-column:1 / -1}
  .film-steps{grid-auto-flow:column;gap:1rem;overflow:hidden}
}
@media (max-width:900px){
  .hero .wrap{padding-top:calc(var(--header-h) + 30vh)}
  .coach{padding:1rem 1rem .9rem}
  .coach-statement{display:none}
  .coach-chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:-1rem;padding-inline:1rem;scrollbar-width:none}
  .coach-chips::-webkit-scrollbar{display:none}
  .chip{flex:none}
  .coach-q{font-size:1.5rem;min-height:3.7em}
  .evolve-head p.pill{grid-column:1 / -1;justify-self:start}
  .film-grid{grid-template-columns:minmax(0,1fr)!important}
  .film-steps{display:none}
  .logo-track li{height:84px}
  .logo-track img{height:44px;max-width:150px}
  .clients-head .h2{max-width:none}
}
@media (max-width:560px){
  .hero h1{font-size:clamp(2.35rem,10vw,3rem)}
}
@media (prefers-reduced-motion:reduce){
  .coach::before,.coach-dot,.coach-caret,.logo-marquee::after,.ai-svg .beams{animation:none!important}
  .js .h2.reveal,.js .h2-xl.reveal{-webkit-mask-image:none;mask-image:none}
  .js .person-photo.reveal picture{clip-path:none}
  .js .statement blockquote.scrub .w{color:var(--taupe)}
}
[hidden]{display:none!important}

/* =====================================================================
   CAPA v4 — Talleres & Labs, WhatsApp flotante, logo más grande.
   ===================================================================== */
.nowrap,.contact-direct a,.foot-col a[href^="https://wa.me"]{white-space:nowrap}

/* ---------- 05 · Talleres & Labs ---------- */
.labs-body{row-gap:1.6rem}
.labs-body .labs-sub{grid-column:2 / span 9;font-family:var(--serif);font-size:var(--fs-h3);line-height:1.15;color:var(--taupe)}
.labs-intro{grid-column:2 / span 7}
.labs-intro p{margin:0 0 .8rem}
.labs-intro p:first-child{font-size:var(--fs-lead)}
.labs-less{padding-left:1rem;border-left:2px solid var(--camel)}
.labs-less strong{display:block;font-weight:600}
.labs{grid-column:2 / -1;margin-top:.6rem}
.labs-q{font-family:var(--serif);font-size:clamp(1.5rem,1.25rem + .8vw,2rem);line-height:1.2;color:var(--taupe);margin:0 0 1.2rem}
.labs-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.lab{position:relative;background:var(--ivory);border:1px solid rgba(140,123,104,.25);border-radius:18px;padding:1.3rem 1.4rem 1.4rem;overflow:hidden;isolation:isolate}
.lab::before{content:"";position:absolute;z-index:-1;right:-30%;top:-60%;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,226,176,.7),transparent 70%);opacity:.5;transition:opacity .6s var(--ease)}
.lab-n{display:block;font-size:.75rem;letter-spacing:.16em;color:var(--coffee);font-weight:600;margin-bottom:.4rem}
.lab h4{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1.15;color:var(--taupe);margin:0 0 .6rem}
.lab-for{margin:0 0 .9rem}
.lab-k{margin:0 0 .5rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.lab-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.lab-tags li{font-size:.8125rem;background:var(--white);border:1px solid rgba(140,123,104,.25);border-radius:999px;padding:.3rem .75rem}
/* Selector interactivo (con JavaScript): lista de labs a la izquierda, detalle a la derecha */
.labs.is-tabs .labs-stage{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1rem,3vw,2.6rem);align-items:start}
.labs-nav{list-style:none;margin:0;padding:0;border-top:1px solid rgba(140,123,104,.3)}
.labs-nav li{border-bottom:1px solid rgba(140,123,104,.3)}
.labs-nav button{width:100%;display:grid;grid-template-columns:2.2rem 1fr auto;align-items:center;gap:.6rem;background:none;border:0;text-align:left;padding:.85rem .4rem;cursor:pointer;color:var(--coffee);font-size:1rem;position:relative;transition:padding .45s var(--ease),background .45s var(--ease)}
.labs-nav button .ln{font-size:.75rem;letter-spacing:.14em;font-weight:600}
.labs-nav button .la{opacity:0;transform:translateX(-6px);transition:opacity .4s,transform .4s var(--ease)}
.labs-nav button:hover{padding-left:.8rem}
.labs-nav button[aria-selected="true"]{background:linear-gradient(90deg,rgba(255,250,240,.95),rgba(248,244,236,0));font-weight:600;padding-left:.8rem}
.labs-nav button[aria-selected="true"]::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:3px;background:var(--camel);box-shadow:0 0 14px 3px rgba(255,226,176,.9)}
.labs-nav button[aria-selected="true"] .la{opacity:1;transform:none}
.labs.is-tabs .labs-panels{position:relative}
.labs.is-tabs .lab{padding:clamp(1.4rem,3vw,2.2rem);min-height:100%;box-shadow:0 24px 60px rgba(140,123,104,.14)}
.labs.is-tabs .lab::before{opacity:1}
.labs.is-tabs .lab h4{font-size:clamp(1.6rem,1.3rem + 1vw,2.25rem)}
.labs.is-tabs .lab.is-in{animation:labIn .7s var(--ease) both}
@keyframes labIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.labs.is-tabs .lab.is-in .lab-tags li{animation:labIn .6s var(--ease) both}
.labs.is-tabs .lab.is-in .lab-tags li:nth-child(2){animation-delay:.05s}.labs.is-tabs .lab.is-in .lab-tags li:nth-child(3){animation-delay:.1s}.labs.is-tabs .lab.is-in .lab-tags li:nth-child(4){animation-delay:.15s}.labs.is-tabs .lab.is-in .lab-tags li:nth-child(5){animation-delay:.2s}.labs.is-tabs .lab.is-in .lab-tags li:nth-child(6){animation-delay:.25s}.labs.is-tabs .lab.is-in .lab-tags li:nth-child(7){animation-delay:.3s}
.labs-close{grid-column:2 / -1;margin-top:.8rem;padding:clamp(1.3rem,3vw,2rem);border-radius:20px;background:var(--sand);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem 2rem;align-items:center}
.labs-c{grid-column:1;margin:0;font-family:var(--serif);font-size:clamp(1.5rem,1.25rem + .9vw,2.1rem);line-height:1.2;color:var(--coffee)}
.labs-c span{display:block}
.labs-c3{grid-column:1;margin:0;max-width:52ch}
.labs-ctas{grid-column:2;grid-row:1 / span 2;display:grid;gap:.8rem;justify-items:start}
.labs-diag{margin:0;font-size:var(--fs-small);max-width:28ch}
.labs-close .btn-light{background:var(--ivory)}

/* ---------- WhatsApp flotante (siempre abajo a la derecha) ---------- */
.wa-float{position:fixed;right:clamp(.75rem,2vw,1.5rem);bottom:clamp(.75rem,2vw,1.5rem);z-index:120;display:flex;align-items:center;gap:.6rem;text-decoration:none}
.wa-ico{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#1E9E52;color:#fff;box-shadow:0 10px 28px rgba(30,158,82,.35),0 2px 6px rgba(0,0,0,.12);transition:transform .4s var(--ease),box-shadow .4s var(--ease);position:relative}
.wa-ico::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(30,158,82,.45);animation:waPulse 2.8s ease-out infinite}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(30,158,82,.45)}75%,100%{box-shadow:0 0 0 16px rgba(30,158,82,0)}}
.wa-label{background:var(--white);color:var(--coffee);font-size:.875rem;font-weight:600;border-radius:999px;padding:.55rem 1rem;box-shadow:0 8px 24px rgba(140,123,104,.22);white-space:nowrap;opacity:0;transform:translateX(8px);pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease)}
.wa-float:hover .wa-ico,.wa-float:focus-visible .wa-ico{transform:scale(1.07)}
.wa-float:hover .wa-label,.wa-float:focus-visible .wa-label,.wa-float.is-hint .wa-label{opacity:1;transform:none}
.wa-float:focus-visible{outline:none}
.wa-float:focus-visible .wa-ico{outline:3px solid var(--taupe);outline-offset:3px}
.menu-open .wa-float{display:none}

@media (max-width:1100px){
  .labs.is-tabs .labs-stage{grid-template-columns:minmax(0,1fr)}
  .labs-nav{display:flex;overflow-x:auto;gap:.4rem;border:0;scrollbar-width:none;margin-inline:-.2rem;padding:.2rem}
  .labs-nav::-webkit-scrollbar{display:none}
  .labs-nav li{border:0;flex:none}
  .labs-nav button{display:flex;gap:.5rem;border:1px solid rgba(140,123,104,.35);border-radius:999px;padding:.5rem .9rem;background:var(--ivory);font-size:.875rem}
  .labs-nav button:hover{padding-left:.9rem}
  .labs-nav button[aria-selected="true"]{background:var(--sand);padding-left:.9rem}
  .labs-nav button[aria-selected="true"]::before,.labs-nav button .la{display:none}
}
@media (max-width:900px){
  .labs-body .labs-sub,.labs-intro,.labs,.labs-close{grid-column:1 / -1}
  .labs-stage{grid-template-columns:minmax(0,1fr)}
  .labs-close{grid-template-columns:minmax(0,1fr)}
  .labs-ctas{grid-column:1;grid-row:auto}
  .wa-label{display:none}
  .wa-ico{width:54px;height:54px}
}
@media (prefers-reduced-motion:reduce){.wa-ico::after{animation:none}.labs.is-tabs .lab.is-in,.labs.is-tabs .lab.is-in .lab-tags li{animation:none}}
.labs,.labs-stage,.labs-panels,.labs-nav{min-width:0}
@media (max-width:900px){.acc-body{grid-template-columns:minmax(0,1fr)}}
section.think.tone-ivory{overflow:visible;overflow-x:clip}

/* =====================================================================
   CAPA v5 — perfil de Diana, cursor bombillo, navegación más suave.
   ===================================================================== */
.person .bio-2{margin-top:-.2rem}
.edu{margin:1.4rem 0 0;padding:1.1rem 1.2rem;border-radius:16px;background:rgba(234,224,209,.55);border:1px solid rgba(140,123,104,.18);max-width:56ch}
.edu-t{margin:0 0 .6rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.edu ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:var(--fs-small)}
.edu li{position:relative;padding-left:1.1rem}
.edu li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--camel);box-shadow:0 0 8px 2px rgba(255,226,176,.8)}
.edu strong{font-weight:600}
.person:not(.person--alt) .facts{grid-template-columns:repeat(2,minmax(0,auto))}
.facts span{max-width:20ch;display:block}

/* Cursor: bombillo minimalista (solo con mouse). Apagado al navegar; encendido sobre enlaces y botones. */
@media (hover:hover) and (pointer:fine){
  html,body{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='28'%20viewBox='0%200%2024%2028'%3E%3Cg%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%204.2a6.6%206.6%200%200%200-4%2011.9c.8.6%201.2%201.5%201.2%202.4v.9h5.6v-.9c0-.9.4-1.8%201.2-2.4A6.6%206.6%200%200%200%2012%204.2z'%20stroke='white'%20stroke-width='3.6'/%3E%3Cpath%20d='M12%204.2a6.6%206.6%200%200%200-4%2011.9c.8.6%201.2%201.5%201.2%202.4v.9h5.6v-.9c0-.9.4-1.8%201.2-2.4A6.6%206.6%200%200%200%2012%204.2z'%20fill='rgba%28255,255,255,0.75%29'%20stroke='#8C7B68'%20stroke-width='1.5'/%3E%3Cpath%20d='M9.6%2022.3h4.8M10.4%2025h3.2'%20stroke='white'%20stroke-width='3.4'/%3E%3Cpath%20d='M9.6%2022.3h4.8M10.4%2025h3.2'%20stroke='#8C7B68'%20stroke-width='1.5'/%3E%3C/g%3E%3C/svg%3E") 12 4, auto}
  a,button,summary,label,select,[role="tab"],.chip,.need,.acc-btn,.pq-opt label,.vs-toggle,.marquee-toggle,.wa-float,input[type="checkbox"],input[type="radio"],input[type="file"]{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='28'%20viewBox='0%200%2024%2028'%3E%3Cg%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%20.9v1.6M4.4%204l1.1%201.1M19.6%204l-1.1%201.1M2%2011h1.6M20.4%2011H22'%20stroke='white'%20stroke-width='3'/%3E%3Cpath%20d='M12%20.9v1.6M4.4%204l1.1%201.1M19.6%204l-1.1%201.1M2%2011h1.6M20.4%2011H22'%20stroke='#B4936A'%20stroke-width='1.4'/%3E%3Cpath%20d='M12%204.2a6.6%206.6%200%200%200-4%2011.9c.8.6%201.2%201.5%201.2%202.4v.9h5.6v-.9c0-.9.4-1.8%201.2-2.4A6.6%206.6%200%200%200%2012%204.2z'%20stroke='white'%20stroke-width='3.6'/%3E%3Cpath%20d='M12%204.2a6.6%206.6%200%200%200-4%2011.9c.8.6%201.2%201.5%201.2%202.4v.9h5.6v-.9c0-.9.4-1.8%201.2-2.4A6.6%206.6%200%200%200%2012%204.2z'%20fill='#F7DDAE'%20stroke='#8C7B68'%20stroke-width='1.5'/%3E%3Cpath%20d='M9.6%2022.3h4.8M10.4%2025h3.2'%20stroke='white'%20stroke-width='3.4'/%3E%3Cpath%20d='M9.6%2022.3h4.8M10.4%2025h3.2'%20stroke='#8C7B68'%20stroke-width='1.5'/%3E%3C/g%3E%3C/svg%3E") 12 4, pointer}
  input[type="text"],input[type="email"],input[type="tel"],textarea{cursor:text}
}
/* Botón de sonido del video */
.vs-sound{position:absolute;right:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.55rem;background:var(--ivory);color:var(--coffee);border:0;border-radius:999px;padding:.55rem 1rem .55rem .7rem;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 8px 24px rgba(80,62,48,.2)}
.vs-sico{width:22px;height:22px;border-radius:50%;background:var(--sand);position:relative}
.vs-sico::before{content:"";position:absolute;left:5px;top:7px;width:4px;height:8px;background:var(--coffee);box-shadow:0 0 0 0 var(--coffee)}
.vs-sico::after{content:"";position:absolute;left:8px;top:4px;border-right:7px solid var(--coffee);border-top:7px solid transparent;border-bottom:7px solid transparent}
.vs-sound[aria-pressed="true"]{background:var(--sand)}
.vs-sound[aria-pressed="true"] .vs-sico{background:var(--ivory);box-shadow:0 0 0 4px rgba(255,236,205,.8)}

/* v5.2 — "Dónde puede aportar la IA": lista ordenada en columnas (antes se veía desordenada) */
.ai-areas{align-items:start}
.ai-areas h3{grid-column:1 / span 3;font-size:.75rem;line-height:1.6;letter-spacing:.18em;max-width:22ch}
.ai-areas ul{grid-column:4 / span 9;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem 2rem;flex-direction:initial}
.ai-areas li{display:flex;align-items:baseline;gap:.7rem;padding:.55rem 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs-small);line-height:1.4}
.ai-areas li::before,.ai-areas li:first-child::before{content:"";flex:none;width:7px;height:7px;margin:0;border-radius:50%;background:var(--camel);box-shadow:0 0 10px 3px rgba(255,226,176,.85);transform:translateY(-1px)}
@media (max-width:1100px){.ai-areas ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.ai-areas h3,.ai-areas ul{grid-column:1 / -1}.ai-areas ul{grid-template-columns:minmax(0,1fr);gap:0}.ai-areas li::before{content:""}}
