*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
a{color:var(--lilac-700)}a:hover{color:var(--ink)}
::selection{background:var(--mango-100)}
:focus-visible{outline:2px solid var(--lilac-700);outline-offset:3px}
.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
.m{font:var(--text-note);letter-spacing:.03em}
.mu{font:var(--text-label);letter-spacing:var(--letter-label);text-transform:uppercase}
.d{font-weight:700;letter-spacing:var(--tracking-display);line-height:.92;margin:0}
.t{font-weight:700;letter-spacing:var(--tracking-title);line-height:1.02;margin:0}
.lead{font:400 clamp(17px,1.5vw,19px)/1.5 var(--font-body);color:var(--body);margin:0;text-wrap:pretty}
.rule{border:0;border-top:var(--rule);margin:0}
.ast{color:var(--red)}
.nw{white-space:nowrap}
.btn{border:0;cursor:pointer;white-space:nowrap;font:700 15px/1 var(--font-body);padding:15px 20px;display:inline-flex;gap:24px;align-items:center;background:var(--ink);color:#fff;transition:gap .25s var(--ease-out);text-decoration:none}
.btn:hover{gap:36px;color:#fff}
.btn.spark{background:var(--mango);color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.ghost.on-dark{color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.sec{padding-top:clamp(72px,9vw,120px)}
.sh{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:14px;border-bottom:var(--rule);margin-bottom:clamp(28px,4vw,48px)}
.sh .mu,.sh .m{white-space:nowrap}
.sh .m{color:var(--mute)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px 56px;align-items:end}
/* nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair)}
.nav .wrap{display:flex;align-items:center;gap:24px;height:68px}
.logo{display:flex;gap:12px;align-items:center;margin-right:auto;text-decoration:none;color:var(--ink);font:700 16px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
.logo img{width:36px;height:36px}
.logo .cr{display:inline-block;max-width:0;overflow:hidden;vertical-align:bottom;transition:max-width .35s;text-decoration:line-through;text-decoration-color:var(--red);color:var(--mute)}
.logo:hover .cr,body.crisis .logo .cr{max-width:2.2em}
.nav nav{display:flex;gap:20px}
.nav nav a{font:var(--text-label);letter-spacing:.14em;text-transform:uppercase;color:var(--lead);text-decoration:none;white-space:nowrap}
.nav nav a:hover{color:var(--ink)}
.nav nav a b{color:var(--mute);font-weight:400;margin-right:4px}
.nav .btn{padding:12px 16px;font-size:14px}
@media (max-width:1100px){.nav nav{display:none}}
/* hero */
.hero{padding-top:clamp(40px,6vw,72px)}
.hero .meta{display:flex;flex-wrap:wrap;gap:8px 28px;padding:14px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-top:clamp(28px,4vw,44px);color:var(--lead)}
/* esencia */
.ess{display:grid;grid-template-columns:minmax(0,7fr) auto minmax(0,4fr);align-items:center;gap:0 clamp(12px,2vw,28px)}
.ess .rows{display:flex;flex-direction:column}
.ess .r{display:grid;grid-template-columns:48px minmax(max-content,1fr) minmax(0,1.3fr);gap:8px 24px;align-items:baseline;padding:20px 0;border-top:1px solid var(--hair)}
.ess .r:first-child{border-top:0;padding-top:4px}
@media (max-width:1200px){.ess .r{grid-template-columns:48px 1fr}.ess .r p{grid-column:2}}
.ess .r:last-child{border-bottom:1px solid var(--hair)}
.brace{font:200 clamp(160px,20vw,300px)/1 var(--font-display);color:var(--lilac-300);text-align:center}
@media (max-width:1100px){.ess{grid-template-columns:1fr;gap:28px}.brace{display:none}}
@media (max-width:860px){.ess{grid-template-columns:1fr}.brace{display:none}.ess .r{grid-template-columns:36px 1fr}.ess .r p{grid-column:2}}
/* anatomía */
.anat{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px) minmax(0,1fr);align-items:stretch}
.anat .col{display:flex;flex-direction:column;justify-content:space-around;gap:28px;padding:40px 0}
.anat .fig{position:relative;margin:0}
.anat .fig img{width:100%;display:block}
.pin{position:relative;display:flex;flex-direction:column;gap:4px}
.pin .n{font:700 12px/1 var(--font-mono);color:var(--mango-700)}
.pin .ti{font-weight:700;font-size:20px;letter-spacing:-.02em;line-height:1.1}
.pin .de{font-size:14px;line-height:1.45;color:var(--body)}
.pin .ld{position:absolute;top:6px;height:1px;background:var(--ink)}
.pin .ld::after{content:"";position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--mango)}
.l .pin{text-align:right;align-items:flex-end;padding-right:clamp(40px,6vw,90px)}
.l .pin .ld{right:0;width:clamp(28px,5vw,80px)}.l .pin .ld::after{right:-3px}
.r .pin{padding-left:clamp(40px,6vw,90px)}
.r .pin .ld{left:0;width:clamp(28px,5vw,80px)}.r .pin .ld::after{left:-3px}
@media (max-width:860px){.anat{grid-template-columns:1fr}.anat .fig{order:-1;max-width:320px;margin:0 auto}.anat .col{padding:0;gap:0}.anat .pin{text-align:left!important;align-items:flex-start!important;padding:16px 0!important;border-top:1px solid var(--hair)}.pin .ld{display:none}}
/* servicios */
.svc{display:grid;grid-template-columns:48px minmax(0,5fr) minmax(0,6fr) 40px;gap:20px;align-items:baseline;padding:26px 0;border-top:1px solid var(--hair)}
.svc:last-child{border-bottom:1px solid var(--hair)}
.svc .t{font-size:clamp(26px,3vw,40px)}
@media (max-width:860px){.svc{grid-template-columns:36px 1fr}.svc>:nth-child(3),.svc>:nth-child(4){grid-column:2}}
/* proceso */
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.step{padding:0 clamp(14px,2vw,26px) 0;border-left:1px solid var(--hair);display:flex;flex-direction:column;gap:12px;position:relative}
.step:first-child{border-left:0;padding-left:0}
.step .k{display:flex;justify-content:space-between;align-items:center}
.step .t{font-size:clamp(28px,3vw,40px)}
.step p{margin:0;font-size:15px;line-height:1.5;color:var(--body)}
.step .ar{font:300 28px/1 var(--font-display);color:var(--mute)}
@media (max-width:860px){.flow{grid-template-columns:1fr 1fr}.step:nth-child(3){border-left:0;padding-left:0}.step{padding-bottom:28px}}
/* experiencia */
.exp{border-top:1px solid var(--hair)}
.exp:last-of-type{border-bottom:1px solid var(--hair)}
.exp summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,220px) 28px;gap:20px;align-items:baseline;padding:18px 0}
.exp summary::-webkit-details-marker{display:none}
.exp .yr{font:700 13px/1.3 var(--font-mono);color:var(--lead)}
.exp .ro{font-weight:700;font-size:clamp(19px,2vw,24px);letter-spacing:-.02em;line-height:1.15}
.exp .org{display:block;font:var(--text-label);letter-spacing:.14em;text-transform:uppercase;color:var(--lilac-700);margin-top:6px}
.exp .pl{font:var(--text-note);color:var(--mute)}
.exp .tg{font:300 26px/1 var(--font-display);transition:transform .25s var(--ease-out);text-align:right}
.exp[open] .tg{transform:rotate(45deg)}
.exp .bd{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,220px) 28px;gap:20px;padding:0 0 22px}
.exp .bd p{grid-column:2/4;margin:0;font-size:16px;line-height:1.55;color:var(--body);max-width:680px}
.exp:hover summary .ro{color:var(--lilac-700)}
@media (max-width:760px){.exp summary{grid-template-columns:1fr 28px}.exp .yr{grid-column:1}.exp .ro{grid-column:1}.exp .pl{grid-column:1}.exp .tg{grid-row:1;grid-column:2}.exp .bd{grid-template-columns:1fr}.exp .bd p{grid-column:1}}
.foot-note{display:flex;gap:10px;align-items:baseline;margin-top:18px;color:var(--body);font-size:15px}
.cert{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));border-top:var(--rule);margin-top:56px}
.cert>div{padding:18px 20px 0 0;display:flex;flex-direction:column;gap:6px}
.cert>div+div{border-left:1px solid var(--hair);padding-left:20px}
/* universo */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:var(--ink);padding:10px}
.tile{aspect-ratio:1/.78;padding:clamp(16px,2vw,24px);display:flex;flex-direction:column;justify-content:space-between;gap:12px;text-decoration:none;color:var(--ink);transition:transform .25s var(--ease-out)}
.tile:hover{transform:translateY(-4px);color:var(--ink)}
.tile .t{font-size:clamp(26px,2.8vw,36px)}
.tile p{margin:0;font-size:15px;line-height:1.45}
.tile .go{display:flex;justify-content:space-between;align-items:flex-end}
@media (max-width:860px){.tiles{grid-template-columns:1fr}.tile{aspect-ratio:auto;min-height:220px}}
/* frase partida */
.split{position:relative;display:grid;grid-template-columns:40fr 60fr;min-height:clamp(320px,36vw,480px)}
.split .q{position:absolute;left:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);top:clamp(24px,3vw,40px);font-weight:700;letter-spacing:var(--tracking-display);line-height:.95;font-size:clamp(40px,6.2vw,92px);margin:0;pointer-events:none}
.split .q.b{color:#fff;clip-path:inset(0 0 0 calc(40% - clamp(20px,3vw,40px)))}
.split .q.a{clip-path:inset(0 calc(60% - clamp(20px,3vw,40px)) 0 0)}
.split .sig{position:absolute;right:clamp(20px,3vw,40px);bottom:24px;color:#fff}
@media (max-width:860px){.split{grid-template-columns:1fr;background:var(--mango)}.split>div{display:none}.split .q{position:relative;left:auto;right:auto;top:auto;padding:28px 20px 80px;clip-path:none!important}.split .q.b{display:none}.split .sig{color:var(--ink)}}
/* recomendaciones */
.tr{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(min(86%,420px),1fr);gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.tr::-webkit-scrollbar{display:none}
.tc{scroll-snap-align:start;padding:0 clamp(18px,2.4vw,32px) 8px 0;display:flex;flex-direction:column;gap:20px;border-right:1px solid var(--hair);margin-right:clamp(18px,2.4vw,32px)}
.tc .qq{font-weight:500;font-size:clamp(18px,1.7vw,21px);line-height:1.4;letter-spacing:-.01em;margin:0;text-wrap:pretty}
.tc .qq::before{content:"“";color:var(--mango)}.tc .qq::after{content:"”";color:var(--mango)}
.tc .who{margin-top:auto;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;padding-top:14px;border-top:1px solid var(--hair)}
.tc .av{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font:700 12px/1 var(--font-mono)}
.tctrl{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:16px}
.tctrl button{width:48px;height:48px;border:0;box-shadow:inset 0 0 0 1.5px var(--ink);background:#fff;cursor:pointer;font:400 20px/1 var(--font-display);color:var(--ink)}
.tctrl button:hover{background:var(--ink);color:#fff}
/* contacto */
.cont{background:var(--ink);color:#fff;padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:40px}
.cont form{display:grid;grid-template-columns:110px minmax(0,1fr);font:400 15px/1.4 var(--font-body)}
.cont label{font:var(--text-note);padding:14px 0;border-top:1px solid #4f4d52;color:#a9a7ad}
.cont input,.cont textarea{background:transparent;border:0;border-top:1px solid #4f4d52;color:#fff;font:inherit;padding:14px 0;outline:none;resize:none;min-width:0}
.cont input::placeholder,.cont textarea::placeholder{color:#76747a}
.cont .lastl,.cont textarea{border-bottom:1px solid #4f4d52}
/* fab + footer */
.fab{position:fixed;right:18px;bottom:18px;z-index:60;display:inline-flex;gap:14px;align-items:center;background:var(--ink);color:#fff;text-decoration:none;padding:14px 18px;font:700 14px/1 var(--font-body);transition:gap .25s var(--ease-out),transform .3s var(--ease-out);transform:translateY(140%)}
.fab.show{transform:none}
.fab:hover{gap:24px;color:#fff}
.fab i{width:8px;height:8px;border-radius:50%;background:#3fbf6e}
.foot{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding:32px 0 88px}

/* anatomía interactiva */
.anat{position:relative}
.wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}
.wires path{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset .6s var(--ease-out)}
.wires path.on{stroke-dashoffset:0}
.pin{cursor:pointer;transition:opacity .3s}
.anat.focus .pin{opacity:.3}
.anat.focus .pin.on{opacity:1}
.pin.on .ti{color:var(--lilac-700)}
.pin.on .n{color:var(--red)}
.pin:focus-visible{outline:2px solid var(--lilac-700);outline-offset:6px}
.hs{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border:0;padding:0;border-radius:50%;background:transparent;cursor:pointer;z-index:4}
.hs::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--mango);transition:transform .3s var(--ease-out),background .3s}
.hs::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--mango);animation:hsp 2.4s ease-out infinite}
.hs span{position:absolute;left:50%;top:-22px;transform:translateX(-50%);white-space:nowrap;font:700 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:#fff;padding:4px 6px;opacity:0;transition:opacity .2s;pointer-events:none}
.hs b{display:none}
.hs:hover span,.anat:not(.multi) .hs.on span{opacity:1}
.wires path.halo{stroke:#fff;stroke-width:5;opacity:.9}
.hs.on::before{background:var(--red);transform:scale(1.25)}
.hs.on::after{animation:none;box-shadow:inset 0 0 0 1.5px var(--red)}
@keyframes hsp{0%{transform:scale(.6);opacity:1}80%,100%{transform:scale(1.6);opacity:0}}
.zoom{position:relative}
.mob{display:none}
@media (max-width:860px){
.wires{display:none}
.anat{display:flex;flex-direction:column;gap:0}
.anat .col{display:none}
.anat .fig{order:0;width:100%;max-width:none;height:min(78vw,380px);overflow:hidden;margin:0;background:#fff;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);position:relative}
.zoom{width:min(62vw,260px);margin:0 auto;transform-origin:var(--ox,50%) var(--oy,30%);transform:translateY(var(--ty,0)) scale(var(--s,1));transition:transform .7s var(--ease-out),transform-origin .7s var(--ease-out)}
.hs{pointer-events:none;opacity:0;transition:opacity .3s}
.hs.on{opacity:1}
.hs::before{inset:8px;background:var(--red);box-shadow:0 0 0 3px #fff}
.hs::after{animation:hsp 2.4s ease-out infinite;box-shadow:inset 0 0 0 1.5px var(--red)}
.hs span,.hs b{display:none}
.mob{display:flex;flex-direction:column;gap:0}
.mtabs{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:var(--rule)}
.mtabs button{border:0;background:#fff;padding:14px 0;font:700 12px/1 var(--font-mono);color:var(--mute);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1.5px}
.mtabs button.on{color:var(--ink);border-bottom-color:var(--red)}
.mcard{display:flex;flex-direction:column;gap:10px;padding:20px 0 0;min-height:210px}
.mhead{display:flex;justify-content:space-between;align-items:baseline}
.mnav{display:flex;gap:8px;margin-top:auto;padding-top:8px}
.mnav button{height:48px;border:0;box-shadow:inset 0 0 0 1.5px var(--ink);background:#fff;font:700 14px/1 var(--font-body);color:var(--ink);cursor:pointer;padding:0 18px}
.mnav button:last-child{flex:1;background:var(--ink);color:#fff}
#allAt,#anatState{display:none}
}

@media (max-width:560px){
.logo{font-size:13px;letter-spacing:.08em;gap:8px}.logo img{width:30px;height:30px}
.nav .wrap{gap:12px}.nav .btn{padding:11px 12px;gap:10px;font-size:13px}
.hero .meta .nw{white-space:normal}
.sh{flex-wrap:wrap;row-gap:6px}.sh .m{white-space:normal}
html,body{overflow-x:clip}
}

/* menú móvil */
.nav{position:sticky}
.prog{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform-origin:0 50%;transform:scaleX(0)}
.mbtn{display:none;border:0;background:transparent;cursor:pointer;align-items:center;gap:10px;font:700 12px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:12px 0;min-height:44px}
.mbtn i{width:18px;height:10px;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
.midx{position:fixed;inset:0;z-index:100;background:#fff;display:flex;flex-direction:column;transform:translateY(-100%);transition:transform .45s var(--ease-out);visibility:hidden}
.midx.open{transform:none;visibility:visible}
.midx>.wrap{width:100%}
.mtop{display:flex;justify-content:space-between;align-items:center;height:68px;border-bottom:var(--rule)}
.mclose{border:0;background:transparent;font:700 12px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--ink);min-height:44px}
.mlist{display:flex;flex-direction:column;flex:1;overflow:auto;padding-top:8px;padding-bottom:8px}
.mlist a{display:grid;grid-template-columns:40px 1fr;align-items:baseline;gap:8px;padding:13px 0;border-bottom:1px solid var(--hair);text-decoration:none;color:var(--ink)}
.mlist a b{font:700 11px/1 var(--font-mono);color:var(--mute)}
.mlist a span{font-weight:700;font-size:clamp(26px,8vw,36px);letter-spacing:-.035em;line-height:1}
.mlist a.cur b{color:var(--red)}
.mlist a.cur span::after{content:"*";color:var(--red)}
.mfoot{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:18px;padding-bottom:28px;border-top:var(--rule)}
@media (max-width:1100px){.mbtn{display:inline-flex}}
@media (max-width:560px){.nav .hb{display:none}}

.lang{display:inline-flex;align-items:center;gap:0}
.lang button{border:0;background:transparent;cursor:pointer;font:700 11px/1 var(--font-mono);letter-spacing:.1em;color:var(--mute);padding:10px 4px;min-height:32px;position:relative}
.lang button+button::before{content:"/";position:absolute;left:-3px;color:var(--hair);font-weight:400}
.lang button:hover{color:var(--ink)}
.lang button.on{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:1.5px;text-underline-offset:4px}
.mtop .lang{margin-left:auto;margin-right:16px}


/* más color arriba */
.hl{background:linear-gradient(transparent 58%,var(--mango) 58%,var(--mango) 92%,transparent 92%);color:inherit;padding:0 .04em}
.meta .dot{display:inline-flex;align-items:center;gap:8px}
.meta .dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);flex:0 0 8px}
.band{display:grid;grid-template-columns:3fr 2fr 1fr 1.2fr 4fr 2.4fr;height:clamp(14px,1.6vw,22px);margin-top:18px}
.num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--c);color:#fff;font:700 11px/1 var(--font-mono);align-self:center}
.svc[style*="mango"] .num,.r[style*="mango"] .num{color:var(--ink)}
.ess .r{transition:background .25s}
.ess .r:hover{background:var(--t)}
.ess-focus{display:flex;flex-direction:column;gap:10px;background:var(--mango-100);padding:clamp(18px,2.4vw,28px)}
.brace{color:var(--lilac)}
.svc{transition:background .25s,padding .25s}
.svc:hover{background:color-mix(in oklch,var(--c) 14%,white);padding-left:12px;padding-right:12px}
#margin{background:var(--lilac-100)}
.pin .n{color:var(--lilac-700)}
.anat .pin:nth-child(1) .n,.anat .col.r .pin:nth-child(1) .n{color:var(--mango-700)}
.svc .num{align-self:start;margin-top:.15em}

/* contacto claro */
.cont{background:var(--lilac-100);color:var(--ink)}
.cont label{color:var(--lilac-700);border-top-color:var(--lilac-300)}
.cont input,.cont textarea{color:var(--ink);border-top-color:var(--lilac-300)}
.cont .lastl,.cont textarea{border-bottom-color:var(--lilac-300)}
.cont input::placeholder,.cont textarea::placeholder{color:var(--mute)}
.cont input:focus,.cont textarea:focus{background:rgba(255,255,255,.55)}

/* anatomía v3: zoom en escritorio, sin puntos */
@media (min-width:861px){
.anat .fig{height:clamp(520px,46vw,660px);overflow:hidden;align-self:center}
.zoom{width:100%;max-width:440px;margin:0 auto;transform-origin:var(--ox,50%) var(--oy,50%);transform:translateY(var(--ty,0)) scale(var(--s,1));transition:transform .7s var(--ease-out),transform-origin .7s var(--ease-out)}
.hs{display:none}}
.pin .ld{transition:background .3s,width .3s}
.pin.on .ld{background:var(--red)}
.pin.on .ld::after{background:var(--red)}
.anat.focus .pin.on .de{color:var(--ink)}

/* visor de zoom (escritorio) */
.vf{display:none}
@media (min-width:861px){
.anat .fig{position:relative}
.vf{display:block;position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s}
.anat.focus .vf{opacity:1}
.vf .c{position:absolute;width:22px;height:22px;border:0 solid var(--ink)}
.vf .tl{left:10px;top:10px;border-top-width:1.5px;border-left-width:1.5px}
.vf .tr{right:10px;top:10px;border-top-width:1.5px;border-right-width:1.5px}
.vf .bl{left:10px;bottom:10px;border-bottom-width:1.5px;border-left-width:1.5px}
.vf .br{right:10px;bottom:10px;border-bottom-width:1.5px;border-right-width:1.5px}
.mini{position:absolute;right:22px;top:22px;width:54px;background:#fff;box-shadow:0 0 0 1px var(--hair)}
.mini img{width:100%;display:block;opacity:.55}
.mini b{position:absolute;border:1.5px solid var(--red);transition:all .6s var(--ease-out)}
.cap{position:absolute;left:22px;bottom:22px;display:flex;gap:10px;align-items:center;background:var(--ink);color:#fff;padding:8px 12px}
.cap .m{color:#fff}.cap #capS{color:var(--mango)}
}

/* crisis-ómetro */
.qz{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.qz-q{display:grid;grid-template-columns:40px 1fr;gap:10px 12px;padding:18px 0;border-top:1px solid var(--hair)}
.qz-q:last-child{border-bottom:1px solid var(--hair)}
.qz-q .qn{color:var(--mute);padding-top:4px}
.qz-q .qt{font-weight:700;font-size:clamp(18px,1.8vw,22px);letter-spacing:-.02em;line-height:1.2}
.qz-q.done .qn{color:var(--red)}
.qo{grid-column:2;display:flex;flex-wrap:wrap;gap:8px}
.qo button{border:0;cursor:pointer;background:var(--soft);color:var(--ink);font:500 14px/1 var(--font-body);padding:11px 14px;min-height:40px;transition:background .2s,color .2s,transform .2s var(--ease-out)}
.qo button:hover{background:var(--lilac-100)}
.qo button.on{background:var(--ink);color:#fff}
.qo button[data-v="0"].on{background:var(--lilac-700)}
.qo button[data-v="1"].on{background:var(--mango);color:var(--ink)}
.qo button[data-v="2"].on{background:var(--red)}
.qz-res{position:sticky;top:88px;background:var(--mango-100);padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:14px;min-height:460px;transition:background .5s}
.qz-res.l0{background:var(--lilac-100)}.qz-res.l1{background:var(--mango-100)}.qz-res.l2{background:var(--red-100)}
.qz-pct{font-weight:700;font-size:clamp(88px,9vw,132px);line-height:.85;letter-spacing:-.06em;display:flex;align-items:flex-start}
.qz-pct small{font-size:.4em;margin-top:.12em;letter-spacing:0}
.qz-pct .ast{font-size:.5em}
.qz-gauge{height:10px;background:linear-gradient(90deg,var(--lilac) 0 33.3%,var(--mango) 33.3% 66.6%,var(--red) 66.6%);position:relative}
.qz-gauge i{position:absolute;top:-6px;width:3px;height:22px;background:var(--ink);left:0;transition:left .6s var(--ease-out)}
.qz-scale{display:flex;justify-content:space-between;color:var(--lead)}
#qzGo[aria-disabled="true"]{opacity:.35;pointer-events:none}
@media (max-width:860px){.qz{grid-template-columns:1fr}.qz-res{position:relative;top:auto;min-height:0}.qz-q{grid-template-columns:30px 1fr}}

/* diagnóstico */
.qd{border:0;padding:0;width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 48px);background:#fff;color:var(--ink);box-shadow:0 40px 80px -30px rgba(36,29,26,.5)}
.qd::backdrop{background:rgba(36,29,26,.55)}
.qd[open]{animation:qdin .4s var(--ease-out)}
@keyframes qdin{from{opacity:0;transform:translateY(24px)}}
.qd-in{display:flex;flex-direction:column;max-height:calc(100vh - 48px)}
.qd-top{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;border-bottom:var(--rule)}
.qd-x{border:0;background:transparent;cursor:pointer;font:700 12px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);min-height:40px}
.qd-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--hair)}
.qd-tabs button{border:0;background:#fff;cursor:pointer;padding:14px 8px;font:700 11px/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);border-bottom:3px solid transparent;margin-bottom:-1px}
.qd-tabs button.on{color:var(--ink);border-bottom-color:var(--c,var(--red))}
.qd-tabs button.rec::after{content:" *";color:var(--red)}
.qd-body{padding:24px 28px;overflow:auto;display:flex;flex-direction:column;gap:18px}
.qd-h{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}
.qd-pct{font-weight:700;font-size:64px;line-height:.9;letter-spacing:-.05em;padding:10px 14px;background:var(--t,var(--mango-100))}
.qd-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid var(--hair);padding-top:18px}
.qd-ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column}
.qd-ul li{padding:9px 0;border-bottom:1px solid var(--hair);font-size:15px;line-height:1.4;display:grid;grid-template-columns:28px 1fr}
.qd-ul li b{font:700 11px/1.5 var(--font-mono);color:var(--mute)}
.qd-flow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;color:var(--lead)}
.qd-flow span{background:var(--soft);padding:6px 10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.qd-flow span.on{background:var(--ink);color:#fff}
.qd-why{background:var(--soft);padding:16px 18px;font-size:14px;line-height:1.5;color:var(--body)}
.qd-why b{display:block;font:700 11px/1.4 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:6px}
.qd-ft{display:flex;gap:10px;flex-wrap:wrap;padding:16px 28px 22px;border-top:1px solid var(--hair)}
@media (max-width:640px){.qd-cols{grid-template-columns:1fr}.qd-h{grid-template-columns:1fr}.qd-pct{justify-self:start;font-size:48px}.qd-top,.qd-body,.qd-ft{padding-left:18px;padding-right:18px}}

.yt{background:var(--ink);padding:10px;margin-top:10px}
.yt-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--mango-100);padding:12px 16px}
.yt-bar a{color:var(--ink)}
.yt-frame{aspect-ratio:16/9;background:#000;margin-top:10px}
.yt-frame iframe{width:100%;height:100%;border:0;display:block}
#ytOpen[aria-expanded="true"]{box-shadow:inset 0 0 0 3px var(--mango)}
.tile{aspect-ratio:auto;min-height:clamp(220px,22vw,300px)}
.yt-bar .mu,#ytClose{white-space:nowrap}
.yt-bar .mu{min-width:0;overflow:hidden;text-overflow:ellipsis}

/* frase de marca v2 */
.bq{margin:0;display:flex;flex-direction:column;gap:clamp(24px,3vw,40px)}
.bq .d{font-size:clamp(44px,7vw,108px);max-width:1150px;text-wrap:balance}
.bq .x{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:.07em;color:var(--mute);margin-right:.25em}
.hl2{background:linear-gradient(transparent 55%,var(--mango) 55%,var(--mango) 92%,transparent 92%);padding:0 .04em}
.bq-f{display:flex;justify-content:space-between;align-items:center;gap:16px 32px;flex-wrap:wrap;border-top:var(--rule);padding-top:18px}
.bq-sig{display:flex;gap:16px;align-items:center}
.bq-f{text-wrap:wrap}.bq-sig .mu{white-space:nowrap}.bq-f>.m{flex:1 1 260px;text-align:right}
@media (max-width:560px){.bq-f>.m{text-align:left}}

/* foto completa sin cortar */
.anat .fig .zoom{height:100%;width:auto;max-width:none;aspect-ratio:1080/1620;margin:0 auto}
.anat .fig .zoom img{width:100%;height:100%;object-fit:contain}
@media (max-width:860px){.anat .fig{height:min(96vw,440px)}}
