/* b.css — sistema visual B (22/09/2026). Sustituye a tokens/base/components.
   Tipografía Instrument Sans + Instrument Serif (cursiva en letras sueltas de
   los títulos), base crema, tarjetas grandes y redondeadas, botones píldora.
   Mantiene TODOS los nombres de clase del generador: solo cambia cómo se ven. */

/* ============ Tokens ============ */
:root{
  --ink:#16130f;--ink-2:#2a2520;--body:#554e46;--muted:#6f675c;
  --line:#e7e2d8;--line-soft:#f1eee7;
  --canvas:#fbfaf7;--cell:#ffffff;--warm:#f5f1e8;
  --stone:#f1eee7;--sand:#f3ece0;--mist:#eeeee8;
  --accent:#a8895a;--accent-deep:#82663e;--accent-wash:#f7efdf;
  --no:#b23a2a;
  --on-dark:#f5f2ec;--on-dark-mut:#a89f93;
  --font-sans:'Instrument Sans',-apple-system,'Segoe UI',Arial,sans-serif;
  --font-serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --s-xs:8px;--s-sm:12px;--s-md:16px;--s-lg:24px;--s-xl:32px;--s-2xl:48px;--s-3xl:64px;--s-4xl:96px;--s-5xl:192px;
  --maxw:1320px;--maxw-prose:720px;--maxw-form:560px;--gutter:clamp(16px,4vw,56px);
  --r-sm:10px;--r:18px;--r-lg:28px;--pill:999px;
  --shadow-sm:0 1px 2px rgba(22,19,15,.04);
  --shadow:0 20px 50px -24px rgba(22,19,15,.28),0 1px 2px rgba(22,19,15,.05);
  --ease:cubic-bezier(.2,.7,.2,1);--dur:.2s;
  --header-h:72px;
}
@media(max-width:900px){:root{--header-h:64px}}

/* ============ Base ============ */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--s-lg));-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{background:var(--canvas);color:var(--body);font-family:var(--font-sans);font-weight:400;font-size:16px;line-height:1.6;padding-top:var(--header-h);-webkit-font-smoothing:antialiased;min-height:100svh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
img,svg{max-width:100%;display:block}
a,button,[role="button"]{touch-action:manipulation}
button,[role="button"],.btn,.nav-toggle,.linklike{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
button{font:inherit}

h1,h2,h3,h4{font-family:var(--font-sans);color:var(--ink);font-weight:400;text-wrap:balance;letter-spacing:-.025em;line-height:1.05}
h1{font-size:clamp(38px,1.6rem + 3vw,64px)}
h2{font-size:clamp(30px,1.4rem + 2.1vw,50px)}
h3{font-size:clamp(21px,1.05rem + .6vw,26px);letter-spacing:-.015em;line-height:1.2}
h4{font-size:18px;letter-spacing:-.01em}
@media(max-width:600px){h1{font-size:34px;line-height:1.08}h2{font-size:30px}}
/* Firma tipográfica: cursiva serif en letras o palabras sueltas de los títulos */
h1 i,h2 i,h3 i,.it{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:0}
p{max-width:68ch}
a{color:inherit}
.kicker{font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);display:flex;align-items:center;gap:var(--s-xs)}
.kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}
.lead{font-size:clamp(17px,1rem + .35vw,20px);line-height:1.5;color:var(--body)}
.small{font-size:13px;font-weight:500;line-height:1.5;color:var(--muted)}
.quote{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(22px,1rem + 1.3vw,30px);line-height:1.3;letter-spacing:-.005em;color:var(--ink)}
.accent-line{color:var(--accent-deep);font-weight:600;font-size:17px}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.prose{max-width:var(--maxw-prose);margin-inline:auto}
.section{padding-block:clamp(56px,7vw,112px)}
.section--warm{background:var(--warm)}
.section--accent{background:var(--accent-wash)}
.section--dark{background:var(--ink);color:var(--on-dark-mut)}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--on-dark)}
.section--dark .kicker{color:var(--accent)}
.section--dark .quote{color:var(--on-dark)}
.section--dark .small{color:var(--on-dark-mut)}
.section--dark .lead{color:var(--on-dark-mut)}
.section--ruled{border-top:1px solid var(--line)}
.section--ruled + .section--ruled{margin-top:-1px}
.center{text-align:center}
.center p{margin-inline:auto}
.center h2{margin-inline:auto}
.text-left{text-align:left}
.mt-xs{margin-top:var(--s-xs)}.mt-sm{margin-top:var(--s-sm)}.mt-md{margin-top:var(--s-md)}.mt-lg{margin-top:var(--s-lg)}.mt-xl{margin-top:var(--s-xl)}.mt-2xl{margin-top:var(--s-2xl)}.mt-3xl{margin-top:var(--s-3xl)}.mb-xl{margin-bottom:var(--s-xl)}
.measure{max-width:60ch;margin-inline:auto}
.measure-tight{max-width:46ch;margin-inline:auto}
::selection{background:var(--accent-wash);color:var(--ink)}
.section--dark ::selection{background:var(--accent);color:var(--ink)}
input,textarea{caret-color:var(--accent-deep)}
.skip-link{position:absolute;left:var(--s-md);top:-100px;z-index:100;background:var(--ink);color:var(--on-dark);padding:var(--s-sm) var(--s-lg);border-radius:var(--pill);font-size:14px;font-weight:600;text-decoration:none;transition:top var(--dur) var(--ease)}
.skip-link:focus{top:var(--s-md)}
:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px;border-radius:4px}
.section--dark :focus-visible{outline-color:var(--accent)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ============ Botones y enlaces ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border-radius:var(--pill);background:var(--ink);color:#fff;font-weight:500;font-size:16px;line-height:1;border:1px solid var(--ink);text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease)}
.btn::after{content:"→";display:inline-block;transition:transform var(--dur) var(--ease)}
.btn--sm{min-height:42px;padding:0 18px;font-size:15px}
.btn--lg{min-height:56px;padding:0 30px;font-size:16px}
.btn--block{display:flex;width:100%}
.btn--ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn:active{transform:scale(.98)}
.section--dark .btn{background:var(--on-dark);color:var(--ink);border-color:var(--on-dark)}
@media(max-width:600px){.btn--lg{display:flex;width:100%;padding-inline:18px;font-size:15px}}
.link-cta{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:15px;font-weight:500;color:var(--accent-deep);text-decoration:none;transition:gap var(--dur) var(--ease)}
.section--dark .link-cta{color:var(--on-dark)}
.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.acciones{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media(max-width:600px){.acciones{flex-direction:column;align-items:stretch}}

/* ============ Cabecera ============ */
.header{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--header-h);background:rgba(251,250,247,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease)}
.header[data-scrolled="true"]{border-bottom-color:var(--line)}
.header__inner{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);height:100%;display:flex;align-items:center;gap:var(--s-xl)}
.header__logo{display:flex;align-items:center;flex:none;padding-right:var(--s-xl);border-right:1px solid var(--line)}
.header__logo img{height:24px;width:auto;max-width:none}
.header__nav{display:flex;align-items:center;gap:var(--s-lg);margin-right:auto}
.header__nav a{font-size:15px;font-weight:450;color:var(--muted);text-decoration:none;transition:color var(--dur) var(--ease)}
.header__nav a[aria-current="page"]{color:var(--ink);font-weight:500}
.header__cta{white-space:nowrap}
.header__nav .header__nav-cta{display:none}
.nav-toggle{display:none;width:44px;height:44px;flex:none;align-items:center;justify-content:center;gap:5px;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--pill);cursor:pointer}
.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--ink);transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}
@media(max-width:900px){
  .header__logo{border-right:0;padding-right:0;margin-right:auto}
  .header__logo img{height:22px}
  .btn.header__cta{min-height:40px;padding:0 16px;font-size:14px}
  .btn.header__cta::after{display:none}
  .nav-toggle{display:flex}
  .header__inner{position:relative;gap:var(--s-sm)}
  .header__nav{display:none;position:fixed;left:0;right:0;top:var(--header-h);bottom:0;flex-direction:column;align-items:stretch;gap:var(--s-xs);padding:var(--s-lg) var(--gutter) var(--s-2xl);background:var(--canvas);border-top:1px solid var(--line);overflow:auto;margin:0}
  .header__nav[data-open="true"]{display:flex}
  .header__nav a{min-height:56px;display:flex;align-items:center;font-size:26px;font-weight:400;letter-spacing:-.02em;border-bottom:1px solid var(--line);color:var(--ink)}
  .header__nav a[aria-current="page"]{color:var(--accent-deep)}
  .header__nav a.header__nav-cta{display:flex;margin-top:var(--s-lg);min-height:56px;justify-content:center;font-size:16px;font-weight:500;border:0;border-radius:var(--pill);background:var(--ink);color:#fff;letter-spacing:0}
  .header__nav a.header__nav-cta::after{content:"→";margin-left:10px}
  html.nav-open{overflow:hidden}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}
@media(max-width:400px){.btn.header__cta{display:none}}

/* ============ Chips, cifras, cintas ============ */
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--pill);background:#fff;border:1px solid var(--line);font-size:14px;font-weight:500;color:var(--ink)}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-xl)}
.stats--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin-inline:auto}
.stats--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.stats__n{display:block;font-size:clamp(30px,1.4rem + 1.4vw,44px);line-height:1;letter-spacing:-.03em;color:var(--ink)}
.stats__n i{font-family:var(--font-serif);font-style:italic;color:var(--accent-deep)}
.stats__l{display:block;margin-top:var(--s-sm);font-size:14px;line-height:1.45;color:var(--muted)}
.stats--strip{margin-top:var(--s-3xl);padding-top:var(--s-xl);border-top:1px solid var(--line)}
@media(max-width:700px){
  .stats,.stats--4{grid-template-columns:1fr;gap:var(--s-sm)}
  .stats>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:var(--s-md);padding:var(--s-sm) 0;border-bottom:1px solid var(--line-soft)}
  .stats>div:last-child{border-bottom:0}
  .stats__n{font-size:26px;white-space:nowrap}.stats__l{margin-top:0;font-size:13px}
  .stats--strip{margin-top:var(--s-xl)}
}
.bandera{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(24px,1rem + 1.6vw,34px);line-height:1.25;color:var(--ink);text-wrap:balance}
.bandera--xl{font-size:clamp(30px,1.2rem + 2.4vw,48px);max-width:22ch;margin-inline:auto}
.bandera--cierre{margin-top:var(--s-4xl)}
@media(max-width:600px){.bandera--cierre{margin-top:var(--s-3xl)}}
.cinta{padding:var(--s-xl) 0 0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cinta__k{text-align:center;font-size:14px;color:var(--muted);margin-bottom:18px}
.cinta__pista{display:flex;gap:12px;width:max-content;animation:desliza 32s linear infinite;will-change:transform}
.cinta:hover .cinta__pista{animation-play-state:paused}
.cinta__pista>span{display:inline-flex;align-items:center;gap:12px;padding:10px 18px 10px 12px;border-radius:var(--pill);background:#fff;border:1px solid var(--line);font-size:15px;font-weight:500;color:var(--ink);white-space:nowrap}
.cinta__pista>span::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent);margin-left:6px}
@keyframes desliza{to{transform:translateX(-50%)}}
.logos-marquee{display:none}

/* ============ Listas ============ */
.marked{list-style:none}
.marked li{position:relative;padding-left:22px;margin-bottom:var(--s-sm);font-size:15px;line-height:1.6}
.marked li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.marked--cols{columns:2;column-gap:var(--s-2xl)}
.marked--cols li{break-inside:avoid}
@media(max-width:700px){.marked--cols{columns:1}}
.hero__points{list-style:none;display:grid;gap:var(--s-sm);max-width:52ch}
.hero__points li{position:relative;padding-left:22px;font-size:16px;font-weight:500;color:var(--ink);line-height:1.45}
.hero__points li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--accent)}

