
@font-face{font-family:Univa;src:url(/assets/fonts/UnivaNova-Thin.woff2) format('woff2');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:Univa;src:url(/assets/fonts/UnivaNova-Light.woff2) format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Univa;src:url(/assets/fonts/UnivaNova-LightItalic.woff2) format('woff2');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:Univa;src:url(/assets/fonts/UnivaNova-Regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Univa;src:url(/assets/fonts/UnivaNova-Medium.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Univa;src:url(/assets/fonts/UnivaNova-SemiBold.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Univa;src:url(/assets/fonts/UnivaNova-Bold.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --gun:#1E2224; --gun-deep:#15181A; --char:#36373B; --char-2:#2B2D30;
  --gains:#D9DDE0; --gains-hi:#EDEFF1; --gains-lo:#C6CCD1;
  --au:#953315; --au-hi:#B84520; --straw:#F3D380; --blu:#758FAF;
  --ink:#1E2224; --on-dark:#E4E7E9; --on-dark-2:#9AA3A9;
  --on-light:#1E2224; --on-light-2:#575F64;
  --ln-d:rgba(217,221,224,.13); --ln-d2:rgba(217,221,224,.24); --ln-l:rgba(30,34,36,.14);
  --max:1460px; --gut:clamp(20px,4vw,60px);
  --measure:none; --measure-sm:none;
  --e:cubic-bezier(.22,.68,.26,1); --nav-h:72px;
  --skew:-32deg;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 20px);-webkit-text-size-adjust:100%}
body{
  background:var(--gains);color:var(--on-light);
  font-family:Univa,"Helvetica Neue",Arial,sans-serif;
  font-weight:400;font-size:16.11px;line-height:1.68;letter-spacing:.002em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;
}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
button,input,textarea{font:inherit;color:inherit}
::selection{background:var(--au);color:#fff}
.wrap{width:min(100% - calc(var(--gut)*2),var(--max));margin-inline:auto}

/* ── ritmo ── */
.s{padding:clamp(76px,9vw,140px) 0;position:relative}
.dark{background:var(--gun);color:var(--on-dark)}
.deep{background:var(--gun-deep);color:var(--on-dark)}
.hi{background:var(--gains-hi)}

/* corte diagonal entre bloques — el ángulo del isotipo */
.cut{position:relative}
.cut::before{
  content:"";position:absolute;top:-1px;left:0;right:0;height:64px;
  background:inherit;clip-path:polygon(0 100%,100% 0,100% 100%);
  transform:translateY(-63px);pointer-events:none;
}

/* ── tipografía ── */
h1,h2,h3{font-weight:300;letter-spacing:-.022em;line-height:1.06}
.t-xl{font-size:clamp(2.59rem,6.80vw,6.64rem);font-weight:200;letter-spacing:-.04em;line-height:.92}
.t-l {font-size:clamp(1.70rem,3.56vw,3.16rem);font-weight:200;letter-spacing:-.032em;line-height:1.02}
.t-m {font-size:clamp(1.10rem,1.78vw,1.58rem);font-weight:300;letter-spacing:-.022em;line-height:1.16}
.t-s {font-size:1.06rem;font-weight:500;letter-spacing:-.008em;line-height:1.3}
.lead{font-size:clamp(1.08rem,1.25vw,1.34rem);font-weight:300;line-height:1.58;max-width:92ch;color:var(--on-light-2);text-wrap:balance}
.dark .lead,.deep .lead{color:var(--on-dark-2)}
p{max-width:none}
.num{font-variant-numeric:tabular-nums;font-weight:500;color:var(--au)}
.dark .num,.deep .num{color:var(--straw)}

/* índice de sección: sólo donde el contenido es realmente secuencia */
.idx{font-size:.82rem;font-weight:500;color:var(--au);font-variant-numeric:tabular-nums}
.dark .idx,.deep .idx{color:var(--straw)}
.kicker{font-size:.94rem;font-weight:500;color:var(--au);margin-bottom:18px}
.dark .kicker,.deep .kicker{color:var(--blu)}
.head{margin-bottom:clamp(44px,5vw,76px);max-width:none}
.head .lead{margin-top:24px}

/* ── botones ── */
.b{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:56px;padding:0 30px;border:1px solid transparent;
  font-size:1rem;font-weight:500;letter-spacing:-.004em;cursor:pointer;
  transition:background .3s var(--e),color .3s var(--e),border-color .3s var(--e),transform .3s var(--e);
  position:relative;overflow:hidden;
}
.b-au{background:var(--au);color:#fff}
.b{--mx:0px;--my:0px}
.b:hover{transform:translate3d(var(--mx),calc(var(--my) - 1px),0)}
.b-au:hover{background:var(--au-hi)}
.b-gh{border-color:var(--ln-d2);color:var(--on-dark)}
.b-gh:hover{background:rgba(217,221,224,.07)}
.b-lt{background:var(--gains-hi);color:var(--ink);border-color:var(--gains-hi)}
.b-lt:hover{background:#fff}
:focus-visible{outline:2px solid var(--straw);outline-offset:4px}
.mod:focus-visible,.sv article:focus-visible,.step:focus-visible,.ch-c:focus-visible{outline-offset:2px}
.sv article:focus-within .rv3,.step:focus-within .rv2,.ch-c:focus-within .brk{max-height:200px;opacity:1;margin-top:16px}

/* ── nav ── */
nav{position:sticky;top:0;z-index:90;background:rgba(30,34,36,.9);backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);border-bottom:1px solid var(--ln-d);color:var(--on-dark)}
.nv{height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.nv-lg{display:flex;align-items:center;min-height:46px}
.nv-lg img{height:32px;width:auto}
.nv-l{display:flex;align-items:center;gap:34px;font-size:.95rem;font-weight:400;color:rgba(228,231,233,.66)}
.nv-l a{position:relative;padding:6px 0;transition:color .26s var(--e)}
.nv-l a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--au-hi);transition:right .34s var(--e)}
.nv-l a:hover{color:var(--on-dark)} .nv-l a:hover::after{right:0}
.nv-c{padding:15px 26px;min-height:46px;display:inline-flex;align-items:center;background:var(--au);color:#fff!important;font-weight:500;font-size:.93rem;transition:background .26s var(--e)}
.nv-c:hover{background:var(--au-hi)} .nv-c::after{display:none!important}

/* ── hero ── */
.hero{background:var(--gun-deep);color:var(--on-dark);position:relative;overflow:hidden;border-bottom:1px solid var(--ln-d)}
.hero-g{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:clamp(40px,6vw,96px);align-items:center;padding:clamp(80px,11vh,150px) 0 clamp(70px,9vh,120px);position:relative;z-index:2}
.hero h1{margin:0 0 34px}
.hero .lead{max-width:58ch;color:rgba(228,231,233,.74)}
.hero-cta{margin-top:44px;display:flex;flex-wrap:wrap;gap:14px}
.hero-meta{margin-top:34px;font-size:.92rem;color:rgba(228,231,233,.42);font-weight:300}

/* ── trayectoria ── */
/* ── banda de criterio: marquesina con contexto ── */
.tray{background:var(--char-2);border-top:1px solid var(--ln-d);border-bottom:1px solid var(--ln-d);padding:0;color:var(--on-dark);overflow:hidden;position:relative}
.tray-t{font-size:1.02rem;font-weight:300;color:rgba(228,231,233,.62);padding:30px 0 6px;max-width:78ch;text-wrap:balance}
.tray-t b{font-weight:500;color:var(--straw)}
.mq{position:relative;overflow:hidden;padding:22px 0 40px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.mq-t{display:flex;width:max-content;animation:slide 46s linear infinite;will-change:transform}
.mq:hover .mq-t{animation-play-state:paused}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq-i{flex:none;padding:0 clamp(30px,4vw,62px);position:relative;display:flex;align-items:center;min-height:62px;cursor:default}
.mq-i img{height:44px;width:auto;opacity:.5;filter:grayscale(1) brightness(2.5);transition:opacity .32s var(--e),filter .32s var(--e)}
.mq-i:hover img{opacity:1;filter:grayscale(0) brightness(2.5)}
.pop{display:none}
#mqpop{
  position:fixed;z-index:120;width:min(340px,80vw);background:var(--gun-deep);
  border:1px solid var(--ln-d2);border-top:2px solid var(--straw);padding:20px 22px;
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translate(-50%,8px);transition:opacity .28s var(--e),transform .28s var(--e),visibility .28s;
  box-shadow:0 26px 64px rgba(0,0,0,.55);
}
#mqpop.on{opacity:1;visibility:visible;transform:translate(-50%,0)}
#mqpop em{display:block;font-style:normal;font-size:.8rem;font-weight:500;color:var(--straw);margin-bottom:8px}
#mqpop p{font-size:.95rem;font-weight:300;line-height:1.5;color:var(--on-dark);max-width:none;margin:0}
.mq{padding:22px 0 40px}

/* ── reconocimiento ── */
.rec{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.rec article{padding:clamp(32px,3.4vw,48px) clamp(28px,3vw,52px) clamp(32px,3.4vw,48px) 0;border-top:1px solid var(--ln-l)}
.rec article:nth-child(2n){padding-right:0;padding-left:clamp(28px,3vw,52px);border-left:1px solid var(--ln-l)}
.rec h3{font-size:clamp(1.22rem,1.75vw,1.58rem);font-weight:400;letter-spacing:-.018em;line-height:1.2;margin-bottom:14px}
.rec p{color:var(--on-light-2);font-size:1.02rem;font-weight:300;max-width:none}
.claim{margin-top:clamp(48px,5vw,80px);padding-top:clamp(32px,3.4vw,48px);border-top:2px solid var(--au);max-width:none}

/* ── cadena / mecanismo ── */
.ch{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:14px}
.ch-c{padding:0 22px 0 0;position:relative}
.ch-c .bar{height:3px;background:var(--ln-d2);margin-bottom:26px;position:relative;overflow:hidden}
.ch-c .bar span{position:absolute;inset:0;background:var(--au-hi);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--e)}
.ch-c.lit .bar span{transform:scaleX(1)}
.ch-c:last-child .bar span{background:var(--straw)}
.ch-c .idx{display:block;margin-bottom:8px}
.ch-c b{display:block;font-size:clamp(1.1rem,1.6vw,1.5rem);font-weight:300;letter-spacing:-.02em;margin-bottom:10px}
.ch-c small{font-size:.94rem;font-weight:300;color:var(--on-dark-2);line-height:1.5;display:block;max-width:none}
.ch-note{margin-top:clamp(40px,4.4vw,64px);max-width:none;font-weight:300;font-size:1.1rem;color:var(--on-dark-2)}

/* ── servicios: jerarquía por peso, no por caja ── */
.sv{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,34px);align-items:start}
.sv article{padding-top:30px;border-top:1px solid var(--ln-l);display:flex;flex-direction:column;min-height:390px}
.sv article.main{border-top:2px solid var(--au)}
.sv .tag{font-size:.88rem;font-weight:500;color:var(--on-light-2);margin-bottom:22px}
.sv article.main .tag{color:var(--au)}
.sv h3{font-size:clamp(1.6rem,2.3vw,2.15rem);font-weight:300;letter-spacing:-.026em;margin-bottom:10px}
.sv .sub{font-size:1rem;font-weight:500;margin-bottom:20px;color:var(--ink)}
.sv p{color:var(--on-light-2);font-weight:300;font-size:1rem;max-width:none}
.sv .out{margin-top:auto;padding-top:28px}
.sv .out em{display:block;font-style:normal;font-size:.84rem;font-weight:500;color:var(--on-light-2);margin-bottom:9px}
.sv .out strong{font-weight:400;font-size:1.01rem;line-height:1.45;display:block;max-width:none}
.sv .out .review-decisions{display:block;margin-top:12px;color:var(--on-light-2);font-size:.96rem;line-height:1.5}

/* ── ledger: escalones ascendentes (motivo del isotipo) ── */
.led{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,6vw,88px);align-items:start}
.steps{display:flex;flex-direction:column;gap:0}
.step{display:grid;grid-template-columns:60px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--ln-d);position:relative}
.step:first-child{border-top:1px solid var(--ln-d)}
.step .mk{position:relative;height:22px;margin-top:6px}
.step .mk::before{
  content:"";position:absolute;left:0;top:0;width:34px;height:13px;
  transform:skewX(var(--skew));background:var(--ln-d2);transition:background .4s var(--e),width .4s var(--e);
}
.step:nth-child(1) .mk::before{width:16px} .step:nth-child(2) .mk::before{width:22px}
.step:nth-child(3) .mk::before{width:28px} .step:nth-child(4) .mk::before{width:34px}
.step:nth-child(5) .mk::before{width:40px;background:var(--straw)}
.step:hover .mk::before{background:var(--au-hi)}
.step:nth-child(5):hover .mk::before{background:var(--straw)}
.step h3{font-size:1.1rem;font-weight:500;letter-spacing:-.01em;margin-bottom:5px}
.step p{font-size:.99rem;font-weight:300;color:var(--on-dark-2);max-width:none}

/* ── principios ── */
.pr{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.pr article{padding:clamp(30px,3.2vw,44px) clamp(26px,3vw,48px) clamp(30px,3.2vw,44px) 0;border-top:1px solid var(--ln-l)}
.pr article:nth-child(2n){padding-right:0;padding-left:clamp(26px,3vw,48px);border-left:1px solid var(--ln-l)}
.pr h3{font-size:clamp(1.2rem,1.7vw,1.5rem);font-weight:400;letter-spacing:-.018em;margin-bottom:12px}
.pr p{color:var(--on-light-2);font-weight:300;font-size:1.02rem;max-width:none}

/* ── Mario ── */
.fo{display:grid;grid-template-columns:.76fr 1.24fr;gap:clamp(40px,6vw,86px);align-items:start}
.fo-ph{position:relative;overflow:hidden;background:var(--char-2);aspect-ratio:4/5}
.fo-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;filter:saturate(.92) contrast(1.04);transition:transform 1.2s var(--e)}
.fo-ph:hover img{transform:scale(1.03)}
.fo-ph figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 26px 24px;background:linear-gradient(transparent,rgba(21,24,26,.94));color:var(--on-dark)}
.fo-ph figcaption em{display:block;font-style:normal;font-size:.86rem;font-weight:400;color:var(--straw);margin-bottom:5px}
.fo-ph figcaption b{font-size:1.14rem;font-weight:500;letter-spacing:-.012em}
.fo-c p{color:var(--on-light-2);font-weight:300;font-size:1.04rem;margin-bottom:20px;max-width:none}
.fo-c h2{margin-bottom:30px}
.tags{margin-top:34px;padding-top:28px;border-top:1px solid var(--ln-l);display:flex;gap:10px;flex-wrap:wrap}
.tags span{font-size:.88rem;font-weight:400;color:var(--on-light-2);padding:9px 15px;border:1px solid var(--ln-l);transition:border-color .28s var(--e),color .28s var(--e)}
.tags span:hover{border-color:var(--au);color:var(--au)}

/* ── método ── */
.mt{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,3vw,48px)}
.mt article{padding-top:28px;border-top:1px solid var(--ln-d2)}
.mt .ab{font-size:.88rem;font-weight:500;color:var(--blu);margin-bottom:16px}
.mt h3{font-size:clamp(1.4rem,2vw,1.85rem);font-weight:300;letter-spacing:-.024em;margin-bottom:16px}
.mt p{color:var(--on-dark-2);font-weight:300;font-size:1.02rem;max-width:none}

