/* EP-Lab · prototipo. Se apoya en las variables y componentes del proveedor (_astro/index.css):
   gema, intro, navegación, fotos de Yuri y Miguel, escalera y preguntas se conservan. */

:root{
  --light:linear-gradient(100deg,#fff,#a9d6cb);
  --z-red:#e4766c;--z-amber:#e6bd5e;--z-green:#8ccf9b;
  --card:linear-gradient(180deg,#ffffff0d,#ffffff05);
}
html{scroll-padding-top:calc(var(--nav-h) + .5rem)}

/* ---------- Base compartida ---------- */
.sec{padding-block:var(--section)}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lit);font-weight:600}
.sec-head{text-align:center;max-width:48rem;margin:0 auto clamp(2.5rem,5vw,4rem)}
.sec-head h2{margin-top:1rem}
.sec-head .lead,.milab__copy .lead{margin-top:1.4rem;color:var(--bone-2);font-size:clamp(1.05rem,1rem + .3vw,1.2rem);line-height:1.7}
.tag{display:inline-block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:.3rem .65rem;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--bone-2);white-space:nowrap}
.fine{font-size:.88rem;color:var(--ash);line-height:1.6;max-width:42rem}
.reveal{opacity:0;translate:0 1.6rem;transition:opacity .9s var(--ease),translate .9s var(--ease)}
.reveal.in{opacity:1;translate:0}
html:not(.js) .reveal{opacity:1;translate:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;translate:none;transition:none}}
.labs__msg{min-height:1.6rem;margin-top:1rem;text-align:center;font-size:.98rem;color:var(--lit)}
@keyframes shake{20%,60%{translate:-6px 0}40%,80%{translate:6px 0}}

/* ---------- 1 · Ruta ---------- */
.route{padding-bottom:calc(var(--section)*.6)}
.rroutes{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin-bottom:clamp(2rem,4vw,3rem)}
.rroutes__label{width:100%;text-align:center;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);margin-bottom:.4rem}
.rpill{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.05rem;border-radius:999px;font-size:.9rem;color:var(--ash);box-shadow:inset 0 0 0 1px var(--line)}
.rpill i{font-style:normal;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.rpill[data-active]{background:var(--bone);color:var(--ink);font-weight:600;box-shadow:0 0 40px -8px #a9d6cb77}

.labs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch}
.lab{position:relative;display:grid;align-content:start;gap:.8rem;text-align:left;padding:clamp(1.4rem,2vw,2rem);border-radius:var(--r);background:var(--card);box-shadow:var(--slab-edge);transition:box-shadow .5s var(--ease),translate .5s var(--ease),opacity .4s}
.lab__top{display:flex;justify-content:space-between;align-items:center}
.lab__n{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);font-weight:600}
.lab__ico{width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--bone-2)}
.lab__ico svg{width:1.2rem;height:1.2rem}
.lab h3{font-size:clamp(1.5rem,1.1rem + 1vw,2rem)}
.lab p{font-size:.98rem;line-height:1.55;color:var(--bone-2)}
.lab__status{display:flex;align-items:center;gap:.55rem;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ash);margin-top:.2rem}
.lab__status .lk svg{width:1rem;height:1rem}
.dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--lit);box-shadow:0 0 10px var(--lit)}
.lab--open{cursor:pointer;color:inherit;box-shadow:inset 0 1px 0 #a9d6cb80,inset 0 0 0 1px #a9d6cb40,0 0 70px -24px #6fb7b8cc}
.lab--open .lab__status{color:var(--lit)}
.lab--open:hover{translate:0 -4px;box-shadow:inset 0 1px 0 #a9d6cbaa,inset 0 0 0 1px #a9d6cb66,0 0 80px -20px #6fb7b8}
.lab--open::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 0 #a9d6cb55;animation:ping 2.8s ease-out infinite}
.lab--open[aria-expanded=true]::after{animation:none}
@keyframes ping{0%{box-shadow:0 0 0 0 #a9d6cb55}70%,100%{box-shadow:0 0 0 14px #a9d6cb00}}
.lab__toggle{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;padding-top:1rem;border-top:1px solid var(--line);font-weight:560;font-size:.98rem;color:var(--bone)}
.lab__toggle .plus{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--bone);color:var(--ink);transition:rotate .5s var(--ease)}
.lab__toggle .plus svg{width:1rem;height:1rem}
.lab--open[aria-expanded=true] .plus{rotate:45deg}
.lab--locked{cursor:not-allowed;opacity:.5;color:inherit}
.lab--locked:hover{opacity:.7}
.lab--locked[data-shake]{animation:shake .45s}
.lnk{width:clamp(2.5rem,5vw,5rem);position:relative;display:grid;place-items:center}
.lnk::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--line-strong)}
.lnk svg{position:relative;width:2rem;height:2rem;padding:.48rem;border-radius:50%;background:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ash)}