/* ============ Tarjetas (rule-grid → tarjetas separadas) ============ */
.rule-grid{display:grid;gap:18px}
.rule-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rule-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rule-grid>*{padding:30px;border-radius:var(--r-lg);background:var(--stone)}
.rule-grid>*:nth-child(3n+2){background:var(--sand)}
.rule-grid>*:nth-child(3n){background:var(--mist)}
.rule-grid>.cell--feature{background:var(--accent-wash)}
.section--dark .rule-grid>*{background:#211c16;color:var(--on-dark-mut)}
.cell__title{font-size:22px;font-weight:500;letter-spacing:-.015em;line-height:1.2;margin-bottom:var(--s-sm);color:var(--ink)}
.cell__body{font-size:15px;line-height:1.6;color:var(--body)}
.cell__body + .cell__body{margin-top:var(--s-sm)}
.section--dark .cell__title{color:var(--on-dark)}
.section--dark .cell__body{color:var(--on-dark-mut)}
@media(max-width:900px){.rule-grid--3{grid-template-columns:1fr}.rule-grid--2{grid-template-columns:1fr}.rule-grid>*{padding:24px 22px}}
.steps{counter-reset:step}
.steps>*{counter-increment:step;position:relative;padding-top:74px}
.steps>*::before{content:counter(step);position:absolute;top:26px;left:26px;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--accent);color:var(--accent-deep);font-family:var(--font-serif);font-style:italic;font-size:20px;display:flex;align-items:center;justify-content:center}

/* ============ Casos ============ */
.cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cases--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.case{padding:30px;background:var(--stone);border-radius:var(--r-lg);display:flex;flex-direction:column;min-height:300px}
.case__logo{display:block;margin-bottom:var(--s-lg)}
.case__sector{font-size:13px;color:var(--muted);margin-bottom:var(--s-xs)}
.case__figure{font-size:clamp(40px,2rem + 1.4vw,56px);line-height:1;letter-spacing:-.03em;color:var(--ink);margin-top:auto;padding-top:var(--s-xl)}
.case__figure i{font-family:var(--font-serif);font-style:italic;color:var(--accent-deep)}
.case__title{font-size:17px;font-weight:500;line-height:1.35;letter-spacing:-.01em;color:var(--ink);margin-top:var(--s-sm)}
.case__body{margin-top:var(--s-sm);font-size:14px;line-height:1.6;color:var(--body)}
.case__link{margin-top:var(--s-lg);font-size:14px}
@media(max-width:1000px){.cases--3{grid-template-columns:1fr}}
@media(max-width:800px){.cases{grid-template-columns:1fr}}
@media(max-width:700px){
  .cases--3{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--s-sm);margin-inline:calc(-1 * var(--gutter));padding:0 var(--gutter) var(--s-sm);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .cases--3::-webkit-scrollbar{display:none}
  .cases--3 .case{flex:0 0 82%;scroll-snap-align:start;min-height:260px}
}
.logo{display:inline-block;background-color:var(--ink);-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat;opacity:.8;--logo-s:1}
.logo--irepack{--logo:url("../img/logos/irepack.png");height:calc(31.8px*var(--logo-s));width:calc(155px*var(--logo-s))}
.logo--alfacae{--logo:url("../img/logos/alfacae.png");height:calc(38px*var(--logo-s));width:calc(148px*var(--logo-s))}
.logo--ephone{--logo:url("../img/logos/ephone.png");height:calc(30px*var(--logo-s));width:calc(120px*var(--logo-s))}
.logo--nuvex{--logo:url("../img/logos/nuvex.svg");height:calc(28px*var(--logo-s));width:calc(164px*var(--logo-s))}
.case{--logo-s:.72}
.logo--center{margin-inline:auto;display:block}

/* ============ Testimonios ============ */
.testimonials{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.testimonials--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.testimonials--1{grid-template-columns:minmax(0,1fr);max-width:var(--maxw-prose);margin-inline:auto}
@media(max-width:900px){.testimonials,.testimonials--2{grid-template-columns:1fr}}
.testimonial{border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;background:#fff;display:flex;flex-direction:column}
.testimonial blockquote{font-family:var(--font-serif);font-style:italic;font-size:20px;line-height:1.4;color:var(--ink);letter-spacing:-.005em}
.testimonial figcaption{margin-top:auto;padding-top:var(--s-lg);font-size:13px;line-height:1.5}
.testimonial figcaption strong{display:block;color:var(--ink);font-weight:600;font-size:14px}
.testimonial figcaption span{color:var(--muted)}
.testimonials--quiet{gap:18px}
.testimonial-solo{text-align:center}
.testimonial-solo figcaption{margin-top:var(--s-md);font-size:13px;color:var(--muted)}
.testimonial-solo figcaption strong{color:var(--ink);font-weight:600}

/* ============ FAQ ============ */
.faq{max-width:var(--maxw-prose);margin-inline:auto;display:grid;gap:10px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0 22px}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s-md);padding:18px 0;font-size:17px;font-weight:500;color:var(--ink);letter-spacing:-.01em;min-height:56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:9px;height:9px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);flex:none;margin-right:4px;transition:transform var(--dur) var(--ease)}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details>div{padding-bottom:20px}
.faq details>div p{font-size:15px;line-height:1.65}

/* ============ Hero de página (foto + texto) ============ */
.hero{position:relative}
.hero--split{padding-block:clamp(40px,6vw,88px) clamp(40px,5vw,72px)}
.hero__split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,80px);align-items:center}
.hero__copy{max-width:58ch}
.hero__copy .hero__title{max-width:14ch;margin-inline:0}
.hero__title{max-width:22ch;margin-inline:auto}
.hero__grid{display:grid;grid-template-columns:1.35fr 1fr;gap:var(--s-3xl);align-items:center}
.hero__grid h1{max-width:none;margin-inline:0}
.hero__copy .small{margin-top:var(--s-lg)}
.hero__copy .hero__microcopy{margin-top:var(--s-sm)}
.hero__founder{margin:0;display:grid;gap:var(--s-md);max-width:520px;justify-self:end;position:relative}
.hero__founder img{width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 20%;border-radius:var(--r-lg);box-shadow:0 30px 60px -30px rgba(22,19,15,.35);background:#fff}
.hero__founder img.hero__foto-ancha{aspect-ratio:3/2;object-position:50% 50%}
.hero__founder--square img{aspect-ratio:1;object-position:50% 50%}
.hero__founder figcaption{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow-sm)}
.hero__founder figcaption p,.hero__founder blockquote{font-family:var(--font-serif);font-style:italic;font-size:19px;line-height:1.35;color:var(--ink)}
.hero__founder strong{display:block;margin-top:var(--s-sm);font-size:14px;font-weight:600;color:var(--ink)}
.hero__founder span{display:block;font-size:13px;color:var(--muted)}
.hero__media--conf{margin:0}
.hero__media--conf img{width:100%;height:auto;border-radius:var(--r-lg)}
.hero__media--conf figcaption{margin-top:var(--s-sm)}
@media(max-width:900px){
  .hero--split{padding-block:var(--s-xl) var(--s-2xl)}
  .hero__split,.hero__grid{grid-template-columns:1fr;gap:var(--s-xl);align-items:start}
  .hero__founder{justify-self:stretch;max-width:none}
  .hero__founder img{aspect-ratio:4/3;object-position:50% 20%}
}
.titulo-pagina{font-size:clamp(32px,1.2rem + 2.6vw,52px)}
.titulo-linea{font-size:clamp(28px,1rem + 2.2vw,44px);max-width:none;text-wrap:balance}
@media(min-width:1100px){.titulo-linea{white-space:nowrap}}
.foto--mono{filter:grayscale(1) contrast(1.04)}
.byline{display:flex;align-items:center;gap:var(--s-sm);text-align:left}
.byline img{width:56px;height:56px;object-fit:cover;flex:none;border-radius:16px}
.byline p{margin:0;font-size:14px;line-height:1.4}
.byline strong{display:block;color:var(--ink);font-weight:600}
.byline span{color:var(--muted)}

/* ============ Bloque «dirijo» y verbos ============ */
.dirijo{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s-3xl);align-items:start}
.dirijo--invertido .dirijo__foto{order:2}
.dirijo__foto{margin:0}
.dirijo__foto img{width:100%;height:auto;border-radius:var(--r-lg)}
.dirijo__texto{max-width:62ch}
.verbos{display:grid;gap:var(--s-lg)}
.verbos dt{font-size:clamp(24px,1rem + 1.2vw,30px);line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
.verbos dt::first-letter{font-family:var(--font-serif);font-style:italic}
.verbos dd{margin:var(--s-xs) 0 0;line-height:1.65}
@media(max-width:900px){.dirijo{grid-template-columns:1fr;gap:var(--s-xl)}.dirijo--invertido .dirijo__foto{order:0}.dirijo__foto img{aspect-ratio:4/3;object-fit:cover;object-position:50% 25%}}

/* ============ Founder / bio ============ */
.founder{display:flex;align-items:center;gap:var(--s-xl);max-width:var(--maxw-prose);margin-inline:auto}
.founder img{width:112px;height:112px;object-fit:cover;flex:none;border-radius:var(--r);filter:grayscale(1) contrast(1.04)}
.founder.founder--bio{max-width:1000px;align-items:flex-start;gap:var(--s-2xl)}
.founder.founder--bio img{width:240px;height:300px;border-radius:var(--r-lg)}
@media(max-width:800px){.founder{flex-direction:column;align-items:flex-start}.founder.founder--bio img{width:100%;height:auto;aspect-ratio:4/3}}

/* ============ Galería y cartelera ============ */
.gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.gallery__item{grid-column:span 2;display:flex;flex-direction:column;margin:0}
.gallery__item img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg)}
.gallery__item figcaption{margin-top:var(--s-xs);font-size:13px;line-height:1.45;color:var(--muted)}
.gallery__item--wide{grid-column:span 4}
.gallery__item--wide img{aspect-ratio:16/10}
.gallery__item--tall img{flex:1 1 0;min-height:0;aspect-ratio:auto}
.gallery__img--left{object-position:15% 50%}
.gallery--mono img{filter:grayscale(1) contrast(1.04)}
.gallery--hover img{transition:filter .5s var(--ease)}
@media(max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-md)}.gallery__item,.gallery__item--wide{grid-column:span 1}.gallery__item--wide img,.gallery__item--tall img{aspect-ratio:4/3;flex:none}}
.cartelera{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.cartelera figure{margin:0;background:var(--stone);border-radius:var(--r-lg);padding:18px}
.cartelera img{width:100%;height:auto;max-height:420px;object-fit:contain;object-position:top;border-radius:var(--r);filter:grayscale(1);transition:filter .5s var(--ease)}
.cartelera figcaption{margin-top:var(--s-md);font-size:14px;line-height:1.5}
.cartelera figcaption strong{display:block;font-size:19px;font-weight:500;color:var(--ink);letter-spacing:-.01em}
.cartelera figcaption span{display:block;margin-top:var(--s-xs);color:var(--muted)}
@media(max-width:800px){.cartelera{grid-template-columns:1fr;max-width:440px;margin-inline:auto}}

/* ============ Tabla de reparto ============ */
.split-table{width:100%;border-collapse:collapse;margin-top:var(--s-2xl);font-size:15px;background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.split-table caption{caption-side:top;text-align:left;padding-bottom:var(--s-sm);color:var(--muted)}
.split-table th,.split-table td{text-align:left;padding:var(--s-md) var(--s-lg);border-bottom:1px solid var(--line);vertical-align:top;line-height:1.55}
.split-table thead th{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.split-table tbody th{font-weight:600;color:var(--ink);width:24%}
.split-table td{color:var(--body)}
.split-table tr:last-child td,.split-table tr:last-child th{border-bottom:0}
@media(max-width:760px){
  .split-table thead{display:none}
  .split-table,.split-table tbody,.split-table tr,.split-table th,.split-table td{display:block;width:auto}
  .split-table tr{border-bottom:1px solid var(--line);padding:var(--s-md) var(--s-lg)}
  .split-table th,.split-table td{padding:4px 0;border:0}
  .split-table td::before{content:attr(data-label) " · ";font-weight:600;color:var(--ink)}
}

/* ============ Línea de tiempo ============ */
.timeline{list-style:none;counter-reset:fase;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.timeline>li{counter-increment:fase;position:relative;padding:74px 28px 28px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line)}
.timeline>li::before{content:counter(fase);position:absolute;top:26px;left:28px;width:36px;height:36px;border-radius:50%;background:var(--accent-wash);color:var(--accent-deep);font-family:var(--font-serif);font-style:italic;font-size:20px;display:flex;align-items:center;justify-content:center}
.timeline h3{font-size:22px;letter-spacing:-.015em}
.timeline p{margin-top:var(--s-sm);font-size:15px;line-height:1.6;color:var(--body)}
.timeline__con{padding-top:var(--s-sm);border-top:1px solid var(--line);font-size:14px}
@media(max-width:800px){.timeline{grid-template-columns:1fr}}

/* ============ Dos palancas ============ */
#palancas.section--dark{background:transparent;color:inherit}
#palancas.section--dark h2,#palancas.section--dark h3{color:var(--ink)}
#palancas.section--dark .lead{color:var(--body)}
#palancas.section--dark .link-cta{color:var(--accent-deep)}
#palancas.section--dark .rule-grid>*{background:var(--stone);color:var(--body)}
#palancas.section--dark .cell__title{color:var(--ink)}
#palancas.section--dark .cell__body{color:var(--body)}
.palancas{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.palanca{display:flex;flex-direction:column;border-radius:var(--r-lg);background:var(--sand);overflow:hidden}
.palanca:nth-child(2){background:var(--mist)}
.palanca img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.palanca__cuerpo{padding:30px;display:flex;flex-direction:column;flex:1}
.palanca__k{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--accent-deep)}
.palanca h3{font-size:clamp(22px,1rem + 1vw,28px);margin-top:var(--s-sm);color:var(--ink)}
.palanca p{color:var(--body)}
.palanca .marked li{color:var(--body)}
.palanca .link-cta{margin-top:auto}
.palanca__cuerpo>.mt-lg:last-child{margin-top:auto;padding-top:var(--s-lg)}
.palancas__mas{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-md) var(--s-2xl)}
@media(max-width:800px){.palancas{grid-template-columns:1fr}.palanca__cuerpo{padding:24px 22px}}

/* ============ Plegables ============ */
.plegable>summary{display:none}
@media(max-width:800px){
  .plegable>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s-md);min-height:48px;padding:10px 16px;cursor:pointer;list-style:none;font-size:14px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--pill)}
  .plegable>summary::-webkit-details-marker{display:none}
  .plegable>summary::after{content:"";width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--dur) var(--ease);flex:none;margin-right:2px}
  .plegable[open]>summary::after{transform:rotate(-135deg)}
  .plegable>*:not(summary){margin-top:var(--s-md)}
}
.plegable--bloque .split-table{margin-top:var(--s-lg)}