/* ── ideas ── */
.id{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,34px)}
.id article{padding-top:28px;border-top:1px solid var(--ln-l);display:flex;flex-direction:column;min-height:270px}
.id .cat{font-size:.86rem;font-weight:500;color:var(--au);margin-bottom:20px}
.id h3{font-size:clamp(1.22rem,1.7vw,1.5rem);font-weight:400;letter-spacing:-.018em;line-height:1.22;margin-bottom:14px}
.id p{color:var(--on-light-2);font-weight:300;font-size:.99rem;max-width:none}
.id a{margin-top:auto;padding-top:24px;font-weight:500;font-size:.94rem;color:var(--au);display:inline-block;position:relative;width:fit-content}
.id a::after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:1px;background:var(--au);transition:right .34s var(--e)}
.id a:hover::after{right:0}

/* ── fit ── */
.ft{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,64px)}
.ft h3{font-size:clamp(1.35rem,1.9vw,1.7rem);font-weight:300;letter-spacing:-.022em;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--ln-l)}
.ft.on-dark h3{border-color:var(--ln-d2)}
.ft li{list-style:none;padding:15px 0 15px 32px;position:relative;font-weight:300;font-size:1.04rem;color:var(--on-light-2);max-width:none}
.ft .yes li::before{content:"";position:absolute;left:0;top:23px;width:15px;height:6px;transform:skewX(var(--skew));background:var(--au)}
.ft .no li::before{content:"";position:absolute;left:0;top:25px;width:15px;height:1px;background:var(--on-light-2);opacity:.5}