/* Arquitectura del laboratorio (se despliega al hacer clic en el Laboratorio 1) */
.arch{display:grid;grid-template-rows:0fr;transition:grid-template-rows .9s var(--ease);margin-top:.5rem}
.arch[data-open]{grid-template-rows:1fr;margin-top:1.25rem}
.arch__clip{overflow:hidden;min-height:0}
.arch__panel{padding:clamp(1.5rem,3.4vw,3.25rem);border-radius:var(--r);background:var(--card);box-shadow:var(--slab-edge);opacity:0;transition:opacity .6s .2s}
.arch[data-open] .arch__panel{opacity:1}
.arch__head{display:grid;gap:1rem;max-width:46rem}
.arch__head h3{font-size:clamp(1.9rem,1.2rem + 2.2vw,3rem)}
.arch__head p:not(.eyebrow){color:var(--bone-2);line-height:1.65}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.arow{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:1.25rem 3rem;margin-top:clamp(1.75rem,3vw,2.5rem);padding-top:clamp(1.75rem,3vw,2.5rem);border-top:1px solid var(--line)}
.arow__label small{display:block;color:var(--lit);letter-spacing:.16em;font-size:.75rem;font-weight:600}
.arow__label b{display:block;margin-top:.35rem;font-size:1.2rem;font-weight:500;color:var(--bone)}
.arow__label span{display:block;margin-top:.45rem;font-size:.9rem;line-height:1.45;color:var(--ash)}
.arow__title{font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem);color:var(--bone);letter-spacing:-.02em;display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}
.arow__sub{margin-top:.4rem;color:var(--ash);font-size:.98rem;line-height:1.55;max-width:44rem}
.thread{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-top:1.75rem}
.thread::before{content:"";position:absolute;left:0;right:0;top:.55rem;border-top:1px solid var(--line-strong)}
.tnode{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;padding:1.9rem .8rem 0 0;color:var(--bone-2);transition:color .3s}
.tnode::before{content:"";position:absolute;left:0;top:.2rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ash);transition:all .4s var(--ease)}
.tnode small{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ash);font-weight:600}
.tnode b{display:block;margin:.3rem 0 .25rem;font-weight:500;font-size:1.05rem;color:var(--bone)}
.tnode p{font-size:.9rem;line-height:1.45;color:var(--ash)}
.tnode:hover,.tnode[data-on]{color:var(--bone)}
.tnode[data-on]::before{background:var(--lit);box-shadow:0 0 0 4px #a9d6cb26,0 0 16px var(--lit)}
.tnode[data-on] p{color:var(--bone-2)}
.mcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.mcard{display:grid;align-content:start;gap:.55rem;padding:1.4rem;border-radius:calc(var(--r)*.75);background:#ffffff05;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .4s,background .4s}
.mcard[data-on]{background:#a9d6cb0d;box-shadow:inset 0 0 0 1px #a9d6cb66}
.mcard__n{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ash);font-weight:600}
.mcard h4{margin:0;font-weight:420;font-size:1.4rem;letter-spacing:-.02em;color:var(--bone);line-height:1.15}
.mcard__tool{margin-top:.4rem;color:var(--lit);font-size:.95rem}
.mcard__tool b{color:inherit}
.mcard p:not([class]){font-size:.93rem;line-height:1.5;color:var(--bone-2)}
.mcard__to{display:grid;gap:.5rem;justify-items:start;margin-top:.7rem;padding-top:.9rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--ash)}
.mcard__to b{color:var(--bone);font-weight:560}
.guide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 2.5rem;align-items:start}
.topics{display:flex;flex-wrap:wrap;gap:.5rem}
.topics li{padding:.5rem .9rem;border-radius:999px;font-size:.88rem;color:var(--bone-2);box-shadow:inset 0 0 0 1px var(--line)}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1.4rem}
.tile{display:grid;gap:.45rem;padding:1.15rem 1.2rem;border-radius:calc(var(--r)*.7);background:#ffffff05;box-shadow:inset 0 0 0 1px var(--line)}
.tile b{font-weight:560;color:var(--bone)}
.tile span{font-size:.9rem;line-height:1.45;color:var(--ash)}
.arch__cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;margin-top:2rem}