/* ============ Test / calculadora ============ */
.franja-test{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s-3xl);align-items:center}
.test-preview{padding:var(--s-xl);border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.test-preview__k{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--accent-deep)}
.test-preview .resultado__n{font-size:56px;margin-top:var(--s-sm)}
.test-preview__t{font-size:22px;letter-spacing:-.015em;color:var(--ink);margin-top:var(--s-xs);font-weight:500}
.test-preview .dims{margin-top:var(--s-lg)}
.test-preview__p{margin-top:var(--s-lg);padding-top:var(--s-md);border-top:1px solid var(--line);font-family:var(--font-serif);font-style:italic;font-size:18px;line-height:1.35;color:var(--ink)}
@media(max-width:900px){.franja-test{grid-template-columns:1fr;gap:var(--s-xl)}.test-preview{padding:var(--s-lg)}.test-preview .resultado__n{font-size:44px}}
.quiz{max-width:640px;margin-inline:auto}
.quiz__barra{height:4px;background:var(--line);border-radius:2px;overflow:hidden}
.quiz__barra span{display:block;height:100%;width:0;background:var(--accent);transition:width .4s var(--ease)}
.quiz__paso{display:flex;justify-content:space-between;align-items:center;margin-top:var(--s-sm);font-size:13px;color:var(--muted)}
.quiz__paso .linklike{font-size:13px;color:var(--accent-deep);min-height:44px;text-decoration:none}
.quiz__paso[hidden],.quiz__progreso[hidden]{display:none}
.quiz__q{border:0;padding:0;margin:var(--s-xl) 0 0;min-width:0}
.quiz__q[hidden]{display:none}
.quiz__q legend{font-size:clamp(24px,1rem + 1.4vw,32px);line-height:1.2;letter-spacing:-.02em;color:var(--ink);padding:0;margin-bottom:var(--s-lg);outline:none}
.quiz__q label{display:flex;align-items:center;gap:var(--s-md);padding:var(--s-md) var(--s-lg);border:1px solid var(--line);border-radius:var(--r);background:#fff;margin-top:var(--s-sm);cursor:pointer;min-height:56px;font-size:16px;color:var(--ink);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}
.quiz__q label:has(input:checked){border-color:var(--accent-deep);background:var(--accent-wash)}
.quiz__q input[type=radio]{accent-color:var(--accent-deep);width:20px;height:20px;flex:none;margin:0}
.quiz__datos legend{margin-bottom:var(--s-sm)}
.quiz__datos .field label{display:block;padding:0;border:0;background:none;min-height:0;margin:0 0 6px;font-size:13px;font-weight:600;color:var(--ink);cursor:default;transition:none}
.quiz__datos .field--check label{font-size:13px;font-weight:400;color:var(--body);line-height:1.55;margin:0;flex:1;cursor:pointer}
.quiz__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.resultado{padding:var(--s-2xl);border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.resultado:focus{outline:none}
.resultado__cab{display:grid;grid-template-columns:auto 1fr;gap:var(--s-xl);align-items:center}
.resultado__n{font-family:var(--font-serif);font-style:italic;font-size:72px;line-height:1;color:var(--ink);letter-spacing:-.02em}
.resultado__n small{font-family:var(--font-sans);font-style:normal;font-size:22px;color:var(--muted);margin-left:2px}
.resultado__cab h2{font-size:clamp(24px,1rem + 1.4vw,32px)}
.dims{display:grid;gap:var(--s-md);margin-top:var(--s-xl)}
.dim{display:grid;grid-template-columns:1fr auto;gap:4px var(--s-md);align-items:baseline}
.dim__l{font-size:14px;font-weight:600;color:var(--ink)}
.dim__v{font-size:13px;color:var(--muted)}
.dim__b{grid-column:1/-1;height:6px;background:var(--stone);border-radius:4px;overflow:hidden}
.dim__b span{display:block;height:100%;width:0;background:var(--accent);border-radius:4px;transition:width .9s var(--ease)}
.dim--debil .dim__l{color:var(--accent-deep)}
.dim--debil .dim__b span{background:var(--accent-deep)}
.resultado__bloque{margin-top:var(--s-xl);padding-top:var(--s-lg);border-top:1px solid var(--line)}
.resultado__bloque h3{font-size:22px;letter-spacing:-.015em}
@media(max-width:600px){.resultado{padding:var(--s-lg)}.resultado__cab{grid-template-columns:1fr;gap:var(--s-md)}.resultado__n{font-size:56px}.quiz__q label{padding:var(--s-sm) var(--s-md)}}

/* ============ Formularios ============ */
.form-embed{max-width:660px;margin-inline:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-xs);box-shadow:var(--shadow-sm)}
.form-embed iframe{display:block;border-radius:var(--r)}
.form-embed .form-note{padding:var(--s-sm) var(--s-md) var(--s-xs)}
.form-note{margin-top:var(--s-sm);font-size:13px;color:var(--muted);text-align:center;max-width:none}
.field{margin-bottom:var(--s-md)}
.field label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--ink)}
.field .req{color:var(--accent-deep)}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:12px 16px;font-family:var(--font-sans);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:14px;transition:border-color var(--dur) var(--ease)}
.field textarea{min-height:88px;resize:vertical;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}
.field-error{display:none;margin-top:6px;font-size:13px;font-weight:500;color:#a4331f}
.field[data-invalid="true"] input,.field[data-invalid="true"] select,.field[data-invalid="true"] textarea{border-color:#a4331f}
.field[data-invalid="true"] .field-error{display:block}
.field--check{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.field--check input{width:24px;min-height:24px;height:24px;margin-top:1px;flex:none}
.field--check label{font-size:13px;font-weight:400;color:var(--body);line-height:1.55;margin-bottom:0;flex:1}
.field--check .field-error{flex-basis:100%}

/* ============ Portada B: hero, bento y cierre ============ */
.hero--b{padding:clamp(40px,6vw,96px) 0 clamp(32px,4vw,56px);overflow:hidden}
.hero--b::before{content:"";position:absolute;inset:auto -10% -40% 30%;height:120%;background:radial-gradient(closest-side,rgba(168,137,90,.14),transparent 70%);pointer-events:none}
.hero__g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;position:relative}
.hero--b h1{margin-top:22px;max-width:14ch}
.hero--b .lead{margin-top:18px;max-width:48ch}
.hero--b .acciones{margin-top:30px}
.prueba{display:flex;align-items:center;gap:16px;margin-top:26px;font-size:14px;flex-wrap:wrap}
.prueba strong{font-weight:600;color:var(--ink)}
.hero__foto{position:relative}
.hero__foto>img{border-radius:var(--r-lg);width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 20%;box-shadow:0 30px 60px -30px rgba(22,19,15,.35);background:#fff}
@media(max-width:900px){.hero__g{grid-template-columns:1fr}.hero__foto{order:2;margin-top:8px}.hero__foto>img{aspect-ratio:4/3}}
.cabeza{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:end}
.cabeza h2{max-width:16ch}
.cabeza p{max-width:40ch}
@media(max-width:800px){.cabeza{grid-template-columns:1fr;gap:14px}}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:48px}
.caja{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:34px 34px 0;min-height:440px;display:flex;flex-direction:column;background:var(--stone)}
.caja--7{grid-column:span 7}.caja--5{grid-column:span 5}
.caja--sand{background:var(--sand)}.caja--gold{background:var(--accent-wash)}.caja--mist{background:var(--mist)}
.caja h3{max-width:16ch}
.caja>p{margin-top:8px;color:var(--muted);font-size:15px;max-width:36ch}
.caja__ui{margin-top:auto;position:relative}
@media(max-width:900px){.bento{grid-template-columns:1fr;gap:14px}.caja--7,.caja--5{grid-column:auto}.caja{padding:26px 22px 0;min-height:380px}}
.tarjeta{position:absolute;background:#fff;border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);font-size:13px}
.tarjeta__k{color:var(--muted);font-size:12px}
.tarjeta__n{font-family:var(--font-serif);font-style:italic;font-size:34px;line-height:1;margin-top:2px;color:var(--ink)}
.tarjeta__n small{font-size:16px;color:var(--muted);font-style:normal;font-family:var(--font-sans)}
.tarjeta__t{font-weight:600;margin-top:4px;color:var(--ink)}
.barra{height:6px;border-radius:3px;background:var(--stone);margin-top:10px;overflow:hidden}
.barra span{display:block;height:100%;background:var(--accent);border-radius:3px}
.barra--d span{background:var(--accent-deep)}
.barra + .tarjeta__k{margin-top:4px}
.doc{background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -10px 40px -20px rgba(22,19,15,.25);padding:18px 20px 0;margin:28px -6px 0 0;max-width:520px}
.doc__h{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line)}
.doc__h b{color:var(--ink);font-weight:600;font-size:14px}
.doc__f{display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}
.doc__f:last-child{border-bottom:0}
.check{width:20px;height:20px;border-radius:6px;border:1.5px solid rgba(22,19,15,.25)}
.check--ok{background:var(--ink);border-color:var(--ink);position:relative}
.check--ok::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.tag{padding:4px 10px;border-radius:var(--pill);font-size:12px;font-weight:500;background:var(--stone);color:var(--ink-2);white-space:nowrap}
.tag--ok{background:#e3f1e6;color:#1f6a37}.tag--wait{background:#fff3d6;color:#7a5200}.tag--stop{background:#fde4e4;color:#a12a2a}
.foto-ev{position:relative;margin:30px -10px 0 auto;max-width:560px}
.foto-ev img{border-radius:18px 18px 0 0;aspect-ratio:16/10;object-fit:cover;filter:grayscale(1);width:100%}
.foto-ev .tarjeta{left:-6px;bottom:24px;display:flex;align-items:center;gap:12px}
.foto-ev .tarjeta img{width:34px;height:34px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.foto-ev .tarjeta b{color:var(--ink)}
.hoy{background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -10px 40px -20px rgba(22,19,15,.25);padding:18px 20px 0;margin:28px 0 0;max-width:460px}
.hoy__f{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}
.hoy__f:last-child{border-bottom:0}
.hoy__f i{flex:none;width:34px;height:34px;border-radius:10px;background:var(--accent-wash);display:grid;place-items:center;font-size:15px;color:var(--accent-deep);font-style:normal}
.hoy__f small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.tabla{background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -10px 40px -20px rgba(22,19,15,.25);margin:28px 0 0;overflow:hidden;font-size:13px}
.tabla table{border-collapse:collapse;width:100%;min-width:420px}
.tabla th{font-weight:500;color:var(--muted);text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:12px}
.tabla td{padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap;color:var(--ink)}
.tabla tr:last-child td{border-bottom:0}
.tabla td b{font-weight:600}
.fin{position:relative;padding:clamp(80px,12vw,160px) 0;overflow:hidden;text-align:center}
.fin h2{margin:22px auto 0;max-width:16ch}
.fin .lead{margin:16px auto 0;text-align:center}
.fin .acciones{justify-content:center;margin-top:30px}
.fin .prueba{justify-content:center}
.flot{position:absolute;transform:rotate(var(--rot,0deg));animation:flota 7s ease-in-out infinite;animation-delay:var(--del,0s)}
.fl-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow);font-size:13px;width:220px;text-align:left}
.fl-card .tarjeta__n{font-size:30px}
.fl-chip{display:flex;gap:6px}
.flot--1{left:6%;top:16%;--rot:-4deg}.flot--2{left:10%;bottom:18%;--rot:3deg}.flot--3{right:6%;top:18%;--rot:4deg}.flot--4{right:10%;bottom:20%;--rot:-3deg;--del:-3s}.flot--5{left:2%;top:50%;--rot:6deg;--del:-2s;width:200px}.flot--6{right:2%;top:52%;--rot:-6deg;--del:-4s}
@keyframes flota{50%{transform:rotate(var(--rot,0deg)) translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.flot{animation:none}}
@media(max-width:1100px){.flot--5,.flot--6{display:none}}
@media(max-width:900px){.flot{display:none}.fin{padding-top:56px}}

/* ============ Pie ============ */
.footer{background:var(--ink);color:var(--on-dark-mut);padding-block:var(--s-3xl) var(--s-xl);font-size:14px}
.footer--min{padding-block:var(--s-xl);text-align:center;font-size:13px}
.footer--min a,.footer--min .linklike{color:var(--on-dark-mut)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s-xl)}
.footer__logo{height:26px;width:auto;filter:invert(1);margin-bottom:var(--s-md)}
.footer h2{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark);margin-bottom:var(--s-sm)}
.footer ul{list-style:none;display:grid;gap:8px}
.footer a{color:var(--on-dark-mut);text-decoration:none}
.footer a:hover{color:var(--on-dark)}
.footer p{max-width:36ch}
.footer__cities{margin-top:var(--s-md);color:var(--on-dark)}
.footer__legal{display:flex;flex-wrap:wrap;gap:4px var(--s-md);margin-top:var(--s-xs);line-height:1.6}
.footer__legal .linklike{color:var(--on-dark-mut);text-decoration:none}
.footer__social{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,.06);color:var(--on-dark-mut);margin-top:var(--s-md)}
.footer__social svg{width:24px;height:24px;fill:currentColor;display:block}
.footer__dante{display:block;width:150px;margin-top:var(--s-lg)}
.footer__dante img{width:100%;height:auto;display:block;opacity:.9;transition:opacity var(--dur) var(--ease)}
.footer__dante:hover img{opacity:1}
.footer__bottom{margin-top:var(--s-2xl);padding-top:var(--s-lg);border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:var(--on-dark-mut)}
@media(max-width:800px){.footer__grid{grid-template-columns:1fr;gap:var(--s-lg)}}