/* ── cierre ── */
.cl{background:var(--au);color:#fff;position:relative;overflow:hidden}
.cl-g{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,6vw,88px);align-items:start;position:relative;z-index:2}
.cl h2{margin-bottom:30px}
.cl .lead{color:rgba(255,255,255,.86);max-width:none}
.cl-alt{margin-top:38px;padding-top:26px;border-top:1px solid rgba(255,255,255,.22);font-size:1rem;font-weight:300;color:rgba(255,255,255,.82)}
.cl-alt a{font-weight:500;color:#fff;position:relative;display:inline-block;padding:9px 0 7px;min-height:42px}
.cl-alt a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:rgba(255,255,255,.45);transition:background .3s var(--e)}
.cl-alt a:hover::after{background:#fff}
.cl .iso{position:absolute;right:-90px;bottom:-70px;width:420px;opacity:.07;pointer-events:none;z-index:1}

form{background:var(--gun);padding:clamp(30px,3.4vw,46px);box-shadow:0 30px 80px rgba(21,24,26,.3)}
.fl{margin-bottom:22px}
.fl label{display:block;font-size:.9rem;font-weight:400;color:rgba(228,231,233,.62);margin-bottom:9px}
.fl input,.fl textarea{width:100%;background:var(--char-2);border:1px solid rgba(217,221,224,.1);padding:15px 16px;outline:none;color:var(--on-dark);font-weight:300;font-size:1rem;transition:border-color .26s var(--e)}
.fl textarea{min-height:128px;resize:vertical;line-height:1.6}
.fl input:focus,.fl textarea:focus{border-color:var(--straw)}
.fl ::placeholder{color:rgba(228,231,233,.26)}
form .b{width:100%}
.fnote{font-size:.86rem;font-weight:300;color:rgba(228,231,233,.4);margin-top:18px;line-height:1.5;max-width:46ch}
.fstat{margin-top:18px;font-size:.95rem;font-weight:300;display:none;line-height:1.5}

/* ── footer ── */
footer{background:var(--gun-deep);color:var(--on-dark);padding:60px 0 46px;border-top:1px solid var(--ln-d)}
.ft-g{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;flex-wrap:wrap}
.ft-b img{height:32px;width:auto;opacity:.9}
.ft-b p{color:rgba(228,231,233,.4);margin-top:20px;font-size:.92rem;font-weight:300;max-width:36ch}
.ft-l{display:flex;gap:30px;flex-wrap:wrap;justify-content:flex-end;color:rgba(228,231,233,.55);font-size:.92rem;font-weight:300;align-items:center}
.ft-l a{transition:color .26s var(--e)} .ft-l a:hover{color:var(--on-dark)}

/* ── cursor ── */
.cur{
  position:fixed;top:0;left:0;width:30px;height:30px;pointer-events:none;z-index:9999;
  border:1px solid var(--au);border-radius:50%;
  transform:translate3d(-100px,-100px,0);
  transition:width .3s var(--e),height .3s var(--e),background .3s var(--e),border-color .3s var(--e),opacity .3s var(--e);
  opacity:0;mix-blend-mode:normal;will-change:transform;
}
.cur.show{opacity:.85}
.cur.act{width:52px;height:52px;background:rgba(149,51,21,.1);border-color:var(--au-hi)}
.cur.on-dark{border-color:var(--straw)}
.cur.on-dark.act{background:rgba(243,211,128,.12);border-color:var(--straw)}
@media(hover:none),(pointer:coarse){.cur{display:none}}


/* ── cierre narrativo de bloque ── */
.bclose{margin-top:clamp(44px,4.6vw,72px);padding-top:clamp(26px,2.8vw,38px);border-top:1px solid var(--ln-l);display:flex;gap:clamp(18px,2.4vw,34px);align-items:baseline}
.dark .bclose,.deep .bclose{border-color:var(--ln-d2)}
.cl .bclose{border-color:rgba(255,255,255,.24)}
.bclose .mark{flex:none;width:34px;height:12px;transform:skewX(var(--skew));background:var(--au);margin-top:8px}
.dark .bclose .mark,.deep .bclose .mark{background:var(--straw)}
.cl .bclose .mark{background:#fff}
.bclose p{font-size:clamp(1.18rem,1.75vw,1.62rem);font-weight:300;letter-spacing:-.02em;line-height:1.28;max-width:none}
.dark .bclose p,.deep .bclose p{color:var(--on-dark)}
/* ── main idea: frase clave a ancho completo ── */
.bclose.main-idea{border-top:2px solid var(--au);gap:0;flex-direction:column;align-items:stretch}
.dark .bclose.main-idea,.deep .bclose.main-idea{border-top-color:var(--straw)}
.cl .bclose.main-idea{border-top-color:rgba(255,255,255,.45)}
.bclose.main-idea .mark{display:none}
.bclose.main-idea p{font-size:clamp(1.19rem,1.98vw,1.76rem);font-weight:300;letter-spacing:-.024em;line-height:1.22;max-width:100%;text-wrap:balance}
/* títulos de sección con más porte */
.t-l{position:relative}
.head .t-l::after{content:"";display:block;width:64px;height:2px;background:var(--au);margin-top:22px}
.dark .head .t-l::after,.deep .head .t-l::after{background:var(--straw)}
.cl .head .t-l::after,.cl h2::after{background:rgba(255,255,255,.55)}

/* ── realce de módulos ── */
.mod{position:relative;transition:background .42s var(--e)}
.mod::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--au);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--e)}
.mod:hover{background:rgba(30,34,36,.032)}
.mod:hover::before{transform:scaleX(1)}
.dark .mod::before,.deep .mod::before{background:var(--straw)}
.dark .mod:hover,.deep .mod:hover{background:rgba(217,221,224,.042)}
.mod .rv{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--e),opacity .36s var(--e),margin-top .5s var(--e)}
.mod:hover .rv,.mod:focus-within .rv{max-height:190px;opacity:1;margin-top:18px}
.mod .rv p{font-size:.97rem;font-weight:300;color:var(--on-light-2);border-left:1px solid var(--au);padding-left:18px;max-width:none}
.dark .mod .rv p,.deep .mod .rv p{color:var(--on-dark-2);border-color:var(--straw)}

/* cadena: foco en el paso apuntado */
.ch:hover .ch-c{opacity:.38}
.ch:hover .ch-c:hover{opacity:1}
.ch-c{transition:opacity .4s var(--e)}
.ch-c:hover .bar span{background:var(--straw)}
.ch-c .brk{display:block;max-height:0;opacity:0;overflow:hidden;font-size:.92rem;font-weight:300;color:var(--straw);margin-top:0;max-width:none;transition:max-height .46s var(--e),opacity .34s var(--e),margin-top .46s var(--e)}
.ch-c:hover .brk{max-height:140px;opacity:1;margin-top:14px}

/* escalones del ledger */
.step{transition:background .4s var(--e);cursor:default}
.step:hover{background:rgba(217,221,224,.04)}
.step .rv2{max-height:0;opacity:0;overflow:hidden;transition:max-height .46s var(--e),opacity .34s var(--e),margin-top .46s var(--e)}
.step:hover .rv2{max-height:130px;opacity:1;margin-top:12px}
.step .rv2 p{font-size:.94rem;color:var(--straw);font-weight:300;max-width:none}

/* tarjetas de servicio */
.sv article{transition:background .42s var(--e),border-color .42s var(--e)}
.sv article:hover{background:rgba(30,34,36,.032);border-color:var(--au)}
.sv article .rv3{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--e),opacity .36s var(--e),margin-top .5s var(--e)}
.sv article:hover .rv3{max-height:200px;opacity:1;margin-top:16px}
.sv article .rv3 p{font-size:.95rem;font-weight:300;color:var(--on-light-2);border-left:1px solid var(--au);padding-left:16px;max-width:none}

/* fit */
.ft li{transition:color .34s var(--e),padding-left .34s var(--e)}
.ft li:hover{color:var(--ink);padding-left:36px}
.ft .yes li::before,.ft .no li::before{transition:width .34s var(--e),background .34s var(--e)}
.ft .yes li:hover::before{width:24px}

/* progreso de lectura */
.prog{position:fixed;top:0;left:0;height:2px;width:100%;z-index:95;pointer-events:none}
.prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--au),var(--straw))}

