/* mayúsculas: títulos, botones, menús y etiquetas. Nombres y descripciones de productos quedan como están */
h1,h2,.btn,.rubs a,.bar,.hd-lk span,.hd-wa span,.brand,.bd,.chip,.crumb,.facts dt,.tools,.ft-cols b,.arrep,.fld>span,.perks,.facts-row,.idx-l a span,.lnk,.tiers,.btot,.tot,.av b,.note,.ft-cta p,.search input::placeholder{text-transform:uppercase}
.card h3,.pd h1,.desc p,.desc li,.ci h3,.bi b,.bl b,.tile img{text-transform:none}
.card h3{font-weight:600}
h1,h2{letter-spacing:-.02em}
.pd h1{letter-spacing:-.03em}
/* barra superior */
.bar{background:var(--ac);color:#000;display:flex;gap:28px;justify-content:center;flex-wrap:wrap;padding:8px 16px;font:700 .78rem/1.2 var(--txt);letter-spacing:.04em}
.bar a{color:#000;text-decoration:underline;text-underline-offset:.2em}.bar span+span:before{content:"";display:inline-block}
@media(max-width:700px){.bar{gap:4px 16px;font-size:.7rem}.bar span:nth-of-type(2){display:none}}
.hd-lk{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:.82rem;letter-spacing:.03em;padding:10px 12px;border-radius:var(--r)}.hd-lk:hover{background:var(--field)}.hd-lk .ic{font-size:1.2rem}
@media(max-width:1100px){.hd-lk span{display:none}}
.rubs a{font-size:.8rem;letter-spacing:.03em;font-weight:650}.rubs a.hot{color:#000;background:var(--ac);border-radius:99px;margin:6px 6px;padding:5px 12px;display:inline-flex;align-items:center;gap:6px;font-weight:800}.rubs a.hot .ic{font-size:1rem}
.rubs a:first-child{color:#fff}
/* badges */
.tile{position:relative}
.bd{position:absolute;left:8px;bottom:8px;font:800 .64rem/1 var(--txt);letter-spacing:.05em;font-style:normal;padding:5px 8px;border-radius:99px}
.bd-i{background:#000;color:var(--ac)}.bd-24{background:#fff;color:#000;box-shadow:inset 0 0 0 1.5px #000}
.bds{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:5px;align-items:flex-start}.bds .bd{position:static}
.bd-off{background:var(--ac);color:#000}.bd-oos{background:#ff8a80;color:#000}
.pr s,.pr.big s{color:var(--mut);font:500 .85em var(--txt);margin-left:6px;text-decoration:line-through}
.pr.big .bd{position:static;display:inline-block;vertical-align:middle;margin-left:8px;font-size:.7rem}
.av{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:0 0 14px;color:var(--mut);font-size:.95rem}.av b{font:800 .72rem var(--txt);letter-spacing:.05em;padding:5px 9px;border-radius:99px}
.av-i b{background:var(--ac);color:#000}.av-24 b{background:#fff;color:#000}
/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;align-items:center}.chips .sep{width:1px;height:24px;background:var(--ln);margin:0 6px}
.chip{border:0;background:var(--field);color:#fff;font:700 .74rem/1 var(--txt);letter-spacing:.04em;padding:10px 14px;border-radius:99px;cursor:pointer;box-shadow:inset 0 0 0 1px #343734;transition:background .2s,color .2s}
.chip:hover{background:#262826}.chip.on{background:var(--ac);color:#000;box-shadow:none}
.card[hidden]{display:none}
/* marcas */
.sec{margin-bottom:24px}.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.bchip{display:grid;place-items:center;min-height:96px;padding:14px;border-radius:var(--r);background:var(--field);box-shadow:inset 0 0 0 1px #2b2d2b;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s}.bchip:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--ac)}
.bchip img{max-height:56px;width:auto;max-width:100%;object-fit:contain}.bchip.tx{font:700 1rem var(--disp);letter-spacing:-.01em;text-transform:uppercase;text-align:center}
.ph-h .bl{height:64px;width:auto;margin-bottom:16px;border-radius:8px}
.muted{color:var(--mut);font-size:.82rem;letter-spacing:.03em;margin:14px 0 0}
/* banners y paneles */
.banner{display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:24px;padding:clamp(24px,4vw,44px);text-decoration:none;flex-wrap:wrap}
.b-lime{background:var(--ac);color:#000}.b-lime p{margin:10px 0 0;max-width:46ch;font-weight:500}.b-lime h2{font-size:clamp(2rem,4.6vw,3.6rem)}
.btn-dark{background:#000;color:#fff}.btn-dark:hover{box-shadow:0 6px 0 -2px #fff}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:0}
.panel{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:clamp(24px,3vw,36px);border-radius:24px;text-decoration:none;transition:transform .4s var(--ease)}
a.panel:hover{transform:translateY(-4px)}.panel h2{font-size:clamp(1.5rem,2.6vw,2.2rem)}.panel p{margin:0;color:inherit;max-width:44ch}
.p-dark{background:#fff;color:#000}.p-line{background:var(--field);box-shadow:inset 0 0 0 1.5px #343734}.p-lime{background:var(--ac);color:#000}
.pi{font-size:2rem;display:inline-flex}.p-dark .pi{color:#000}.p-line .pi{color:var(--ac)}
.lnk{display:inline-flex;gap:8px;align-items:center;font-weight:800;font-size:.85rem;letter-spacing:.04em;margin-top:auto;text-decoration:underline;text-underline-offset:.25em}
.eb{flex-direction:row;align-items:center;gap:22px}.eb img{width:120px;height:auto;border-radius:6px;box-shadow:0 14px 30px -10px #000a}.eb p{margin:6px 0 14px}
.panel .cta{margin-top:6px}
/* páginas */
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}.lead2{font-size:1.25rem;color:#cdd1cd;max-width:44ch;margin:18px 0 26px}
.perks.big{font-size:1.05rem;color:#fff;margin:0 0 28px}.perks.big li{padding:12px 0;border-bottom:1px solid var(--ln)}
.tick{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}.tick li{padding-left:28px;position:relative}.tick li:before{content:"";position:absolute;left:0;top:.5em;width:14px;height:8px;border-left:3px solid currentColor;border-bottom:3px solid currentColor;rotate:-45deg;translate:0 -3px}
.stat h2{margin-bottom:6px}.steps h2{margin-bottom:26px}.steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}.steps li{counter-increment:s;padding:22px;background:var(--field);border-radius:20px}.steps li:before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:99px;background:var(--ac);color:#000;font:800 1rem var(--disp);margin-bottom:14px}.steps b{font:700 1.2rem var(--disp);text-transform:uppercase;letter-spacing:-.01em}.steps p{margin:8px 0 0;color:var(--mut)}
.cover{width:min(100%,420px);height:auto;border-radius:12px;box-shadow:0 30px 60px -20px #000c;justify-self:center}.eb2{align-items:center}
.card-form{background:var(--field);padding:26px;border-radius:24px;display:grid;gap:4px}.card-form h2{font-size:1.5rem;margin-bottom:10px}.card-form .btn{margin-top:8px}.card-form .fld input,.card-form .fld select,.card-form .fld textarea{background:#000}
.soc{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}.soc a{display:inline-flex;gap:8px;align-items:center;text-decoration:none;font-weight:650}.soc a:hover{color:var(--ac)}
.prose h2{font-size:1.4rem;margin:30px 0 8px}.prose p,.prose li{color:#d7dad7}.prose ul{padding-left:20px}
/* builder */
.bld{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:start}
.search.sm{max-width:none;margin:0 0 14px}
.blist{display:grid;gap:10px;max-height:72vh;overflow:auto;padding-right:6px;scrollbar-width:thin}
.brow{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:10px;border-radius:16px;background:var(--field)}
.brow .tile{width:72px;border-radius:10px}.bi{display:grid;gap:4px;min-width:0}.bi b{font:600 1rem/1.25 var(--txt)}.bi small{color:var(--mut)}.bi select{font:inherit;font-size:.9rem;color:#fff;background:#000;border:1.5px solid #3a3d3a;border-radius:8px;padding:8px;max-width:100%}
.brow .btn{padding:11px 16px}
.bld-r{position:sticky;top:150px;background:var(--field);border-radius:24px;padding:24px;display:grid;gap:14px}.bld-r h2{font-size:1.5rem}
.bl{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--ln)}.bl small{display:block;color:var(--mut)}.bl .q{display:flex;align-items:center;gap:6px}.bl .q button{width:28px;height:28px;border:1.5px solid var(--mut);background:transparent;color:#fff;border-radius:8px;cursor:pointer}
.tiers{font-size:.78rem;letter-spacing:.03em;color:var(--mut)}.tiers b{color:var(--ac)}
.btot p{display:flex;justify-content:space-between;margin:6px 0;font-weight:650}.btot .dsc{color:var(--ac)}.btot .tt{font:800 1.5rem var(--disp);padding-top:10px;border-top:1px solid var(--ln)}
.bld-r .btn{width:100%}
/* carrito */
.pl{margin:6px 0 0;padding-left:18px;color:var(--mut);font-size:.88rem}
.cta .btn{margin:0}
/* footer */
.arrep{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:14px 20px;border-radius:var(--r);background:#fff;color:#000;font-weight:800;font-size:.85rem;letter-spacing:.04em;text-decoration:none}.arrep:hover{background:var(--ac)}
.ft-cols{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.ft-cta .cta{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:900px){.split,.duo,.bld,.steps ol{grid-template-columns:1fr}.bld-r{position:static}.eb{flex-direction:row}.blist{max-height:none}.steps ol{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps ol{grid-template-columns:1fr}.brow{grid-template-columns:60px 1fr}.brow .btn{grid-column:1/-1}.brow .tile{width:60px}.eb img{width:90px}}
.wafab{bottom:18px}@media(max-width:900px){.wafab{bottom:84px}}
.rail-t{scroll-padding-inline:max(20px,calc((100vw - 1280px)/2))}@media(max-width:900px){.rail-t{scroll-padding-inline:16px}}
@media(max-width:900px){.hd-lk{display:none}.hd-in{flex-wrap:wrap}#consent{padding:12px;left:10px;right:10px;bottom:10px}#consent p{font-size:.85rem;margin-bottom:8px}.hero-t p{max-width:none}}
/* CTAs */
.hero-t .cta2{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px}.hero-t .cta2 .btn{padding:12px 16px;font-size:.85rem}
.btn-wa{background:#25d366;color:#000}.btn-wa:hover{box-shadow:0 6px 0 -2px #fff}
.hd-tel{display:none;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;border-radius:var(--r);text-decoration:none;font-weight:700}.hd-tel .ic{font-size:1.3rem}.hd-tel span{display:none}
@media(max-width:900px){.hd-tel{display:inline-flex}}
.vpl{display:block;margin-top:8px;font:800 .72rem var(--txt);letter-spacing:.05em;text-transform:uppercase;color:var(--ac)}
.promo{margin:0 0 14px;padding:10px 14px;border-radius:12px;background:var(--field);color:var(--ac);font:800 .78rem var(--txt);letter-spacing:.04em;text-transform:uppercase}
.btot .dsc.ok,.tot+.dsc,.dsc.ok{color:var(--ac)}.dsc{display:flex;justify-content:space-between;margin:6px 0;font-weight:650}
.pd-med{padding-top:0}.pd-med .banner{margin-top:8px}
.ofe{margin:24px 0 0}
#offer{position:fixed;z-index:60;left:50%;top:50%;translate:-50% -50%;width:min(92vw,420px);background:#111;color:#fff;border-radius:20px;padding:28px;box-shadow:0 0 0 1.5px var(--ac),0 30px 80px #000}
#offer[hidden]{display:none}#offer h2{margin:0 0 8px}#offer p{margin:0 0 18px;color:#d7dad7}#offX{position:absolute;right:10px;top:6px;background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer;line-height:1}
.rev .cta{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:900px){.hd-in{gap:6px;padding:10px 14px}.logo{font-size:1.25rem;margin-right:auto}.logo img{height:32px}.hd-wa{margin-left:0;padding:10px}.hd-tel{width:40px}}
.bd[hidden],.pr.big .bd[hidden]{display:none!important}
/* Tipografía de marca: Bunken Tech Sans SC Wide Bold (licencia web adquirida por el dueño) */
@font-face{font-family:"Bunken";src:url(/assets/fonts/bunken.woff2) format("woff2"),url(/assets/fonts/bunken.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}
h1,h2{font-family:var(--disp);font-weight:700;letter-spacing:.01em;line-height:1.12}
h1{font-size:clamp(1.7rem,4.4vw,3.3rem)}h2{font-size:clamp(1.2rem,2.4vw,1.8rem)}
.buy h1,.pd h1{font-family:var(--disp);font-weight:760;letter-spacing:-.03em;line-height:1.05}
.b-lime h2{font-size:clamp(1.3rem,3vw,2.3rem)}.panel h2{font-size:clamp(1.1rem,1.9vw,1.5rem)}.cartp h1{font-size:clamp(1.6rem,3.4vw,2.4rem)}
.logo span{font-family:var(--disp);font-weight:700;letter-spacing:0;font-size:1.05rem;text-transform:uppercase}
@media(max-width:900px){.logo span{font-size:.9rem}}
/* ===== fondo de estudio unificado (ciclorama) para todos los productos ===== */
.tile,.th,.ci .tile{background:
 radial-gradient(70% 52% at 50% 36%,rgba(255,255,255,.92) 0%,rgba(255,255,255,0) 70%),
 radial-gradient(130% 100% at 50% 45%,rgba(0,0,0,0) 58%,rgba(38,46,26,.16) 100%),
 linear-gradient(180deg,#e7ebe1 0%,#dde2d5 58%,#ccd2c0 76%,#c4cbb7 100%);position:relative}
.tile::after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .12 0 0 0 0 .08 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.07;pointer-events:none;z-index:1;border-radius:inherit}
.tile::before{content:"";position:absolute;left:18%;right:18%;bottom:6%;height:9%;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,rgba(20,26,12,.42),rgba(20,26,12,0) 72%);filter:blur(4px);pointer-events:none;z-index:0}
.tile img{position:relative;z-index:1;mix-blend-mode:normal;filter:drop-shadow(0 10px 10px rgba(20,26,12,.22))}
.tile .bds,.tile .bd,.tile>span{z-index:3}
.tile.big{box-shadow:none}
.th img{mix-blend-mode:normal}
@media (hover:hover) and (pointer:fine){.card:hover .tile img{transform:scale(1.04)}}
@media (prefers-reduced-motion:reduce){.tile img{transition:none!important}}
/* ===== pulido de movimiento (criterios Emil Kowalski) ===== */
:root{--out:cubic-bezier(.23,1,.32,1)}
.btn,.chip,.card,.th,.bchip,.panel,.wafab{-webkit-tap-highlight-color:transparent}
.btn:active,.chip:active,.wafab:active,.hd-wa:active{transform:scale(.97);transition-duration:.12s}
.card:active .tile{transform:scale(.985)}
.tile{transition:transform .16s var(--out)}
.tile img{transition:transform .3s var(--out)}
.cart b.bump{animation-duration:.28s}
@media(prefers-reduced-motion:no-preference){.hero-v .b{animation-duration:.6s;animation-timing-function:var(--out)}@keyframes rise{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}}
@media(hover:none){.card:hover .tile img,.card:hover,.panel:hover,.bchip:hover,.bn:hover{transform:none!important}}
h1,h2,h3{text-wrap:balance}p,li{text-wrap:pretty}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
/* ===== portada ===== */
.hero-in{grid-template-columns:1fr 1.15fr;gap:40px;padding-top:56px}
.hero-t h1{letter-spacing:-.01em}
.hero-t p{max-width:38ch}
.hero-links{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:26px;padding-top:22px;border-top:1px solid #ffffff1f;max-width:560px}
.hero-links a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:650;font-size:.92rem;text-transform:uppercase;padding:8px 0;transition:color .16s var(--out)}
.hero-links a .ic{color:var(--ac);font-size:1.15rem}
@media (hover:hover) and (pointer:fine){.hero-links a:hover{color:var(--ac)}}
.hero-links a:active{transform:scale(.97)}
.hero-v{aspect-ratio:4/3.3;border-radius:28px;background:radial-gradient(80% 70% at 50% 100%,#1c1f17 0%,#0f100d 60%,#0b0b0b 100%);border:1px solid #ffffff17;overflow:hidden;position:relative;isolation:isolate}
.hero-v .disc{position:absolute;left:50%;top:46%;width:74%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle at 50% 38%,#d6ff9b 0%,var(--ac) 52%,#9fe04f 100%);box-shadow:0 0 120px 10px #c1ff7233;z-index:0}
.hero-v .hv{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;filter:drop-shadow(0 18px 18px #00000059)}
.hero-v .floor{position:absolute;left:8%;right:8%;bottom:11%;height:7%;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,#000000b3,#0000 72%);filter:blur(6px);z-index:1}
.hero-v .tag{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;font-weight:750;font-size:.78rem;text-transform:uppercase;letter-spacing:.02em}
.hero-v .t1{left:18px;top:18px;background:#0b0b0b;color:#fff;border:1px solid #ffffff26}.hero-v .t1 .ic{color:var(--ac)}
.hero-v .t2{right:18px;bottom:18px;background:#fff;color:#0b0b0b}
@media(prefers-reduced-motion:no-preference){.hero-v .hv{animation:rise .6s var(--out) both}.hero-v .disc{animation:fadeD .6s var(--out) both}@keyframes fadeD{from{opacity:0;scale:.94}to{opacity:1;scale:1}}}
.facts-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0 20px 44px;max-width:1320px}
.facts-row li{align-items:flex-start;padding:22px 20px;border-top:1px solid #ffffff1f;color:#fff}
.facts-row li+li{border-left:1px solid #ffffff14}
.facts-row li span{display:flex;flex-direction:column;gap:3px;font-weight:700;text-transform:uppercase;font-size:.9rem}
.facts-row li small{font-weight:450;color:var(--mut);text-transform:none;font-size:.88rem}
@media(max-width:900px){.hero-in{grid-template-columns:1fr;padding-top:24px}.hero-v{aspect-ratio:4/3.4}.facts-row{grid-template-columns:1fr 1fr;padding:0 16px 28px}.facts-row li{padding:16px 12px}.facts-row li:nth-child(3){border-left:0}.hero-links{max-width:none}}
@media(max-width:520px){.hero-v .tag{font-size:.7rem;padding:7px 10px}.facts-row li small{display:none}}
.hero-links a{text-decoration:none}.hero-links{gap:4px 18px}.hero-links a{font-size:.84rem}
.logo img{height:46px;width:auto}.logo{gap:12px}
.logo img{height:46px;width:auto}.logo{gap:12px}
.tile>.bd{bottom:auto;left:auto;top:10px;right:10px}

/* hero animado */
.hero-v .stage{position:absolute;inset:0;z-index:2}
.hero-v .hv{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 18px #00000059);transform-origin:50% 78%;will-change:transform}
.hero-v .ring{position:absolute;left:50%;top:46%;width:86%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;border:1.5px dashed #c1ff7259;z-index:0}
.hero-v .glint{position:absolute;left:50%;top:46%;width:74%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;z-index:0;background:conic-gradient(from 0deg,#fff0 0 70%,#ffffff55 82%,#fff0 94%);mix-blend-mode:soft-light}
@media(prefers-reduced-motion:no-preference){
.hero-v .hv{opacity:0;animation:drop .9s var(--out) forwards,bob 5.5s ease-in-out infinite;animation-delay:var(--d,0s),calc(var(--d,0s) + .9s)}
.hero-v .hv-w{--d:.15s;--by:-9px}.hero-v .hv-c{--d:.4s;--by:-6px}.hero-v .hv-p{--d:.6s;--by:-7px}
.hero-v .hv-c{animation-duration:.9s,6.3s}.hero-v .hv-p{animation-duration:.9s,5s}
@keyframes drop{0%{opacity:0;transform:translateY(-70px) scale(.96)}55%{opacity:1}72%{transform:translateY(8px) scale(1.01,.99)}100%{opacity:1;transform:none}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(var(--by,-8px))}}
.hero-v .ring{animation:spin 40s linear infinite}.hero-v .glint{animation:spin 9s linear infinite}
.hero-v .disc{animation:fadeD .8s var(--out) both,pulse 5s ease-in-out 1s infinite}
@keyframes spin{to{rotate:360deg}}
@keyframes pulse{0%,100%{box-shadow:0 0 120px 10px #c1ff7233}50%{box-shadow:0 0 150px 24px #c1ff7255}}
.hero-v .floor{animation:flr 5.5s ease-in-out 1s infinite}@keyframes flr{0%,100%{scale:1;opacity:1}50%{scale:.94;opacity:.8}}
.hero-v .tag{animation:rise .6s var(--out) 1s both}.hero-v .t2{animation-delay:1.15s}
}
@media(prefers-reduced-motion:reduce){.hero-v .hv{opacity:1}.hero-v .ring,.hero-v .glint{display:none}}
/* escena animada: barra, pulso, partículas, ECG */
.hero-v .stage svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hero-v .pulse circle{fill:none;stroke:#c1ff72;stroke-width:2;opacity:0;transform-origin:300px 235px}
.hero-v .shadow{fill:#000;opacity:.55;filter:blur(8px);transform-origin:300px 400px}
.hero-v .lift{filter:drop-shadow(0 16px 14px #00000066)}
.hero-v .parts circle{fill:#c1ff72;opacity:0}
.hero-v .ecg path{fill:none;stroke:#c1ff72;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:70 560;stroke-dashoffset:630;filter:drop-shadow(0 0 6px #c1ff72)}
.hero-v .tilt{transform-origin:300px 235px}
@media(prefers-reduced-motion:no-preference){
.hero-v .lift{animation:lift 3.6s cubic-bezier(.77,0,.175,1) infinite}
.hero-v .tilt{animation:tilt 3.6s cubic-bezier(.77,0,.175,1) infinite}
.hero-v .shadow{animation:shd 3.6s cubic-bezier(.77,0,.175,1) infinite}
@keyframes lift{0%,12%{transform:translateY(95px)}48%,58%{transform:translateY(-35px)}100%{transform:translateY(95px)}}
@keyframes tilt{0%,12%{rotate:0deg}30%{rotate:-1.6deg}48%,58%{rotate:0deg}80%{rotate:1.2deg}100%{rotate:0deg}}
@keyframes shd{0%,12%{scale:1;opacity:.6}48%,58%{scale:.72;opacity:.3}100%{scale:1;opacity:.6}}
.hero-v .pulse circle{animation:ringp 3.6s cubic-bezier(.23,1,.32,1) infinite}
.hero-v .pulse circle:nth-child(2){animation-delay:.18s}.hero-v .pulse circle:nth-child(3){animation-delay:.36s}
@keyframes ringp{0%,46%{opacity:0;transform:scale(.8)}50%{opacity:.8}100%{opacity:0;transform:scale(2.1)}}
.hero-v .parts circle{animation:pt 4.2s ease-out infinite}
.hero-v .parts circle:nth-child(3n){animation-duration:5.1s}.hero-v .parts circle:nth-child(3n+1){animation-duration:3.6s}
.hero-v .parts circle:nth-child(2){animation-delay:.5s}.hero-v .parts circle:nth-child(3){animation-delay:1.1s}.hero-v .parts circle:nth-child(4){animation-delay:1.7s}.hero-v .parts circle:nth-child(5){animation-delay:.3s}.hero-v .parts circle:nth-child(6){animation-delay:2.2s}.hero-v .parts circle:nth-child(7){animation-delay:.9s}.hero-v .parts circle:nth-child(8){animation-delay:1.4s}.hero-v .parts circle:nth-child(9){animation-delay:2.6s}.hero-v .parts circle:nth-child(10){animation-delay:.2s}.hero-v .parts circle:nth-child(11){animation-delay:3s}.hero-v .parts circle:nth-child(12){animation-delay:1.9s}
@keyframes pt{0%{opacity:0;transform:translateY(0)}15%{opacity:.9}100%{opacity:0;transform:translateY(-330px)}}
.hero-v .ecg path{animation:ecg 2.4s linear infinite}@keyframes ecg{to{stroke-dashoffset:-70}}
.hero-v .stage{animation:rise .7s var(--out) both}
}
@media(prefers-reduced-motion:reduce){.hero-v .lift{transform:translateY(20px)}.hero-v .ecg path{stroke-dasharray:none;stroke-dashoffset:0}}
.bchip img{height:56px;max-height:56px}

/* ===== portada: medicion corporal ===== */
.hero-v.bz{aspect-ratio:600/630;background:radial-gradient(90% 70% at 50% 38%,#1a2112 0%,#0f100d 62%,#0b0b0b 100%)}
.bz-in{position:absolute;inset:0}
.bz svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1}
.bz-glow{position:absolute;left:50%;top:36%;width:60%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#c1ff7240 0%,#c1ff7200 68%);animation:bzg 4.5s ease-in-out infinite}
.bz-ring{position:absolute;left:50%;top:36%;width:74%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;border:1.5px dashed #c1ff7240;animation:bzr 50s linear infinite}
@keyframes bzg{0%,100%{scale:1;opacity:.8}50%{scale:1.1;opacity:1}}@keyframes bzr{to{rotate:360deg}}
.bz .sil{fill:#12150f;stroke:#c1ff72;stroke-width:2;stroke-linejoin:round}
.bz-scan{opacity:0}
.bz .hp{animation:none}
.bz-fill,.bz-hps circle{transform-box:fill-box}
.bz-fill{transform-origin:50% 0}
.bz-parts circle{opacity:0;animation:bzp 7s linear infinite;animation-delay:var(--d)}
@keyframes bzp{0%{opacity:0;translate:0 0}12%{opacity:.8}100%{opacity:0;translate:var(--x) -210px}}
.mc{position:absolute;z-index:3;padding:10px 14px 11px;border-radius:14px;background:#0b0b0bd9;border:1px solid #c1ff7266;color:#fff;backdrop-filter:blur(6px);min-width:26%}
.mc small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffffb3}
.mc b{display:block;font-size:1.7rem;line-height:1.1;font-weight:800;color:var(--ac);font-variant-numeric:tabular-nums}
.mc em{font-style:normal;font-size:.85rem;font-weight:700;margin-left:4px;color:#fff}
.pn{position:absolute;z-index:3;left:4%;right:4%;bottom:4%;height:25%;border-radius:18px;background:#0b0b0be6;border:1px solid #ffffff1f;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.st{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.st li{flex:1;text-align:center;font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.03em;padding:6px 4px;border-radius:999px;border:1px solid #ffffff2e;color:#ffffffa6;white-space:nowrap}
.st .s1{background:var(--ac);color:#000;border-color:var(--ac)}
.sl{position:relative;flex:1;min-height:0}
.sl>*{position:absolute;inset:0;display:flex;align-items:center}
.p1{margin:0;color:#fff;font-size:.9rem;font-weight:600;line-height:1.3;flex-wrap:wrap;align-content:center}.p1 u{text-decoration:none;display:block;width:100%;margin-top:3px;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffff80}
.p2{opacity:0;flex-direction:column;justify-content:center;gap:7px;align-items:stretch}
.mbr{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:10px;font-size:.66rem;font-weight:700;text-transform:uppercase;color:#fff}
.mbr i{display:block;height:8px;border-radius:99px;background:linear-gradient(90deg,#c1ff72 0 100%) left/calc(var(--w)*100%) 100% no-repeat,#ffffff1f}
.p3{opacity:0;gap:8px;flex-wrap:wrap;align-content:center}
.ck{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;background:var(--ac);color:#000;font-size:.74rem;font-weight:800;text-transform:uppercase}
.ck::before{content:"";width:12px;height:7px;border:2.5px solid #000;border-top:0;border-right:0;rotate:-45deg;translate:0 -2px}
.bz.out .bz-in{opacity:0;transition:opacity .6s ease}
@media(prefers-reduced-motion:no-preference){
.bz.run .bz-scan{animation:bzscan 3s cubic-bezier(.45,0,.2,1) .5s both}
.bz.run .bz-fill{animation:bzfill 3s cubic-bezier(.45,0,.2,1) .5s both}
.bz.run .sil{animation:bzline .8s var(--out) both}
.bz.run .hp{animation:bzpop .45s var(--out) var(--d) both}
.bz.run .mc{animation:bzcard .6s var(--out) var(--d) both}
.bz.run .leads path{stroke-dasharray:1;animation:bzdraw .5s var(--out) calc(var(--d) + .25s) both}
.bz.run .ld{animation:bzpop .35s var(--out) var(--d) both}
.bz.run .st li{animation:bzchip 13s linear both}
.bz.run .st .s2{animation-name:bzchip2}.bz.run .st .s3{animation-name:bzchip3}
.bz.run .p1{animation:bzs1 13s linear both}.bz.run .p2{animation:bzs2 13s linear both}.bz.run .p3{animation:bzs3 13s linear both}
.bz.run .mbr i{animation:bzbar 1s var(--out) calc(4.3s + var(--b)) both}
.bz.run .ck{animation:bzcard .45s var(--out) calc(8.3s + var(--b)) both;--x:0px}
}
@keyframes bzscan{0%{transform:translateY(42px);opacity:0}6%{opacity:1}94%{opacity:1}100%{transform:translateY(424px);opacity:0}}
@keyframes bzfill{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes bzline{from{opacity:0}to{opacity:1}}
@keyframes bzpop{from{opacity:0;scale:.4}to{opacity:1;scale:1}}
@keyframes bzcard{from{opacity:0;translate:var(--x,0) 10px;scale:.96}to{opacity:1;translate:0 0;scale:1}}
@keyframes bzdraw{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes bzbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes bzs1{0%,2%{opacity:0;translate:0 10px}6%,29%{opacity:1;translate:0 0}32%,100%{opacity:0;translate:0 -10px}}
@keyframes bzs2{0%,31%{opacity:0;translate:0 10px}35%,60%{opacity:1;translate:0 0}63%,100%{opacity:0;translate:0 -10px}}
@keyframes bzs3{0%,62%{opacity:0;translate:0 10px}66%,92%{opacity:1;translate:0 0}96%,100%{opacity:0;translate:0 -10px}}
@keyframes bzchip{0%,30%{background:var(--ac);color:#000;border-color:var(--ac)}31%,100%{background:transparent;color:#ffffffa6;border-color:#ffffff2e}}
@keyframes bzchip2{0%,30%{background:transparent;color:#ffffffa6;border-color:#ffffff2e}31%,62%{background:var(--ac);color:#000;border-color:var(--ac)}63%,100%{background:transparent;color:#ffffffa6;border-color:#ffffff2e}}
@keyframes bzchip3{0%,62%{background:transparent;color:#ffffffa6;border-color:#ffffff2e}63%,100%{background:var(--ac);color:#000;border-color:var(--ac)}}
.bz .mbr i{transform-origin:left}
@media(max-width:900px){.hero-v.bz{aspect-ratio:600/630;max-width:560px;width:100%;margin-inline:auto}}
@media(max-width:520px){.mc{padding:7px 9px 8px;border-radius:11px;min-width:0;width:29%}.mc small{font-size:.54rem}.mc b{font-size:1.15rem}.mc em{font-size:.62rem}.pn{padding:9px 10px;gap:7px;border-radius:14px}.st li{font-size:.54rem;padding:5px 2px}.p1{font-size:.72rem}.mbr{grid-template-columns:58px 1fr;font-size:.56rem;gap:7px}.mbr i{height:6px}.ck{font-size:.6rem;padding:6px 9px}.sl{}.p2{gap:4px}}

@media(min-width:901px){.hero-v.bz{max-width:520px;justify-self:end;width:100%}}

/* tipografia de marca: Morris Sans (la del logo) */
@font-face{font-family:"Morris";src:url(/assets/fonts/morris.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--disp:"Morris","Bricolage","Hanken",system-ui,sans-serif}
h1,h2,h3,.btn,.logo span,.brand,.chip,.mc,.mc b,.st li,.ck,.pr,.tt{font-synthesis:none}
h1,h2{letter-spacing:.005em;font-weight:500}
.btn,.st li,.ck{font-family:var(--disp)}

/* ===== resenas de google ===== */
.revs{padding-block:48px}
.revs-h{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-bottom:22px}
.revs-h h2{flex:1 1 280px;margin:0}
.rscore{display:flex;align-items:center;gap:14px}.rscore b{font:500 3.2rem/1 var(--disp);color:var(--ac)}.rscore span{display:block;color:var(--mut);font-size:.85rem;margin-top:4px}
.rs{display:flex;gap:2px;color:var(--ac)}.rs svg{fill:currentColor}
.rv-t{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 18px;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;-webkit-overflow-scrolling:touch}
.rv{flex:0 0 min(340px,82%);scroll-snap-align:start;margin:0;padding:20px;border-radius:18px;background:var(--field);border:1px solid #ffffff14;display:flex;flex-direction:column;gap:14px}
.rv blockquote{margin:0;color:#fff;font-size:.98rem;line-height:1.5;flex:1}
.rv figcaption b{display:block;font-size:.92rem}.rv figcaption span{color:var(--mut);font-size:.78rem}
@media(prefers-reduced-motion:no-preference){.js .rv{opacity:0;translate:28px 0;transition:opacity .5s var(--out),translate .5s var(--out);transition-delay:calc(var(--i)*70ms)}.js .rv-t.in .rv{opacity:1;translate:0 0}}

/* ===== limpieza: jerarquia, balance y ritmo ===== */
:root{--sec:clamp(44px,6vw,80px)}
.rail,.wrap.idx,.revs,.wrap.trio,.wrap.shop{margin-block:0}
.rail,.idx,.revs,.trio,.shop{padding-block:calc(var(--sec)/2)}
.rail-h h2,.idx h2,.sec,.revs-h h2{font-size:clamp(1.25rem,2.2vw,1.75rem)}
.idx-l a{font-size:clamp(1rem,1.5vw,1.2rem)!important;padding-block:14px!important}
.idx-l a span{font-size:1em}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.trio .panel{height:100%}
.trio .eb{flex-direction:row;align-items:center}.trio .eb img{width:84px;height:auto;flex:none}
@media(max-width:900px){.trio{grid-template-columns:1fr}}
.med{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(24px,4vw,48px);border-radius:28px;background:#fff;color:#0b0b0b}
.med-k{display:inline-flex;align-items:center;gap:8px;font:500 .74rem var(--disp);letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:99px;background:#0b0b0b;color:var(--ac);margin-bottom:16px}
.med h2{font-size:clamp(1.6rem,3.2vw,2.6rem);margin:0 0 12px;color:#0b0b0b}
.med p{margin:0 0 22px;color:#2b2d2b;max-width:46ch}
.med .cta{display:flex;flex-wrap:wrap;gap:10px}
.med .btn:not(.btn-ghost-d){background:#0b0b0b;color:#fff}.med .btn:not(.btn-ghost-d):hover{box-shadow:0 6px 0 -2px var(--ac)}
.btn-ghost-d{background:transparent;color:#0b0b0b;box-shadow:inset 0 0 0 1.5px #0b0b0b}.btn-ghost-d:hover{background:#0b0b0b;color:#fff}
.med-s{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.med-s li{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:18px;background:#f2f3ef}
.med-s b{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ac);color:#000;font:500 1rem var(--disp)}
.med-s span{font:500 1rem var(--disp);text-transform:uppercase;letter-spacing:.02em}.med-s small{display:block;margin-top:3px;font:400 .86rem var(--txt);text-transform:none;letter-spacing:0;color:#4a4d4a}
@media(max-width:900px){.med{grid-template-columns:1fr;border-radius:22px}}
/* ===== microanimaciones ===== */
:focus-visible{outline:2px solid var(--ac);outline-offset:3px;border-radius:6px}
.hd{transition:box-shadow .25s var(--out),background-color .25s var(--out)}.hd.stuck{box-shadow:0 10px 30px -18px #000}
@media(prefers-reduced-motion:no-preference){
html{scroll-behavior:smooth}
@view-transition{navigation:auto}
.hd{view-transition-name:hd}
::view-transition-old(root){animation:vt-out .14s ease both}::view-transition-new(root){animation:vt-in .22s var(--out) both}
@keyframes vt-out{to{opacity:0}}@keyframes vt-in{from{opacity:0}}
.js [data-r]{opacity:0;translate:0 14px;transition:opacity .5s var(--out),translate .5s var(--out);transition-delay:calc(var(--i,0)*60ms)}
.js [data-r].seen{opacity:1;translate:0 0}
.btn,.chip,.bchip,.panel,.rubs a,.hd-lk,.hd-wa{transition-property:transform,box-shadow,background-color,color,opacity,translate;transition-duration:.18s;transition-timing-function:var(--out)}
.btn .ic,.lnk .ic{transition:translate .2s var(--out)}
.med-s li{transition:translate .25s var(--out),background-color .2s ease}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.btn:hover .ic:last-child,.lnk:hover .ic,a:hover>.lnk .ic{translate:4px 0}
.med-s li:hover{translate:6px 0;background:#e9ecdf}
.bchip:hover{translate:0 -3px}
.rv:hover{translate:0 -4px;border-color:#c1ff7255}
.rv{transition:translate .25s var(--out),border-color .2s ease,opacity .5s var(--out)}
}
.btn:active,.chip:active{transform:scale(.97)}
.med>*{min-width:0}.med .btn{white-space:normal;text-align:center}
@media(max-width:900px){.med{grid-template-columns:minmax(0,1fr)}.med .cta .btn{flex:1 1 100%}.med .btn-lg{padding:15px 18px;font-size:.92rem}}
.ft-cta>*{min-width:0}.ft-cta h2{font-size:clamp(1.35rem,6.2vw,2.6rem);overflow-wrap:anywhere}
@media(max-width:900px){.ft-cta{grid-template-columns:minmax(0,1fr)}.ft-cta .btn{white-space:normal;text-align:center}}
/* Morris Sans es ancha: evitar desborde en celular */
.btn{max-width:100%;white-space:normal;text-align:center;line-height:1.15}
h1,h2,h3{overflow-wrap:anywhere}
.cartg>*,.pdg>*,.shop>*,.hero-in>*,.duo>*,.trio>*,.ft-in>*,.bld>*,.bld-r,.cta>*{min-width:0}
@media(max-width:520px){.btn-lg{padding:15px 18px;font-size:.92rem}.btn{letter-spacing:0}.wrap h1,.pd h1,.cartp h1{font-size:clamp(1.5rem,7.4vw,2.2rem)}}
.rail-h a{white-space:nowrap}
.st li{min-width:0;overflow:hidden}
@media(max-width:520px){.st{gap:4px}.st li{font-size:.5rem;letter-spacing:0;padding:5px 1px}}

/* ===== portada: escena vertical de suplemento (9:16) ===== */
.hero-v.hv2{aspect-ratio:9/16;background:#0a0b08;max-width:380px;width:100%;justify-self:end;margin-inline:auto}
.hv2-in{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
.hv2 svg{position:absolute;inset:0;width:100%;height:100%}
.hv2-vig{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 45%,#0000 55%,#000000b3 100%);pointer-events:none}
.v-cam,.v-gl{transform-origin:270px 690px}.v-cam{transform:scale(1.18)}
.v-lid{transform-origin:270px 330px}.v-sc{transform-origin:270px 366px}
.v-dust circle{opacity:0;animation:vdust var(--t) linear var(--d) infinite}
.v-dr circle{opacity:0}
@media(prefers-reduced-motion:no-preference){
.v-cam{animation:vcam 12s ease-in-out infinite alternate}
.v-win{animation:vwin 9s ease-in-out infinite alternate}
.v-lid{animation:vlid 9s infinite}
.v-sc{animation:vsc 9s infinite}
.v-dr circle{animation:vdr 9s infinite;animation-delay:calc(var(--d) + 0s)}
.v-gl{animation:vgl 9s linear infinite}
.v-sh{animation:vshd 12s ease-in-out infinite alternate}
}
@media(prefers-reduced-motion:reduce){.v-sc{display:none}.v-dust circle{opacity:.5}}
@keyframes vcam{from{transform:scale(1.16)}to{transform:scale(1.24)}}
@keyframes vwin{from{opacity:.75;translate:-12px 0}to{opacity:1;translate:14px 0}}
@keyframes vshd{from{opacity:.7}to{opacity:.9}}
@keyframes vlid{0%,10%{transform:none;animation-timing-function:cubic-bezier(.23,1,.32,1)}24%,64%{transform:translate(92px,-150px) rotate(22deg);animation-timing-function:cubic-bezier(.77,0,.175,1)}76%,100%{transform:none}}
@keyframes vsc{0%,24%{transform:translateY(135px)}30%{transform:translateY(135px);animation-timing-function:cubic-bezier(.23,1,.32,1)}42%,50%{transform:translateY(-34px) rotate(-9deg);animation-timing-function:cubic-bezier(.77,0,.175,1)}60%,100%{transform:translateY(135px) rotate(0)}}
@keyframes vdr{0%,43%{opacity:0;transform:translateY(0)}46%{opacity:.95}58%{opacity:0;transform:translateY(46px)}100%{opacity:0;transform:translateY(46px)}}
@keyframes vgl{0%,66%{translate:-60px 0}90%,100%{translate:520px 0}}
@keyframes vdust{0%{opacity:0;transform:translate(0,0)}15%{opacity:.7}85%{opacity:.5}100%{opacity:0;transform:translate(26px,-170px)}}
@media(max-width:900px){.hero-v.hv2{max-width:300px;justify-self:center}}

/* ===== Mercury: negro/blanco, tarjetas grafito, pastillas, un solo acento ===== */
:root{--paper:#0a0a0b;--card:#161617;--card2:#1f1f21;--ln:#2a2a2d;--ink:#f4f4f1;--mut:#a9a9ad;--field:#1b1b1d;--r:16px;--pill:999px}
body{background:var(--paper);color:var(--ink)}
h1,h2,h3{font-weight:500;letter-spacing:-.02em}
/* barra y header */
.bar{background:#0f0f10;color:var(--ink);border-bottom:1px solid var(--ln)}.bar a,.bar span{color:var(--ink)}
.hd{background:color-mix(in srgb,var(--paper) 80%,transparent);border-bottom:1px solid var(--ln)}
.search{border-radius:var(--pill);background:var(--field)}.hd-wa,.cart{border-radius:var(--pill)}
.rubs a:first-child{color:var(--ink)}
/* botones: pastilla, sin sombra */
.btn{border-radius:var(--pill);box-shadow:none;font-weight:500}
.btn:hover{box-shadow:none;transform:translateY(-1px);filter:brightness(1.06)}
.btn-ghost{background:var(--card2);color:var(--ink);border:0}.btn-ghost:hover{background:#2a2a2d}
/* portada centrada, atmosférica */
.hero{position:relative;overflow:hidden;isolation:isolate;border-bottom:0}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 55% at 50% 0%,#2a2c2a 0%,#121213 55%,var(--paper) 100%),radial-gradient(40% 30% at 50% 100%,#c1ff7222,#0000)}
.hero::after{content:"";position:absolute;left:50%;bottom:-120px;width:min(900px,120vw);aspect-ratio:2/1;translate:-50% 0;border-radius:50%;background:radial-gradient(closest-side,#c1ff7230,#0000);z-index:-1;filter:blur(10px)}
.hero-in{grid-template-columns:1fr;justify-items:center;text-align:center;padding-top:clamp(56px,9vw,120px);padding-bottom:clamp(40px,6vw,80px);gap:0}
.hero-t{display:flex;flex-direction:column;align-items:center}
.hero-t h1{font-size:clamp(2.1rem,5.2vw,4.2rem);font-weight:500;max-width:18ch;letter-spacing:-.01em;line-height:1.05}
.hero-t p{max-width:52ch;margin:20px auto 0;color:#c8c8cb;font-size:1.05rem}
.hero-t .cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:32px}
.hero-links{justify-content:center;border-top:0;max-width:none;margin-top:26px;padding-top:0}
.hero-links a{color:var(--mut);font-weight:500}
.hero-v{display:none}
/* datos clave: tarjetas grafito */
.facts-row{gap:12px;border:0;padding-top:0}
.facts-row li{background:var(--card);border:0;border-radius:var(--r);padding:20px}
.facts-row li+li{border-left:0}
/* bloque medición: oscuro */
.med{background:var(--card);color:var(--ink);border-radius:24px}
.med h2{color:var(--ink)}.med p{color:#c8c8cb}
.med-k{background:var(--card2);color:var(--ink)}
.med .btn:not(.btn-ghost-d){background:var(--ac);color:#000}.med .btn:not(.btn-ghost-d):hover{box-shadow:none}
.med .btn-ghost-d{background:var(--card2);color:var(--ink);border:0}
.med-s li{background:var(--card2)}.med-s small{color:var(--mut)}
.med-s b{background:var(--ink);color:#000}
/* reseñas, tarjetas, banners */
.rv{background:var(--card);border:0;border-radius:20px}
.revs .btn-ghost,.rv-t+.btn{background:var(--card2)}
.panel,.trio .panel{background:var(--card);border:0;border-radius:24px}
section[class*=banner],.bchip{border-radius:24px}
.card,.pc,.p-card{background:var(--card);border:0;border-radius:20px}
@media(max-width:900px){.hero-in{padding-top:44px}.facts-row{grid-template-columns:1fr 1fr}}
.banner.b-lime{background:var(--card);color:var(--ink);border-radius:24px}.banner.b-lime p{color:#c8c8cb}
.banner.b-lime .btn-dark{background:var(--ac);color:#000}
.hero-t h1{font-size:clamp(1.9rem,4.4vw,3.4rem)}
.hero::after{display:none}
.hero::before{background:radial-gradient(70% 50% at 50% 0%,#2b2d2b 0%,#131314 55%,var(--paper) 100%)}
.facts-row{position:relative}

/* ===== Dirección WHOOP + Analogue: oscuro premium, vitrinas, acabado metálico ===== */
:root{--metal-line:linear-gradient(160deg,#ffffff5c,#ffffff12 40%,#ffffff33)}
.metal,.med,.banner.b-lime{border:1px solid transparent;border-radius:24px;
 background:
  repeating-linear-gradient(90deg,#ffffff07 0 1px,#0000 1px 3px) padding-box,
  linear-gradient(145deg,#2b2c2e 0%,#171718 42%,#222325 60%,#121213 100%) padding-box,
  var(--metal-line) border-box;
 box-shadow:inset 0 1px 0 #ffffff26,inset 0 -1px 0 #00000080}
.med{color:var(--ink)}
.med-s li{background:#f4f4f2;color:#0a0a0b}.med-s small{color:#4a4d4a}
.med-s b{background:#0a0a0b;color:#fff}
.med-k{background:#0a0a0b;color:var(--ink);border:1px solid #ffffff1f}
/* vitrina de producto */
.tile,.th,.ci .tile{background:
 radial-gradient(62% 48% at 50% 36%,#4b4c50 0%,#2b2c2f 40%,#161617 78%),
 repeating-linear-gradient(90deg,#ffffff06 0 1px,#0000 1px 3px),
 linear-gradient(180deg,#1d1d1f,#0f0f10);
 border:1px solid #ffffff14}
.tile::after{opacity:.05}
.tile::before{background:radial-gradient(50% 50% at 50% 50%,#ffffff2e,#fff0 72%);filter:blur(5px);bottom:5%;height:8%}
.tile img{filter:drop-shadow(0 14px 14px #000000b8) drop-shadow(0 0 1px #ffffff5c)}
.tile:has(img.op),.th:has(img.op){background:linear-gradient(180deg,#f6f6f4,#e3e4e6);border-color:#ffffff22}
.tile:has(img.op)::before{display:none}
.tile img.op,.th img.op{mix-blend-mode:multiply;filter:none}
.tile.big{border-radius:24px}
.card{background:var(--card);border-radius:20px;padding:0 0 14px;overflow:hidden}
.card .tile{border-radius:20px 20px 0 0;border-width:0 0 1px}
.card>*:not(.tile){margin-left:14px;margin-right:14px}
/* insignias */
.bds .bd,.bd{border-radius:var(--pill)}
/* reseñas estilo vitrina */
.rv{background:#0e0e0f;border:1px solid #ffffff1f}
/* marcas: banda clara */
section.wrap:has(.bgrid){background:#f4f4f2;color:#0a0a0b;border-radius:24px;padding:clamp(24px,4vw,48px);margin-top:clamp(40px,6vw,72px);max-width:calc(1320px - 40px)}
section.wrap:has(.bgrid) .muted{color:#4a4d4a}
.bchip{background:#fff;border:1px solid #e5e7eb;border-radius:16px}
.bchip img{filter:grayscale(1) contrast(1.05)}
@media(hover:hover) and (pointer:fine){.bchip:hover img{filter:none}}
.tile,.th,.ci .tile{background:
 radial-gradient(58% 46% at 50% 38%,#5d5e63 0%,#323336 38%,#171718 78%),
 repeating-linear-gradient(90deg,#ffffff06 0 1px,#0000 1px 3px),
 linear-gradient(180deg,#1f1f21,#0f0f10)}
.tile:has(img.op),.th:has(img.op){background:linear-gradient(180deg,#f6f6f4,#e3e4e6)}
.bchip{background:#141415;border:0}.bchip img{filter:none}
.eb h3,.eb h2{font-size:clamp(1.05rem,1.6vw,1.35rem);overflow-wrap:normal;hyphens:auto}
@media(max-width:900px){.hd-in{flex-wrap:wrap}.hd-in .search{order:5;flex:1 1 100%;max-width:none}.cart{order:3;margin-left:0}.hd-wa{margin-left:auto}}
.bds{flex-wrap:wrap;gap:4px}
@media(max-width:520px){.bds .bd:nth-child(n+2){display:none}}
@media(max-width:520px){.bds .bd:nth-child(n+2){display:inline-flex}
 .tile .bd-i{top:auto!important;bottom:8px!important;left:8px!important;right:auto!important;font-size:.58rem}
 .hd-in{gap:8px;padding:10px 14px}.logo{font-size:1.1rem;gap:7px}.logo img{height:28px}.hd-wa{padding:8px}.cart{padding:8px}}

/* ---- cookies obligatorias, centradas */
#consent{position:fixed;inset:0;z-index:200;left:0;right:0;bottom:0;max-width:none;width:auto;padding:16px;border:0;border-radius:0;background:#000000d9;backdrop-filter:blur(6px);display:grid;place-items:center}
#consent[hidden]{display:none}
#consent .cm{width:min(92vw,460px);background:#111113;color:#f4f4f1;border:1px solid #ffffff26;border-radius:24px;padding:28px;text-align:center;box-shadow:0 30px 80px #000}
#consent h2{font-size:1.5rem;margin:0 0 10px}#consent p{font-size:.95rem;line-height:1.5;margin:0 0 18px;color:#d6d6d9}#consent .cm-s{font-size:.82rem;margin:14px 0 0;color:#a9a9ad}#consent a{color:#C1FF72;text-decoration:underline}
#consent .btn{width:100%;justify-content:center}
html.cx,html.cx body{overflow:hidden}
@media(max-width:900px){#consent{padding:16px;left:0;right:0;bottom:0}#consent p{font-size:.95rem}}
/* ---- migas de pan */
.bc{max-width:1200px;margin:0 auto;padding:14px 20px 0}.bc ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:.82rem;color:#a9a9ad}
.bc li+li::before{content:"/";margin-right:6px;color:#6b6b70}.bc a{color:#d6d6d9;text-decoration:none}.bc a:hover{color:#C1FF72}.bc [aria-current]{color:#f4f4f1}
/* ---- preguntas frecuentes y mapa */
.faq{max-width:860px;margin:56px auto}.faq h2{margin:0 0 18px}
.faq details{border-top:1px solid #2a2a2d;padding:16px 0}.faq details:last-of-type{border-bottom:1px solid #2a2a2d}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:#C1FF72;font-size:1.3rem;line-height:1}.faq details[open] summary::after{content:"–"}
.faq p{margin:10px 0 0;color:#cfcfd3;line-height:1.55}
.mapbox{max-width:860px;margin:40px auto}.mapbox iframe{width:100%;height:340px;border:0;border-radius:20px;background:#161617;filter:grayscale(.3) contrast(1.05)}
/* ---- barra fija móvil */
.mbar{display:none}
@media(max-width:900px){.mbar{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#0a0a0bf2;backdrop-filter:blur(10px);border-top:1px solid #2a2a2d}
.mbar a{display:grid;place-items:center;min-height:46px;border-radius:999px;font-weight:700;font-size:.88rem;text-transform:uppercase;letter-spacing:.02em;color:#f4f4f1;border:1px solid #3a3a3e;text-decoration:none}
.mbar a:first-child{background:#C1FF72;color:#000;border-color:#C1FF72}.mbar a:active{transform:scale(.97)}
.wafab{display:none}body{padding-bottom:72px}}

.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
#consent div.cm{display:block}#consent .btn{padding:16px 20px;border-radius:999px;display:flex;width:100%}
.desc p.sub{font-weight:600;color:#f4f4f1;margin-top:18px}.desc ul{padding-left:20px;margin:10px 0}.desc li{margin:4px 0}
.bc{max-width:1320px}.bc+*>.crumb,.bc+script+*>.crumb,.bc~section .crumb{display:none}
@media(max-width:900px){.bc{padding:12px 16px 0}}

/* ---- metal + video ---- */
.hv2{aspect-ratio:4/5;max-width:420px}
.hv2-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vband{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px;align-items:center;padding-block:48px}
.vb-h h2{margin:0 0 12px}.vb-h p{color:#cfcfc9;max-width:42ch;margin:0 0 20px}
.vb-g{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vb-g figure{margin:0;aspect-ratio:1;border-radius:22px;overflow:hidden;position:relative}
.vb-g video{width:100%;height:100%;object-fit:cover;display:block}
.metal{background:linear-gradient(145deg,#f4f4f1 0%,#9a9d96 22%,#2a2c28 48%,#c9ccc4 70%,#5b5e57 100%);padding:2px;border:0}
.metal>video{border-radius:20px}
@media(max-width:900px){.vband{grid-template-columns:1fr;padding-block:32px}}

.hero-bg{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;opacity:.4;z-index:-1;-webkit-mask-image:linear-gradient(#0000 0,#000 35%,#000 70%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 35%,#000 70%,#0000 100%)}
.hero-t h1,.hero-t p{text-shadow:0 2px 24px #000}

/* ---- aspecto metálico (lima / blanco / negro) ---- */
:root{--mt-w:linear-gradient(135deg,#fff 0%,#c9ccc4 18%,#6d706a 40%,#e8eae3 58%,#8b8e87 80%,#f4f4f1 100%);--mt-l:linear-gradient(135deg,#eaffc2 0%,#c1ff72 28%,#7fbf2a 52%,#d6ff9b 74%,#9fe04f 100%);--mt-k:linear-gradient(145deg,#3a3c38 0%,#151614 35%,#2b2d29 60%,#0c0d0b 100%);--brush:repeating-linear-gradient(90deg,#ffffff0a 0 1px,#0000 1px 3px)}
.card,.facts-row li,.panel,.med,.faq details{position:relative;background:var(--brush),var(--mt-k) padding-box,var(--mt-w) border-box;border:1px solid transparent}
.card:hover{background:var(--brush),var(--mt-k) padding-box,var(--mt-l) border-box}
.btn:not(.btn-ghost):not(.btn-ghost-d):not(.btn-dark):not(.btn-wa){background:var(--mt-l);box-shadow:inset 0 1px 0 #ffffffb3,inset 0 -2px 0 #4a7a1455,0 6px 18px #c1ff7224;color:#0b0b0b}
.btn-dark,.btn-ghost-d{background:var(--brush),var(--mt-k) padding-box,var(--mt-w) border-box;border:1px solid transparent;color:#fff}
.btn:not(.btn-ghost):not(.btn-dark):not(.btn-wa):hover{filter:brightness(1.06) saturate(1.05)}
.rubs{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,#0000,#c9ccc4 20%,#c1ff72 50%,#c9ccc4 80%,#0000) 1}
.ft{border-top:2px solid transparent;border-image:linear-gradient(90deg,#0000,#8b8e87 15%,#f4f4f1 35%,#c1ff72 50%,#f4f4f1 65%,#8b8e87 85%,#0000) 1}
main h2{background:linear-gradient(180deg,#fff 0%,#f4f4f1 45%,#9a9d96 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
main h2::after{content:"";display:block;width:64px;height:3px;margin-top:10px;border-radius:3px;background:var(--mt-l)}
.hero-t h1{background:linear-gradient(180deg,#fff 0%,#eceee8 50%,#a9aca4 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 2px 18px #000)}
.hero-t h2::after,.med h2::after,.vb-h h2::after{margin-inline:0}
@media(prefers-reduced-motion:no-preference){.card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,#0000 35%,#ffffff1f 50%,#0000 65%);background-size:250% 100%;background-position:130% 0;opacity:0;transition:opacity .2s,background-position .7s var(--out,ease-out);pointer-events:none}.card:hover::after{opacity:1;background-position:-30% 0}}
section.wrap:has(.bgrid){background:var(--brush),linear-gradient(145deg,#f7f7f4 0%,#dcded8 55%,#f1f2ee 100%)}
section.wrap:has(.bgrid) h2,section.wrap:has(.bgrid) h2.sec{background:linear-gradient(180deg,#0b0b0b 0%,#2b2d29 60%,#4a4d4a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
section.wrap:has(.bgrid) h2::after{background:linear-gradient(90deg,#7fbf2a,#c1ff72)}

/* galería de fotos (reemplaza los videos) */
.vband{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr)}
.vb-g{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#C1FF72 #1a1a1a;padding:4px 2px 14px;-webkit-overflow-scrolling:touch;outline-offset:4px}
.vb-g figure{flex:0 0 min(62%,300px);aspect-ratio:1;scroll-snap-align:start;border-radius:22px}
.vb-g img{width:100%;height:100%;object-fit:cover;display:block}
.hero-bg{opacity:.32}
@media(max-width:900px){.vband{grid-template-columns:1fr}.vb-g figure{flex-basis:70%}}
