@property --c{syntax:"<length>";inherits:true;initial-value:0px}
:root{--bg:#09090a;--bg2:#111113;--ink:#09090a;--red:#dc1d24;--red-dk:#bf0811;--red-lt:#ff5a5f;--line:rgba(255,255,255,.16);--soft:rgba(255,255,255,.82);--mute:rgba(255,255,255,.68);--paper:#e8eaed;--sy:clamp(80px,10vw,152px);--ease:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.77,0,.175,1);--gx:clamp(18px,3.4vw,48px);--cut:clamp(34px,6.5vw,104px);--cut2:clamp(30px,5vw,80px);--disp:'Big Shoulders Display','Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Barlow',system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:#fff;font:400 1.0625rem/1.55 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,dt,figure,blockquote,address{margin:0}
ul,ol{padding:0;list-style:none}
address{font-style:normal}
button{font:inherit}
h1,h2,h3{font-family:var(--disp);text-transform:uppercase;font-weight:900;letter-spacing:.005em;line-height:.9}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:where(a,button):focus-visible{outline:3px solid #fff;outline-offset:3px}
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:#fff;color:var(--ink);padding:12px 18px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.wrap{width:min(1360px,100% - 2*var(--gx));margin-inline:auto}
h2{font-size:clamp(2.2rem,5.2vw,4.8rem);line-height:.92;text-wrap:balance}
.ext::after{content:" \2197";font-weight:700}
.mark{display:block;width:56px;height:12px;border-top:7px solid var(--red);border-bottom:2px solid currentColor;flex:none}
.kick{display:flex;align-items:center;gap:14px;font:700 .86rem/1.2 var(--body);text-transform:uppercase;letter-spacing:.16em;margin-bottom:22px}

/* botones: relleno que barre desde la izquierda (solo transform) */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.7em;min-height:52px;padding:0 26px;border-radius:2px;background:var(--red);color:#fff;font:700 .92rem/1.1 var(--body);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;text-align:center;border:2px solid var(--red);cursor:pointer;transition:color 200ms ease,border-color 200ms ease,transform 140ms var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform 360ms var(--ease)}
.btn:active{transform:scale(.97);transition-duration:100ms}
.btn svg{width:18px;height:18px;flex:none;transition:transform 260ms var(--ease)}
.btn.ext::after{content:none}
.btn-xl{min-height:62px;padding:0 32px;font-size:1rem}
@media (max-width:479px){.btn-xl{padding:0 14px;gap:.5em;font-size:.84rem;letter-spacing:.03em}}
.btn-o{background:transparent;border-color:rgba(255,255,255,.7)}
@media (hover:hover) and (pointer:fine){.btn:hover{color:var(--red-dk);border-color:#fff}.btn:hover::before{transform:scaleX(1)}.btn:hover svg{transform:translateX(5px)}.btn-o:hover{color:var(--ink)}}
.btn:focus-visible::before{transform:scaleX(1)}.btn:focus-visible{color:var(--red-dk)}
.lnk{display:inline-flex;align-items:center;min-height:52px;padding:0 4px;font:700 .92rem/1 var(--body);text-transform:uppercase;letter-spacing:.1em;text-decoration:none;background:linear-gradient(var(--red),var(--red)) left bottom/100% 2px no-repeat;padding-bottom:2px;transition:background-size 300ms var(--ease),transform 140ms var(--ease)}
.lnk:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.lnk:hover{background-image:linear-gradient(#fff,#fff);background-size:100% 4px}}

/* cabecera */
.hd{position:fixed;inset:0 0 auto 0;z-index:40;display:flex;align-items:center;gap:18px;height:84px;padding-inline:var(--gx);border-bottom:1px solid transparent;transition:background-color 240ms ease,border-color 240ms ease}
html:not(.js) .hd,.hd.solid{background:rgba(9,9,10,.94);border-bottom-color:var(--line)}
.brand{display:block;line-height:0;transition:transform 200ms var(--ease)}
.brand:active{transform:scale(.95)}
.brand img{width:56px;height:56px}
.sp{flex:1}
.hnav{display:none}
.hnav a,.alumnos{position:relative;color:var(--soft);text-decoration:none;font:600 .9rem/1 var(--body);text-transform:uppercase;letter-spacing:.1em;padding:16px 10px;transition:color 160ms ease}
.hnav a::after,.alumnos::after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 300ms var(--ease)}
.alumnos.ext::after{content:"";font-weight:inherit}
.hnav a.cur{color:#fff}.hnav a.cur::after{transform:scaleX(1)}
@media (hover:hover) and (pointer:fine){.hnav a:hover,.alumnos:hover{color:#fff}.hnav a:hover::after,.alumnos:hover::after{transform:scaleX(1)}}
.hd .btn{display:none;min-height:48px}
.pgs{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;pointer-events:none}
@supports (animation-timeline:scroll()){.pgs{animation:pgs linear both;animation-timeline:scroll(root)}@keyframes pgs{to{transform:scaleX(1)}}}
.menu,.ov .x{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 18px;border:2px solid rgba(255,255,255,.6);border-radius:2px;background:rgba(9,9,10,.45);color:#fff;font:700 .9rem/1 var(--body);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background-color 200ms,color 200ms,transform 140ms var(--ease)}
.menu:active,.ov .x:active{transform:scale(.96)}
.bg{position:relative;display:block;width:22px;height:14px;flex:none}
.bg i{position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform 320ms var(--ease)}
.bg i:nth-child(1){top:2px}.bg i:nth-child(2){bottom:2px}
@media (hover:hover) and (pointer:fine){.menu:hover{background:#fff;color:var(--ink)}.menu:hover .bg i:nth-child(2){transform:scaleX(.62);transform-origin:right}}
@media (min-width:760px){.hd .btn{display:inline-flex}}
@media (min-width:1100px){.hnav{display:flex;margin-left:14px}}
@media (max-width:400px){.hd{gap:8px}.alumnos{font-size:.8rem;letter-spacing:.06em;padding:16px 6px}}

/* menú: se abre como un círculo desde el botón */
.ov{position:fixed;inset:0;z-index:60;overflow:auto;background:var(--bg);visibility:hidden;clip-path:circle(0 at var(--ox,100%) var(--oy,0));transition:clip-path 300ms var(--ease),visibility 0s 300ms}
.ov.open{visibility:visible;clip-path:circle(160vmax at var(--ox,100%) var(--oy,0));transition:clip-path 720ms var(--ease),visibility 0s}
.ov-in{min-height:100%;display:grid;gap:28px 64px;align-content:center;padding:96px var(--gx) 40px;width:min(1360px,100%);margin-inline:auto}
@media (min-width:900px){.ov-in{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:center}}
.ov nav{display:grid;gap:2px}
.ov a.l{display:flex;align-items:baseline;gap:.35em;width:fit-content;font:900 clamp(2.1rem,min(8.4vw,7.4vh),5.2rem)/1 var(--disp);text-transform:uppercase;color:#fff;text-decoration:none;padding-block:2px;transition:color 160ms ease,transform 200ms var(--ease)}
.ov a.l b{font:700 .8rem/1 var(--body);letter-spacing:.14em;color:var(--mute);transform:translateY(-.9em)}
.ov a.l small{font:700 .78rem/1 var(--body);letter-spacing:.12em;color:var(--mute);margin-left:.5em;transform:translateY(-.2em)}
.ov a.l.alt{color:rgba(255,255,255,.72)}
.ov a.l[aria-current="true"]{color:var(--red)}
.ov a.l[aria-current="true"] b{color:var(--red-lt)}
@media (hover:hover) and (pointer:fine){.ov a.l:hover{color:var(--red);transform:translateX(10px)}}
.ov a.l:active{transform:scale(.98)}
.ov .x{position:absolute;top:18px;right:var(--gx);background:none}
.ov .x .bg i{top:6px;bottom:auto}
.ov .x .bg i:nth-child(1){transform:rotate(0)}.ov .x .bg i:nth-child(2){transform:rotate(0)}
.ov.open .x .bg i:nth-child(1){transform:rotate(45deg);transition-delay:220ms}.ov.open .x .bg i:nth-child(2){transform:rotate(-45deg);transition-delay:220ms}
@media (hover:hover) and (pointer:fine){.ov .x:hover{background:#fff;color:var(--ink)}}
.ov-h{font:600 .9rem/1.35 var(--body);color:var(--mute);margin-bottom:10px;max-width:46ch}
.ov-side ul{display:grid;margin-bottom:22px}
.ov-side li a{display:inline-block;padding:11px 0;font-size:1.2rem;font-weight:600;color:var(--soft);text-decoration:none}
.ov-side li a:focus-visible{outline-offset:0}
.js .ov nav>a,.js .ov-side>*{opacity:0;transform:translateY(26px);transition:opacity 140ms ease,transform 140ms ease,color 160ms ease}
.js .ov.open nav>a,.js .ov.open .ov-side>*{opacity:1;transform:none;transition:opacity 360ms ease calc(var(--i,0)*45ms + 180ms),transform 620ms var(--ease) calc(var(--i,0)*45ms + 180ms),color 160ms ease}
.js .ov.open nav>a:active{transform:scale(.98);transition-duration:100ms;transition-delay:0s}
.js .ov.open .ov-side>.btn{transition:opacity 360ms ease calc(var(--i,0)*45ms + 180ms),transform 620ms var(--ease) calc(var(--i,0)*45ms + 180ms),color 200ms ease,border-color 200ms ease}

/* ============ HERO ============ */
.hero{position:relative;isolation:isolate;overflow:clip;min-height:100svh;display:grid;align-content:end;padding-bottom:calc(var(--cut) + 28px);background:var(--bg)}
.hmedia{position:absolute;inset:0;z-index:-3}
.hphoto{position:absolute;inset:0;animation:photo 1.35s var(--ease) both}
.hphoto img{width:100%;height:100%;object-fit:cover;object-position:4% 35%}
@keyframes photo{from{clip-path:polygon(0 0,34% 0,14% 100%,0 100%);transform:scale(1.14)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:scale(1)}}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(270deg,rgba(9,9,10,.5) 0%,rgba(9,9,10,0) 40%),linear-gradient(0deg,rgba(9,9,10,.94) 0%,rgba(9,9,10,.4) 34%,rgba(9,9,10,0) 58%),linear-gradient(180deg,rgba(9,9,10,.55) 0%,rgba(9,9,10,0) 22%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.1;mix-blend-mode:overlay;pointer-events:none;background: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='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hcopy{position:relative;padding-top:120px}
.hcopy .kick{animation:fade 600ms var(--ease) 260ms both}
.hero h1{display:block}
.ln{display:block;overflow:hidden;padding:.05em 0 .04em;margin:-.05em 0 -.04em}
.ln>span{display:block;transform:translateY(112%);animation:ln 950ms var(--ease) both}
.l1{font-size:clamp(3rem,17.2vw,4.9rem)}
.l1>span{animation-delay:340ms;line-height:.84}
.l2{font-size:clamp(1.7rem,8.6vw,3rem);color:var(--red);margin-top:.12em}
.l2>span{animation-delay:440ms;line-height:.92}
.l3{font-size:clamp(1.7rem,8.6vw,3rem);margin-top:.02em}
.l3>span{animation-delay:520ms;line-height:.92}
@media (min-width:760px){.l1{font-size:clamp(4.4rem,10.4vw,12rem)}.l1>span{white-space:nowrap}.l2,.l3{font-size:clamp(2.2rem,5.6vw,6rem)}.hcopy{padding-top:150px;padding-left:min(36%,520px)}}
@keyframes ln{from{transform:translateY(112%)}to{transform:none}}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.tag{font:500 clamp(1.15rem,2vw,1.6rem)/1.3 var(--body);margin:22px 0 28px;max-width:30ch;animation:up 700ms var(--ease) 760ms both}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;animation:up 760ms var(--ease) 860ms both}
.hmeta{position:absolute;left:0;right:0;bottom:calc(var(--cut) + 26px);display:flex;flex-wrap:wrap;gap:6px 28px;padding-top:0;font:600 .8rem/1.3 var(--body);text-transform:uppercase;letter-spacing:.12em;color:var(--mute);animation:fade 700ms var(--ease) 1050ms both}
@media (max-width:759px){.hmedia{inset:0 0 auto 0;height:58svh;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 98%);mask-image:linear-gradient(180deg,#000 55%,transparent 98%)}.hphoto img{object-position:8% 22%}.hero::before{background:linear-gradient(0deg,rgba(9,9,10,1) 0%,rgba(9,9,10,.9) 46%,rgba(9,9,10,0) 64%),linear-gradient(180deg,rgba(9,9,10,.55) 0,rgba(9,9,10,0) 22%)}.hmeta{position:static;margin:26px auto 0;border-top:1px solid var(--line);padding-top:16px;display:grid}.hero{padding-bottom:calc(var(--cut) + 26px)}}
@media (min-width:760px){.hmeta{justify-content:flex-end;text-align:right;bottom:calc(var(--cut) + 34px)}.hcopy{margin-bottom:56px}}
/* paralaje al desplazarse: solo escritorio, compositor, nunca bloquea */
@supports (animation-timeline:scroll()){
  @media (min-width:760px) and (prefers-reduced-motion:no-preference){
    .hmedia{animation:hpar linear both;animation-timeline:scroll(root);animation-range:0 100svh}
    .hcopy{animation:hcp linear both;animation-timeline:scroll(root);animation-range:0 90svh}
    @keyframes hpar{to{transform:translateY(16svh) scale(1.08)}}
    @keyframes hcp{to{transform:translateY(-7svh);opacity:.15}}
  }
}

/* ============ PROGRAMAS ============ */
.prog{position:relative;z-index:3;isolation:isolate;margin-top:calc(var(--cut)*-1);padding:calc(var(--cut) + clamp(44px,6vw,96px)) 0 calc(var(--cut2) + 28px)}
.pbg,.pred{position:absolute;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;clip-path:polygon(0 var(--cut),100% 0,100% 100%,0 100%)}
.pbg{top:0;background:var(--bg)}
.pred{top:-12px;background:var(--red)}
.pin{display:grid;gap:18px 60px;margin-bottom:clamp(30px,4vw,56px)}
.pin h2{max-width:20ch;font-size:clamp(2rem,4.6vw,4.2rem)}
.lead{font:500 1.2rem/1.4 var(--body);color:var(--soft)}
@media (min-width:1000px){.pin h2{max-width:26ch}}
.stage{position:relative;--tx:0px;background:var(--bg)}
.media{position:relative;height:min(62svh,520px);overflow:hidden;background:var(--bg);touch-action:pan-y}
.lay{position:absolute;inset:0;overflow:hidden;transition:clip-path 700ms var(--ease-io)}
.lay img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease)}
.lay[data-p="c"]{clip-path:inset(0)}
.lay[data-p="r"]{clip-path:inset(0 0 0 100%)}
.lay[data-p="l"]{clip-path:inset(0 100% 0 0)}
.lay[data-p="c"] img{transform:none}
.lay[data-p="r"] img{transform:translateX(5%) scale(1.12)}
.lay[data-p="l"] img{transform:translateX(-5%) scale(1.12)}
.lay.snap,.lay.snap img,.pan.snap,.pan.snap>*,.pan.snap .m>span{transition:none!important}
.media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(9,9,10,.7),rgba(9,9,10,0) 36%)}
.arrows{position:absolute;right:var(--gx);bottom:18px;z-index:3;display:flex;gap:8px}
.arw{display:grid;place-items:center;width:52px;height:52px;border:2px solid rgba(255,255,255,.7);border-radius:2px;background:rgba(9,9,10,.5);color:#fff;cursor:pointer;transition:background-color 180ms,color 180ms,transform 140ms var(--ease)}
.arw svg{width:20px;height:20px;transition:transform 260ms var(--ease)}
.arw:active{transform:scale(.92)}
@media (hover:hover) and (pointer:fine){.arw:hover{background:#fff;color:var(--ink)}.arw.prev:hover svg{transform:translateX(-3px)}.arw.next:hover svg{transform:translateX(3px)}}
.copy{position:relative;display:grid;padding:26px var(--gx) 30px}
.pan{grid-area:1/1;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;visibility:hidden}
.pan[data-p="c"]{visibility:visible}
.ghost{position:absolute;right:0;top:-6px;font:900 clamp(7rem,34vw,12rem)/.8 var(--disp);color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.16);user-select:none;pointer-events:none}
.pan h3{font-size:clamp(3.4rem,17vw,6rem);line-height:.9}
.m{display:block;overflow:hidden;padding:.04em 0 .02em}
.m>span{display:block}
.pan p{font:500 1.2rem/1.4 var(--body);color:var(--soft);max-width:30ch}
.pan .btn{margin-top:6px}
.js .pan>:not(h3){opacity:0;transition:opacity 120ms ease,transform 140ms ease}
.js .pan .m>span{transition:transform 150ms ease-in}
.js .pan[data-p="l"] .m>span{transform:translateY(-110%)}
.js .pan[data-p="r"] .m>span{transform:translateY(110%)}
.js .pan[data-p="l"]>:not(h3):not(.ghost){transform:translateY(-10px)}
.js .pan[data-p="r"]>:not(h3):not(.ghost){transform:translateY(16px)}
.js .pan[data-p]:not([data-p="c"]){transition:visibility 0s 150ms}
.js .pan[data-p="c"]>*{opacity:1;transform:none;transition:opacity 420ms ease 220ms,transform 640ms var(--ease) 220ms}
.js .pan[data-p="c"]>p{transition-delay:300ms}
.js .pan[data-p="c"]>.btn{transition:opacity 420ms ease 360ms,transform 640ms var(--ease) 360ms,color 200ms ease,border-color 200ms ease}
.js .pan[data-p="c"] .m>span{transform:none;transition:transform 720ms var(--ease) 170ms}
.js .pan[data-p="c"]>.ghost{transition:opacity 600ms ease 160ms}
.js .pan[data-p="c"]>.btn:active{transform:scale(.97);transition-duration:100ms;transition-delay:0s}
.tabs{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.22);background:var(--bg)}
.tab{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;min-height:76px;padding:14px 8px 14px clamp(10px,1.6vw,22px);border:0;border-right:1px solid rgba(255,255,255,.1);background:none;color:var(--mute);text-align:left;cursor:pointer;transition:color 200ms ease,background-color 200ms ease}
.tab:last-of-type{border-right:0}
.tab .n{font:700 .78rem/1 var(--body);letter-spacing:.14em;transition:color 200ms ease}
.tab .ic{display:none}
.tab .nm{font:900 clamp(1rem,4.2vw,1.35rem)/1 var(--disp);text-transform:uppercase;transform-origin:left center;transition:transform 160ms var(--ease)}
.tab:active .nm{transform:scale(.96)}
.tab[aria-selected="true"]{color:#fff}
.tab[aria-selected="true"] .n{color:var(--red-lt)}
.tab:focus-visible{outline-offset:-4px}
@media (hover:hover) and (pointer:fine){.tab:hover{color:#fff;background:rgba(255,255,255,.05)}}
.ind{position:absolute;top:-1px;left:0;width:25%;height:4px;background:var(--red);transform:translateX(calc(var(--i,0)*100%));transition:transform 560ms var(--ease-io);pointer-events:none}
.stage{--i:0}
@media (max-width:759px){
  .lay{transition:opacity 420ms ease}
  .lay[data-p="c"],.lay[data-p="r"],.lay[data-p="l"]{clip-path:none}
  .lay[data-p="r"],.lay[data-p="l"]{opacity:0}
  .lay img,.lay[data-p="r"] img,.lay[data-p="l"] img{transform:none;transition:none}
  .tab .nm{font-size:clamp(.92rem,3.9vw,1.15rem)}
}
@media (min-width:760px){
  .stage{--tx:38%;height:clamp(600px,92svh,860px)}
  .media{position:absolute;inset:0 0 0 var(--tx);height:auto}
  .media::after{background:linear-gradient(90deg,rgba(9,9,10,.9) 0%,rgba(9,9,10,.45) 22%,rgba(9,9,10,0) 48%),linear-gradient(0deg,rgba(9,9,10,.55),rgba(9,9,10,0) 30%)}
  .arrows{bottom:96px}
  .copy{position:absolute;left:0;right:0;top:0;bottom:78px;padding:0 var(--gx);align-content:center;pointer-events:none}
  .copy .pan{pointer-events:auto;width:100%}
  .pan p,.pan .btn{max-width:calc(var(--tx) - var(--gx) - 12px)}
  .pan h3{font-size:clamp(4rem,7.4vw,8.4rem);white-space:nowrap;position:relative;z-index:2;text-shadow:0 2px 30px rgba(9,9,10,.5)}
  .ghost{right:auto;left:-6px;top:-.62em;font-size:clamp(9rem,18vw,18rem);-webkit-text-stroke-color:rgba(255,255,255,.14)}
  .tabs{position:absolute;left:0;right:0;bottom:0;height:78px;border-top:1px solid rgba(255,255,255,.22);z-index:4}
  .tab{flex-direction:row;align-items:center;gap:14px;min-height:78px}
  .tab .ic{display:block;width:38px;height:38px;border-radius:50%;overflow:hidden;background:#fff;flex:none;opacity:.8;transition:opacity 200ms ease,transform 300ms var(--ease)}
  .tab .ic img{width:100%;height:100%;object-fit:cover}
  .tab[aria-selected="true"] .ic{opacity:1;transform:scale(1.06)}
  .tab .nm{font-size:clamp(1.15rem,2.2vw,2rem)}
}
@media (min-width:1100px){.stage{--tx:34%}}
html:not(.js) .stage{height:auto}
html:not(.js) .media{position:relative;inset:auto;height:auto}
html:not(.js) .lay{position:relative;clip-path:none;height:46svh}
html:not(.js) .pan{visibility:visible;margin-bottom:28px}
html:not(.js) .copy{position:static;display:block}
html:not(.js) .tabs,html:not(.js) .arrows{display:none}

/* ============ COMUNIDAD (transición) ============ */
.com{--c:var(--cut2);position:relative;z-index:4;isolation:isolate;margin-top:calc(var(--cut2)*-1);padding:calc(var(--cut2) + clamp(70px,9vw,150px)) 0 clamp(44px,5vw,76px);color:#fff}
.com::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--red);clip-path:polygon(0 0,100% var(--c),100% 100%,0 100%)}
.js .com:not(.in){--c:calc(var(--cut2)*2.8)}
.js .com{transition:--c 1100ms var(--ease)}
.cg{display:grid;gap:8px;align-items:end}
.kick-fig{--ko:clamp(60px,9vw,110px);width:min(62%,300px);margin:0 auto calc(-1*var(--ko));position:relative;top:calc(-1*var(--ko));z-index:1}
.kick-fig img{width:100%;height:auto;filter:drop-shadow(0 20px 26px rgba(9,9,10,.35))}
.com .copy{position:static;padding:30px 0 10px;display:grid;gap:16px;max-width:60ch}
.com h2{font-size:clamp(2.4rem,9vw,4.6rem);margin-bottom:6px}
.com .copy p:not(.kick){font-size:1.18rem}
.com .kick .mark{border-bottom-color:#fff;border-top-color:var(--ink)}
.stats{display:grid;margin-top:clamp(24px,4vw,50px);border-top:2px solid var(--ink)}
.stat{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid rgba(9,9,10,.5)}
.stat .n{font:900 clamp(3.4rem,17vw,6rem)/.9 var(--disp);color:#fff}
.stat .n i{font-style:normal;color:var(--ink)}
.stat .t{font:700 1rem/1.25 var(--body);text-transform:uppercase;letter-spacing:.08em;text-align:right;max-width:14ch;color:#fff}
@media (min-width:900px){
  .cg{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,100px);align-items:center}
  .kick-fig{width:100%;max-width:380px;margin:0 0 calc(-1*var(--ko)) auto}
  .com .copy{padding-block:clamp(40px,5vw,72px) 0}
  .com h2{font-size:clamp(3rem,5.6vw,5.8rem)}
  .stats{grid-template-columns:repeat(3,1fr);border-top:0;gap:0}
  .stat{display:grid;gap:8px;padding:22px 24px 0 0;border-bottom:0;border-top:2px solid var(--ink);margin-right:24px}
  .stat .t{text-align:left;max-width:none}
  .stat .n{font-size:clamp(4.6rem,9.6vw,9.4rem)}
}
.endnote{background:var(--bg);padding:22px 0 26px;font:600 .82rem/1.4 var(--body);text-transform:uppercase;letter-spacing:.12em;color:var(--mute);border-top:1px solid var(--line)}


/* ============ KI GONG (escena pastel, pulso lento) ============ */
.kg{--c:var(--cut2);--kg1:#E8F4F0;--kg2:#E4E1F3;--kg3:#CFE8DF;--kgi:#24373B;--kgm:#455A5E;--kgt:#17696A;position:relative;z-index:4;isolation:isolate;margin-top:calc(var(--cut2)*-1);padding:calc(var(--cut2) + clamp(64px,8vw,128px)) 0 calc(var(--cut2) + clamp(48px,6vw,88px));color:var(--kgi)}
.kg::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(165deg,var(--kg1) 0%,#E6EEF3 55%,var(--kg2) 100%);clip-path:polygon(0 0,100% var(--c),100% 100%,0 100%)}
.js .kg:not(.in){--c:calc(var(--cut2)*2.8)}
.js .kg{transition:--c 1500ms var(--ease)}
.com{z-index:5}
.kgg{display:grid;gap:clamp(30px,6vw,56px);align-items:center}
.kgc{display:grid;gap:16px;max-width:58ch;justify-items:start}
.kglogo{width:clamp(84px,12vw,124px);height:auto;mix-blend-mode:multiply;margin-bottom:6px;transform-origin:50% 60%}
.kg .kick{color:var(--kgt);margin-bottom:0}
.kg .kick .mark{border-top-color:#8FD3C9;border-bottom-color:#B9AEE0}
.kg h2{font-size:clamp(2.3rem,8.4vw,4.4rem);color:var(--kgi);font-weight:800;letter-spacing:.005em;line-height:.98;margin:0 0 4px}
.kg p:not(.kick){font-size:1.12rem;line-height:1.6;color:var(--kgm)}
.kg .kgm{font:700 1.02rem/1.35 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--kgt);padding:10px 14px;background:rgba(255,255,255,.55);border-left:3px solid #8FD3C9}
.kg .kgs{font-size:1rem}
.kg .acts{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;margin-top:6px}
.kg .btn::before{background:var(--kgi)}
.kg .btn:focus-visible{color:#fff}
@media (hover:hover) and (pointer:fine){.kg .btn:hover{color:#fff;border-color:var(--kgi)}}
.kg .lnk{color:var(--kgi);background-image:linear-gradient(var(--kgt),var(--kgt))}
@media (hover:hover) and (pointer:fine){.kg .lnk:hover{background-image:linear-gradient(var(--kgi),var(--kgi));background-size:100% 4px}}
.kg a:focus-visible{outline:3px solid var(--kgt);outline-offset:3px}
.kgf{position:relative;margin:0;isolation:isolate}
.kgf::before{content:"";position:absolute;z-index:-1;inset:7% -4% -6% 9%;background:linear-gradient(160deg,var(--kg3),var(--kg2))}
.kgf img{display:block;width:100%;height:auto;border-radius:2px;filter:saturate(.92) brightness(1.03)}
@media (min-width:900px){
  .kgg{grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(40px,6vw,96px)}
  .kg h2{font-size:clamp(3rem,5vw,5rem)}
}
/* movimiento lento: velo que se disuelve, sin cortes bruscos */
.js .kg .rv{opacity:0;transform:translateY(16px);filter:blur(6px);transition:opacity 900ms var(--ease),transform 1100ms var(--ease),filter 900ms var(--ease);transition-delay:calc(var(--i,0)*110ms)}
.js .kg .rv.in{opacity:1;transform:none;filter:none}
.js .kg .kgf.rv{transform:scale(1.03)}.js .kg .kgf.rv.in{transform:none}
@media (max-width:759px){.js .kg .rv{filter:none}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media (prefers-reduced-motion:no-preference){.kg.in .kglogo{animation:breathe 9s ease-in-out infinite}}

.sec{padding-block:var(--sy)}
.btn-w{background:#fff;color:var(--ink);border-color:#fff}
.btn-w::before{background:var(--ink)}
@media (hover:hover) and (pointer:fine){.btn-w:hover{color:#fff;border-color:var(--ink)}}
.btn-w:focus-visible{color:#fff}
.master{background:var(--bg2);overflow:hidden;padding-top:0}
.mg{display:grid;gap:34px}
.mfig{position:relative;background:var(--red);margin-inline:calc(-1 * var(--gx));padding:0;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 36px))}
.mfig img{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;aspect-ratio:3/4;object-fit:cover}
.mfig::after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(0deg,rgba(9,9,10,.78),rgba(9,9,10,0));pointer-events:none}
.mfig figcaption{position:absolute;z-index:1;left:var(--gx);bottom:50px;font:700 .8rem/1.2 var(--body);letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.mtxt{display:grid;gap:20px}
.mtxt h2{font-size:clamp(2.2rem,8vw,4.4rem);max-width:16ch}
.intro{font-size:1.2rem;color:var(--soft);max-width:52ch}
.creds{display:grid;border-top:2px solid #fff}
.creds div{display:grid;grid-template-columns:7.2rem 1fr;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.creds dt{font:700 .78rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.creds dd{font:900 clamp(1.6rem,6vw,2.5rem)/.95 var(--disp);text-transform:uppercase}
.vis{border-left:6px solid var(--red);padding-left:20px}
.vis h3{font-size:1.9rem;margin-bottom:10px}
.vis p{color:var(--soft);max-width:52ch}
.team{position:relative;overflow:hidden;min-height:300px;display:flex;align-items:flex-end}
.team img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.team::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,9,10,.92),rgba(9,9,10,.05) 70%)}
.team figcaption{position:relative;z-index:1;padding:22px;font-size:1.15rem;max-width:30ch}
.team b{display:block;font:900 2.4rem/.9 var(--disp);text-transform:uppercase;margin-bottom:6px}
@media (min-width:900px){
  .mg{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(34px,5vw,80px) clamp(34px,6vw,100px);grid-template-areas:"f t" "f v" "m m";align-items:start}
  .master{padding-top:var(--sy)}
  .mfig{grid-area:f;margin:0;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 44px));align-self:start}
  .mfig img{max-width:none;margin:0}
  .mfig figcaption{bottom:62px}
  .mtxt h2{font-size:clamp(2rem,4.2vw,4.4rem)}
  .mtxt{grid-area:t}.vis{grid-area:v}.team{grid-area:m;min-height:clamp(260px,26vw,380px)}
  .creds{grid-template-columns:repeat(3,minmax(0,1fr));border-top:0;gap:0 22px}
  .creds dd{font-size:clamp(1.3rem,2.2vw,2.3rem)}
  .creds div{display:grid;grid-template-columns:1fr;gap:10px;padding:16px 0 0;border-top:2px solid #fff;border-bottom:0}
}
.vh{display:grid;gap:22px;margin-bottom:clamp(34px,5vw,64px)}
.vh p{font-size:1.2rem;color:var(--soft);max-width:44ch;margin-bottom:22px}
@media (min-width:900px){.vh{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);align-items:end;gap:60px}}
.vp{display:grid;gap:0;margin-bottom:clamp(30px,5vw,56px)}
.vp li{display:grid;grid-template-columns:2.4rem 44px 1fr;grid-template-areas:"n i h" ". . p";gap:2px 14px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}
.vp b{grid-area:n;font:700 .82rem/1 var(--body);letter-spacing:.16em;color:var(--mute)}
.vp img{grid-area:i;width:44px;height:44px;object-fit:contain}
.vp h3{grid-area:h;font-size:1.55rem}
.vp p{grid-area:p;color:var(--soft)}
@media (min-width:900px){.vp{grid-template-columns:repeat(4,1fr);gap:0 28px}.vp li{display:block;padding:22px 0 0;border-top:2px solid #fff}.vp b{display:block;margin-bottom:16px}.vp img{margin-bottom:14px;width:56px;height:56px}.vp h3{font-size:1.7rem;margin-bottom:8px}}
.mos{display:grid;gap:6px;grid-template-columns:1fr 1fr;grid-auto-rows:clamp(150px,44vw,230px)}
.mos li{position:relative;overflow:hidden;background:#151517}
.mos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mos li::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,9,10,.88),rgba(9,9,10,0) 55%)}
.mos h3{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:12px 14px;font-size:clamp(1.15rem,4.8vw,1.7rem);line-height:.95}
.m1{grid-row:span 2}.m4{grid-column:1/-1}.m5{grid-row:span 2}
.m1 img{object-position:50% 25%}.m2 img{object-position:50% 16%}.m3 img{object-position:58% 40%}.m4 img{object-position:50% 20%}.m5 img{object-position:50% 40%}.m7 img{object-position:50% 20%}
@media (min-width:700px){
  .mos{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(170px,22vw,280px)}
  .m1{grid-column:1;grid-row:1/3}.m2{grid-column:2/4;grid-row:1}.m3{grid-column:4;grid-row:1/3}.m4{grid-column:2/4;grid-row:2}
  .m5{grid-column:1/3;grid-row:3/5}.m6{grid-column:3;grid-row:3/5}.m7{grid-column:4;grid-row:3/5}
  .mos h3{padding:16px 18px;font-size:clamp(1.3rem,2.6vw,2.2rem)}
  .m5 h3{font-size:clamp(1.8rem,4vw,3.6rem)}
}
.bars{display:grid;gap:30px;margin-top:clamp(40px,6vw,84px);align-items:center}
.bar{padding-block:20px;border-top:2px solid #fff}
.bar .row{display:flex;align-items:baseline;gap:18px}
.bar b{font:900 clamp(3.6rem,15vw,7.4rem)/.85 var(--disp);color:var(--red)}
.bar span{font:700 clamp(1rem,3.6vw,1.3rem)/1.2 var(--body);text-transform:uppercase;letter-spacing:.1em}
.track{height:10px;margin-top:16px;background:#26262a}
.fill{height:100%;background:var(--red);transform-origin:left}
.js .bar .fill{transform:scaleX(0);transition:transform 1100ms var(--ease) 200ms}
.js .bar.in .fill{transform:none}
.bars>img{width:100%;max-height:420px;object-fit:cover;object-position:50% 40%}
@media (min-width:900px){.bars{grid-template-columns:minmax(0,1fr) minmax(0,.42fr);gap:clamp(30px,6vw,100px)}.bars>img{max-height:none;aspect-ratio:4/5}}
.voices{background:var(--paper);color:var(--ink)}
.voices h2{max-width:18ch;margin-bottom:clamp(30px,5vw,64px)}
.vg{display:grid;gap:34px}
.lv blockquote p{font:600 clamp(1.55rem,5.6vw,3rem)/1.18 var(--body);text-wrap:pretty}
.lv blockquote::before{content:"\201C";display:block;font:900 8rem/.6 var(--disp);color:var(--red-dk);height:.42em}
.sv{padding-top:20px;border-top:3px solid var(--ink)}
.sv blockquote p{font-size:1.22rem;line-height:1.45}
.who{display:flex;align-items:center;gap:14px;margin-top:24px}
.who img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.who b{display:block;font-size:1.05rem}
.who span span{color:#3b3b42}
@media (min-width:900px){
  .vg{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,80px) clamp(30px,5vw,80px);align-items:start}
  .lv{grid-row:1/3;padding-right:2vw}
  .sv:nth-child(3){align-self:end}
}
.rest{position:relative;display:grid;align-items:end;min-height:clamp(340px,52vw,640px);overflow:hidden;background:#151517}
.rest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.rest::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,9,10,.94) 0%,rgba(9,9,10,.55) 45%,rgba(9,9,10,.12) 85%)}
.rest p{position:relative;z-index:1;padding-bottom:clamp(30px,5vw,70px);font:900 clamp(2.4rem,7.2vw,6.4rem)/.88 var(--disp);text-transform:uppercase;max-width:15ch;margin-left:var(--gx)}
@media (min-width:1400px){.rest p{margin-left:calc((100vw - 1360px)/2)}}
.plans h2{max-width:20ch;margin-bottom:clamp(26px,4vw,56px)}
.pl{border-top:2px solid #fff}
.plan{display:grid;grid-template-columns:1fr auto;grid-template-areas:"d d" "n p" "b b";gap:12px 18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.dans{grid-area:d;display:flex;gap:7px}
.dans i{display:block;width:10px;height:30px;background:var(--red)}
.pn{grid-area:n}
.pn h3{font-size:clamp(2.2rem,9vw,3.4rem)}
.fq{color:var(--soft);font-size:1.12rem;margin-top:4px}
.price{grid-area:p;font:900 clamp(3.4rem,15vw,6rem)/.85 var(--disp)}
.price small{font:600 1rem var(--body);color:var(--mute);margin-left:.4em;letter-spacing:.04em}
.plan .btn{grid-area:b;width:100%}
@media (min-width:760px){
  .plan{grid-template-columns:84px minmax(0,1.2fr) minmax(0,1fr) auto;grid-template-areas:"d n p b";gap:20px clamp(18px,3vw,48px);padding:clamp(26px,3vw,40px) 0}
  .dans{align-items:end;gap:6px}.dans i{width:11px;height:40px}
  .price{justify-self:start}
  .plan .btn{width:auto}
}
@media (hover:hover) and (pointer:fine){.plan{transition:background-color 200ms ease}.plan:hover{background:#151517}}
.contact{background:var(--red);color:#fff;position:relative;overflow:hidden}
.cc{display:grid;gap:46px}
.contact h2{font-size:clamp(2.2rem,8.6vw,5rem);max-width:15ch;line-height:1.04;margin-bottom:20px}
.lc{font-size:1.2rem;max-width:46ch;margin-bottom:30px}
.contact address{display:grid;gap:26px;align-content:end}
.tel{font:900 clamp(1.7rem,9.4vw,5.6rem)/.9 var(--disp);text-decoration:none;letter-spacing:.005em;white-space:nowrap;display:block;border-bottom:3px solid #fff;padding-bottom:12px}
.contact dl{display:grid;gap:0}
.contact dl div{display:grid;grid-template-columns:6.4rem minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.5)}
.contact dt{font:700 .78rem/1.6 var(--body);letter-spacing:.16em;text-transform:uppercase}
.contact dd{font-size:1.12rem;font-weight:500;overflow-wrap:anywhere}
.contact a:not(.btn){text-underline-offset:5px}
@media (min-width:900px){.cc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);align-items:end}.tel{font-size:clamp(2.6rem,5.2vw,5.4rem)}}
@media (hover:hover) and (pointer:fine){.tel:hover{border-bottom-color:var(--ink)}}
.ft{padding-block:clamp(48px,6vw,84px) 36px;background:var(--bg)}
.fg{display:grid;gap:34px}
.ft h2{font:900 1.5rem/1 var(--disp);text-transform:uppercase;margin:16px 0 12px}
.ft p{color:var(--soft);max-width:46ch}
.ft li a,.soc a,.legal a{display:inline-block;padding:9px 0;color:var(--soft);text-decoration:none}
.soc{display:flex;flex-wrap:wrap;gap:0 22px;margin-top:10px}
.up{display:inline-flex;align-items:center;min-height:48px;margin-top:14px;padding:0 18px;border:2px solid rgba(255,255,255,.6);border-radius:2px;font:700 .86rem/1 var(--body);text-transform:uppercase;letter-spacing:.1em;text-decoration:none}
.legal{display:flex;flex-wrap:wrap;gap:6px 30px;justify-content:space-between;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:.92rem;color:var(--mute)}
@media (hover:hover) and (pointer:fine){.ft li a:hover,.soc a:hover,.legal a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.up:hover{background:#fff;color:var(--ink)}}
@media (min-width:800px){.fg{grid-template-columns:1.4fr .8fr .8fr;gap:60px}}

/* galería y ampliación */
.gal{background:var(--bg)}
.gh{display:grid;gap:14px;margin-bottom:clamp(26px,4vw,48px)}
.gh p{font-size:1.2rem;color:var(--soft);max-width:44ch}
.gg{display:grid;gap:6px;grid-template-columns:repeat(2,1fr)}
.gg li{aspect-ratio:1;background:#151517;overflow:hidden}
.gg button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in;position:relative}
.gg img{width:100%;height:100%;object-fit:cover;transition:transform 450ms var(--ease)}
.gg button:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.gg button:hover img{transform:scale(1.05)}}
.gmore{margin-top:clamp(22px,3vw,40px)}
@media (min-width:760px){.gg{grid-template-columns:repeat(4,1fr)}}
.lb{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(9,9,10,.96);color:#fff;overflow:hidden}
.lb:not([open]){display:none}
.lb[open]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:56px 10px 20px;animation:lbin 240ms var(--ease)}
@keyframes lbin{from{opacity:0}to{opacity:1}}
.lb::backdrop{background:#09090a}
.lb figure{display:grid;gap:12px;justify-items:center;min-width:0;max-height:100%}
.lb img{max-width:100%;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);width:auto;height:auto;object-fit:contain}
.lb figcaption{font:600 .95rem/1.3 var(--body);color:var(--soft);text-align:center}
.lb-x,.lb-n{display:grid;place-items:center;width:48px;height:48px;border:2px solid rgba(255,255,255,.6);background:transparent;color:#fff;cursor:pointer;transition:background-color 180ms ease,color 180ms ease,transform 160ms var(--ease)}
.lb-x:active,.lb-n:active{transform:scale(.95)}
.lb-x{position:absolute;top:8px;right:10px;font:400 2rem/1 var(--body)}
.lb-n svg{width:20px;height:20px}
@media (hover:hover) and (pointer:fine){.lb-x:hover,.lb-n:hover{background:#fff;color:var(--ink)}}
@media (max-width:759px){.lb[open]{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;padding-bottom:84px}.lb figure{grid-row:1}.lb-n{position:absolute;bottom:20px}.lb-p{left:10px}.lb-nx{right:10px}}
@media (prefers-reduced-motion:reduce){.lb[open]{animation:none}}

/* aparición al desplazarse */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity 560ms var(--ease),transform 700ms var(--ease);transition-delay:calc(var(--i,0)*70ms)}
.js .rv.in{opacity:1;transform:none}

.fab{position:fixed;z-index:30;right:14px;bottom:14px;left:14px;box-shadow:0 8px 26px rgba(0,0,0,.5);transition:opacity 220ms ease,transform 280ms var(--ease),color 200ms ease,border-color 200ms ease}
.fab.off{opacity:0;transform:translateY(14px);visibility:hidden;pointer-events:none;transition:opacity 160ms ease,transform 160ms ease,visibility 0s 160ms}
@media (min-width:760px){.fab{display:none}}

/* movimiento reducido: sin recorridos, solo cambios de opacidad instantáneos */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .ov{clip-path:none;opacity:0}.ov.open{opacity:1}
}

/* ============ SUBPÁGINAS ============ */
.sub{position:relative;padding:calc(84px + clamp(44px,8vw,120px)) 0 clamp(70px,9vw,130px);background:var(--bg);overflow:hidden}
.sub::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(22px,3.4vw,46px);background:var(--red);clip-path:polygon(0 72%,100% 0,100% 28%,0 100%)}
.sub .kick{margin-bottom:22px}
.sub h1{font-size:clamp(2.7rem,8.2vw,7.4rem);line-height:.9;max-width:16ch;text-wrap:balance}
.lead2{font-size:clamp(1.12rem,2.2vw,1.4rem);color:var(--soft);max-width:54ch;margin-top:22px}
.sub .acts{margin-top:30px}
@media (prefers-reduced-motion:no-preference){.js .sub .rise{animation:up 700ms var(--ease) both;animation-delay:calc(var(--i,0)*80ms + 80ms)}}
.hnav a[aria-current="page"]{color:#fff}
.hnav a[aria-current="page"]::after{transform:scaleX(1)}
.prl{display:grid;gap:clamp(44px,7vw,110px)}
.pri{display:grid;gap:22px}
.pri figure{aspect-ratio:4/3;overflow:hidden;background:#151517}
.pri img{width:100%;height:100%;object-fit:cover}
.pri .age{font:700 .86rem/1.2 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--red-lt);margin-bottom:10px}
.pri h2{font-size:clamp(2.4rem,6vw,4.8rem);margin-bottom:14px}
.pri p:not(.age){color:var(--soft);font-size:1.2rem;max-width:38ch;margin-bottom:24px}
@media (min-width:900px){.pri{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(34px,6vw,100px);align-items:center}.pri:nth-child(even) figure{order:2}}
.vp.noi li{grid-template-columns:2.4rem 1fr;grid-template-areas:"n h" ". p"}
.pil h2{max-width:20ch;margin-bottom:clamp(30px,5vw,60px)}
@media (min-width:900px){.vp.c3{grid-template-columns:repeat(3,1fr)}.vp.noi li{display:block}}
.ins{background:var(--bg2)}
.ins h2{margin-bottom:clamp(26px,4vw,52px)}
.il{border-top:2px solid #fff}
.il li{display:grid;gap:6px;padding:22px 0;border-bottom:1px solid var(--line)}
.il h3{font-size:clamp(1.9rem,5vw,3rem)}
.il p{color:var(--soft);font-size:1.12rem;max-width:56ch}
@media (min-width:900px){.il li{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:baseline}}
.cl{display:grid;gap:0;border-top:2px solid #fff}
.cl li{display:grid;gap:12px;padding:26px 0;border-bottom:1px solid var(--line)}
.cl h2{font-size:1.5rem;color:var(--mute);letter-spacing:.06em}
.cl p{font-size:1.2rem;color:var(--soft)}
.cl .big{font:900 clamp(1.8rem,6vw,3.4rem)/1 var(--disp);color:#fff;text-decoration:none;text-transform:uppercase;overflow-wrap:anywhere}
.cl .btn{justify-self:start}
.soc2{display:flex;flex-wrap:wrap;gap:6px 26px}
.soc2 a{padding:8px 0;color:#fff}
@media (min-width:900px){.cl li{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:40px;align-items:start}}
.gg-full{grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.gg-full{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1100px){.gg-full{grid-template-columns:repeat(4,1fr)}}
.sub + .kg{margin-top:calc(var(--cut2)*-.6)}
.creds dd{overflow-wrap:anywhere}
@media (min-width:900px){.creds dd{font-size:clamp(1.2rem,1.8vw,2rem)}.mtxt h2{font-size:clamp(2rem,2.9vw,3.3rem);max-width:none}}
.cl a.big[href^="mailto"]{text-transform:none;font-size:clamp(1.3rem,3.2vw,2.1rem);letter-spacing:0}

/* WordPress: compensar la barra de administración y ocultar el botón flotante del plugin Creame WhatsApp */
.admin-bar .hd{top:32px}
@media (max-width:782px){.admin-bar .hd{top:46px}}
.bmas-c3 .joinchat{display:none!important}

/* ---- Revisión de diseño: programas en tarjetas con foto ---- */
.pgrid{display:grid;gap:6px}
.pcard{position:relative;display:flex;align-items:flex-end;min-height:clamp(380px,100vw,460px);overflow:hidden;background:#151517;isolation:isolate}
.pcard>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease)}
.pcard::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(9,9,10,.95) 0%,rgba(9,9,10,.74) 46%,rgba(9,9,10,.12) 82%)}
.pb{display:grid;gap:10px;justify-items:start;padding:clamp(20px,3vw,40px);max-width:36rem}
.pb .age{font:700 .86rem/1.2 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#fff}
.pb h2{font-size:clamp(2.6rem,6vw,5rem)}
.pb .pt{color:var(--soft);font-size:1.15rem;max-width:34ch;margin-bottom:10px}
@media (hover:hover) and (pointer:fine){.pcard:hover>img{transform:scale(1.04)}}
@media (min-width:900px){
  .pgrid{grid-template-columns:repeat(12,minmax(0,1fr))}
  .pcard{min-height:clamp(440px,38vw,560px)}
  .p1{grid-column:span 7}.p2{grid-column:span 5}.p3{grid-column:span 5}.p4{grid-column:span 7}
  .p5{grid-column:1/-1;min-height:clamp(360px,30vw,460px)}
}
.gg-full li{aspect-ratio:4/3}

/* ---- Revisión de accesibilidad ---- */
.voices :where(a,button):focus-visible{outline-color:var(--ink)}
.ft li a,.soc a,.legal a{display:inline-flex;align-items:center;min-height:44px;padding-block:0}
.contact dd a,.cl a:not(.btn){display:inline-flex;align-items:center;min-height:44px}

/* ---- Ampliación de fotos: cambio y cierre suaves (solo con puntero; el teclado cambia al instante) ---- */
.lb img{transition:opacity 160ms ease-out,filter 160ms ease-out}
.lb img.sw{opacity:0;filter:blur(2px)}
.lb.out{animation:none;opacity:0;transition:opacity 140ms ease-out}
html{overflow-x:clip}

/* ---- Textos y secciones nuevas: nota de planes, pasos, preguntas frecuentes, formulario ---- */
.pnote{margin-top:28px;color:var(--soft);font-size:1.05rem;max-width:52ch}
.steps .vp{margin-top:clamp(28px,4vw,48px)}
.faq .fl{margin-top:clamp(24px,4vw,44px);max-width:52rem;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{position:relative;display:flex;align-items:center;min-height:64px;padding:14px 56px 14px 0;list-style:none;cursor:pointer;font:700 1.15rem/1.3 var(--body);color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:18px;height:2px;margin-top:-1px;background:var(--red-lt);transition:transform 200ms var(--ease)}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{transform:rotate(0deg)}
.faq summary:focus-visible{outline:3px solid #fff;outline-offset:2px}
.faq details p{padding:0 56px 22px 0;color:var(--soft);font-size:1.05rem;max-width:60ch}
.wfg{display:grid;gap:clamp(28px,4vw,56px)}
.wf form{display:grid;gap:20px;max-width:34rem}
.fld{display:grid;gap:8px}
.fld label{font:700 .86rem/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#fff}
.fld .opt{font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--mute)}
.fld input,.fld select,.fld textarea{width:100%;min-height:52px;padding:12px 14px;border:2px solid rgba(255,255,255,.55);border-radius:2px;background:#151517;color:#fff;font:500 1rem/1.4 var(--body);transition:border-color 160ms ease}
.fld textarea{min-height:104px;resize:vertical}
.fld input:focus-visible,.fld select:focus-visible,.fld textarea:focus-visible{outline:3px solid #fff;outline-offset:2px;border-color:#fff}
.fld .err{color:#ff8a8e;font-weight:600}
.fld .err[hidden]{display:none}
.fld input[aria-invalid="true"]{border-color:#ff8a8e}
.wf .btn{justify-self:start}
@media (min-width:900px){.wfg{grid-template-columns:5fr 6fr;align-items:start}}

/* ---- Ki Gong ampliado: secciones pastel ---- */
.kx{--kg1:#E8F4F0;--kg2:#E4E1F3;--kg3:#CFE8DF;--kgi:#24373B;--kgm:#455A5E;--kgt:#17696A;position:relative;z-index:4;padding:clamp(56px,7vw,104px) 0;background:#E6EEF3;color:var(--kgi)}
.kx.kx-m{background:var(--kg1)}
.kx.kx-f{background:#E6EEF3}
.kx.last{padding-bottom:calc(var(--cut2) + clamp(56px,7vw,104px));clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut2)),0 100%);margin-bottom:calc(var(--cut2)*-1 + 1px)}
.kx .kick{color:var(--kgt)}
.kx .kick .mark{border-top-color:#8FD3C9;border-bottom-color:#B9AEE0}
.kx h2{font-size:clamp(2.2rem,7vw,4rem);color:var(--kgi);font-weight:800;line-height:.98;margin:0 0 14px;text-wrap:balance}
.kx h3{color:var(--kgi);font-size:1.5rem}
.kx p{color:var(--kgm);font-size:1.1rem;line-height:1.6}
.kx .kxl{max-width:54ch;margin-bottom:clamp(24px,4vw,44px)}
.kcs{display:grid;gap:14px;list-style:none;padding:0;margin:0}
.kcs li{display:grid;gap:10px;align-content:start;padding:clamp(22px,3vw,34px);background:rgba(255,255,255,.7);border-top:4px solid #8FD3C9}
.kcs li:nth-child(2){border-top-color:#B9AEE0}.kcs li:nth-child(3){border-top-color:#CFE8DF}
.kic{width:56px;height:56px;color:var(--kgt)}
.kmg,.kig{display:grid;gap:clamp(28px,5vw,64px);align-items:center}
.kmf,.kif{margin:0;position:relative;isolation:isolate}
.kmf::before,.kif::before{content:"";position:absolute;z-index:-1;inset:6% -4% -6% 8%;background:linear-gradient(160deg,var(--kg3),var(--kg2))}
.kmf img,.kif img{display:block;width:100%;height:auto;border-radius:2px}
.kmf img{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}
.kmc{display:grid;gap:14px;justify-items:start}
.kph{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;padding:0;margin:10px 0 0;width:100%;max-width:30rem}
.kph img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 78%;border-radius:2px}
.kdl{display:grid;gap:0;margin:8px 0 22px;max-width:34rem}
.kdl div{display:grid;grid-template-columns:6.5rem 1fr;gap:12px;padding:14px 0;border-top:1px solid rgba(36,55,59,.22)}
.kdl div:last-child{border-bottom:1px solid rgba(36,55,59,.22)}
.kdl dt{font:700 .86rem/1.5 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--kgt)}
.kdl dd{margin:0;font:600 1.1rem/1.45 var(--body);color:var(--kgi)}
.kic2{display:grid;gap:6px;justify-items:start}
.kx .btn{background:var(--kgi);border-color:var(--kgi)}
.kx .btn::before{background:#fff}
@media (hover:hover) and (pointer:fine){.kx .btn:hover{color:var(--kgi);border-color:var(--kgi)}}
.kx .btn:focus-visible{color:var(--kgi)}
.kx a:focus-visible,.kx summary:focus-visible{outline:3px solid var(--kgt);outline-offset:3px}
.kx .faq .fl{border-top-color:rgba(36,55,59,.28);margin-top:20px}
.kx .faq details{border-bottom-color:rgba(36,55,59,.28)}
.kx .faq summary{color:var(--kgi)}
.kx .faq summary::before,.kx .faq summary::after{background:var(--kgt)}
.kx .faq details p{color:var(--kgm)}
@media (min-width:900px){
  .kcs{grid-template-columns:repeat(3,1fr);gap:18px}
  .kmg{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
  .kig{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
}
.kcl{margin:clamp(24px,4vw,44px) 0 0;position:relative;isolation:isolate}
.kcl::before{content:"";position:absolute;z-index:-1;inset:6% -2% -5% 6%;background:linear-gradient(160deg,var(--kg3),var(--kg2))}
.kcl img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:50% 70%;border-radius:2px}
.kmf img{object-position:50% 60%}

/* ---- Instructores con foto ---- */
.ins .imf{display:grid;gap:clamp(20px,4vw,56px);align-items:center;margin-bottom:clamp(40px,6vw,80px)}
.ins .imf figure,.ins .il figure{margin:0;overflow:hidden;background:#151517}
.ins .imf img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%}
.ins .imf h3{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:4px}
.ins .imf p{color:var(--soft);font-size:1.1rem;max-width:56ch;margin-top:12px}
.ins .ig{font:700 .9rem/1.3 var(--body)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--red-lt)!important;margin-top:0!important}
.ins .il{display:grid;gap:clamp(28px,4vw,40px);list-style:none;padding:0;margin:0}
.ins .il li{display:grid;gap:8px;align-content:start}
.ins .il img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;transition:transform 600ms var(--ease)}
.ins .il figure{margin-bottom:8px}
.ins .il h3{font-size:1.7rem}
.ins .il li>p:last-child{color:var(--soft);font-size:1.02rem}
@media (hover:hover) and (pointer:fine){.ins .il li:hover img{transform:scale(1.04)}}
@media (min-width:700px){.ins .il{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){.ins .imf{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}
.ins .il{border-top:0}.ins .il li{padding:0;border-bottom:0}.ins .il p{max-width:none}
.ins .il li{grid-template-columns:minmax(0,1fr);align-items:start;gap:8px}
.kaf{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;list-style:none;padding:0;margin:6px 0 0}
.kaf img{display:block;height:120px;width:auto;mix-blend-mode:multiply}

/* ---- Galería por eventos ---- */
.gstat{background:var(--bg);padding:clamp(28px,4vw,48px) 0 0}
.gst{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;list-style:none;padding:0;margin:0 0 clamp(20px,3vw,32px);border-top:2px solid #fff}
.gst li{display:grid;gap:2px;padding-top:16px}
.gst b{font:800 clamp(2.2rem,7vw,4.4rem)/1 var(--disp);color:#fff}
.gst b::after{content:"";display:block;width:34px;height:4px;margin-top:8px;background:var(--red)}
.gst span{font:600 .86rem/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.gnav{position:sticky;top:76px;z-index:20;margin:0 calc(var(--gx)*-1);padding:10px var(--gx);background:rgba(9,9,10,.94);border-bottom:1px solid var(--line)}
.gnav ul{display:flex;gap:8px;list-style:none;padding:0;margin:0;overflow-x:auto;scrollbar-width:none}
.gnav ul::-webkit-scrollbar{display:none}
.gnav a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:2px solid rgba(255,255,255,.5);border-radius:2px;white-space:nowrap;color:#fff;text-decoration:none;font:700 .86rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;transition:background-color 180ms,color 180ms,border-color 180ms,transform 140ms var(--ease)}
.gnav a:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.gnav a:hover{background:var(--red);border-color:var(--red)}}
.ev{position:relative;padding:clamp(56px,8vw,112px) 0;background:var(--bg);scroll-margin-top:130px}
.ev.alt{background:var(--bg2)}
.ev+.ev{border-top:1px solid var(--line)}
.evh{display:grid;grid-template-columns:auto 1fr;gap:clamp(14px,3vw,40px);align-items:end;margin-bottom:clamp(24px,4vw,48px)}
.evn{font:900 clamp(4.5rem,15vw,11rem)/.8 var(--disp);color:transparent;-webkit-text-stroke:2px var(--red);letter-spacing:.01em}
.evt{display:inline-block;padding:7px 12px;background:var(--red);color:#fff;font:700 .82rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.ev h2{font-size:clamp(2.2rem,6vw,4.6rem);line-height:.95;margin-bottom:12px;text-wrap:balance}
.evd{color:var(--soft);font-size:1.12rem;max-width:56ch}
.mz{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(150px,44vw,260px);gap:6px}
.mz li{aspect-ratio:auto;position:relative}
.mz li.big{grid-column:span 2;grid-row:span 2}
.mz button{position:relative;overflow:hidden}
.mz button::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,9,10,.55),transparent 45%);opacity:0;transition:opacity 260ms ease}
.zm{position:absolute;right:10px;bottom:10px;z-index:1;display:grid;place-items:center;width:40px;height:40px;background:var(--red);color:#fff;font:700 1.5rem/1 var(--body);opacity:0;transform:translateY(6px);transition:opacity 220ms ease,transform 260ms var(--ease)}
@media (hover:hover) and (pointer:fine){.mz button:hover img{transform:scale(1.06)}.mz button:hover::after{opacity:1}.mz button:hover .zm{opacity:1;transform:none}}
.mz button:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.mz button:focus-visible .zm{opacity:1;transform:none}
@media (hover:none){.zm{opacity:1;transform:none;width:34px;height:34px}}
@media (min-width:900px){
  .mz{grid-auto-rows:clamp(190px,18vw,270px)}
  .mz li.big{grid-column:auto;grid-row:auto}
  .mz3,.mz4,.mz6{grid-template-columns:repeat(4,1fr)}
  .mz li:nth-child(1){grid-area:a}.mz li:nth-child(2){grid-area:b}.mz li:nth-child(3){grid-area:c}.mz li:nth-child(4){grid-area:d}.mz li:nth-child(5){grid-area:e}.mz li:nth-child(6){grid-area:f}
  .mz3{grid-template-areas:"a a b b" "a a c c"}
  .mz4{grid-template-areas:"a a b c" "a a d d"}
  .mz6{grid-template-areas:"a a b c" "a a d e" "f f f f"}
  .alt .mz3{grid-template-areas:"b b a a" "c c a a"}
  .alt .mz4{grid-template-areas:"b c a a" "d d a a"}
  .alt .mz6{grid-template-areas:"b c a a" "d e a a" "f f f f"}
}
.ev.ki{background:#E6EEF3;color:#24373B}
.ev.ki h2{color:#24373B}.ev.ki .evd{color:#455A5E}
.ev.ki .evn{-webkit-text-stroke-color:#17696A}
.ev.ki .evt{background:#17696A}
.ev.ki+.ev{border-top:0}
.ev.ki .mz li{background:#CFE8DF}
.mz img{object-position:50% 30%}
@media (max-width:899px){
  .evh{grid-template-columns:1fr;gap:10px}
  .evn{font-size:4.2rem}
  .mz li:last-child:nth-child(even){grid-column:span 2}
}

/* ---------- Mi cuenta (WooCommerce) dentro del diseño C3: panel claro, la funcionalidad no cambia ---------- */
.acct{position:relative;background:#eceeef;color:#16181b;padding:clamp(36px,6vw,90px) 0 clamp(70px,9vw,120px)}
.acct-in{background:#fff;padding:clamp(20px,4vw,52px);border-top:6px solid var(--red)}
.acct .woocommerce{font:400 1.0625rem/1.6 var(--body)}
.acct h2,.acct h3,.acct h4{font-family:var(--disp);text-transform:uppercase;font-weight:900;color:#09090a;line-height:1;margin:0 0 .6em}
.acct h2{font-size:clamp(1.9rem,4vw,2.8rem)}
.acct h3{font-size:clamp(1.4rem,2.6vw,1.9rem)}
.acct a{color:var(--red-dk)}
.acct label{display:block;font-weight:700;margin:0 0 6px}
.acct .required{color:var(--red-dk)}
.acct input[type=text],.acct input[type=email],.acct input[type=password],.acct input[type=tel],.acct input[type=number],.acct input[type=url],.acct select,.acct textarea{width:100%;min-height:48px;padding:10px 14px;border:2px solid #c3c6cc;border-radius:2px;background:#fff;color:#16181b;font:inherit}
.acct input:focus,.acct select:focus,.acct textarea:focus{outline:3px solid rgba(220,29,36,.35);outline-offset:0;border-color:var(--red)}
.acct .button,.acct button[type=submit],.acct input[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:0;border-radius:2px;background:var(--red);color:#fff;font:700 .92rem/1 var(--body);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background 200ms var(--ease),transform 120ms var(--ease)}
.acct .button:hover,.acct button[type=submit]:hover,.acct input[type=submit]:hover{background:#09090a;color:#fff}
.acct .button:active,.acct button[type=submit]:active{transform:scale(.97)}
.acct .woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:8px;font-weight:500}
.acct .woocommerce-form-login__rememberme input{width:auto;min-height:0}
.acct form.login,.acct form.register,.acct form.lost_reset_password,.acct form.edit-account{border:1px solid #dcdee2;border-radius:0;padding:clamp(18px,3vw,32px);margin:0}
.acct .u-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(20px,3vw,40px)}
.acct .u-columns .u-column1,.acct .u-columns .u-column2{float:none;width:auto}
.acct .form-row{margin:0 0 16px;padding:0}
.acct .woocommerce-notices-wrapper{margin:0 0 20px}
.acct .woocommerce-message,.acct .woocommerce-info,.acct .woocommerce-error{margin:0 0 20px;padding:16px 20px;border:0;border-top:3px solid var(--red);background:#f4f5f6;color:#16181b;list-style:none}
.acct .woocommerce-message::before,.acct .woocommerce-info::before,.acct .woocommerce-error::before{color:var(--red)}
.acct table{width:100%;border-collapse:collapse;font-size:.98rem}
.acct th,.acct td{padding:12px 10px;border-bottom:1px solid #dcdee2;text-align:left}
.acct th{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem}
.acct .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid #dcdee2}
.acct .woocommerce-MyAccount-navigation li{margin:0;border-bottom:1px solid #dcdee2}
.acct .woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:48px;padding:10px 16px;border-left:4px solid transparent;color:#16181b;font:700 .9rem/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background 180ms var(--ease),border-color 180ms var(--ease)}
.acct .woocommerce-MyAccount-navigation a:hover{background:#f4f5f6}
.acct .woocommerce-MyAccount-navigation .is-active a{border-left-color:var(--red);background:#f4f5f6;color:var(--red-dk)}
@media (min-width:800px){
 .acct .woocommerce:has(>.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:minmax(210px,270px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
 .acct .woocommerce:has(>.woocommerce-MyAccount-navigation)>.woocommerce-notices-wrapper{grid-column:1/-1;margin:0}
 .acct .woocommerce-MyAccount-navigation ul{margin:0}
 .acct .woocommerce-MyAccount-navigation,.acct .woocommerce-MyAccount-content{float:none;width:auto}
}
.acct .bmas-account-materials{margin:0 0 28px!important;border-radius:0!important;border-left:6px solid var(--red)!important}
.acct .bmas-account-materials article{border-radius:0!important}
.acct .bmas-account-materials a{border-radius:2px!important;font-family:var(--body)!important;text-transform:uppercase;letter-spacing:.06em}
.acct .bmas-account-materials h2,.acct .bmas-account-materials h3{margin-bottom:8px}
@media (max-width:560px){.acct-in{padding:18px 14px}}

/* ---------- Cifras 100%: panel HUD oscuro, medidores de segmentos que se encienden, foto con visor ---------- */
.vb{position:relative;display:grid;gap:clamp(22px,3.4vw,40px);margin-top:clamp(40px,6vw,84px);padding:clamp(24px,4vw,56px);border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#0f0f12,#09090a);overflow:hidden;clip-path:polygon(0 0,calc(100% - 40px) 0,100% 40px,100% 100%,0 100%);--x:30%;--y:20%}
.vb::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 44px),repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 44px);-webkit-mask:linear-gradient(120deg,#000,transparent 75%);mask:linear-gradient(120deg,#000,transparent 75%);pointer-events:none}
.vb::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--x) var(--y),rgba(220,29,36,.16),transparent 60%)}
.rings{position:relative;z-index:1;display:grid;gap:18px;align-content:center}
@media (min-width:560px){.rings{grid-template-columns:1fr 1fr}}
.rg{position:relative;display:grid;justify-items:center;gap:14px;padding:clamp(22px,2.6vw,32px) 14px 20px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);transition:border-color .3s,background .3s,transform .4s var(--ease)}
.rg:hover{border-color:rgba(220,29,36,.8);background:rgba(220,29,36,.07);transform:translateY(-4px)}
.rg small{position:absolute;left:12px;top:10px;font:700 .78rem/1 var(--body);letter-spacing:.2em;color:rgba(255,255,255,.55)}
.rg small::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:8px;box-shadow:0 0 10px var(--red);animation:vbk 1.8s infinite}
@keyframes vbk{50%{opacity:.35}}@keyframes vbs{to{transform:rotate(360deg)}}@keyframes vbscan{0%{transform:translateY(-10%)}100%{transform:translateY(110%)}}
.gauge{position:relative;width:min(100%,200px);aspect-ratio:1}
.gauge svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.gauge circle{fill:none}
.orb{stroke:rgba(255,255,255,.28);stroke-width:.6;stroke-dasharray:2 3;transform-origin:50% 50%;animation:vbs 40s linear infinite}
.bgc{stroke:rgba(255,255,255,.16);stroke-width:9;stroke-dasharray:.55 .45}
.fgc{stroke:var(--red);stroke-width:9;stroke-dasharray:.55 .45;filter:drop-shadow(0 0 5px rgba(220,29,36,.9))}
.js .rg:not(.in) .fgc{opacity:0}
.num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;font:900 clamp(2.6rem,5.4vw,3.6rem)/1 var(--disp);letter-spacing:.01em;color:#fff;font-variant-numeric:tabular-nums}
.num i{font-style:normal;color:var(--red);font-size:.5em;margin:.12em 0 0 3px}
.num::before{content:"";width:24%;aspect-ratio:1;background:var(--red);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);filter:drop-shadow(0 0 8px rgba(220,29,36,.8))}
.lab{font:700 .9rem/1.25 var(--body);letter-spacing:.14em;text-transform:uppercase;text-align:center;color:#fff}
.vph{position:relative;z-index:1;margin:0;overflow:hidden;aspect-ratio:4/5;max-height:520px;background:#111;clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%)}
.vph::after{content:"";position:absolute;left:0;right:0;top:0;height:30%;background:linear-gradient(180deg,transparent,rgba(220,29,36,.28),transparent);animation:vbscan 4.6s linear infinite;mix-blend-mode:screen;pointer-events:none}
.vph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 38%;filter:saturate(.85) contrast(1.05);transform:translate(var(--mx,0px),var(--my,0px)) scale(1.07);transition:transform .5s var(--ease)}
.vph i{position:absolute;z-index:1;width:22px;height:22px;border:0 solid rgba(255,255,255,.55);pointer-events:none}
.vph .a{left:12px;top:12px;border-width:2px 0 0 2px}.vph .b{right:12px;top:12px;border-width:2px 2px 0 0}.vph .c{left:12px;bottom:12px;border-width:0 0 2px 2px}.vph .d{right:12px;bottom:12px;border-width:0 2px 2px 0}
@media (min-width:900px){.vb{grid-template-columns:minmax(0,1fr) minmax(0,.46fr);align-items:center}.vph{max-height:none}}
@media (prefers-reduced-motion:reduce){.rg,.vph img{transition:none}.rg:hover{transform:none}.orb,.vph::after,.rg small::before{animation:none}}

/* WordPress: compensar la barra de administración y ocultar el botón flotante del plugin Creame WhatsApp */
.admin-bar .hd{top:32px}
@media (max-width:782px){.admin-bar .hd{top:46px}}
.bmas-c3 .joinchat{display:none!important}