/* ── preguntas frecuentes ── */
.faq{border-top:1px solid var(--ln-l)}
.faq details{border-bottom:1px solid var(--ln-l);position:relative}
.faq summary{
  list-style:none;cursor:pointer;padding:30px 60px 30px 0;position:relative;
  font-size:clamp(1.1rem,1.55vw,1.42rem);font-weight:300;letter-spacing:-.018em;line-height:1.28;
  transition:color .3s var(--e),padding-left .36s var(--e);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:8px;top:50%;width:14px;height:2px;background:var(--au);
  transform:translateY(-50%);transition:transform .34s var(--e);
}
.faq summary::before{
  content:"";position:absolute;right:8px;top:50%;width:14px;height:2px;background:var(--au);
  transform:translateY(-50%) rotate(90deg);transition:transform .34s var(--e),opacity .34s var(--e);
}
.faq details[open] summary::before{transform:translateY(-50%) rotate(0);opacity:0}
.faq details[open] summary{color:var(--au)}
.faq summary:hover{padding-left:14px}
.faq .ans{padding:0 0 32px;font-weight:300;font-size:1.06rem;line-height:1.62;color:var(--on-light-2);max-width:88ch;animation:fq .42s var(--e)}
@keyframes fq{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq .ans strong{font-weight:500;color:var(--ink)}
/* ── conversión secuencial ── */
.conv-box{background:var(--gun);padding:clamp(30px,3.4vw,46px);box-shadow:0 30px 80px rgba(21,24,26,.3)}
.conv-box .fl{margin-bottom:20px}
.conv-box .fl label{display:block;font-size:.9rem;font-weight:400;color:rgba(228,231,233,.62);margin-bottom:8px}
.conv-box .fl input,.conv-box .fl textarea{width:100%;background:var(--char-2);border:1px solid rgba(217,221,224,.1);padding:15px 16px;outline:none;color:var(--on-dark);font-weight:300;font-size:1rem;transition:border-color .26s var(--e)}
.conv-box .fl textarea{min-height:120px;resize:vertical;line-height:1.6}
.conv-box .fl input:focus,.conv-box .fl textarea:focus{border-color:var(--straw)}
.conv-box .fl ::placeholder{color:rgba(228,231,233,.24)}
.conv-box .b{width:100%}
.conv-box .fnote{font-size:.86rem;font-weight:300;color:rgba(228,231,233,.38);margin-top:16px;line-height:1.5}
/* ── flujo conversacional ── */
.cv-step{display:none}
.cv-step.active{display:block;animation:cvIn .5s var(--e) both}
@keyframes cvIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cv-q{font-size:1.1rem;font-weight:400;color:var(--on-dark);margin-bottom:16px;line-height:1.5}
.cv-q b{color:var(--straw);font-weight:500}
.cv-count{display:block;margin-top:8px;font-size:.82rem;font-weight:300;color:rgba(228,231,233,.32);transition:color .3s var(--e)}
.cv-count.ok{color:var(--au)}
.cv-hint{font-size:.86rem;font-weight:300;color:var(--straw);margin:-4px 0 14px;line-height:1.4}
.cv-prog{display:flex;gap:5px;margin-bottom:22px}
.cv-prog span{height:3px;flex:1;background:rgba(228,231,233,.08);transition:background .4s var(--e)}
.cv-prog span.done{background:var(--au)}
.cv-prog span.now{background:var(--straw)}
.cv-ok{font-size:1.08rem;font-weight:500;color:var(--straw);margin-bottom:16px}
.cv-reading{line-height:1.65;font-weight:300}
.cv-reading h3{font-size:1.1rem;font-weight:500;color:var(--straw);margin:26px 0 10px}
.cv-reading h3:first-child{margin-top:0}
.cv-reading p{margin-bottom:12px;color:rgba(228,231,233,.75)}
.cv-reading .cv-fw{background:var(--char-2);padding:20px 22px;margin:18px 0;border-left:3px solid var(--au)}
.cv-reading .cv-fw p{margin:0;color:var(--on-dark)}
.cv-reading .cv-alt{margin-top:24px;padding-top:20px;border-top:1px solid rgba(228,231,233,.1)}
.cv-reading .cv-alt a{color:var(--straw);text-decoration:underline;font-weight:400}
@keyframes cvShake{0%,100%{transform:translateX(0)}25%,75%{transform:translateX(-5px)}50%{transform:translateX(5px)}}
.cv-shake{animation:cvShake .35s var(--e)}
/* opción múltiple tipo cards */
.cv-opts{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.cv-opt{display:block;padding:14px 16px;background:var(--char-2);border:1px solid rgba(217,221,224,.1);color:var(--on-dark);font-weight:300;font-size:.98rem;text-align:left;cursor:pointer;transition:border-color .22s var(--e),background .22s var(--e);line-height:1.4}
.cv-opt:hover{border-color:var(--straw);background:rgba(60,64,68,.6)}
.cv-opt.on{border-color:var(--au);background:rgba(149,51,21,.16);color:var(--on-dark)}
.cv-warm-cta{margin:22px 0 14px;padding:20px 22px;background:var(--char-2);border-left:3px solid var(--au)}
.cv-warm-cta p{margin:0 0 6px;font-size:.95rem;color:var(--on-dark);font-weight:400}
.cv-warm-cta p.sub{font-size:.86rem;font-weight:300;color:rgba(228,231,233,.6);margin-top:6px}

/* ── responsive ── */
@media(max-width:1080px){
  .sv,.id{grid-template-columns:1fr 1fr}
  .sv article:last-child,.id article:last-child{grid-column:1/-1}
  .sv article{min-height:auto}
  .ch{grid-template-columns:repeat(3,1fr);row-gap:38px}
}
@media(max-width:920px){
  .nv-l a:not(.nv-c){display:none}
  .hero-g,.led,.fo,.cl-g{grid-template-columns:1fr}
  .hero-g{padding-bottom:0}
  .mot{height:250px;margin-top:8px}
  .led,.fo{gap:44px}
  .fo-ph{max-width:420px}
  .tray-in{flex-direction:column;align-items:flex-start;gap:20px}
  .tray-l{width:100%;flex:none;justify-content:flex-start;gap:28px 34px}
  .tray-l img{height:22px}
  .mt,.ft{grid-template-columns:1fr}
  .mt article+article,.ft>div+div{margin-top:12px}
}
@media(max-width:720px){
  .sv,.id{grid-template-columns:1fr}
  .sv article:last-child,.id article:last-child{grid-column:auto}
  .id article{min-height:auto}
  .rec,.pr{grid-template-columns:1fr}
  .rec article,.pr article{padding:28px 0!important;border-left:0!important}
  .ch{grid-template-columns:1fr;row-gap:30px}
  .ch-c{padding-right:0}
  .ch-c small{max-width:42ch}
  .hero-cta .b{width:100%}
  .cut::before{height:38px;transform:translateY(-37px)}
  .fo-ph{max-width:none}
  .ft-g{display:block} .ft-l{justify-content:flex-start;margin-top:34px;gap:22px}
  .step{grid-template-columns:44px 1fr;gap:16px}
  .cl .iso{width:260px;right:-70px;bottom:-50px}
}
/* ── reveals de entrada: títulos, cierres e ideas clave (solo con JS) ── */
.io{opacity:0;transform:translateY(16px);transition:opacity .7s var(--e),transform .7s var(--e)}
.io-in{opacity:1;transform:translateY(0)}
.tacc::after{
  content:"";display:block;width:64px;height:2px;margin-top:20px;
  background:linear-gradient(90deg,var(--au),var(--straw));
  transform:skewX(var(--skew)) scaleX(0);transform-origin:left;
  transition:transform .8s var(--e) .25s;
}
.tacc-in::after{transform:skewX(var(--skew)) scaleX(1)}
.bc-anim .mark{transform:skewX(var(--skew)) scaleX(0);transform-origin:left;transition:transform .7s var(--e) .2s}
.bc-in .mark{transform:skewX(var(--skew)) scaleX(1)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  .mot i{opacity:1!important} .mot .lbl{opacity:1!important} .ch-c .bar span{transform:scaleX(1)!important}
  .mod .rv,.step .rv2,.sv article .rv3,.ch-c .brk{max-height:none!important;opacity:1!important;margin-top:16px!important}
  .ch:hover .ch-c{opacity:1!important}
  .cur{display:none}
  .io{opacity:1!important;transform:none!important}
  .tacc::after,.bc-anim .mark{transform:skewX(var(--skew)) scaleX(1)!important}
}

/* ════════ OPTIMIZACIÓN v3: ancho completo, jerarquía, conversión ════════ */

/* distribución de texto: títulos balanceados, párrafos sin viudas */
h1,h2,h3,.t-l,.t-m{text-wrap:balance}
p,li,small,.ans{text-wrap:pretty}
.head .lead{max-width:none;font-size:clamp(1.14rem,1.4vw,1.46rem);color:var(--on-light-2)}
.dark .head .lead,.deep .head .lead{color:var(--on-dark-2)}
.t-l{max-width:none}
[data-fit]{white-space:normal;display:block;width:100%}

/* main idea: más presencia, línea a todo lo ancho */
.bclose.main-idea{margin-top:clamp(56px,5.4vw,88px);padding-top:clamp(30px,3vw,44px)}
.bclose.main-idea p{font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.18;letter-spacing:-.028em;font-weight:300}
.led>.bclose,.fo~.bclose{grid-column:1/-1}

/* credibilidad arriba del pliegue */
.hero-meta{color:rgba(228,231,233,.62)}
.hero-cred{margin-top:14px;font-size:.95rem;font-weight:300;color:rgba(228,231,233,.62);max-width:62ch;padding-left:16px;border-left:2px solid var(--au)}
.hero-cred span{color:var(--straw);font-weight:500}

/* trayectoria: la tesis a todo lo ancho */
.tray-t{max-width:none;font-size:clamp(1.08rem,1.35vw,1.34rem);padding-top:40px;color:rgba(228,231,233,.7)}

/* Mario: título liberado de la rejilla */
#mario .fo{align-items:start}
.fo-c .fo-lead{font-size:clamp(1.14rem,1.4vw,1.4rem);color:var(--ink);font-weight:300;line-height:1.5}
.fnote,.conv-box .fnote{color:rgba(228,231,233,.55)}

/* servicios: tres tarjetas, de frío a cálido */
.sv{counter-reset:svn;gap:clamp(16px,1.8vw,26px);align-items:stretch}
.sv article,.sv article.main{counter-increment:svn;padding:clamp(28px,2.6vw,40px) clamp(24px,2.4vw,36px) clamp(28px,2.6vw,36px);border-top:3px solid;opacity:1}
.sv article:nth-child(1){background:rgba(117,143,175,.16);border-top-color:var(--blu)}
.sv article:nth-child(2){background:rgba(243,211,128,.26);border-top-color:var(--straw)}
.sv article:nth-child(3){background:rgba(149,51,21,.09);border-top-color:var(--au)}
.sv article:nth-child(1):hover{background:rgba(117,143,175,.24);border-top-color:var(--blu)}
.sv article:nth-child(2):hover{background:rgba(243,211,128,.38);border-top-color:var(--straw)}
.sv article:nth-child(3):hover{background:rgba(149,51,21,.14);border-top-color:var(--au)}
.sv .tag,.sv article.main .tag{display:flex;align-items:baseline;gap:12px;font-size:clamp(1.02rem,1.2vw,1.14rem);font-weight:700;letter-spacing:-.004em;color:var(--ink);margin-bottom:26px}
.sv .tag::before{content:"0" counter(svn);font-size:.8rem;font-weight:500;color:var(--on-light-2);font-variant-numeric:tabular-nums}
.sv .sub{color:var(--ink)}
.sv p{color:#4A5156}
.sv .out{border-top:1px solid rgba(30,34,36,.12);margin-top:auto;padding-top:22px}
.sv article>.out{margin-top:auto}
.sv article .rv3{margin-bottom:0}
.sv article:nth-child(3) .out{border-top-color:rgba(149,51,21,.22)}

/* CTA intermedio */
.mid-cta{margin-top:clamp(34px,3.4vw,48px);display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.mid-cta span{font-size:.95rem;font-weight:300;color:var(--on-light-2)}

/* Value Ledger: escalones ascendentes a todo lo ancho */
.led{display:block}
.led .head{max-width:none}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.2vw,18px);align-items:end;counter-reset:stp}
.step,.step:first-child{display:flex;flex-direction:column;gap:0;padding:clamp(22px,2vw,30px) clamp(18px,1.6vw,24px);border:0;border-top:2px solid var(--ln-d2);background:rgba(217,221,224,.035);counter-increment:stp}
.step:nth-child(1){min-height:250px} .step:nth-child(2){min-height:290px}
.step:nth-child(3){min-height:330px} .step:nth-child(4){min-height:370px}
.step:nth-child(5){min-height:410px;border-top-color:var(--straw);background:rgba(243,211,128,.07)}
.step:hover{background:rgba(217,221,224,.07)}
.step:nth-child(5):hover{background:rgba(243,211,128,.11)}
.step .mk{height:13px;margin:0 0 22px}
.step h3{font-size:clamp(1.05rem,1.3vw,1.22rem)}
.step h3::before{content:"0" counter(stp);display:block;font-size:.78rem;font-weight:500;color:var(--straw);margin-bottom:8px;font-variant-numeric:tabular-nums}
.step p{font-size:.97rem}

@media(max-width:720px){
  .mid-cta .b{width:100%}
}

/* táctil: sin hover, el contenido oculto se muestra siempre */
@media(hover:none){
  .mod .rv,.step .rv2,.sv article .rv3,.ch-c .brk{max-height:none;opacity:1;margin-top:14px}
  .ch:hover .ch-c{opacity:1}
}

@media(max-width:1080px){
  .steps{grid-template-columns:1fr;align-items:stretch}
  .step,.step:first-child,.step:nth-child(n){min-height:0;display:grid;grid-template-columns:52px 1fr;gap:18px;border-top:1px solid var(--ln-d2)}
  .step:nth-child(5){border-top:2px solid var(--straw)}
  .step .mk{margin:6px 0 0}
}
@media(max-width:720px){
  .bclose.main-idea p{font-size:1.36rem}
  .step,.step:first-child,.step:nth-child(n){grid-template-columns:44px 1fr;gap:14px}
}

/* Extensiones de arquitectura: mismas fuentes, colores y componentes TVB. */
.nv-toggle{display:none;background:none;border:1px solid var(--ln-d2);color:var(--on-dark);padding:10px 15px;min-height:44px;cursor:pointer}
.nv-l a[aria-current=page]{color:var(--on-dark)}
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,44px)}
.route-card{border-top:2px solid var(--au);padding:30px 0;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.route-card h3{font-size:clamp(1.5rem,2.3vw,2.4rem);max-width:23ch}
.route-card p{color:var(--on-light-2);font-weight:300;max-width:65ch}
.route-card.dark-card{border-color:var(--straw)}
.route-card.dark-card p{color:var(--on-dark-2)}
.route-card .b{margin-top:auto}
.hero-symbol{width:min(100%,470px);opacity:.2;justify-self:end}
.hero .kicker{color:var(--straw)}
.hero .hero-thesis{font-size:clamp(1.35rem,2.2vw,2.1rem);line-height:1.4;margin-bottom:18px;max-width:34ch}
.hero .hero-copy p{color:rgba(228,231,233,.75);margin-top:12px;max-width:60ch}
.content-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}
.content-list>div{border-top:1px solid var(--ln-l);padding-top:24px}
.dark .content-list>div,.deep .content-list>div{border-color:var(--ln-d2)}
.content-list h3{font-size:1.25rem;margin-bottom:13px}
.content-list p{font-weight:300;color:var(--on-light-2)}
.dark .content-list p,.deep .content-list p{color:var(--on-dark-2)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.process-grid article{border-top:2px solid var(--au);padding:22px 4px 10px 0}
.process-grid .idx{display:block;margin-bottom:16px}
.process-grid h3{font-size:1.5rem;margin-bottom:13px}
.process-grid p{font-weight:300;color:var(--on-light-2)}
.form-panel{background:var(--gun-deep);color:var(--on-dark);padding:clamp(24px,3vw,42px);display:grid;gap:17px}
.form-panel label{display:block;font-size:.95rem;margin-bottom:6px}
.form-panel input,.form-panel textarea,.form-panel select{width:100%;background:var(--char-2);color:var(--on-dark);border:1px solid var(--ln-d2);padding:13px 14px;min-height:48px;border-radius:0}
.form-panel textarea{min-height:116px;resize:vertical}
.form-panel input:focus-visible,.form-panel textarea:focus-visible,.form-panel select:focus-visible{outline:2px solid var(--straw);outline-offset:2px}
.form-panel .b{justify-self:start;border:0;cursor:pointer}
.form-panel .b:disabled{opacity:.55;cursor:wait}
.form-panel .form-note{font-size:.86rem;color:var(--on-dark-2)}
.form-panel .form-status{min-height:1.5em}
.form-panel a{text-decoration:underline}
.form-panel a.b{text-decoration:none}
.contact-choice{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.section-copy{max-width:75ch;color:var(--on-light-2);font-weight:300}
.dark .section-copy,.deep .section-copy{color:var(--on-dark-2)}
.bvb-ledger .steps .step:nth-child(5){border-top:0}
.bvb-ledger .steps .step:nth-child(6){border-top:2px solid var(--straw)}
.bvb-ledger .steps .step:nth-child(6) .mk::before{width:40px;background:var(--straw)}
.page-footer .ft-l{justify-content:flex-start}
.page-footer .ft-l a{min-height:40px;display:inline-flex;align-items:center}
.mobile-route{display:none}
@media(max-width:1080px){.content-list{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.nv-l{gap:16px;font-size:.85rem}}
@media(max-width:920px){.nv-toggle{display:block}.nv-l{display:none;position:absolute;top:78px;left:0;right:0;background:var(--gun);padding:18px var(--gut) 25px;box-shadow:0 20px 30px rgba(0,0,0,.25);flex-direction:column;align-items:stretch;gap:4px}.nv-l.open{display:flex}.nv-l a:not(.nv-c){display:block}.nv-l a{min-height:44px;display:flex;align-items:center}.nv-c{justify-content:center}.hero-symbol{display:none}.route-grid{grid-template-columns:1fr}}
@media(max-width:720px){.content-list,.process-grid{grid-template-columns:1fr}.mobile-route{display:flex;position:sticky;bottom:0;z-index:80;background:var(--gun);padding:10px var(--gut);gap:8px}.mobile-route .b{flex:1;min-height:44px;text-align:center;justify-content:center;font-size:.85rem}.form-panel .b{width:100%}}

/* Estructura y movimiento compartidos por las cuatro rutas. */
main{display:block}
.skip-link{position:fixed;z-index:200;left:var(--gut);top:-80px;background:var(--straw);color:var(--gun-deep);padding:11px 16px;font-weight:500}
.skip-link:focus{top:12px}
.contact-card{background:var(--gun-deep);color:var(--on-dark);padding:clamp(28px,3.4vw,48px);display:grid;align-content:start;gap:14px;box-shadow:0 30px 80px rgba(21,24,26,.22)}
.contact-card-title{font-size:clamp(1.25rem,1.8vw,1.65rem);font-weight:300;line-height:1.3;margin-bottom:8px}
.contact-card .b{width:100%;text-align:center}
.contact-note{font-size:.9rem;font-weight:300;color:var(--on-dark-2);line-height:1.55;margin-top:5px}
.contact-note a{color:var(--on-dark);text-decoration:underline;text-underline-offset:3px}
.cl-g{align-items:center}
.hero-g{min-height:min(660px,calc(100svh - 78px));padding-block:clamp(62px,8vh,104px)}
.hero h1{font-size:clamp(2.6rem,4.8vw,5.2rem);max-width:16ch;margin-bottom:24px}
.hero-cta{margin-top:30px}
.hero-symbol{aspect-ratio:1;object-fit:contain}
.motion-ready{opacity:.75;transform:translateY(12px);transition:opacity .55s var(--e),transform .55s var(--e)}
.motion-ready.motion-in{opacity:1;transform:translateY(0)}
@media(max-width:920px){.hero-g{min-height:0}.cl-g{align-items:start}}
@media(prefers-reduced-motion:reduce){.motion-ready,.motion-ready.motion-in{opacity:1;transform:none;transition:none}}

/* Movimiento sobrio compartido. */
@keyframes tvb-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes tvb-symbol{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.hero .kicker{animation:tvb-enter .55s var(--e) both}
.hero h1{animation:tvb-enter .7s var(--e) .08s both}
.hero .lead,.hero .hero-thesis{animation:tvb-enter .72s var(--e) .16s both}
.hero .hero-cta{animation:tvb-enter .72s var(--e) .25s both}
.hero-symbol{animation:tvb-symbol 9s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.hero .kicker,.hero h1,.hero .lead,.hero .hero-thesis,.hero .hero-cta,.hero-symbol{animation:none}}

.anchor-alias{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}

/* Refinamiento final: lectura, secuencia y estados de interacción. */
nav{background:var(--gun);backdrop-filter:none;-webkit-backdrop-filter:none}
.nv{height:var(--nav-h)}
.nv-l{color:#B8C0C5;gap:clamp(18px,2.1vw,32px)}
.nv-l a{min-height:44px;display:inline-flex;align-items:center}
.nv-l .nv-c{padding:10px 22px;min-height:44px}
.nv-l a[aria-current=page]::after{right:0}
.nv-l a::after{bottom:3px}
.nv-toggle{transition:background .16s var(--e),border-color .16s var(--e)}
.nv-toggle[aria-expanded=true]{background:var(--char-2);border-color:var(--on-dark-2)}
:focus-visible{outline:3px solid var(--au);outline-offset:4px}
.hero :focus-visible,.dark :focus-visible,.deep :focus-visible,.cl :focus-visible,
nav :focus-visible,footer :focus-visible,.mobile-route :focus-visible{outline-color:var(--straw)}
main:focus{outline:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.t-l{line-height:1.1;letter-spacing:-.027em}
.head .lead{max-width:68ch}
.head{margin-bottom:clamp(36px,4.5vw,64px)}
.lead,.rec p,.pr p,.fo-c p,.ft li,.route-card p,.process-grid p,.content-list p,.section-copy,.faq .ans{font-weight:400}
.s{padding-block:clamp(64px,7.3vw,112px)}
.bclose.main-idea{margin-top:clamp(36px,4vw,60px);padding-top:clamp(26px,3vw,40px)}
.bclose.main-idea p{max-width:68ch;line-height:1.28}
.hero-g{min-height:min(620px,calc(100svh - var(--nav-h)));padding-block:clamp(52px,7vh,88px)}
.hero h1{line-height:1.03}
[data-page=bvb] .hero h1,[data-page=pvb] .hero h1{font-size:clamp(2.35rem,4.2vw,4.65rem);max-width:20ch}
.hero-symbol{animation:none;opacity:.18}
.hero .hero-copy p{line-height:1.6}
[data-page=home] .hero-context{margin-top:28px;padding-top:24px;border-top:1px solid var(--ln-d2);max-width:60ch}
[data-page=home] .hero-context p:first-child{margin-top:0}
.hero-meta,.hero-cred{color:#AAB2B7;line-height:1.55}
.booking-note{font-size:.875rem;line-height:1.5;color:var(--on-dark-2);margin-top:14px;max-width:60ch}
.external-mark{font-size:1.1em;margin-left:10px;line-height:1}
.b{transition:background .18s var(--e),color .18s var(--e),border-color .18s var(--e),transform .18s var(--e)}
.b:active{transform:translateY(0)}
.contact-card{box-shadow:none;border-top:2px solid var(--straw)}
.contact-card .contact-note{max-width:48ch}

/* La segunda elección de Home es una pausa de síntesis, con menor intensidad. */
.context-bridge .wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,5vw,72px)}
.context-bridge .head{margin:0}
.context-bridge .route-card{border-top:0;border-left:1px solid var(--ln-l);padding:0 0 0 26px;gap:20px}
.context-bridge .route-card h3{font-size:clamp(1.3rem,1.65vw,1.6rem);line-height:1.2}
.context-bridge .b{background:transparent;border-color:var(--au);color:var(--au);min-height:48px;padding-inline:18px}
.context-bridge .b:hover{background:var(--au);color:#fff}

/* Los seis componentes del Ledger se leen en dos filas completas. */
.bvb-ledger .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.bvb-ledger .step,.bvb-ledger .step:first-child,.bvb-ledger .step:nth-child(n){display:block;min-height:0;padding:26px 24px 30px;border-top:1px solid var(--ln-d2);background:rgba(217,221,224,.035)}
.bvb-ledger .step:nth-child(n+4){border-top-color:var(--straw)}
.bvb-ledger .step .mk{display:none}
.bvb-ledger .step h3{font-size:1.3rem;line-height:1.2;margin-bottom:14px}
.bvb-ledger .step h3::before{margin-bottom:16px}
.bvb-ledger .step .rv2{max-height:none;opacity:1;overflow:visible;margin-top:18px;padding-top:16px;border-top:1px solid var(--ln-d)}
.bvb-ledger .step .rv2 p{color:#C2CBCF;font-weight:400;line-height:1.55}
.sv .tag::before{content:none}
.sv .tag,.sv article.main .tag{font-weight:500;font-size:1rem;line-height:1.4;margin-bottom:20px}
.sv h3{font-size:clamp(1.55rem,2vw,1.95rem);line-height:1.16}
.sv p{font-weight:400}
.sv .out{margin-top:26px!important}
.mod .rv{max-height:none;opacity:1;overflow:visible;margin-top:18px}
.mod:hover{background:transparent}
.mod::before{display:none}
.mod .rv p{font-weight:400;font-size:.95rem;line-height:1.6}
.ft li:hover{padding-left:32px;color:var(--on-light-2)}
.ft .yes li:hover::before{width:15px}
.fo-ph img{transition:none}
.fo-ph:hover img{transform:none}
.process-grid{gap:28px}
.process-grid article{padding-top:24px}
.process-grid .idx{font-size:.84rem;letter-spacing:.04em}
.process-grid h3{font-size:clamp(1.3rem,1.55vw,1.55rem);line-height:1.2}
.faq summary{font-weight:400;transition:color .18s var(--e);padding-block:25px}
.faq summary:hover{padding-left:0;color:var(--au)}
.faq .ans{max-width:70ch;padding-bottom:28px;animation:fq .2s var(--e)}
.faq .ans p+p{margin-top:16px}

/* Credenciales estáticas: sin duplicados, bucle ni focos sin acción. */
.mq{mask-image:none;-webkit-mask-image:none;padding:26px 0 36px}
.mq-t{width:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:30px;animation:none;will-change:auto}
.mq-i{padding:0;min-height:54px;justify-content:center}
.mq-i img{max-width:100%;max-height:42px;width:auto;height:auto;opacity:.82;transition:none}
.mq-i:hover img{opacity:.82;filter:grayscale(1) brightness(2.5)}
.tray-t{max-width:90ch;line-height:1.65}
.ft-b p,.ft-l,.ft-end{color:var(--on-dark-2)}
.ft-end{font-size:.85rem;margin-top:34px;padding-top:20px;border-top:1px solid var(--ln-d)}
.page-footer .ft-l a{min-height:44px}

@keyframes tvb-enter{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero .kicker{animation-duration:.35s}
.hero h1{animation-duration:.42s;animation-delay:.04s}
.hero .lead,.hero .hero-thesis{animation-duration:.42s;animation-delay:.08s}
.hero .hero-cta{animation-duration:.42s;animation-delay:.12s}
.motion-ready{opacity:1;transform:translateY(8px);transition:transform .42s var(--e)}
.motion-ready.motion-in{opacity:1;transform:none}

@media(max-width:1080px){
  .nv-l{gap:16px;font-size:.85rem}
  .context-bridge .wrap{grid-template-columns:1fr}
  .bvb-ledger .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:920px){
  :root{--nav-h:68px}
  .nv-l{top:100%;max-height:calc(100svh - var(--nav-h));overflow-y:auto;padding-top:12px;box-shadow:0 16px 24px rgba(0,0,0,.18)}
  .nv-l a,.nv-l a:not(.nv-c){display:flex;align-items:center;min-height:48px;padding:10px 12px}
  .nv-l .nv-c{margin-top:8px}
  .nv-l a::after{display:none}
  .nv-l a[aria-current=page]{background:rgba(217,221,224,.06);border-left:2px solid var(--straw)}
  .nv-l.open{animation:menu-in .18s var(--e)}
  .hero-g{padding-block:48px 56px}
  .context-bridge .route-grid{grid-template-columns:1fr 1fr}
  .mq-t{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 34px}
}
@keyframes menu-in{from{opacity:.6;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:720px){
  .t-l{font-weight:300;font-size:clamp(1.75rem,5.7vw,2.2rem);line-height:1.14}
  .hero h1,[data-page=bvb] .hero h1,[data-page=pvb] .hero h1{font-size:clamp(2.2rem,8.8vw,3.2rem);max-width:22ch;line-height:1.06;letter-spacing:-.035em}
  .hero .hero-thesis{font-size:1.25rem;line-height:1.45}
  .hero .lead{font-size:1.04rem;line-height:1.65}
  .hero-cta{margin-top:26px;gap:12px}
  .hero-meta{margin-top:22px}
  .hero-cred{margin-top:20px}
  .context-bridge .route-grid{grid-template-columns:1fr}
  .context-bridge .route-card{border-left:0;border-top:1px solid var(--ln-l);padding:24px 0 0}
  .context-bridge .route-card h3{max-width:30ch}
  .bvb-ledger .steps{grid-template-columns:1fr;gap:18px}
  .bvb-ledger .step,.bvb-ledger .step:nth-child(n){padding:24px}
  .bvb-ledger .step h3::before{display:inline-block;margin:0 14px 0 0;vertical-align:middle}
  .contact-card{padding:28px 24px}
  .mobile-route{display:none}
  .mobile-route.is-ready{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));transform:translateY(110%);visibility:hidden;pointer-events:none;border-top:1px solid var(--ln-d2);transition:transform .2s var(--e),visibility .2s}
  .mobile-route.is-visible{transform:translateY(0);visibility:visible;pointer-events:auto}
  .mobile-route .b{padding-inline:14px;min-height:46px}
  .mobile-route .external-mark{margin-left:8px}
  .faq summary{padding-right:38px;line-height:1.4}
  .faq .ans{font-size:1rem}
  .page-footer .ft-l{gap:10px 24px}
}
@media(hover:none){.b:hover{transform:none}.b-au:hover{background:var(--au)}}
@media(prefers-reduced-motion:reduce){
  .hero .kicker,.hero h1,.hero .lead,.hero .hero-thesis,.hero .hero-cta,.hero-symbol,.nv-l.open,.faq .ans{animation:none}
  .motion-ready,.motion-ready.motion-in{transform:none;transition:none;opacity:1}
  .mobile-route.is-ready{transition:none}
}

.error-layout{min-height:65svh;padding-block:clamp(64px,9vw,120px)}
.error-layout h1{max-width:18ch;margin-bottom:28px}

/* Homologación visual final: BVB marca el ritmo del sistema completo. */
[data-page=home] .hero-g{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:clamp(44px,7vw,112px)}
[data-page=home] .hero-symbol{width:min(100%,520px);padding:clamp(34px,4vw,66px);border:1px solid var(--ln-d2);background:rgba(217,221,224,.035);opacity:.42}
[data-page=home] #rutas .route-grid{gap:clamp(18px,2.4vw,30px)}
[data-page=home] #rutas .route-card,#rutas .route-card{min-height:300px;padding:clamp(26px,2.8vw,38px);border:1px solid var(--ln-l);border-top:3px solid var(--au);background:rgba(237,239,241,.64);box-shadow:0 14px 30px rgba(30,34,36,.05)}
[data-page=home] #rutas .route-card:nth-child(2),[data-page=mario] #rutas .route-card:nth-child(2){border-top-color:var(--blu)}
#rutas .route-card h3{max-width:25ch}
#rutas .route-card p{max-width:60ch}

[data-page=bvb] .rec{gap:18px}
[data-page=bvb] .rec article,[data-page=bvb] .pr article{border:1px solid var(--ln-l);border-top:3px solid var(--au);padding:clamp(24px,2.6vw,36px);background:rgba(237,239,241,.56)}
[data-page=bvb] .rec article:nth-child(2n),[data-page=bvb] .pr article:nth-child(2n){border-left:1px solid var(--ln-l)}
[data-page=bvb] .rec article:nth-child(2),[data-page=bvb] .pr article:nth-child(2){border-top-color:var(--blu)}
[data-page=bvb] .rec article:nth-child(3),[data-page=bvb] .pr article:nth-child(3){border-top-color:var(--straw)}
[data-page=bvb] .rec article:nth-child(4),[data-page=bvb] .pr article:nth-child(4){border-top-color:var(--au-hi)}
[data-page=bvb] .rec .mod:hover,[data-page=bvb] .pr .mod:hover{background:rgba(237,239,241,.9);transform:translateY(-2px)}

[data-page=pvb] .process-grid{gap:18px}
[data-page=pvb] .process-grid article{min-height:286px;padding:clamp(24px,2.4vw,34px);border:1px solid var(--ln-l);border-top:3px solid var(--au);background:rgba(237,239,241,.56);transition:background .22s var(--e),border-color .22s var(--e),transform .22s var(--e)}
[data-page=pvb] .process-grid article:nth-child(2){border-top-color:var(--blu)}
[data-page=pvb] .process-grid article:nth-child(3){border-top-color:var(--straw)}
[data-page=pvb] .process-grid article:nth-child(4){border-top-color:var(--au-hi)}
[data-page=pvb] .process-grid article:hover{background:rgba(237,239,241,.9);transform:translateY(-2px)}
[data-page=pvb] .ft>div{padding:clamp(24px,2.8vw,36px);border:1px solid var(--ln-l);border-top:3px solid var(--au);background:rgba(237,239,241,.56)}
[data-page=pvb] .ft>div+div{border-top-color:var(--blu)}

[data-page=mario] .fo{grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr);gap:clamp(34px,5vw,76px)}
[data-page=mario] .fo-c{padding-top:8px}
[data-page=mario] .fo-c .fo-lead{max-width:34ch}
[data-page=mario] .content-list{gap:18px}
[data-page=mario] .content-list>div{padding:clamp(22px,2.4vw,32px);border:1px solid var(--ln-l);border-top:3px solid var(--au);background:rgba(237,239,241,.58)}
[data-page=mario] .content-list>div:nth-child(2){border-top-color:var(--blu)}
[data-page=mario] .content-list>div:nth-child(3){border-top-color:var(--straw)}

.cred-evidence{margin-top:34px;padding-top:24px;border-top:1px solid var(--ln-l)}
.cred-label{font-size:.86rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--on-light-2);margin-bottom:14px}
.cred-names{font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.6;color:var(--ink);text-wrap:pretty}

@media(max-width:920px){
  [data-page=home] .hero-g{grid-template-columns:1fr}
  [data-page=home] .hero-symbol{display:none}
  [data-page=mario] .fo{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr)}
}
@media(max-width:720px){
  [data-page=home] #rutas .route-card,#rutas .route-card{min-height:0;padding:24px}
  [data-page=bvb] .rec article,[data-page=bvb] .pr article{padding:24px}
  [data-page=pvb] .process-grid article,[data-page=pvb] .ft>div,[data-page=mario] .content-list>div{min-height:0;padding:24px}
  [data-page=mario] .fo{grid-template-columns:1fr;gap:28px}
  [data-page=mario] .fo-c{padding-top:0}
}
@media(prefers-reduced-motion:reduce){
  [data-page=bvb] .rec article,[data-page=pvb] .process-grid article{transition:none}
}

/* Texto fluido: cada bloque ocupa el ancho disponible de su contenedor. */
.tray-t,
.head .lead,
.hero .lead,
.hero .hero-thesis,
.hero .hero-copy p,
.hero-meta,
.hero-cred,
.booking-note,
.section-copy,
.bclose p,
.bclose.main-idea p,
.route-card h3,
.route-card p,
.rec p,
.pr p,
.fo-c p,
.fo-c .fo-lead,
.content-list p,
.process-grid p,
.faq .ans,
.contact-note,
.fnote,
.ft-b p{width:100%;max-width:none}
.tray-t,.head .lead,.section-copy,.faq .ans{text-wrap:pretty}

/* Mario: una misma composición editorial en todos los contextos. */
.profile-teaser{grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr);gap:clamp(34px,5vw,76px);align-items:start}
.profile-teaser .fo-ph{max-width:none}
.profile-teaser .fo-c{padding-top:8px}
.profile-teaser .fo-c .fo-lead{max-width:none}
[data-page=mario] .profile-teaser .fo-ph{aspect-ratio:1}
[data-page=mario] .profile-teaser .bclose{margin-top:26px;padding-top:22px;gap:16px}
[data-page=mario] .profile-teaser .bclose p{font-size:clamp(1.13rem,1.45vw,1.35rem);line-height:1.38;color:var(--ink)}
[data-page=bvb] .tray{padding-block:clamp(30px,3.5vw,48px)}
[data-page=bvb] .tray-t{padding:0;font-size:clamp(1.24rem,1.85vw,1.75rem);line-height:1.35;color:var(--on-dark);font-weight:300}

/* En los heroes de producto y perfil, el mensaje usa el ancho disponible. */
[data-page=bvb] .hero-g,
[data-page=pvb] .hero-g,
[data-page=mario] .hero-g{grid-template-columns:1fr;min-height:0;padding-block:clamp(58px,8vh,104px)}
[data-page=bvb] .hero-symbol,
[data-page=pvb] .hero-symbol,
[data-page=mario] .hero-symbol{display:none}
[data-page=bvb] .hero h1,
[data-page=pvb] .hero h1,
[data-page=mario] .hero h1{max-width:none}

/* Home: el isotipo no añade información a la narrativa; el texto ocupa el hero completo. */
[data-page=home] .hero-g{grid-template-columns:1fr;min-height:0;padding-block:clamp(58px,8vh,104px)}
[data-page=home] .hero-symbol{display:none}
[data-page=home] .hero h1{max-width:none}

/* Aperturas: la tesis y el contexto siguen el mismo ritmo editorial que los bloques internos. */
.hero .hero-thesis{max-width:68ch;margin-bottom:0;padding-left:18px;border-left:2px solid var(--au);line-height:1.34}
.hero .hero-thesis span{display:block}
.hero .hero-thesis span+span{margin-top:.18em}
[data-page=home] .hero-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,42px);max-width:none;margin-top:32px;padding-top:24px;border-top:1px solid var(--ln-d2)}
[data-page=home] .hero-context p{margin:0;max-width:none;line-height:1.55}

/* Value Review abre la secuencia comercial; las etapas posteriores conservan sus tarjetas. */
[data-page=bvb] #productos .sv{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-page=bvb] #productos .sv article.main{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);column-gap:clamp(28px,4vw,64px)}
[data-page=bvb] #productos .sv article.main .tag{grid-column:1/-1}
[data-page=bvb] #productos .sv article.main h3,
[data-page=bvb] #productos .sv article.main>p:not(.tag){grid-column:1}
[data-page=bvb] #productos .sv article.main .out{grid-column:2;grid-row:2/span 2;align-self:stretch;display:flex;flex-direction:column;justify-content:center;margin-top:0!important;padding:0 0 0 clamp(24px,3vw,44px);border-top:0;border-left:1px solid var(--ln-l)}

/* En el Ledger se lee primero la pregunta; el término conserva la precisión. */
.bvb-ledger .step .ledger-term{display:block;margin-bottom:14px;color:var(--straw);font-size:.86rem;font-weight:500;line-height:1.35;letter-spacing:.025em}
.bvb-ledger .step .ledger-term::before{content:"0" counter(stp) " · ";font-variant-numeric:tabular-nums}
.bvb-ledger .step h3{font-size:clamp(1.13rem,1.35vw,1.34rem);font-weight:300;line-height:1.3;margin-bottom:0}
.bvb-ledger .step h3::before{content:none}

@media(max-width:900px){
  [data-page=bvb] #productos .sv article.main{display:flex;flex-direction:column}
  [data-page=bvb] #productos .sv article.main .out{display:block;margin-top:22px!important;padding:18px 0 0;border-left:0;border-top:1px solid var(--ln-l)}
}

@media(max-width:720px){
  .profile-teaser{grid-template-columns:1fr;gap:28px}
  .profile-teaser .fo-c{padding-top:0}
  .hero .hero-thesis{padding-left:14px}
  [data-page=home] .hero-context{grid-template-columns:1fr;gap:14px;margin-top:26px;padding-top:20px}
  [data-page=bvb] .s,[data-page=pvb] .s{padding-block:52px}
  [data-page=bvb] .head,[data-page=pvb] .head{margin-bottom:28px}
  [data-page=bvb] .head .lead,[data-page=pvb] .head .lead{margin-top:18px}
  [data-page=bvb] #productos .sv{grid-template-columns:1fr;gap:14px}
  [data-page=bvb] #productos .sv article.main{grid-column:auto}
  [data-page=bvb] #productos .sv article,[data-page=bvb] .rec article,[data-page=bvb] .pr article{padding:20px}
  [data-page=bvb] .bvb-ledger .steps{gap:12px}
  [data-page=bvb] .bvb-ledger .step,[data-page=bvb] .bvb-ledger .step:nth-child(n){padding:20px}
  [data-page=bvb] .bvb-ledger .step .rv2{margin-top:12px;padding-top:12px}
  [data-page=bvb] .faq summary{padding-block:20px}
  [data-page=pvb] .process-grid{gap:12px;margin-top:28px}
  [data-page=pvb] .process-grid article,[data-page=pvb] .ft>div{padding:20px}
}
/* Keep the Blueprint contents and decision status easy to scan. */
.pvb-blueprint .lead span{display:block}
.pvb-blueprint .lead span+span{margin-top:14px}

/* Mario: relato completo con el mismo ritmo y componentes del sistema actual. */
[data-page=mario] .mario-copy{max-width:980px}
[data-page=mario] .mario-copy p{width:100%;max-width:72ch;margin-top:18px;color:var(--on-light-2);font-size:clamp(1.05rem,1.22vw,1.2rem);line-height:1.7;text-wrap:pretty}
[data-page=mario] .dark .mario-copy p,[data-page=mario] .deep .mario-copy p{color:var(--on-dark-2)}
[data-page=mario] .hero .lead{margin-top:clamp(18px,2.2vw,28px)}
[data-page=mario] main>.s:nth-of-type(2) .mario-copy,
[data-page=mario] main>.s:nth-of-type(3) .mario-copy,
[data-page=mario] main>.s:nth-of-type(4) .mario-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,6vw,90px);max-width:none}
[data-page=mario] main>.s:nth-of-type(2) .mario-copy h2,
[data-page=mario] main>.s:nth-of-type(3) .mario-copy h2,
[data-page=mario] main>.s:nth-of-type(4) .mario-copy h2,
[data-page=mario] main>.s:nth-of-type(2) .mario-copy p:first-of-type,
[data-page=mario] main>.s:nth-of-type(3) .mario-copy p:first-of-type,
[data-page=mario] main>.s:nth-of-type(4) .mario-copy p:first-of-type{grid-column:1/-1}
[data-page=mario] main>.s:nth-of-type(2) .mario-copy p,
[data-page=mario] main>.s:nth-of-type(3) .mario-copy p,
[data-page=mario] main>.s:nth-of-type(4) .mario-copy p{max-width:none}
[data-page=mario] .hi .bclose{margin-top:clamp(36px,4vw,60px)}
.profile-teaser .fo-c>.b{margin-top:18px}