/* ---------- 2 · Módulos con diagnóstico ---------- */
.mods{padding-top:calc(var(--section)*.5)}
.mtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.mtab{position:relative;display:grid;gap:.3rem;text-align:left;padding:1.2rem 1.35rem;border-radius:calc(var(--r)*.8);background:var(--card);box-shadow:var(--slab-edge);transition:box-shadow .4s,opacity .4s,translate .4s var(--ease)}
.mtab__n{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);font-weight:600}
.mtab__t{font-size:clamp(1.15rem,1rem + .5vw,1.4rem);color:var(--bone);letter-spacing:-.02em;line-height:1.15}
.mtab__s{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;font-size:.82rem;color:var(--ash)}
.mtab__ico svg{width:.95rem;height:.95rem;display:block}
.mtab[data-state=locked]{opacity:.5;cursor:not-allowed}
.mtab[data-state=locked][data-shake]{animation:shake .45s}
.mtab[aria-selected=true]{box-shadow:inset 0 1px 0 #a9d6cb80,inset 0 0 0 1px #a9d6cb50,0 0 60px -26px #6fb7b8}
.mtab[data-state=open] .mtab__s,.mtab[aria-selected=true] .mtab__s{color:var(--lit)}
.mtab[data-state=done] .mtab__s{color:var(--bone)}
.mtab[data-state=done] .mtab__ico,.mtab[data-state=open] .mtab__ico{display:none}
.mtab[data-zone=roja] .mtab__s b{color:var(--z-red)}
.mtab[data-zone=amarilla] .mtab__s b{color:var(--z-amber)}
.mtab[data-zone=verde] .mtab__s b{color:var(--z-green)}

.mpanel{margin-top:1.1rem;padding:clamp(1.5rem,3.4vw,3.25rem);border-radius:var(--r);background:var(--card);box-shadow:var(--slab-edge);outline:none}
.diag{display:grid;gap:1.4rem;max-width:44rem;margin-inline:auto;text-align:center;justify-items:center}
.diag__top{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}
.diag__count{font-size:.85rem;color:var(--ash)}
.dots{display:flex;gap:.45rem}
.dots i{width:2.2rem;height:3px;border-radius:2px;background:#ffffff1c;transition:background .4s}
.dots i[data-on]{background:var(--lit);box-shadow:0 0 10px #a9d6cb88}
.diag__q{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.4rem);line-height:1.2;letter-spacing:-.03em;color:var(--bone);text-wrap:balance;min-height:2.4em;display:grid;align-items:center}
.diag__hint{color:var(--ash);font-size:.95rem}
.scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;width:100%}
.scale button{display:grid;gap:.4rem;justify-items:center;padding:1rem .4rem .85rem;border-radius:calc(var(--r)*.6);box-shadow:inset 0 0 0 1px var(--line-strong);transition:all .3s var(--ease);color:var(--bone)}
.scale button b{font-size:1.5rem;font-weight:300;letter-spacing:-.03em}
.scale button span{font-size:.74rem;line-height:1.2;color:var(--ash);text-align:center}
.scale button:hover{background:#ebe6dc10;box-shadow:inset 0 0 0 1px #a9d6cb80;translate:0 -2px}
.scale button[aria-pressed=true]{background:var(--bone);color:var(--ink);box-shadow:none}
.scale button[aria-pressed=true] span{color:#07090cb0}
.diag__foot{display:flex;justify-content:center;gap:1.5rem;min-height:1.6rem}
.diag__foot button{font-size:.9rem;color:var(--ash)}
.diag__foot button:hover{color:var(--bone)}

.res{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2rem clamp(2rem,4vw,4rem);align-items:center}
.res__score{display:grid;justify-items:center;gap:1rem}
.ring{--p:0;--c:var(--z-amber);position:relative;width:min(10.5rem,40vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),#ffffff14 0)}
.ring::before{content:"";position:absolute;inset:.6rem;border-radius:50%;background:#0d1016}
.ring span{position:relative;font-size:clamp(2.2rem,1.6rem + 1.6vw,3rem);font-weight:260;letter-spacing:-.05em;color:var(--bone)}
.zone{display:inline-flex;align-items:center;gap:.55rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:650}
.zone i{width:.6rem;height:.6rem;border-radius:50%;background:var(--c)}
.zone[data-zone=roja]{--c:var(--z-red);color:var(--z-red)}
.zone[data-zone=amarilla]{--c:var(--z-amber);color:var(--z-amber)}
.zone[data-zone=verde]{--c:var(--z-green);color:var(--z-green)}
.res__text h3{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);line-height:1.1}
.res__text p{margin-top:1rem;color:var(--bone-2);line-height:1.65}
.res__text .res__extra{padding:.9rem 1.1rem;border-radius:calc(var(--r)*.6);background:#ffffff08;box-shadow:inset 0 0 0 1px var(--line);color:var(--bone)}
.res__text .res__extra b{color:var(--lit)}
.res__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:1.6rem}
.res__text .fine{margin-top:1.1rem}

.unlock{margin-top:clamp(2rem,4vw,3rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line);animation:rise .9s var(--ease) both}
@keyframes rise{from{opacity:0;translate:0 1.5rem}}
.unlock__head{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;margin-bottom:1.6rem}
.unlock__head h4{margin:0;font-size:clamp(1.4rem,1.1rem + 1vw,2rem);font-weight:380;letter-spacing:-.025em;color:var(--bone)}
.unlock__badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:650;color:var(--lit)}
.unlock__badge svg{width:1rem;height:1rem}
.ugrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem)}
.video{position:relative;aspect-ratio:16/9;border-radius:calc(var(--r)*.7);display:grid;place-items:center;overflow:hidden;background:radial-gradient(70% 90% at 50% 100%,#6fb7b833,transparent),#0a0d12;box-shadow:inset 0 0 0 1px var(--line-strong)}
.video__play{width:4.2rem;height:4.2rem;border-radius:50%;display:grid;place-items:center;background:var(--bone);color:var(--ink)}
.video__play svg{width:1.4rem;height:1.4rem;margin-left:.2rem}
.video__cap{position:absolute;left:1.1rem;right:1.1rem;bottom:.9rem;display:flex;justify-content:space-between;gap:1rem;font-size:.82rem;color:var(--bone-2)}
.ublock{margin-top:1.6rem}
.ublock h5{margin:0 0 .8rem;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);font-weight:650}
.ublock ul.learn{display:grid;gap:.65rem}
.learn li{display:grid;grid-template-columns:auto 1fr;gap:.8rem;font-size:.98rem;line-height:1.5;color:var(--bone-2)}
.learn li::before{content:"";width:.45rem;height:.45rem;margin-top:.55rem;border-radius:50%;background:var(--lit)}
.ufiles{border-top:1px solid var(--line)}
.ufiles li{display:grid;grid-template-columns:4.2rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.95rem;line-height:1.45;color:var(--bone)}
.ufiles li span:first-child{font-size:.72rem;letter-spacing:.12em;font-weight:650;color:var(--lit);padding-top:.15rem}
.ufiles li small{display:block;margin-top:.15rem;font-size:.86rem;color:var(--ash)}
.callout{display:grid;gap:.4rem;padding:1.1rem 1.2rem;border-radius:calc(var(--r)*.6);background:#a9d6cb0a;box-shadow:inset 0 0 0 1px #a9d6cb30}
.callout b{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lit);font-weight:650}
.callout p{font-size:.95rem;line-height:1.55;color:var(--bone-2)}
.callout--case{background:#ffffff06;box-shadow:inset 0 0 0 1px var(--line)}
.callout--case b{color:var(--ash)}
.callout--case p{color:var(--bone);font-size:1.05rem}
.unlock__next{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center}

.summary{margin-top:clamp(2rem,4vw,3rem);padding:clamp(1.75rem,4vw,3.5rem);border-radius:var(--r);text-align:center;display:grid;justify-items:center;gap:1.2rem;background:radial-gradient(60% 80% at 50% 0,#6fb7b81f,transparent),var(--card);box-shadow:inset 0 1px 0 #a9d6cb66,inset 0 0 0 1px #a9d6cb30}
.summary[hidden]{display:none}
.summary h3{font-size:clamp(1.7rem,1.2rem + 2vw,2.8rem);max-width:30rem}
.sumbars{display:grid;gap:1rem;width:min(100%,38rem);margin-top:.8rem;text-align:left}
.sumbar{display:grid;grid-template-columns:minmax(0,11rem) 1fr 3.4rem;gap:1rem;align-items:center;font-size:.95rem;color:var(--bone)}
.sumbar small{display:block;color:var(--ash);font-size:.76rem}
.track{height:.55rem;border-radius:99px;background:#ffffff14;overflow:hidden}
.track i{display:block;height:100%;width:0;border-radius:inherit;background:var(--c);transition:width 1.2s var(--ease)}
.sumbar output{text-align:right;font-weight:600}
.summary__note{max-width:38rem;color:var(--bone-2);line-height:1.65}
.summary__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}

/* ---------- Mi Lab ---------- */
.milab{padding-top:calc(var(--section)*.4)}
.milab__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.milab__copy h2{margin-top:1rem}
.pillars{display:grid;gap:1.4rem;margin-top:2.2rem}
.pillars li{display:grid;grid-template-columns:2.6rem 1fr;gap:1rem}
.pillars li>span{font-size:.78rem;letter-spacing:.12em;color:var(--lit);font-weight:650;padding-top:.3rem}
.pillars b{display:block;font-size:1.15rem;font-weight:500;color:var(--bone)}
.pillars p{margin-top:.3rem;font-size:.97rem;line-height:1.6;color:var(--bone-2)}
.dash{padding:clamp(1.25rem,2.5vw,2rem);border-radius:var(--r);background:#0c1016;box-shadow:inset 0 1px 0 #ffffff14,inset 0 0 0 1px #ffffff0e,0 40px 80px -40px #000,0 0 90px -40px #6fb7b8aa}
.dash__bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}
.dash__kicker{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);font-weight:600}
.dash__title{margin-top:.2rem;font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);letter-spacing:-.025em;color:var(--bone)}
.seg{display:inline-flex;padding:.25rem;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-strong)}
.seg button{padding:.5rem 1rem;border-radius:999px;font-size:.85rem;font-weight:560;color:var(--ash);transition:all .3s}
.seg button[aria-pressed=true]{background:var(--bone);color:var(--ink)}
.dash__rows{display:grid;gap:.75rem;margin-top:1.5rem}
.drow{--c:var(--z-amber);display:grid;grid-template-columns:minmax(0,8.2rem) 1fr auto;gap:1rem;align-items:center;padding:.9rem 1rem;border-radius:calc(var(--r)*.6);background:#ffffff06;box-shadow:inset 0 0 0 1px #ffffff0b;transition:background .5s}
.drow[data-zone=roja]{--c:var(--z-red);background:#e4766c12}
.drow[data-zone=amarilla]{--c:var(--z-amber);background:#e6bd5e12}
.drow[data-zone=verde]{--c:var(--z-green);background:#8ccf9b12}
.drow__n{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bone-2);font-weight:600}
.drow__n small{display:block;margin-top:.15rem;font-size:.72rem;letter-spacing:0;text-transform:none;color:var(--ash);font-weight:400}
.drow .track i{transition:width 1.1s var(--ease),background .6s}
.drow__v{text-align:right;font-size:1.25rem;font-weight:300;letter-spacing:-.03em;color:var(--bone);min-width:4.6rem}
.drow__v small{font-size:.8rem;color:var(--ash)}
.drow__v em{display:block;font-style:normal;font-size:.72rem;letter-spacing:.06em;color:var(--c);font-weight:650}
.dash__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem 1.5rem;margin-top:1.2rem;font-size:.82rem;color:var(--ash)}
.dash__legend{display:inline-flex;align-items:center;gap:.5rem}
.z{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-left:.4rem}
.z--roja{background:var(--z-red)}.z--amarilla{background:var(--z-amber)}.z--verde{background:var(--z-green)}
.dash__progress b{color:var(--bone)}
.dash__note{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.82rem;line-height:1.55;color:var(--ash)}

/* ---------- Compromiso (escalera del proveedor, con cinco peldaños) ---------- */
.method{padding-block:var(--section);border-top:1px solid var(--line)}
.method__head{text-align:center;max-width:46rem;margin:0 auto clamp(2.5rem,5vw,4rem);display:grid;gap:1.2rem;justify-items:center}
.method__lead{color:var(--bone-2);line-height:1.7;font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}
.step__name{white-space:normal!important;line-height:1.12;font-size:clamp(.9rem,.65rem + .6vw,1.5rem)!important}
@media (62rem<width<=80rem){.stairs .step[data-open=true]{flex-grow:1.9!important}}
.step__btn{padding:clamp(1rem,1.5vw,1.6rem)!important}
.method__head h2{margin:0}
.duo .card .card__quote{font-size:clamp(1rem,.95rem + .25vw,1.18rem)}
.step__letter{font-size:clamp(3rem,2rem + 2.6vw,5rem)!important}
@media (width>62rem){
  .stairs{height:clamp(27rem,58vh,33rem)}
  .step{height:calc(46% + var(--i)*13.5%)!important}
  .step__detail p{max-width:20rem}
}
.pledge{margin:clamp(3rem,6vw,5rem) auto 0;max-width:44rem;text-align:center;display:grid;gap:1.2rem}
.pledge blockquote{font-size:clamp(1.3rem,1.05rem + 1.2vw,2rem);line-height:1.35;letter-spacing:-.02em;color:var(--bone);font-weight:380;text-wrap:balance}
.pledge figcaption{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lit);font-weight:600}

/* ---------- Propuesta de valor ---------- */
.value{border-top:1px solid var(--line)}
.vcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.vcards li{display:grid;align-content:start;gap:.9rem;padding:clamp(1.5rem,2.4vw,2.2rem);border-radius:var(--r);background:var(--card);box-shadow:var(--slab-edge)}
.vcards li>span{font-size:.78rem;letter-spacing:.14em;color:var(--lit);font-weight:650}
.vcards h3{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.vcards p{font-size:1rem;line-height:1.65;color:var(--bone-2)}
.receipt{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);margin-top:clamp(2.5rem,5vw,4rem);padding:clamp(1.75rem,4vw,3.5rem);border-radius:var(--r);background:radial-gradient(60% 80% at 100% 100%,#6fb7b822,transparent),var(--card);box-shadow:inset 0 1px 0 #a9d6cb66,inset 0 0 0 1px #a9d6cb30}
.receipt__list ul{display:grid;gap:.95rem;margin-top:1.4rem}
.receipt__list li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;font-size:1rem;line-height:1.5;color:var(--bone-2)}
.receipt__list li svg{width:1.15rem;height:1.15rem;margin-top:.25rem;color:var(--lit)}
.receipt__list li b{font-weight:560}
.receipt__buy{display:grid;align-content:center;justify-items:center;gap:1.4rem;text-align:center}
.price{display:flex;align-items:flex-start;gap:.5rem;color:var(--bone);line-height:.8}
.price__n{font-size:clamp(5.5rem,3rem + 9vw,9rem);font-weight:200;letter-spacing:-.07em}
.price__c{padding-top:.5rem;font-size:1.1rem;letter-spacing:.08em;color:var(--ash);font-weight:560}
.buy{min-width:min(100%,20rem);min-height:3.8rem;font-size:1.05rem}
.buy-notes{display:grid;gap:.4rem;font-size:.95rem;color:var(--ash)}
.buy-notes b{color:var(--bone);font-weight:560}

/* ---------- Responsive ---------- */
.nav__links a{white-space:nowrap}
.mcard__to .tag{white-space:normal}
.mpanel .btn,.summary .btn,.arch .btn,.receipt .btn{white-space:normal;text-align:center;max-width:100%;padding-block:.9rem;height:auto}
@media (width<=75rem){.arow{grid-template-columns:minmax(0,1fr)}.arow__label span{max-width:34rem}}
@media (width<=62rem){
  .labs{grid-template-columns:minmax(0,1fr)}
  .lnk{height:3.2rem;width:auto}
  .lnk::before{inset:0 auto;left:50%;border-top:0;border-left:1px dashed var(--line-strong)}
  .arow{grid-template-columns:minmax(0,1fr)}
  .thread{grid-template-columns:minmax(0,1fr);gap:1.3rem;padding-left:0}
  .thread::before{left:.33rem;right:auto;top:.4rem;bottom:.4rem;border-top:0;border-left:1px solid var(--line-strong)}
  .tnode{padding:0 0 0 1.9rem}
  .tnode::before{top:.15rem}
  .mcards,.vcards{grid-template-columns:minmax(0,1fr)}
  .guide{grid-template-columns:minmax(0,1fr)}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mtabs{grid-template-columns:minmax(0,1fr)}
  .res{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
  .res__actions{justify-content:center}
  .ugrid{grid-template-columns:minmax(0,1fr)}
  .milab__grid,.receipt{grid-template-columns:minmax(0,1fr)}
  .sumbar{grid-template-columns:1fr 3.4rem;gap:.5rem 1rem}
  .sumbar .track{grid-column:1/-1;order:3}
}
@media (width<=40rem){
  .scale{gap:.35rem}
  .scale button{padding:.8rem .2rem .7rem}
  .scale button span{font-size:.62rem}
  .tiles{grid-template-columns:minmax(0,1fr)}
  .drow{grid-template-columns:1fr auto}
  .drow .track{grid-column:1/-1;order:3}
}

.video svg{width:100%;height:100%;display:block}
.video svg text{font-family:var(--font)}

.thread__q{margin-top:1.4rem;min-height:1.6em;font-size:clamp(1.1rem,1rem + .5vw,1.35rem);color:var(--bone);letter-spacing:-.01em}
.tnode{padding-right:.4rem}
.tnode b{margin-bottom:0}
.arow{align-items:center}
.arow__label b{margin-top:.25rem}
.arch__head p:not(.eyebrow){max-width:36rem}
.mcard{padding:1.1rem 1.3rem}
.tile{padding:1rem 1.2rem;text-align:center}
.tiles{margin-top:0}
.arch .arow{margin-top:clamp(1rem,2vw,1.5rem);padding-top:clamp(1rem,2vw,1.5rem);gap:.6rem 2.5rem}
.arch .arow__title{font-size:clamp(1.15rem,1.05rem + .5vw,1.45rem)}
.arch .thread{margin-top:1.1rem}
.arch .thread__q{margin-top:1rem}