/* ============ Aparición suave (main.js) ============ */
html.fx .reveal{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.fx .reveal.in{opacity:1;transform:none}

/* ============ Puntero real: estados hover ============ */
@media (hover:hover) and (pointer:fine){
  .header__nav a:hover{color:var(--ink)}
  .nav-toggle:hover{border-color:var(--muted)}
  .btn:hover{transform:translateY(-1px)}
  .btn:hover::after{transform:translateX(3px)}
  .btn--ghost:hover{background:var(--stone)}
  .link-cta:hover{gap:10px}
  .cartelera figure:hover img{filter:none}
  .gallery--hover img:hover{filter:none}
  .logo:hover{background-color:var(--ink)}
}

/* ── Ajustes tras la primera revisión (22/09) ── */
/* Fotos de hero interior: formato 4:5, alineadas con el texto, no una columna de 1.500px */
.hero__founder img{aspect-ratio:4/5;object-position:50% 15%}
.hero__founder img.hero__foto-ancha{aspect-ratio:4/5}
.hero__split{align-items:center}
/* Cierre oscuro → tarjeta clara con borde, no un bloque negro antes del pie */
.section--dark:not(#palancas){background:transparent;color:var(--body);padding-top:0}
.section--dark:not(#palancas)>.wrap{background:var(--sand);border-radius:var(--r-lg);padding:clamp(40px,6vw,80px) var(--gutter)}
.section--dark:not(#palancas) h1,.section--dark:not(#palancas) h2,.section--dark:not(#palancas) h3{color:var(--ink)}
.section--dark:not(#palancas) .lead,.section--dark:not(#palancas) p{color:var(--body)}
.section--dark:not(#palancas) .small{color:var(--muted)}
.section--dark:not(#palancas) .bandera{color:var(--ink)}
.section--dark:not(#palancas) .btn{background:var(--ink);color:#fff;border-color:var(--ink)}
.section--dark:not(#palancas) .rule-grid>*{background:#fff;color:var(--body)}
.section--dark:not(#palancas) .cell__title{color:var(--ink)}
.section--dark:not(#palancas) .cell__body{color:var(--body)}
.section--dark:not(#palancas) .link-cta{color:var(--accent-deep)}
/* Cierre de la portada: las tarjetas flotantes no tapan la línea de cifras */
.fin .wrap{position:relative;z-index:1;max-width:760px}
.flot--2{bottom:auto;top:58%}.flot--4{bottom:auto;top:62%}
.flot--5{top:34%}.flot--6{top:36%}
.fin .prueba{justify-content:center;text-align:center}
@media(max-width:1200px){.flot--2,.flot--4{display:none}}

/* Las fotos con width/height en el HTML no deben conservar la altura del atributo */
img{height:auto}
.hero__founder img,.hero__foto>img,.dirijo__foto img,.palanca img{height:auto}

.acciones--centro{justify-content:center}

/* ── Testimonios: fuente sans (más legible que la cursiva serif) ── */
.testimonial blockquote{font-family:var(--font-sans);font-style:normal;font-size:18px;line-height:1.55;color:var(--ink);letter-spacing:-.01em}
.testimonial blockquote::before{content:"";display:block;width:28px;height:3px;border-radius:2px;background:var(--accent);margin-bottom:18px}
/* ── Carrusel ── */
.carrusel{max-width:820px;margin-inline:auto}
.carrusel__pista{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px;margin:-4px;outline:none}
.carrusel__pista::-webkit-scrollbar{display:none}
.carrusel__item{flex:0 0 100%;scroll-snap-align:start;min-height:220px}
.carrusel__mandos{display:flex;align-items:center;justify-content:center;gap:var(--s-lg);margin-top:var(--s-lg)}
.carrusel__flecha{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font-size:18px;display:grid;place-items:center;transition:background var(--dur) var(--ease)}
.carrusel__puntos{display:flex;gap:8px}
.carrusel__puntos button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:var(--line);cursor:pointer;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}
.carrusel__puntos button[aria-selected="true"]{background:var(--accent-deep);transform:scale(1.25)}
@media(hover:hover) and (pointer:fine){.carrusel__flecha:hover{background:var(--stone)}}

/* ── Ajustes 23/09 ── */
/* Etiqueta de la cinta centrada (el p tenía max-width sin margen automático) */
.cinta__k{max-width:none;margin-inline:auto}
/* Bento: el texto aprovecha el ancho de cada tarjeta */
.caja h3{max-width:24ch}
.caja>p{max-width:56ch}
.caja--5 h3{max-width:20ch}
/* Fila de botones centrada de verdad */
.acciones--centro{justify-content:center;max-width:none;margin-inline:auto}
/* Cita bajo la foto del hero: sans, como los testimonios */
.hero__founder figcaption p,.hero__founder blockquote{font-family:var(--font-sans);font-style:normal;font-size:17px;line-height:1.5;letter-spacing:-.01em}

.foto-ev .tarjeta--logo{flex-direction:column;align-items:flex-start;gap:8px}
.foto-ev .tarjeta--logo .logo{--logo-s:.5}
.foto-ev .tarjeta--logo .logo{opacity:1}
/* Logo de cliente en el testimonio (opcional) */
.logo--pgba{--logo:url("../img/logos/pgba.svg");height:calc(40px*var(--logo-s));width:calc(38px*var(--logo-s))}
.testimonial__logo{--logo-s:1;margin-bottom:var(--s-md);opacity:.85;background-position:left center;-webkit-mask-position:left center;mask-position:left center}
.testimonial__logo + blockquote::before{display:none}

/* Títulos de hero largos: un escalón menos para no pasar de cuatro líneas */
.hero__copy .hero__title--largo{font-size:clamp(32px,1.2rem + 2.2vw,48px);max-width:20ch;line-height:1.08}

/* ── Cómo trabajo 23/09 ── */
.split-table{overflow:visible}
.split-table caption{text-align:center;font-size:14px;font-weight:600;color:var(--ink);padding-bottom:var(--s-md)}
.cell__cta{margin-top:var(--s-lg);text-align:center;max-width:none}
.rule-grid>article{display:flex;flex-direction:column}
.rule-grid>article .cell__cta{margin-top:auto;padding-top:var(--s-lg)}
.section--accent .rule-grid>.cell--feature{background:#fff}
.fin--diag .flot--1{top:14%}.fin--diag .flot--3{top:16%}.fin--diag .flot--5{top:58%}.fin--diag .flot--6{top:64%}
.fin--diag .fl-card{width:210px}
/* Cartelera: los tres carteles en el mismo marco 3:4, tarjetas de igual altura */
.cartelera{align-items:stretch}
.cartelera figure{display:flex;flex-direction:column}
.cartelera img{aspect-ratio:3/4;height:auto;max-height:none;object-fit:contain;object-position:center;background:#e8e3d9;border-radius:var(--r)}

/* Cierre: aire respecto a la franja anterior */
.section--dark:not(#palancas){padding-top:clamp(56px,7vw,112px)}

/* ══ Revisión móvil 23/09 ══ */
/* El desenfoque vive en una capa aparte: backdrop-filter en .header convertía la
   cabecera en el bloque contenedor del menú fijo y lo encerraba en 64px. */
.header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(251,250,247,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
html.nav-open .header::before{background:var(--canvas)}
.header__logo{min-height:44px}
.header__nav-extra{display:none}
@media(max-width:900px){
  .header__nav{gap:0;padding:var(--s-md) var(--gutter) calc(var(--s-2xl) + env(safe-area-inset-bottom,0px));overscroll-behavior:contain}
  .header__nav[data-open="true"]{animation:menu-entra .22s var(--ease)}
  .header__nav a{min-height:60px;font-size:28px}
  .header__nav a.nav-item--test{display:none}
  .header__nav a.header__nav-cta{margin-top:var(--s-xl)}
  .header__nav a.header__nav-cta + a.header__nav-cta{margin-top:var(--s-sm)}
  .header__nav a.header__nav-cta--ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
  .header__nav-extra{display:flex;flex-direction:column;gap:2px;margin:var(--s-xl) 0 0;max-width:none}
  .header__nav-extra a{min-height:44px!important;font-size:15px!important;letter-spacing:0!important;color:var(--muted)!important;border:0!important}
}
@keyframes menu-entra{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.header__nav[data-open="true"]{animation:none}}
/* Objetivos táctiles */
.carrusel__puntos{gap:0}
.carrusel__puntos button{width:28px;height:44px;background:transparent;position:relative;transform:none!important}
.carrusel__puntos button::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--line);transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}
.carrusel__puntos button[aria-selected="true"]::after{background:var(--accent-deep);transform:scale(1.25)}
.carrusel__puntos button[aria-selected="true"]{background:transparent}
@media(max-width:800px){
  .footer__legal a,.footer__legal .linklike{display:inline-flex;align-items:center;min-height:44px}
  .footer ul{gap:0}.footer ul li a{display:inline-flex;align-items:center;min-height:40px}
  .footer--min a,.footer--min .linklike{display:inline-flex;align-items:center;min-height:40px}
}
.quiz__hp input{font-size:16px}
/* Tabla de seguimiento (maqueta): en móvil, sin la columna «Siguiente paso» para que quepa */
@media(max-width:600px){
  .tabla table{min-width:0}
  .tabla th:nth-child(3),.tabla td:nth-child(3){display:none}
  .tabla th,.tabla td{padding:10px 10px}
}
/* Página Casos: en móvil, tarjetas apiladas */
@media(max-width:700px){
  .cases--3.cases--apiladas{display:grid;grid-template-columns:1fr;overflow:visible;margin-inline:0;padding:0;gap:var(--s-md)}
}
/* Galería de Quién soy: la foto ancha ocupa las dos columnas en móvil (5 fotos sin huérfana) */
@media(max-width:900px){.gallery__item--wide{grid-column:span 2}.gallery__item--wide img{aspect-ratio:16/10}}
/* Cita suelta (diagnóstico, casos): sans, legible, como los testimonios */
.testimonial-solo .quote{font-family:var(--font-sans);font-style:normal;font-size:clamp(18px,1rem + .5vw,22px);line-height:1.5;letter-spacing:-.01em}
/* Pie en móvil: navegación en dos columnas, menos alto */
@media(max-width:800px){
  .footer__grid{gap:var(--s-xl)}
  .footer nav ul{grid-template-columns:1fr 1fr;column-gap:var(--s-lg)}
  .footer nav ul .footer__legal{grid-column:1/-1;margin-top:var(--s-sm)}
  .footer__bottom{max-width:none}
}
.footer__bottom{max-width:none}
@media(max-width:800px){.footer ul li a{min-height:44px}}
@media(max-width:600px){.tabla td,.tabla th{white-space:normal}.tabla td:first-child{min-width:0}.tabla .tag{white-space:nowrap}}
.footer .footer__bottom{max-width:none}

/* ── «Cómo se reparte la colaboración» en móvil: una tarjeta por área ── */
@media(max-width:800px){
  .plegable .split-table caption{display:none}
}
@media(max-width:760px){
  .split-table{background:transparent;border:0;border-radius:0;overflow:visible;margin-top:var(--s-md)}
  .split-table tbody{display:grid;gap:12px}
  .split-table tr{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 14px}
  .split-table tr:last-child{border-bottom:1px solid var(--line)}
  .split-table tbody th{width:auto;font-size:19px;font-weight:500;letter-spacing:-.015em;padding:0 0 12px;border:0}
  .split-table td{padding:10px 12px;margin-top:8px;border:0;border-radius:12px;font-size:15px;line-height:1.5}
  .split-table td[data-label="Yo"]{background:var(--accent-wash);color:var(--ink)}
  .split-table td[data-label="Tu empresa"]{background:var(--stone)}
  .split-table td::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep)}
  .split-table td[data-label="Tu empresa"]::before{color:var(--muted)}
}

/* ── Pie reordenado 23/09: legales abajo junto al copyright ── */
.footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s-sm) var(--s-xl);margin-top:var(--s-2xl);padding-top:var(--s-lg);border-top:1px solid rgba(255,255,255,.1)}
.footer .footer__base .footer__bottom{margin:0;padding:0;border:0}
.footer .footer__base .footer__legal{margin:0;max-width:none;font-size:13px}
@media(max-width:800px){
  /* Todo en una columna, con separadores finos */
  .footer{padding-block:var(--s-2xl) var(--s-xl)}
  .footer__grid{gap:var(--s-2xl)}
  .footer h2{margin-bottom:var(--s-xs)}
  .footer nav ul{grid-template-columns:1fr;column-gap:0}
  .footer ul li{border-bottom:1px solid rgba(255,255,255,.08)}
  .footer ul li:last-child{border-bottom:0}
  .footer ul li a{display:flex;min-height:48px;width:100%;font-size:16px;color:var(--on-dark)}
  .footer ul li:not(:has(a)){display:flex;align-items:center;min-height:48px}
  /* LinkedIn y Dante en una misma fila */
  .footer__grid>div:last-child{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--s-lg)}
  .footer__grid>div:last-child>h2,.footer__grid>div:last-child>ul{flex-basis:100%}
  .footer__grid>div:last-child .footer__social,.footer__grid>div:last-child .footer__dante{margin-top:var(--s-lg)}
  .footer__dante{width:130px}
  /* Base: legales y copyright apilados */
  .footer__base{flex-direction:column;align-items:flex-start;gap:var(--s-sm)}
  .footer .footer__base .footer__legal{display:flex;flex-wrap:wrap;gap:0 var(--s-lg)}
  .footer .footer__base .footer__legal a,.footer .footer__base .footer__legal .linklike{min-height:44px;display:inline-flex;align-items:center}
}

/* ── Formación: tres programas como fichas claras sobre el fondo cálido ── */
.programas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.programa{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--shadow)}
.programa__cab{display:flex;align-items:center;justify-content:space-between;gap:var(--s-sm);padding-bottom:var(--s-md);border-bottom:1px solid var(--line)}
.programa__n{font-family:var(--font-serif);font-style:italic;font-size:30px;line-height:1;color:var(--accent-deep)}
.programa__k{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:6px 12px;border-radius:var(--pill);background:var(--stone)}
.programa__t{margin-top:var(--s-lg);font-size:clamp(22px,1.05rem + .7vw,27px);line-height:1.15;letter-spacing:-.02em}
.programa__promesa{margin-top:var(--s-md);padding:14px 16px;border-radius:14px;background:var(--accent-wash);font-size:15px;line-height:1.5;color:var(--ink);font-weight:500}
.programa__dl{margin-top:var(--s-lg);display:grid;gap:4px}
.programa__dl dt{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);margin-top:var(--s-sm)}
.programa__dl dt:first-child{margin-top:0}
.programa__dl dd{margin:0;font-size:15px;line-height:1.55;color:var(--body)}
.programa__datos{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:var(--s-lg)}
.programa__datos li{font-size:13px;font-weight:500;padding:6px 12px;border-radius:var(--pill);border:1px solid var(--line);color:var(--ink);background:var(--canvas)}
.programa__cta{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--s-md);font-size:15px;font-weight:500;color:var(--accent-deep);text-decoration:none}
/* El de IA, destacado en oscuro */
.programa--destacado{background:var(--ink);border-color:var(--ink);color:var(--on-dark-mut)}
.programa--destacado .programa__cab{border-color:rgba(255,255,255,.12)}
.programa--destacado .programa__n{color:var(--accent)}
.programa--destacado .programa__k{background:rgba(255,255,255,.08);color:var(--on-dark)}
.programa--destacado .programa__t{color:var(--on-dark)}
.programa--destacado .programa__promesa{background:rgba(168,137,90,.18);color:var(--on-dark)}
.programa--destacado .programa__dl dt{color:var(--accent)}
.programa--destacado .programa__dl dd{color:var(--on-dark-mut)}
.programa--destacado .programa__datos li{background:transparent;border-color:rgba(255,255,255,.16);color:var(--on-dark)}
.programa--destacado .programa__cta{color:var(--on-dark)}
@media(max-width:1000px){.programas{grid-template-columns:1fr;max-width:640px;margin-inline:auto}}
@media(max-width:600px){.programa{padding:24px 20px}}
@media(hover:hover) and (pointer:fine){.programa{transition:transform .3s var(--ease)}.programa:hover{transform:translateY(-3px)}}

.programa__cta{margin-top:auto;padding-top:var(--s-lg)}

/* ── Página Casos: fichas blancas destacadas, como los programas de Formación ── */
.cases--apiladas{gap:18px;align-items:stretch}
.cases--3 .case{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:30px;min-height:0}
.cases--3 .case__logo{margin-bottom:var(--s-sm)}
.cases--3 .case__sector{display:inline-block;align-self:flex-start;margin:0;padding:6px 12px;border-radius:var(--pill);background:var(--stone);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cases--3 .case__figure{margin-top:var(--s-xl);padding:18px 20px 16px;padding-top:18px;border-radius:14px;background:var(--accent-wash);color:var(--ink)}
.cases--3 .case__title{margin-top:var(--s-lg);font-size:20px;line-height:1.25}
.cases--3 .case__body{font-size:15px}
.cases--3 .case__link{margin-top:auto;padding-top:var(--s-lg);border-top:1px solid var(--line)}
.cases--3 .case__body{margin-bottom:var(--s-lg)}
@media(hover:hover) and (pointer:fine){.cases--3 .case{transition:transform .3s var(--ease)}.cases--3 .case:hover{transform:translateY(-3px)}}
@media(max-width:600px){.cases--3 .case{padding:24px 20px}}
.cases--3 .case__logo{height:34px;-webkit-mask-position:left center;mask-position:left center}

/* ── Firma de testimonio con foto ── */
.firma{display:flex;align-items:center;gap:14px;text-align:left}
.firma--centro{justify-content:center}
.avatar{flex:none;width:52px;height:52px;border-radius:50%;overflow:hidden;background:var(--stone);display:grid;place-items:center}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.avatar--ini{font-size:15px;font-weight:600;letter-spacing:.04em;color:var(--accent-deep);background:var(--accent-wash)}
.firma__txt{display:flex;flex-direction:column;line-height:1.4}
.firma__txt strong{color:var(--ink);font-weight:600;font-size:14px}
.firma__txt span{color:var(--muted);font-size:13px}
.testimonial .firma{margin-top:auto;padding-top:var(--s-lg)}
.testimonial-solo .firma{font-size:13px}
/* Tabla de reparto como contenido principal de «Qué asumo» */
.split-table--reparto{margin-top:var(--s-2xl);box-shadow:var(--shadow-sm)}
.split-table--reparto thead th:nth-child(2){color:var(--accent-deep)}
.split-table--reparto td[data-label="Yo"]{color:var(--ink)}
@media(min-width:761px){.split-table--reparto tbody th{font-size:16px}}
@media(max-width:760px){
  .split-table--reparto{box-shadow:none}
  .split-table--reparto tbody{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(-1 * var(--gutter));padding:4px var(--gutter) 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .split-table--reparto tbody::-webkit-scrollbar{display:none}
  .split-table--reparto tr{flex:0 0 84%;scroll-snap-align:start;box-shadow:var(--shadow-sm)}
}
.mt-4xl{margin-top:var(--s-4xl)}
@media(max-width:600px){.mt-4xl{margin-top:var(--s-3xl)}}
/* Casos de la portada en móvil: carrusel alineado al margen, con aire para la sombra */
@media(max-width:700px){
  .cases--3:not(.cases--apiladas){scroll-padding-inline:var(--gutter);padding-top:8px;padding-bottom:28px;gap:14px}
  .cases--3:not(.cases--apiladas) .case{flex:0 0 86%}
}
@media(max-width:600px){.cases--3 .case__sector{font-size:11px;letter-spacing:.04em;padding:5px 10px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}}
/* Tarjeta de cierre en móvil: mismo margen lateral que el resto de tarjetas */
@media(max-width:900px){
  .section--dark:not(#palancas)>.wrap{margin-inline:var(--gutter);padding:var(--s-2xl) 22px}
}
.carrusel__pista{scroll-padding-inline:4px}
/* Tabla de reparto en móvil: la primera tarjeta arranca en el margen del texto */
@media(max-width:760px){.split-table--reparto tbody{scroll-padding-inline:var(--gutter)}}
/* Formación: los tres programas como carrusel deslizante en móvil */
@media(max-width:1000px){
  .programas{display:flex;max-width:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);gap:14px;margin-inline:calc(-1 * var(--gutter));padding:8px var(--gutter) 28px;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:stretch}
  .programas::-webkit-scrollbar{display:none}
  .programa{flex:0 0 86%;scroll-snap-align:start;max-width:440px}
}

/* Home · tarjeta de seguimiento: lista de oportunidades (sustituye a la tabla, que no cabía) */
.caja--pipe>p{margin-bottom:28px}
.pipe{background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -10px 40px -20px rgba(22,19,15,.25);padding:18px 20px 6px;margin-top:auto}
.pipe__f{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.pipe__f:last-child{border-bottom:0}
.pipe__av{width:34px;height:34px;border-radius:50%;background:var(--accent-wash);color:var(--accent-deep);display:grid;place-items:center;font-size:13px;font-weight:600;font-style:normal}
.pipe__t{min-width:0;font-size:14px;line-height:1.35;color:var(--ink)}
.pipe__t b{display:block;font-weight:600}
.pipe__t small{display:block;margin-top:3px;font-size:12px;color:var(--muted)}
@media(max-width:480px){
  .pipe{padding:16px 16px 6px}
  .pipe__f{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:4px 12px}
  .pipe__av{width:30px;height:30px;font-size:12px}
  .pipe__f .tag{grid-column:2;justify-self:start;margin-top:6px}
  .pipe .doc__h b{white-space:nowrap}.pipe__n{display:none}
}

/* ══════════ V2 (04/10/2026): dirección externa, una sección = una idea ══════════ */
.mt-3xl{margin-top:var(--s-3xl)}
.kicker--centro{justify-content:center}
.hero--b h1{max-width:15ch}
/* Problema: los síntomas, en lista */
.sintomas{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);align-self:end}
.sintomas li{position:relative;padding:14px 0 14px 28px;border-bottom:1px solid var(--line);font-size:17px;line-height:1.5;color:var(--ink)}
.sintomas li::before{content:"";position:absolute;left:2px;top:25px;width:12px;height:2px;background:var(--accent)}
.bandera.center{margin-inline:auto;max-width:30ch}
/* Qué hace: agencia, comercial, Palumbo */
.quien-hace__k{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.quien-hace .cell--feature .quien-hace__k{color:var(--accent-deep)}
.quien-hace__t{margin-top:10px;font-size:20px;line-height:1.35;letter-spacing:-.01em;color:var(--ink)}
/* Caso principal */
.caso-dest{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,56px);align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,4vw,48px)}
.caso-dest .case__logo{margin-bottom:var(--s-md)}
.caso-dest__t{font-size:clamp(22px,1rem + 1vw,30px);line-height:1.2;letter-spacing:-.02em;margin-top:var(--s-sm)}
.caso-dest__n{display:flex;align-items:baseline;gap:12px;margin-top:var(--s-lg);padding-top:var(--s-lg);border-top:1px solid var(--line)}
.caso-dest__n strong{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(42px,2rem + 2vw,60px);line-height:1;color:var(--accent-deep)}
.caso-dest__n span{font-size:15px;line-height:1.4;color:var(--muted);max-width:22ch}
.pasos{margin:0}
.pasos>div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.pasos>div:first-child{padding-top:0}
.pasos>div:last-child{border-bottom:0;padding-bottom:0}
.pasos dt{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);padding-top:4px}
.pasos dd{margin:0;font-size:16px;line-height:1.6;color:var(--body)}
.pasos--caso{max-width:820px;margin-inline:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,4vw,44px)}
.pasos--caso>div{grid-template-columns:170px 1fr}
@media(max-width:860px){.caso-dest{grid-template-columns:1fr}}
@media(max-width:560px){.pasos>div,.pasos--caso>div{grid-template-columns:1fr;gap:4px}}
/* Enlace a un segundo caso */
.otro-caso{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;max-width:820px;margin-inline:auto;padding:18px 22px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;color:var(--body);text-decoration:none;transition:border-color var(--dur) var(--ease)}
.otro-caso .logo{--logo-s:.7}
.otro-caso__t{font-size:15px;line-height:1.5}
.otro-caso__t strong{color:var(--ink)}
.otro-caso__f{font-size:20px;color:var(--accent-deep)}
@media(hover:hover) and (pointer:fine){.otro-caso:hover{border-color:var(--accent)}}
@media(max-width:600px){.otro-caso{grid-template-columns:1fr auto;gap:10px 14px}.otro-caso .logo{grid-column:1/-1}}
/* Para quién: «no encaja» con viñeta hueca */
.marked--no li::before{background:transparent;border:1.5px solid var(--muted);width:8px;height:8px;box-sizing:border-box}
/* Cómo funciona: cuatro piezas */
.timeline--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.timeline--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.timeline--4{grid-template-columns:1fr}}
.timeline .timeline__k{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep)}
/* Herramientas: jerarquía visual menor que la dirección */
.cabeza--suave h2{font-size:clamp(26px,1rem + 1.6vw,36px);max-width:22ch}
/* Galería de tres fotos */
@media(min-width:901px){.gallery--3 .gallery__item{grid-column:span 2}}
@media(max-width:900px){.gallery--3 .gallery__item:first-child{grid-column:span 2}}
/* Fotos principales en blanco y negro; en escritorio vuelven al color al pasar el ratón */
.foto--mono,.founder img{transition:filter .5s var(--ease)}
@media(hover:hover) and (pointer:fine){.foto--mono:hover,.founder img:hover{filter:none}}
/* Pie */
.footer .footer__cta{color:var(--on-dark);font-weight:500}
.footer .footer__idioma a{color:var(--on-dark)}
/* Barra fija con la acción principal en móvil (main.js decide cuándo se ve) */
.cta-movil{display:none}
@media(max-width:760px){
  .cta-movil:not([hidden]){display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:40;min-height:52px;align-items:center;justify-content:center;border-radius:var(--pill);background:var(--ink);color:#fff;font-weight:500;font-size:16px;text-decoration:none;box-shadow:0 14px 30px -12px rgba(22,19,15,.45);transition:transform .3s var(--ease),opacity .3s var(--ease)}
  .cta-movil::after{content:"→";margin-left:10px}
  .cta-movil[data-oculta="true"]{transform:translateY(140%);opacity:0;pointer-events:none}
  html.show--consent .cta-movil,html.show--preferences .cta-movil,html.nav-open .cta-movil{display:none!important}
  body:has(.cta-movil:not([hidden])) .footer{padding-bottom:calc(var(--s-xl) + 76px)}
}
/* Párrafos centrados con ancho máximo: centrar también la caja */
p.center{margin-inline:auto}
.footer p .footer__cta{display:inline-block;margin-top:var(--s-sm)}
/* Autoevaluación en la home: banda más contenida (es un activo secundario) */
#autoevaluacion.fin{padding:clamp(56px,7vw,104px) 0}
/* Gracias y 404: aire bajo el texto antes de la siguiente banda */
.hero:has(> .prose){padding-bottom:var(--s-3xl)}

/* ══════════ Diseño V2 (04/10/2026): problema → dirección ══════════ */
/* Hero: la categoría y, debajo, para quién */
.hero--b h1.hero__cat{max-width:none;margin-top:0}
.hero__cat-t{display:block;max-width:15ch}
.hero__para{display:block;margin-top:.45em;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:.44em;line-height:1.15;letter-spacing:0;color:var(--accent-deep)}

/* Problema: banda oscura; las cuatro situaciones convergen en ti */
.problema{background:var(--ink);color:var(--on-dark-mut);padding-block:clamp(72px,10vw,136px)}
.problema ::selection{background:var(--accent);color:var(--ink)}
.problema__g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px);align-items:center}
.problema h2{color:var(--on-dark);max-width:13ch}
.problema h2 i{color:var(--accent)}
.problema .lead{margin-top:var(--s-lg);max-width:28ch;color:var(--on-dark-mut)}
.embudo{position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(56px,8vw,120px) auto;grid-template-rows:repeat(4,1fr);align-items:center;margin:0}
.embudo__lista{display:contents;list-style:none}
.embudo__lista li{grid-column:1;margin:6px 0;padding:15px 20px;border:1px solid rgba(245,242,236,.12);border-radius:14px;background:rgba(245,242,236,.04);color:var(--on-dark);font-size:16px;line-height:1.45}
.embudo__lineas{grid-column:2;grid-row:1/-1;align-self:stretch;width:100%;height:100%;overflow:visible}
.embudo__lineas path{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}
.embudo__tu{grid-column:3;grid-row:1/-1;display:grid;place-items:center;width:clamp(84px,8vw,108px);aspect-ratio:1;margin:0;border-radius:50%;background:var(--accent);color:var(--ink);font-family:var(--font-serif);font-style:italic;font-size:clamp(30px,2.4vw,40px);line-height:1;box-shadow:0 0 0 10px rgba(168,137,90,.16),0 0 0 22px rgba(168,137,90,.07)}
.problema__frase{margin-top:clamp(56px,8vw,104px);padding-top:clamp(32px,4vw,48px);border-top:1px solid rgba(245,242,236,.12);font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(32px,1.2rem + 2.8vw,62px);line-height:1.08;letter-spacing:-.01em;color:var(--on-dark)}
.problema__frase em{color:var(--accent)}
/* Un solo momento de movimiento: las líneas se trazan hacia ti al entrar en pantalla */
.fx-embudo .embudo__lineas path{stroke-dasharray:1;stroke-dashoffset:1}
.fx-embudo .embudo.en-vista .embudo__lineas path{animation:trazo 1.1s cubic-bezier(.16,1,.3,1) forwards}
.fx-embudo .embudo.en-vista .embudo__lineas path:nth-child(2){animation-delay:.1s}
.fx-embudo .embudo.en-vista .embudo__lineas path:nth-child(3){animation-delay:.2s}
.fx-embudo .embudo.en-vista .embudo__lineas path:nth-child(4){animation-delay:.3s}
.fx-embudo .embudo__tu{transform:scale(.82);transition:transform .9s cubic-bezier(.16,1,.3,1) .55s}
.fx-embudo .embudo.en-vista .embudo__tu{transform:none}
@keyframes trazo{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.fx-embudo .embudo.en-vista .embudo__lineas path{animation-duration:2s}}
@media(max-width:860px){
  .problema__g{grid-template-columns:1fr}
  .embudo{grid-template-columns:1fr;grid-template-rows:none}
  .embudo::before{content:"";position:absolute;left:31px;top:34px;bottom:32px;width:1.5px;background:var(--accent)}
  .embudo__lista li{position:relative;margin:6px 0 6px 64px}
  .embudo__lista li::before{content:"";position:absolute;left:-33px;top:50%;width:33px;height:1.5px;background:var(--accent)}
  .embudo__lineas{display:none}
  .embudo__tu{grid-column:1;grid-row:auto;position:relative;width:64px;margin-top:14px;font-size:26px;box-shadow:0 0 0 6px rgba(168,137,90,.16),0 0 0 13px rgba(168,137,90,.07)}
}

/* Qué hace: tres papeles y una sola línea de dirección */
.que-hace{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.que-hace h2{max-width:11ch}
.roles{margin:0;border-top:1px solid var(--line)}
.roles>div{display:grid;grid-template-columns:150px 1fr;align-items:baseline;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.roles dt{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.roles dd{margin:0;font-size:clamp(20px,1rem + .9vw,28px);line-height:1.25;letter-spacing:-.015em;color:var(--muted)}
.roles>.roles__yo{border-bottom:0}
.roles .roles__yo dt{color:var(--accent-deep)}
.roles .roles__yo dd{color:var(--ink)}
.linea-dir{list-style:none;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:clamp(28px,4vw,48px) 0 0;padding:30px 0 0}
.linea-dir::before{content:"";position:absolute;left:0;right:12px;top:9px;height:1.5px;background:var(--ink)}
.linea-dir::after{content:"";position:absolute;right:0;top:4px;border-left:12px solid var(--ink);border-top:6px solid transparent;border-bottom:6px solid transparent}
.linea-dir li{position:relative;padding-right:12px;font-size:16px;font-weight:500;color:var(--ink)}
.linea-dir li::before{content:"";position:absolute;left:0;top:-27px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--canvas)}
.que-hace__pie{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-lg) var(--s-xl);margin-top:clamp(48px,6vw,80px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--line)}
.que-hace__frase{font-family:var(--font-serif);font-style:italic;font-size:clamp(26px,1rem + 1.6vw,40px);line-height:1.15;color:var(--ink)}
@media(max-width:860px){
  .que-hace{grid-template-columns:1fr}
  .roles>div{grid-template-columns:1fr;gap:4px}
  .linea-dir{grid-template-columns:1fr;gap:18px;padding:0 0 0 34px}
  .linea-dir::before{left:5px;right:auto;top:6px;bottom:14px;width:1.5px;height:auto}
  .linea-dir::after{left:0;right:auto;top:auto;bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:12px solid var(--ink);border-bottom:0}
  .linea-dir li{padding:0}
  .linea-dir li::before{left:-34px;top:6px}
}

/* Cómo funciona: tres piezas y la dirección que las une */
.piezas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(20px,3vw,40px)}
.piezas>article{padding:22px 0 30px;border-top:1.5px solid var(--ink)}
.piezas h3{font-size:22px;font-weight:500;letter-spacing:-.015em;line-height:1.2;color:var(--ink)}
.piezas p{margin-top:8px;font-size:16px;line-height:1.55;color:var(--body);max-width:30ch}
.piezas>.piezas__dir{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:var(--s-md) var(--s-xl);margin-top:var(--s-sm);padding:clamp(24px,3vw,36px) clamp(24px,4vw,44px);border:0;border-radius:var(--r-lg);background:var(--ink)}
.piezas__dir h3{color:var(--on-dark);font-size:clamp(28px,1rem + 1.6vw,40px);letter-spacing:-.02em}
.piezas__dir h3 i{color:var(--accent)}
.piezas__dir p{margin:0;max-width:none;font-size:18px;color:var(--on-dark-mut)}
@media(max-width:860px){.piezas{grid-template-columns:1fr}.piezas>.piezas__dir{grid-template-columns:1fr;margin-top:var(--s-md)}}

/* Para quién: marcas dibujadas */
.lista-si,.lista-no{list-style:none}
.lista-si li,.lista-no li{position:relative;padding-left:30px;margin-bottom:12px;font-size:16px;line-height:1.55;color:var(--body)}
.lista-si li::before,.lista-no li::before{content:"";position:absolute;left:0;top:.18em;width:18px;height:18px;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.lista-si li::before{background:var(--accent-deep);--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.lista-no li::before{background:var(--no);--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E")}

/* Listas tipográficas (en lugar de rejillas de tarjetas iguales) */
.lista-def{display:grid;gap:0 clamp(24px,4vw,56px)}
.lista-def--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lista-def--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lista-def>article{padding:22px 0 28px;border-top:1px solid var(--line)}
.lista-def .cell__title{font-size:20px;margin-bottom:6px}
.lista-def .cell__body{max-width:40ch}
.lista-def--no .cell__title{position:relative;padding-left:28px}
.lista-def--no .cell__title::before{content:"";position:absolute;left:0;top:.12em;width:18px;height:18px;background:var(--muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/contain no-repeat}
.section--warm .lista-def>article{border-top-color:#e2dccf}
@media(max-width:900px){.lista-def--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.lista-def--2,.lista-def--3{grid-template-columns:1fr}}

/* Primeros 90 días: la secuencia la dicen los días, no un número */
.timeline--dias>li{padding-top:28px}
.timeline--dias>li::before{display:none}
/* Diagrama medido en píxeles reales: trazo normal (sin non-scaling) para que la animación funcione */
.embudo__lineas.medido path{vector-effect:none}
.fx-embudo .embudo__lineas:not(.medido) path{stroke-dasharray:none;stroke-dashoffset:0}
/* Trazo animado con la longitud real de cada línea (la mide main.js) */
.fx-embudo .embudo__lineas.medido path{stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
@media(max-width:860px){
  .linea-dir{padding-bottom:26px}
  .linea-dir::before{bottom:12px}
}
.hero__para{font-size:max(.44em,19px)}
/* Elevación declarada una sola vez: las tarjetas con sombra no llevan además borde */
.fl-card,.resultado,.test-preview,.programa,.cases--3 .case{border-color:transparent}

/* ══════════ Conversión (04/10/2026) ══════════ */
/* Hero: logos reales de clientes bajo los botones */
.clientes{margin-top:var(--s-xl);padding-top:var(--s-lg);border-top:1px solid var(--line);max-width:520px}
.clientes__k{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.clientes__logos{display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px;margin-top:14px}
.clientes__logos .logo{--logo-s:.7;opacity:.55}
.prueba strong{color:var(--ink);font-weight:600}

/* CTA de contacto en los momentos de decisión */
.cta-contexto{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s-md) var(--s-xl);text-align:center}
.cta-contexto p{font-family:var(--font-serif);font-style:italic;font-size:clamp(22px,1rem + 1vw,30px);line-height:1.2;color:var(--ink);max-width:none}

/* Contacto: el formulario en el primer pantallazo */
.contacto{padding-top:clamp(32px,5vw,64px)}
.contacto__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"a f" "b f";gap:0 clamp(32px,5vw,72px);align-items:start}
.contacto__a{grid-area:a}
.contacto__f{grid-area:f}
.contacto__b{grid-area:b;margin-top:var(--s-2xl)}
.contacto .titulo-pagina{max-width:15ch}
.contacto .lead{max-width:44ch}
.contacto__f .form-embed{margin-top:0;max-width:none}
.contacto__pasos{list-style:none;counter-reset:paso;display:grid;gap:16px;margin:0;padding:0}
.contacto__pasos li{counter-increment:paso;position:relative;padding-left:46px;font-size:15px;line-height:1.55;color:var(--body)}
.contacto__pasos li::before{content:counter(paso);position:absolute;left:0;top:-3px;width:30px;height:30px;border-radius:50%;border:1px solid var(--accent);color:var(--accent-deep);display:grid;place-items:center;font-family:var(--font-serif);font-style:italic;font-size:16px}
.contacto__pasos strong{color:var(--ink);font-weight:600}
.contacto__gratis{margin-top:var(--s-lg);font-weight:500;color:var(--ink)}
.contacto__b .testimonial-solo{text-align:left;margin-inline:0;max-width:none}
.contacto__b .testimonial-solo .quote{font-size:17px}
.contacto__b .firma--centro{justify-content:flex-start}
@media(max-width:900px){
  .contacto__g{grid-template-columns:1fr;grid-template-areas:"a" "f" "b"}
  .contacto__f{margin-top:var(--s-lg)}
  .contacto .titulo-pagina{max-width:none}
}

/* Autoevaluación: la primera pregunta se ve sin desplazarse */
.test-intro{padding-bottom:var(--s-lg)}
.test-quiz{padding-top:var(--s-xl)}

/* Testimonios: en ordenador se ven todos a la vez; carrusel solo en móvil */
@media(min-width:1000px){
  .carrusel--n3,.carrusel--n4{max-width:none}
  .carrusel--n3 .carrusel__pista,.carrusel--n4 .carrusel__pista{display:grid;gap:18px;overflow:visible;scroll-snap-type:none;padding:0;margin:0}
  .carrusel--n3 .carrusel__pista{grid-template-columns:repeat(3,minmax(0,1fr))}
  .carrusel--n4 .carrusel__pista{grid-template-columns:repeat(2,minmax(0,1fr))}
  .carrusel--n3 .carrusel__item,.carrusel--n4 .carrusel__item{width:auto;min-width:0;flex:none}
  .carrusel--n3 .carrusel__mandos,.carrusel--n4 .carrusel__mandos{display:none}
}

/* Formación: formulario propio */
.form-formacion{max-width:640px;margin-inline:auto;background:#fff;border-radius:var(--r-lg);padding:clamp(20px,3vw,32px);box-shadow:var(--shadow)}
.form-formacion__fila{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s-md)}
@media(max-width:600px){.form-formacion__fila{grid-template-columns:1fr}}
.form-formacion__ok,.form-formacion__error{max-width:640px;margin:var(--s-xl) auto 0;padding:18px 22px;border-radius:var(--r);background:#fff;color:var(--ink);text-align:center}
.form-formacion__error{color:#a4331f}

/* Banner de cookies compacto en móvil: menos de la mitad que antes */
@media(max-width:640px){
  #cc-main .cm--bar .cm__texts{padding:14px 16px 6px}
  #cc-main .cm--bar .cm__title{font-size:14px;padding:0;margin:0}
  #cc-main .cm--bar .cm__desc{font-size:13px;line-height:1.45;padding:4px 0 0;margin:0;max-height:none}
  #cc-main .cm--bar .cm__btns{padding:8px 16px 14px;border-top:0;display:flex;flex-direction:column;gap:8px}
  #cc-main .cm--bar .cm__btn-group{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
  #cc-main .cm--bar .cm__btn-group + .cm__btn-group{display:flex;justify-content:center}
  #cc-main .cm--bar .cm__btn{min-height:44px;margin:0;padding:8px 10px;font-size:14px}
  #cc-main .cm--bar .cm__btn[data-role="show"]{background:none;border:0;min-height:36px;text-decoration:underline;text-underline-offset:3px;font-weight:500}
}
@media(max-width:640px){#cc-main .cm--bar .cm__title{display:none}#cc-main .cm--bar .cm__texts{padding-top:12px}}
.contacto__g{grid-template-rows:auto 1fr}
@media(max-width:900px){.contacto__g{grid-template-rows:none}}
@media(max-width:640px){
  #cc-main .cm--bar .cm__btns .cm__btn-group:first-child{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  #cc-main .cm--bar .cm__btns .cm__btn-group:first-child .cm__btn{width:auto!important;margin:0!important}
}

/* ══════════ Índice de Dependencia Comercial (04/10/2026) ══════════ */
/* «Cuéntame tu caso» avisa de que el Mapa ya ha llegado y no hay que repetirlo. */
.aviso-mapa{margin-bottom:var(--s-md);padding:14px 18px;border-radius:var(--r);background:var(--accent-wash);color:var(--ink);font-size:15px;line-height:1.5}
.aviso-mapa[hidden]{display:none}
/* Menú: el Índice es una acción, no una página; se distingue con el color de acento. */
.header__nav a.header__nav-idc{color:var(--accent-deep);font-weight:500}
@media(hover:hover) and (pointer:fine){.header__nav a.header__nav-idc:hover{color:var(--ink)}}
@media(max-width:900px){.header__nav a.header__nav-idc{color:var(--ink);font-weight:400}}
@media(min-width:901px) and (max-width:1180px){.header__inner{gap:var(--s-lg)}.header__nav{gap:16px}.header__nav a{font-size:14px}}
@media(min-width:901px){.header__nav a{white-space:nowrap}}
/* Entre 901 y 1060 px no caben seis enlaces: «Inicio» se oculta (el logo lleva a la portada). */
@media(min-width:901px) and (max-width:1060px){.header__nav a:first-child{display:none}.header__nav{gap:14px}.btn.header__cta{padding:0 18px}}
/* Franja compacta del Índice: frase + botón, sin decoración. */
.franja-idc{padding-block:clamp(40px,5vw,64px)}
.franja-idc__g{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-lg) var(--s-2xl);align-items:center;padding:clamp(28px,4vw,48px);border-radius:var(--r-lg);background:var(--accent-wash)}
.franja-idc h2{font-size:clamp(25px,1rem + 1.5vw,36px);letter-spacing:-.02em;line-height:1.12;max-width:24ch}
.franja-idc p{margin-top:var(--s-sm);max-width:56ch;color:var(--body)}
@media(max-width:760px){.franja-idc__g{grid-template-columns:1fr}}
/* Cierres: salida discreta hacia el Índice debajo de la acción principal. */
.cierre-idc{margin-top:var(--s-sm)}
.cierre-idc .link-cta{font-size:15px}
/* Quién soy: tres cifras centradas (04/10/2026, Dani quitó «8 años»), también en móvil. */
.stats--centro{max-width:960px;margin-inline:auto;text-align:center}
.stats--centro .stats__l{max-width:28ch;margin-inline:auto}
@media(max-width:700px){.stats--centro>div{display:block;text-align:center;padding:var(--s-md) 0}.stats--centro .stats__n{font-size:34px}.stats--centro .stats__l{margin-top:6px;font-size:14px;max-width:30ch;margin-inline:auto}}

/* ══ Mejoras de conversión · 09/10/2026 ══ */
/* Hero de la home: qué pasa después del clic */
.hero--b .hero__microcopy{margin-top:var(--s-md);max-width:46ch;color:var(--muted)}

/* Índice: botón secundario visible, distinto del negro de «Cuéntame tu caso» */
.btn--idc{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}

/* Botones: responden al ratón y a la presión (antes el :hover anulaba el :active) */
.btn{transition:transform 160ms cubic-bezier(.23,1,.32,1),background-color 200ms ease,border-color 200ms ease,color 200ms ease}
@media(hover:hover) and (pointer:fine){
  .btn:hover{transform:none;background:var(--ink-2);border-color:var(--ink-2)}
  .btn--ghost:hover{background:var(--stone);border-color:#d8d0c2}
  .btn--idc:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
}
.btn:active{transform:scale(.97)}

/* Barra móvil también con el banner de cookies abierto: se coloca justo encima (main.js mide --cc-alto) */
@media(max-width:760px){
  html.show--consent:not(.nav-open):not(.show--preferences) .cta-movil:not([hidden]){display:flex!important;bottom:calc(var(--cc-alto,0px) + 10px)}
}

/* Banner de cookies con los colores del sitio; en el móvil, «Preferencias» pasa al texto y el banner baja de altura */
#cc-main{--cc-font-family:var(--font-sans);--cc-bg:#fbfaf7;--cc-primary-color:#16130f;--cc-secondary-color:#554e46;--cc-btn-primary-bg:#16130f;--cc-btn-primary-color:#fff;--cc-btn-primary-border-color:#16130f;--cc-btn-primary-hover-bg:#2a2520;--cc-btn-primary-hover-border-color:#2a2520;--cc-btn-secondary-bg:#f1eee7;--cc-btn-secondary-color:#16130f;--cc-btn-secondary-border-color:#f1eee7;--cc-btn-secondary-hover-bg:#e7e2d8;--cc-btn-secondary-hover-border-color:#e7e2d8;--cc-btn-border-radius:999px;--cc-modal-border-radius:28px;--cc-separator-border-color:#e7e2d8;--cc-link-color:#82663e;--cc-toggle-on-bg:#16130f;--cc-cookie-category-block-bg:#f5f1e8;--cc-cookie-category-block-border:#e7e2d8;--cc-section-category-border:#e7e2d8}
#cc-main .cc-pref{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--cc-link-color);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
@media(min-width:641px){#cc-main .cc-pref-wrap{display:none}}
@media(max-width:640px){#cc-main .cm--bar .cm__btn-group+.cm__btn-group{display:none!important}}

/* Carrusel: botón de pausa junto a las flechas (lo que se mueve solo más de 5 s se puede parar) */
.carrusel__pausa{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;display:grid;place-items:center;padding:0;transition:background-color var(--dur) var(--ease)}
.carrusel__pausa span{display:block;width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.carrusel__pausa[aria-pressed="true"] span{width:0;height:0;border-left:11px solid currentColor;border-right:0;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
@media(hover:hover) and (pointer:fine){.carrusel__pausa:hover{background:var(--stone)}}

/* Menú móvil con movimiento reducido: fundido más lento en vez de nada */
@keyframes menu-suave{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.header__nav[data-open="true"]{animation:menu-suave .4s ease}}

/* Franja del Índice: tarjetas en 2 + 2 que llegan una vez al entrar, sin oscilar sin fin */
.flot{animation:none}
.flot--5{left:auto;right:4%;top:60%;--rot:-5deg}
.flot--1{--lleg:0ms}.flot--3{--lleg:80ms}.flot--2{--lleg:160ms}.flot--5{--lleg:240ms}
.fin--llega .flot{opacity:0}
.fin--llega.en-vista .flot{animation:llega 700ms cubic-bezier(.23,1,.32,1) var(--lleg,0ms) both}
@keyframes llega{from{opacity:0;transform:rotate(var(--rot,0deg)) translateY(16px)}to{opacity:1;transform:rotate(var(--rot,0deg))}}
@media(prefers-reduced-motion:reduce){.fin--llega.en-vista .flot{animation:aparece 1400ms ease var(--lleg,0ms) both}}
@keyframes aparece{from{opacity:0}to{opacity:1}}

/* Cómo trabajo: la maqueta de la hoja de ruta llega al borde de su caja */
.caja>.doc{margin-top:auto}
.caja:has(>.doc)>p{margin-bottom:28px}

/* Menos vacío antes de la tarjeta de cierre */
.section--dark:not(#palancas){padding-top:clamp(24px,3vw,40px)}

/* Foto de apertura de Cómo trabajo más baja en el móvil */
@media(max-width:900px){.hero__founder:not(.hero__founder--square) img:not(.hero__foto-ancha){aspect-ratio:4/3;object-position:50% 25%}}

/* Casos: la tarjeta entera es el enlace; cifra en serif como en la home */
.cases--3 .case{position:relative}
.cases--3 .case__link a::after{content:"";position:absolute;inset:0;border-radius:var(--r-lg)}
.cases--3 .case__link a:focus-visible{outline:none}
.cases--3 .case:has(.case__link a:focus-visible){outline:2px solid var(--accent-deep);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.cases--3 .case{transition:transform 200ms cubic-bezier(.23,1,.32,1)}}
.cases--3 .case__figure{background:none;padding:0;font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent-deep);font-size:clamp(34px,1.4rem + 1.2vw,46px);line-height:1.05;letter-spacing:0;white-space:nowrap}
@media(max-width:600px){.cases--3 .case__sector{font-size:12px}.cases--apiladas.mt-2xl{margin-top:0}}

/* Página de caso: título más corto y la cifra en el primer pantallazo */
.titulo-pagina--caso{font-size:clamp(30px,1.1rem + 2vw,44px)}
.caso-pag__n{margin-top:var(--s-lg)}

/* Home, caso Nuvex en el móvil: primero la historia, después «Ver el caso completo» */
.caso-dest__mas{display:none}
@media(max-width:860px){.caso-dest__cab>p.mt-lg{display:none}.caso-dest__mas{display:block;margin:0}}

/* Diagnóstico en el móvil: primero qué pasa y que es gratis; después el formulario y la prueba */
@media(max-width:900px){
  .contacto__b{display:contents}
  .contacto__g{grid-template-areas:"a" "p" "g" "f" "t" "s"}
  .contacto__pasos{grid-area:p;margin-top:var(--s-xl)}
  .contacto__gratis{grid-area:g}
  .contacto__b .testimonial-solo{grid-area:t}
  .contacto__b>.small{grid-area:s}
}
/* Mientras carga el formulario de GoHighLevel: espacio reservado y aviso (sin saltos de página) */
#formulario .form-embed{position:relative}
#formulario .form-embed:not(.cargado)::before{content:"Caricamento del modulo…";position:absolute;top:56px;left:0;right:0;text-align:center;color:var(--muted);font-size:15px;pointer-events:none}
/* Solo mientras carga: el formulario de hoy mide ~1000 px en el móvil; después manda su altura real */
@media(max-width:600px){#formulario .form-embed:not(.cargado) iframe{min-height:1000px}}

/* Cabecera sin menú (Índice, gracias): sin la raya tras el logo */
.header__inner:not(:has(.header__nav)) .header__logo{border-right:0}

/* Textos pequeños y zonas táctiles */
.programa__dl dt{font-size:12px}
.form-formacion .field label{font-size:14px}
.footer .footer__cta{display:inline-flex;align-items:center;min-height:44px}

/* Hero con resultado (11/10/2026): título más ancho, Índice como enlace */
.hero--b .hero__g h1{max-width:19ch}
.hero--b .lead.hero__90{margin-top:12px}
.hero__90 strong{font-weight:600;color:var(--ink)}
.programas--1{grid-template-columns:1fr;max-width:820px;margin-inline:auto}
@media(max-width:1000px){.programas.programas--1{display:block;overflow:visible;margin-inline:0;padding:0;max-width:640px}.programas--1 .programa{max-width:none}}
/* Formación como página de venta del taller (11/10/2026) */
.resultados{max-width:760px;margin-inline:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,34px);box-shadow:var(--shadow)}
.resultados .lista-si li{font-size:17px;line-height:1.5}
.problema__frase--claro{text-align:center;color:var(--ink)}
.problema__frase--claro em{color:var(--accent-deep)}