@media(max-width:720px){
  [data-page=mario] .mario-copy p{margin-top:16px;font-size:1rem;line-height:1.62}
}
@media(max-width:900px){
  [data-page=mario] main>.s:nth-of-type(2) .mario-copy,
  [data-page=mario] main>.s:nth-of-type(3) .mario-copy,
  [data-page=mario] main>.s:nth-of-type(4) .mario-copy{display:block}
}

/* Alcance comercial: reutiliza tarjetas, FAQ y ritmo editorial existentes. */
.commercial-terms{margin-top:clamp(30px,3.5vw,48px);padding-top:clamp(24px,2.8vw,36px);border-top:1px solid var(--ln-l)}
.commercial-terms h3{font-size:clamp(1.25rem,1.7vw,1.62rem);font-weight:400;line-height:1.25;letter-spacing:-.02em;margin-bottom:14px}
.commercial-terms h3:not(:first-child){margin-top:30px}
.commercial-terms p{max-width:78ch;color:var(--on-light-2);line-height:1.6;text-wrap:pretty}
.commercial-terms p+p{margin-top:12px}
.commercial-terms strong{color:var(--ink);font-weight:600}
.commercial-terms+.mid-cta{margin-top:28px}
[data-page=pvb] .pvb-options .sv{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-page=pvb] .pvb-options .sv article{min-height:0}
[data-page=pvb] .pvb-options .sv article>p:not(.tag){line-height:1.55}
[data-page=pvb] .pvb-options .sv article>p:not(.tag)+p{margin-top:14px}
[data-page=pvb] .pvb-options .sv article strong{font-weight:600;color:var(--ink)}
@media(max-width:720px){
  [data-page=pvb] .pvb-options .sv{grid-template-columns:1fr;gap:14px}
  [data-page=pvb] .pvb-options .sv article{padding:20px}
  .commercial-terms{margin-top:28px;padding-top:22px}
  .commercial-terms h3:not(:first-child){margin-top:24px}
}

/* Microintervención comercial aprobada: jerarquía y cierres FIT. */
.review-question{font-size:clamp(1.08rem,1.45vw,1.32rem)!important;line-height:1.35!important;color:var(--ink)!important}
.review-question strong{font-weight:500}
.review-duration{font-size:.9rem!important;color:var(--on-light-2)!important}
.fit-exclusion{margin-top:24px;color:var(--on-light-2);font-size:1rem;line-height:1.55}
[data-page=pvb] .pvb-choice{margin-top:24px}
[data-page=pvb] .pvb-options .sv h3{font-weight:500}

/* Respeta la preferencia del sistema también en el desplazamiento por anclas. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .b,.nv-l a,.nv-l a::after,.nv-c,.nv-toggle,.mobile-route.is-ready{transition:none}
}

/* Enlace contextual a la guía BVB; la conversación conserva la jerarquía principal. */
.bvb-guide-link{display:inline-flex;align-items:center;gap:.4em;min-height:44px;color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--au);text-underline-offset:.3em}
.bvb-guide-link:hover{color:var(--au)}

/* BVB V8: jerarquía de decisión, entregables y ejecución. */
[data-page=bvb] .hero-decision{max-width:72ch;margin:22px 0 0;padding-left:18px;border-left:2px solid var(--au);color:var(--straw);font-size:clamp(1.08rem,1.55vw,1.32rem);font-weight:400;line-height:1.42}
[data-page=bvb] .hero-cred small{display:block;margin-top:5px;color:#C3C9CD;font-size:.78rem;line-height:1.45}
[data-page=bvb] #productos .sv{grid-template-columns:1fr}
[data-page=bvb] #productos .sv article{min-height:0}
[data-page=bvb] #productos .sv article.main .out{grid-row:2/span 4;justify-content:flex-start;padding-top:4px}
[data-page=bvb] #productos .review-output strong{font-size:clamp(1.25rem,1.6vw,1.52rem);font-weight:600;color:var(--ink)}
[data-page=bvb] #productos .review-output>p{margin:9px 0 0;color:var(--on-light-2);line-height:1.46}
[data-page=bvb] .review-supports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 24px;margin:20px 0 0}
[data-page=bvb] .review-supports>div{padding-top:11px;border-top:1px solid var(--ln-l)}
[data-page=bvb] .review-supports dt{font-size:.96rem;font-weight:600;color:var(--ink)}
[data-page=bvb] .review-supports dd{margin:5px 0 0;color:var(--on-light-2);font-size:.91rem;line-height:1.42}
[data-page=bvb] #productos .review-output .review-decisions{margin-top:22px;font-size:.93rem;line-height:1.48}
[data-page=bvb] #productos .review-output .review-decisions strong{display:inline;font-size:inherit;font-weight:600}
[data-page=bvb] #productos .sv .build-feature{border-top:3px solid var(--au);background:var(--ink);color:#fff}
[data-page=bvb] #productos .sv .build-feature .tag,[data-page=bvb] #productos .sv .build-feature h3{color:#fff}
[data-page=bvb] #productos .sv .build-feature h3{max-width:25ch;font-size:clamp(1.8rem,2.8vw,2.65rem);font-weight:400}
[data-page=bvb] #productos .sv .build-feature p{color:#D9DDE0}
[data-page=bvb] #productos .sv .build-feature .build-feature-lead{max-width:76ch;margin-top:16px;font-size:1.08rem;line-height:1.5}
[data-page=bvb] .build-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,34px);margin:34px 0 0}
[data-page=bvb] .build-modes>div{padding-top:15px;border-top:2px solid var(--straw)}
[data-page=bvb] .build-modes h4{font-size:1.04rem;font-weight:600;color:var(--straw);line-height:1.3}
[data-page=bvb] .build-modes p{margin-top:10px;line-height:1.5}
[data-page=bvb] #productos .sv .build-feature .build-condition{max-width:90ch;margin-top:32px;padding-top:17px;border-top:1px solid rgba(217,221,224,.35);font-size:.94rem;line-height:1.5}
[data-page=bvb] #productos .sv .partnership-feature{border-top:2px solid var(--blu);background:rgba(117,143,175,.12)}
[data-page=bvb] #productos .sv .partnership-feature p:last-child{max-width:82ch}
[data-page=bvb] .bvb-onepager-link{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--blu);text-underline-offset:.3em}
[data-page=bvb] .bvb-onepager-link:hover{color:var(--au)}
@media(max-width:720px){
  [data-page=bvb] .review-supports{grid-template-columns:1fr}
  [data-page=bvb] .build-modes{grid-template-columns:1fr;gap:18px;margin-top:24px}
  [data-page=bvb] .hero-decision{padding-left:14px}
}
