@font-face{font-family:"Literata";src:url("/assets/fonts/Literata-Bold.woff2") format("woff2");font-weight:600 800;font-style:normal;font-display:swap}@font-face{font-family:"Literata";src:url("/assets/fonts/Literata-Light.woff2") format("woff2");font-weight:300 500;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Sans";src:url("/assets/fonts/IBMPlexSans-Regular.woff2") format("woff2");font-weight:300 500;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Sans";src:url("/assets/fonts/IBMPlexSans-SemiBold.woff2") format("woff2");font-weight:600 800;font-style:normal;font-display:swap}
:root{
  --bg:#030509; --blue:#567EC0; --blue-soft:#FFD18A; --energy:#FFD18A; --energy-soft:#FFE7C2; --warm:#F2A33A; --warm-soft:#FFD18A;
  --text:#F4EFE6; --muted:#C2B9A9; --line:rgba(255,209,138,.15); --line-2:rgba(255,209,138,.34);
  --glass:rgba(6,11,22,.86); --r:16px; --gap:14px; --max:1080px; --sec:112px;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}html{overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--text);font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased}
#sky{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block;touch-action:pan-y}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;background-image:url("/assets/grain.svg?v=482")}
a{color:var(--blue-soft)}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--energy);outline-offset:3px}
h1[tabindex],h2[tabindex],[id][tabindex="-1"]:focus:not(:focus-visible){outline:none}
::selection{background:rgba(255,209,138,.35)}
.cur,.ring{display:none}
.btn[target="_blank"]::after,.foot-social a::after,a.work[target="_blank"]::after{content:" (se abre en otra pestaña)";position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.btn[target="_blank"]{position:relative}.foot-social a{position:relative}

/* header */
.top{position:fixed;left:0;right:0;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 12px) 20px 12px;background:linear-gradient(180deg,rgba(4,7,13,.96),rgba(4,7,13,.75) 70%,transparent)}
@media (max-width:860px){.top{background:rgba(4,7,13,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-bottom:10px}}
#fx{position:fixed;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;display:block}body.docked #fx{z-index:25}.hero>*{position:relative;z-index:3}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{display:block;filter:drop-shadow(0 0 12px rgba(255,209,138,.35))}
.brand .wm{height:36px;width:auto}
@media (max-width:560px){.brand .wm{height:27px}}
.nav{display:flex;gap:2px;align-items:center;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--glass);backdrop-filter:blur(14px)}
.nav a{font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;text-decoration:none;color:var(--muted);padding:8px 12px;border-radius:999px;white-space:nowrap}
.nav a:hover{color:var(--text)}
.nav a.on,.nav a[aria-current="page"]{color:#04070D;background:var(--blue-soft)}
.tabbar{display:none}
@media (max-width:860px){
  .nav{display:none}
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(3,5,9,.94);border-top:1px solid var(--line);padding:6px 2px calc(env(safe-area-inset-bottom,0px) + 6px);backdrop-filter:blur(14px)}
  .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:-.01em;padding:6px 0 4px;min-width:0;white-space:nowrap;position:relative;border-radius:10px;background:none;border:0}
  .tabbar a.on{color:var(--energy)}
  .tabbar a.on::before{content:"";position:absolute;top:0;left:50%;width:22px;height:3px;border-radius:2px;background:currentColor;transform:translateX(-50%)}
  .tabbar svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .page{padding-bottom:96px!important}
}
@media (max-width:374px){.tabbar a{font-size:10px}}
@media (max-width:1023px){#p-academia .side{width:100%}}
.sheet{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 74px);z-index:31;background:var(--glass);border:1px solid var(--line-2);border-radius:16px;padding:10px;display:none;backdrop-filter:blur(14px)}
.sheet.open{display:grid;gap:4px}
.sheet a{display:block;text-decoration:none;color:var(--text);font-weight:700;padding:12px 14px;border-radius:10px}
.sheet a.on{background:rgba(255,209,138,.14);color:var(--energy)}

/* layout */
main{position:relative;z-index:2}
.page{display:none;padding:calc(env(safe-area-inset-top,0px) + 92px) 20px 80px;min-height:100svh}
.page.on{display:block;animation:pagein .22s ease-out}
@media (pointer:coarse){.page.on{animation:none}.rv{transform:none}}
@keyframes pagein{from{opacity:.4}to{opacity:1}}
.wrap{max-width:var(--max);margin:0 auto}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--blue-soft)}
.eyebrow.e{color:var(--energy)}
h1{font-weight:700;font-size:clamp(42px,7.4vw,86px);line-height:1;letter-spacing:-.04em;margin:14px 0 0;text-wrap:balance}
h2,h1.ph{font-weight:700;font-size:clamp(30px,4vw,50px);line-height:1.04;letter-spacing:-.035em;margin:14px 0 0;text-wrap:balance;max-width:820px}
.card h3.t,.card h2.t,.mani h2.big{margin:0;font:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit}
.card h3.t,.card h2.t{display:block;font-weight:700;font-size:20px;margin:10px 0 6px;letter-spacing:-.02em;line-height:1.15;max-width:none}
.mani h2.big{font-size:clamp(22px,3vw,32px);font-weight:800;line-height:1.2;letter-spacing:-.025em;color:var(--text);max-width:none}
h3{font-weight:700;font-size:18px;margin:0 0 6px;letter-spacing:-.01em}
h2.sub{font-size:clamp(22px,2.4vw,26px);line-height:1.15;letter-spacing:-.02em;margin:12px 0 8px;max-width:none;font-weight:700}
.lead{max-width:620px;color:var(--muted);font-size:18px;line-height:1.7;margin:20px 0 0}
.lead b{color:var(--text);font-weight:700}
.sec{margin-top:var(--sec)}
.intro{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:auto auto;gap:24px 48px;align-items:start}
.intro>div:first-child{grid-row:1/3}
.intro .act{grid-column:2;width:100%;height:auto;opacity:.95}
.act{fill:none;stroke:rgba(255,209,138,.55);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.act .ve{stroke:rgba(255,209,138,.75);fill:rgba(255,209,138,.08)}
.act .net line,.act .net{stroke:rgba(255,209,138,.3);stroke-width:.6}
.act .dot,.act .node{fill:#FFD18A;stroke:none}
.act .anaco{fill:#FFD18A;stroke:none}
.act .halo{fill:url(#hg);stroke:none;transform-box:fill-box;transform-origin:center;animation:haloP 2.8s ease-in-out infinite}.act.esc .halo{fill:url(#hg2)}
@keyframes haloP{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.4);opacity:.55}}
.act .lbl{fill:#C2B9A9;stroke:none;font:600 12px "IBM Plex Sans",sans-serif;letter-spacing:.02em}
.act .lbl.c{fill:#FFD18A;font-weight:700}
.act .orb{stroke:rgba(255,209,138,.5)}.act .o2{stroke:rgba(255,209,138,.5)}
.act .core{fill:#000;stroke:rgba(255,240,214,.9);stroke-width:1.4}
.act .node{animation:nodeP 4s ease-in-out infinite}.act .n2{animation-delay:1s}.act .n3{animation-delay:2s}.act .n4{animation-delay:3s}
@keyframes nodeP{0%,60%,100%{fill:#FFD18A;r:5}20%{fill:#FFD18A;r:8}}
.act .scr{stroke:rgba(255,209,138,.6);fill:rgba(6,11,22,.88)}
.act .bar{stroke:rgba(255,209,138,.6);stroke-width:4}.act .bar.b2{stroke:rgba(255,209,138,.3)}
.act .wa{fill:#0A7C42;stroke:none}.act .pin{stroke:#FFD18A;fill:rgba(255,209,138,.12)}.act .pinx{stroke:#FFD18A;stroke-width:1.5}
.act .bub{stroke:rgba(255,209,138,.6);fill:rgba(6,11,22,.88)}
.act .pulse{fill:#FFD18A;stroke:none;animation:pulseD 2s ease-in-out infinite}
@keyframes pulseD{0%,100%{r:5;opacity:1}50%{r:9;opacity:.5}}
.map{display:grid;grid-template-columns:420px 1fr;gap:40px;align-items:center;margin-top:var(--sec)}
.act .lbl.s{font-size:9px;font-weight:600}
.map .act{width:420px;height:315px}
@media (max-width:860px){.map{grid-template-columns:1fr}.map .act{width:100%;max-width:420px;height:auto;aspect-ratio:4/3}}
@media (prefers-reduced-motion:reduce){.act .halo,.act .node,.act .pulse{animation:none}}
.intro+.sec,.intro+.grid.sec{margin-top:48px}
.intro .act{margin-top:-6px}
.top.scrolled{background:rgba(3,5,9,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.intro .side{position:sticky;top:104px;padding:22px}
.side .k{margin-bottom:4px}
.side .row{margin-top:14px}
.side ul{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:15px;line-height:1.6}
.side ul b{color:var(--text)}
.jumps{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.jumps a{font-size:13px;font-weight:700;letter-spacing:0;text-decoration:none;color:var(--text);border:1px solid var(--line-2);padding:8px 12px;border-radius:4px}
@media (max-width:560px){.intro .act{display:none}}
@media (max-width:1023px){.intro{grid-template-columns:1fr;grid-template-rows:auto;gap:20px}.intro>div:first-child{grid-row:auto}.intro .side{position:static}.intro .act{grid-column:1;max-width:360px;margin:0 auto}}
@media (max-width:560px){.intro .side{padding:16px}}
.facts{margin-top:28px}
.sec-h{margin-bottom:18px}
.sec-h p{margin:6px 0 0;color:var(--muted);max-width:52ch;font-size:15px}
.grid{display:grid;gap:var(--gap)}
.g2{grid-template-columns:repeat(2,1fr)}.g2>a.card{height:100%} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.g2,.g3,.g4{grid-template-columns:1fr}:root{--sec:60px}}
.card{position:relative;border:1px solid var(--line);border-radius:var(--r);padding:20px;background:var(--glass);overflow:hidden;transition:border-color .3s,transform .3s,box-shadow .3s}
.card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:radial-gradient(240px 120px at var(--mx,50%) var(--my,0%),rgba(255,209,138,.2),transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none}
.card:hover::before{opacity:1}
a.card:hover,button.card:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:0 30px 60px -30px rgba(86,126,192,.55)}
.card.e::before{background:radial-gradient(240px 120px at var(--mx,50%) var(--my,0%),rgba(255,209,138,.22),transparent 70%)}
a.card.e:hover,button.card.e:hover{border-color:rgba(255,209,138,.5)}
a.card{display:flex;flex-direction:column;text-decoration:none;color:var(--text)}
a.card>.row,.course .meta{margin-top:auto;padding-top:12px}
.k{font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--blue-soft)}
.card.e .k{color:var(--energy)}
.t{font-weight:800;font-size:20px;margin:10px 0 6px;letter-spacing:-.02em;line-height:1.15}
.d{color:var(--muted);font-size:16px;line-height:1.55}
.d b{color:var(--text);font-weight:700}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:rgba(255,209,138,.1);color:var(--text);text-decoration:none;font-weight:700;font-size:15px;padding:13px 20px;border-radius:999px;cursor:pointer;transition:border-color .25s,box-shadow .25s,background .25s;will-change:transform}
.btn:hover{border-color:var(--blue-soft);box-shadow:0 0 28px -8px var(--blue)}
.btn.e{background:var(--energy);border-color:var(--energy);color:#1A1206}
.btn.e:hover{box-shadow:0 0 30px -6px var(--energy)}
.btn.ghost{background:transparent}
.btn.wa{background:#0A7C42;border-color:#0A7C42;color:#fff}
.btn.wa:hover{box-shadow:0 0 30px -6px #0A7C42}
.btn,.chip,.tabbar a,.demo-x{transition:border-color .25s,box-shadow .25s,background .25s,transform .12s}
.btn:active,.chip:active,.demo-x:active{transform:scale(.965)}
.tabbar a:active svg{transform:scale(.9)}
#playbtn:active{transform:scale(.94);box-shadow:0 0 36px -4px var(--energy)}
@media (prefers-reduced-motion:reduce){.btn:active,.chip:active,.demo-x:active,#playbtn:active{transform:none}}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pill{display:inline-block;font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;padding:5px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.pill.live{color:var(--energy-soft);border-color:rgba(255,209,138,.45);background:rgba(255,209,138,.12)}
.pill.soon{opacity:.75}
.rv{opacity:1;transform:translateY(10px);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.rv.in{transform:none}

/* hero */
.hero{text-align:center;padding-top:6px}
.horizon{touch-action:pan-y;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:relative;height:clamp(150px,32vw,340px);display:grid;place-items:center;transition:transform .15s linear}
#lens,#hole{position:fixed;left:0;top:0;width:100px;height:100px;z-index:1;pointer-events:none;display:block;transform-origin:0 0;-webkit-mask:radial-gradient(ellipse 50% 48% at 50% 50%,#000 62%,transparent 100%);mask:radial-gradient(ellipse 50% 48% at 50% 50%,#000 62%,transparent 100%)}
body.docked #lens,body.docked #hole{animation:dockin .7s cubic-bezier(.2,.9,.2,1) both}
@keyframes dockin{from{opacity:0;translate:0 -14px}to{opacity:1;translate:0 0}}
@media (prefers-reduced-motion:reduce){body.docked #lens,body.docked #hole{animation:none}}
body.docked #lens,body.docked #hole{z-index:21}
#fx{mix-blend-mode:screen}
.core-iso{position:relative;width:clamp(36px,6vw,68px);height:auto;opacity:0;transform:scale(.3) translateY(10px);filter:drop-shadow(0 0 0 rgba(255,209,138,0))}
.core-iso.on{opacity:1;transform:none;filter:drop-shadow(0 0 10px rgba(255,209,138,.6)) drop-shadow(0 0 22px rgba(86,126,192,.3));transition:opacity .5s,transform .9s cubic-bezier(.2,.9,.2,1.35),filter 1s}
.stage-on .core-iso{animation:pulse 4s ease-in-out infinite}@media (max-width:760px){.stage-on .core-iso{animation:none}}
@keyframes pulse{0%,100%{filter:drop-shadow(0 0 10px rgba(255,209,138,.5)) drop-shadow(0 0 22px rgba(86,126,192,.25))}50%{filter:drop-shadow(0 0 14px rgba(255,209,138,.6)) drop-shadow(0 0 30px rgba(255,209,138,.2))}}
.who{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:var(--glass);font-size:13.5px;color:var(--muted)}
.who img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.who b{color:var(--text);font-weight:700}
.h1w{position:relative;display:inline-block}
.h1w .alt{position:absolute;left:0;right:0;top:0;pointer-events:none;color:var(--energy-soft);text-shadow:0 0 30px rgba(255,209,138,.6)}
h1 .l{display:inline-block;opacity:0;transform:translateY(.35em);filter:blur(6px);transition:opacity .35s,transform .5s cubic-bezier(.2,.9,.2,1.2),filter .5s}
h1 .l.on{opacity:1;transform:none;filter:blur(0)}
h1 .alt .l{opacity:1;transform:none;filter:none;transition:opacity .55s,transform .75s cubic-bezier(.7,0,.9,.3),filter .5s}
h1 .alt .l.off{opacity:0;transform:translateY(-3.2em) scale(.08);filter:blur(4px)}
h1 .w{white-space:nowrap;display:inline-block}
h1 .sp{display:inline-block;width:.26em;white-space:pre}
.hero .lead{margin-left:auto;margin-right:auto;font-size:18px;max-width:660px;text-wrap:pretty}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .6s,transform .6s}
.stage-on .reveal{opacity:1;transform:none}
.cta{justify-content:center;margin-top:24px}
#skip{position:fixed;top:calc(env(safe-area-inset-top,0px) + 74px);left:50%;transform:translateX(-50%);z-index:40;background:var(--glass);border:1px solid var(--line-2);color:var(--text);font:700 13px/1 "IBM Plex Sans",sans-serif;letter-spacing:0;text-transform:none;padding:12px 18px;border-radius:999px;cursor:pointer}
#skip[hidden]{display:none}
.skip-main{position:fixed;top:8px;left:8px;z-index:70;padding:12px 18px;border-radius:999px;background:var(--energy);color:#1A1206;font-weight:700;text-decoration:none;transform:translateY(-200%)}.skip-main:focus{transform:none}
main:focus{outline:none}
.tiltbar{display:none;justify-content:center;margin-top:14px}
.tiltbar.show{display:flex}
.proof{margin:28px auto 0;max-width:720px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:13px;color:var(--muted)}
.proof b{color:var(--text);font-variant-numeric:tabular-nums}
.proof i{font-style:normal;color:var(--energy)}

@media (min-width:861px) and (max-height:820px){.horizon{height:clamp(150px,22vw,250px)}.hero .lead{margin-top:14px}.cta{margin-top:18px}}
@media (min-width:861px) and (max-width:980px){.nav a{padding:8px 9px;font-size:11px;letter-spacing:0}}
/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap);margin-top:60px;text-align:left}
.bento .door{grid-column:span 2}
.bento .stat{grid-column:span 2;display:flex;flex-direction:column;justify-content:flex-start;min-height:124px}
.stat .n{margin-top:12px}.stat .d{margin-top:auto;padding-top:10px}
.stat .n{font-weight:800;font-size:38px;letter-spacing:-.04em;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}
.stat .n span{color:var(--energy)}
@media (max-width:900px){.bento .door,.bento .stat{grid-column:span 3}}
@media (max-width:560px){.hero .cta .btn{padding:12px 15px;font-size:14.5px;flex:1 1 40%;justify-content:center}.who{border-radius:18px;text-align:center}.intro+.sec,.intro+.grid.sec{margin-top:var(--sec)}.play{padding-bottom:120px}.hero .lead{font-size:16.5px;margin-top:12px}h1{font-size:clamp(38px,11vw,44px)}.hide-m{display:none}.bento{grid-template-columns:1fr}.bento .door,.bento .stat{grid-column:auto}.bento .stat{min-height:0;flex-direction:row;align-items:center;gap:14px;padding:14px 16px}.stat .k{display:none}.stat .n{font-size:26px;min-width:88px;flex:0 0 auto;margin-top:0}.stat .d{margin-top:0;padding-top:0}.stat .d{font-size:14px}}

/* play zone */
.play{margin:var(--sec) auto 0;max-width:760px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:18px 20px;border:1px solid rgba(255,209,138,.35);border-radius:var(--r);background:radial-gradient(420px 160px at 85% 50%,rgba(255,209,138,.10),transparent 70%),var(--glass)}
.play p{margin:4px 0 0;color:var(--muted);font-size:14.5px}
.play .k{color:var(--energy)}
@media (max-width:560px){.play{grid-template-columns:1fr}}

/* manifesto */
.mani{margin:var(--sec) 0 0;max-width:760px;text-align:left;display:grid;gap:16px}
.mani p{margin:0;font-size:clamp(17px,1.9vw,20px);line-height:1.55;color:var(--muted)}
.mani p b{color:var(--text);font-weight:700}
.mani .big{font-size:clamp(22px,3vw,32px);font-weight:700;line-height:1.2;letter-spacing:-.025em;color:var(--text)}

/* academia */
.course{display:flex;flex-direction:column;gap:6px;min-height:100%}
.course .meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;padding-top:12px}
.page [id]{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 100px)}
.lab{display:flex;flex-direction:column;padding:18px;border-radius:var(--r);background:var(--glass);border:1px solid var(--line)}
.lab label{display:block;font-size:12px;letter-spacing:0;text-transform:none;color:var(--muted);margin-bottom:8px;font-weight:700}
.lab input{width:100%;background:#04070D;border:1px solid var(--line-2);color:var(--text);font:500 16px "IBM Plex Sans",sans-serif;padding:12px 14px;border-radius:10px}
.meter{height:6px;border-radius:999px;background:rgba(255,209,138,.15);margin-top:12px;overflow:hidden}
.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--energy));transition:width .4s}
.lab .out{margin-top:10px;font-size:14.5px;color:var(--muted)}
.lab .out b{color:var(--text)}
.bits{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.bit{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;font-weight:700;font-size:13px;color:var(--muted);transition:.25s}
.bit.on{background:rgba(255,209,138,.2);border-color:var(--energy);color:var(--energy-soft);box-shadow:0 0 14px -4px var(--energy)}
.bitc{font-size:12px;color:var(--muted);margin-top:8px}
.lab .next{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.lab .next{margin-top:auto}.lab>.cert{margin-top:16px}.lab .next{padding-top:14px}
.lab .next .btn{font-size:13.5px;padding:10px 14px}
.lab>*:nth-last-child(2){margin-bottom:14px}

.msg{margin-top:6px;padding:14px;border-radius:12px;background:#0b1424;border:1px solid var(--line-2);font-size:15px;line-height:1.5}
.msg .from{font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:700}
.code{width:100%;background:#04070D;border:1px solid var(--line-2);color:var(--energy-soft);font:500 16px/1.6 ui-monospace,Menlo,Consolas,monospace;padding:12px 14px;border-radius:10px;resize:vertical;field-sizing:content;min-height:7.5em}
.preview{margin-top:12px;padding:16px;border-radius:12px;background:var(--pv,#F2A33A);color:#0b0f18;display:grid;gap:4px;transition:background .35s,color .35s}
.preview b{font-size:18px}.preview span{font-size:14px;opacity:.9}
/* demos y constancias */
button.sample{text-align:left;font:inherit;color:var(--text);cursor:pointer;width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
.sample .shot{min-height:176px}
.sample .shot{height:200px;min-height:0;overflow:hidden}
.sample .sh-hero{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sample .d{margin-bottom:14px}
.sample .open{margin-top:auto;padding:9px 14px;font-size:14px;align-self:flex-start}
.demo{position:fixed;inset:0;z-index:80;background:rgba(2,4,8,.82);backdrop-filter:blur(8px);display:grid;place-items:center;padding:16px}
.demo[hidden]{display:none}
.demo{animation:demoin .25s ease-out}
.demo-frame{animation:framein .35s cubic-bezier(.2,.9,.2,1.1)}
@keyframes demoin{from{opacity:0}to{opacity:1}}
@keyframes framein{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.demo,.demo-frame{animation:none}}
.demo-frame{max-width:100vw;width:min(980px,100%);height:min(88vh,760px);display:grid;grid-template-rows:auto 1fr;border-radius:16px;overflow:hidden;border:1px solid var(--line-2);background:#fff;box-shadow:0 40px 100px -30px rgba(0,0,0,.9)}
.demo-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#0b1220;color:var(--muted);font-size:13px}
.demo-bar .dots i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#2a3a5c;margin-right:5px}
.demo-url{flex:1;background:#050a14;border-radius:8px;padding:6px 12px;color:var(--text);font:600 13px ui-monospace,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.demo-tag{font-size:11px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--warm-soft)}
.demo-x{background:var(--blue-soft);color:#06101F;border:0;border-radius:999px;padding:12px 16px;min-height:44px;font:700 14px "IBM Plex Sans",sans-serif;cursor:pointer}
.demo-site{color-scheme:light;overflow:auto;background:#fff;color:#1a2233;font-family:"IBM Plex Sans",system-ui,sans-serif;-webkit-overflow-scrolling:touch}
@media (max-width:560px){.demo{padding:0}.demo-frame{width:100%;height:100%;border-radius:0}.demo-bar{flex-wrap:wrap;gap:6px 12px;padding:8px 12px}.demo-bar .dots{display:none}.demo-tag{display:block;flex-basis:100%;order:3}}
.cert{margin-top:16px;padding:18px 18px 16px;border-radius:12px;border:1px solid rgba(255,209,138,.45);background:radial-gradient(420px 160px at 50% 0,rgba(255,209,138,.12),transparent 70%),rgba(255,209,138,.06);box-shadow:0 0 0 1px rgba(255,209,138,.08),0 12px 36px rgba(0,0,0,.35)}
.cert .k{color:var(--energy)}.cert .t{margin:4px 0 0;font-size:18px}
.cert label{margin-top:12px;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:var(--text)}
.cert .row{margin-top:10px}
.cert .btn{font-size:14px;padding:10px 14px}
/* demo site */
.dm header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e6e9f0;padding:12px 18px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.dm .dm-brand{font-weight:800;color:var(--c1);font-size:17px;margin-right:auto}.dm nav a{font-size:13px;font-weight:700;color:#334;text-decoration:none;padding:6px 10px;border-radius:999px;cursor:pointer}.dm nav a.on{background:var(--c2);color:var(--c1)}.dm main{padding:26px 18px 40px;max-width:820px;margin:0 auto}.dm h1{font-size:clamp(26px,4vw,38px);line-height:1.08;letter-spacing:-.03em;color:var(--c1);margin:0 0 12px}.dm p{color:#3d4657;line-height:1.6;margin:0 0 18px}.dm .dm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:8px 0 18px}.dm .dm-card{border:1px solid #e6e9f0;border-radius:12px;padding:14px;background:#fff;display:grid;gap:4px}.dm .dm-card b{color:#1a2233}.dm .dm-card span{font-size:13px;color:#5b6577}.dm .dm-add{cursor:pointer}.dm .dm-add:hover{border-color:var(--c1)}.dm .dm-table{width:100%;border-collapse:collapse;margin:8px 0 18px}.dm .dm-table td{padding:10px 8px;border-bottom:1px solid #eceff5;font-size:15px}.dm .dm-table td:last-child{text-align:right;font-weight:700;color:var(--c1)}.dm .dm-btn{display:inline-block;background:#0A7C42;color:#fff;font-weight:700;padding:12px 18px;border-radius:999px;font-size:15px;cursor:pointer}.dm .dm-form{display:grid;gap:12px;max-width:420px}.dm label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#3d4657}.dm select{font:500 16px "IBM Plex Sans",sans-serif;padding:12px;border:1px solid #cfd6e4;border-radius:10px;background:#fff}.dm .dm-map{position:relative;height:180px;border-radius:12px;margin:8px 0 18px;background:#eef2f8;background-image:linear-gradient(#dfe5ef 1px,transparent 1px),linear-gradient(90deg,#dfe5ef 1px,transparent 1px);background-size:28px 28px;display:grid;place-items:end start;padding:12px;color:#3d4657;font-size:13px;font-weight:700}
.dm .dm-map::before{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;border-radius:50% 50% 50% 0;background:var(--c1);transform:translate(-50%,-80%) rotate(-45deg);box-shadow:0 6px 14px -4px rgba(0,0,0,.4)}.dm .dm-post{border-left:3px solid var(--c1);padding:8px 14px;margin:0 0 14px;display:grid;gap:4px}.dm .dm-post span{color:#3d4657;font-size:15px;line-height:1.5}.dm .dm-cart{margin:8px 0 14px;padding:12px 14px;border-radius:10px;background:var(--c2);color:#1a2233;font-size:14px}.dm footer{padding:18px;border-top:1px solid #e6e9f0;font-size:12px;color:#5b6577;text-align:center}.dm .dm-hero{background:linear-gradient(135deg,var(--c1),color-mix(in srgb,var(--c1) 55%,#000));color:#fff;padding:34px 18px;margin:-26px -18px 22px;border-radius:0 0 18px 18px}.dm .dm-hero h1{color:#fff}.dm .dm-hero p{color:rgba(255,255,255,.85)}
/* proyectos */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{border:1px solid var(--line-2);background:transparent;color:var(--text);padding:10px 14px;border-radius:999px;font-size:14.5px;font-weight:500;cursor:pointer;transition:.2s}
.chip[aria-pressed="true"]{border-color:var(--energy);background:rgba(255,209,138,.16);color:var(--energy-soft)}
.plan{margin-top:14px;padding:18px;border-radius:var(--r);border:1px solid var(--line);background:var(--glass)}
.plan ul{margin:8px 0 0;padding-left:18px;color:var(--muted);line-height:1.6}
.plan ul li b{color:var(--text)}
.quote{font-size:clamp(19px,2.6vw,27px);font-weight:700;letter-spacing:-.02em;line-height:1.3;max-width:760px;text-wrap:balance}
.quote small{display:block;margin-top:10px;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--muted)}
.range{margin-top:10px;padding:16px 18px;border-radius:var(--r);border:1px solid var(--line);background:var(--glass);color:var(--muted);font-size:15px;max-width:760px}
.range b{color:var(--text)}

/* samples */
.shot{border-radius:10px;padding:12px;background:linear-gradient(180deg,#0E1A33,#08101F);border:1px solid var(--line);display:grid;gap:8px;min-height:150px}
.shot.s1{background:linear-gradient(180deg,#2A1533,#120A18)}.shot.s1 .sh-hero{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:20px;letter-spacing:-.01em}.shot.s1 .sh-btn,.shot.s1 .sh-row span{border-radius:14px}.shot.s2 .sh-hero,.shot.s2 .sh-grid span{text-transform:none;letter-spacing:.02em}.shot.s2 .sh-grid span,.shot.s2 .sh-btn{border-radius:3px}.shot.s3{text-align:center}.shot.s3 .sh-top{justify-content:center}.shot.s4{border-left:6px solid #F2A33A;background:linear-gradient(180deg,#3A1612,#160907)}.shot.s2{background:linear-gradient(180deg,#1C2A16,#0B1209)}.shot.s3{background:linear-gradient(180deg,#0F2A33,#071319)}.shot.s4{background:linear-gradient(180deg,#2A2110,#15100A)}
.sh-top{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#fff}.sh-top i{width:14px;height:14px;border-radius:4px;background:var(--energy);display:inline-block}
.sh-hero{font-weight:800;font-size:18px;letter-spacing:-.02em;color:#fff}
.sh-row,.sh-grid{display:grid;gap:6px}.sh-row{grid-template-columns:repeat(3,1fr)}.sh-grid{grid-template-columns:repeat(2,1fr)}
.sh-row span,.sh-grid span{font-size:10px;padding:6px 8px;border-radius:6px;background:rgba(255,255,255,.08);color:#E8EDF5;text-align:center}
.sh-btn{font-size:11px;font-weight:700;padding:8px;border-radius:999px;background:rgba(255,255,255,.14);color:#E8EDF5;text-align:center;border:1px solid rgba(255,255,255,.18)}
/* nosotros */
.about{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center}
.avatar{width:150px;height:150px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,209,138,.55);box-shadow:0 0 0 8px rgba(86,126,192,.1),0 0 46px -6px rgba(86,126,192,.9)}
@media (max-width:560px){.about{grid-template-columns:1fr}.avatar{width:110px;height:110px}}
.story{max-width:62ch;margin-top:26px;display:grid;gap:14px}
.story p{margin:0;color:var(--muted);font-size:16.5px}
.story p b{color:var(--text);font-weight:700}
.tl{display:grid;grid-template-columns:164px 1fr;max-width:820px;gap:14px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}
.tl .y{font-weight:800;font-size:24px;letter-spacing:-.02em;color:var(--blue-soft)}
.tl>div:last-child{max-width:62ch}
.tl .y.e{color:var(--energy)}
.dedic{padding:28px 26px;border-radius:var(--r);border:1px solid rgba(255,209,138,.4);background:radial-gradient(600px 220px at 50% 0,rgba(255,209,138,.13),transparent 70%),var(--glass);max-width:760px}
.dedic p{margin:0;font-size:16.5px;line-height:1.7;max-width:62ch}
.dedic .sob{font-weight:800;font-size:clamp(26px,4.4vw,38px);letter-spacing:-.025em;color:var(--text);text-shadow:0 0 30px rgba(255,209,138,.5);margin:6px 0 14px}
.verse{margin:14px 0 0;padding:14px 18px;border-left:2px solid var(--energy);color:var(--text);font-style:italic;font-size:16px;line-height:1.6;background:linear-gradient(90deg,rgba(255,209,138,.08),transparent);max-width:62ch}

/* contacto */
.cv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center}
@media (max-width:560px){.cv{grid-template-columns:1fr}}
.cv code{font:800 clamp(24px,2.8vw,34px)/1.1 "IBM Plex Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:#F4EFE6;user-select:all}
.note{margin-top:10px;font-size:14px;color:var(--muted)}

/* footer */
.foot{position:relative;z-index:2;padding:26px 20px calc(env(safe-area-inset-bottom,0px) + 22px);border-top:1px solid var(--line);background:rgba(4,7,13,.85)}
@media (max-width:860px){.foot{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 96px)}}
.foot-in{max-width:var(--max);margin:0 auto;display:grid;gap:10px;justify-items:center;text-align:center}
.foot-meta{justify-content:center}
.foot-social{gap:8px 28px;padding-bottom:14px;border-bottom:1px solid var(--line);width:100%}
.foot-logo{height:42px;width:auto;filter:drop-shadow(0 0 12px rgba(255,209,138,.35))}
.foot-verse{margin:0;font-size:15px;line-height:1.6;color:var(--text);font-style:italic;max-width:900px;text-wrap:pretty}
.ref,.nw{white-space:nowrap}
.no-js #p-inicio{display:block}.no-js #p-inicio.nojs-off{display:none}.no-js .reveal,.no-js h1 .l,.no-js .core-iso{opacity:1;transform:none;filter:none}.no-js #skip,.no-js #play,.no-js .cert,.no-js #lab-fake .row,.no-js #fakeout,.no-js #proof{display:none}
.msg:focus:not(:focus-visible){outline:none}
.ill{width:120px;height:120px;stroke:var(--energy);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px;filter:drop-shadow(0 0 10px rgba(255,209,138,.45))}
@media (max-width:560px){.ill{width:84px;height:84px}}
.ill ellipse{stroke:#FFD18A;stroke-opacity:.7}.ill .p{fill:#FFD18A;stroke:none}
.dm{min-height:100%;display:flex;flex-direction:column}.dm main{flex:1;overflow-x:hidden}.demo-site{overflow-x:hidden}.dm .dm-card{min-width:0}.dm .dm-hero .dm-btn{background:#fff;color:var(--c1)}
.dm button{appearance:none;-webkit-appearance:none;border:0;background:none;color:inherit;text-align:left;padding:0;font:inherit;cursor:pointer;box-shadow:none}.dm nav button{font-size:13px;font-weight:700;color:#334;padding:6px 10px;border-radius:999px;min-height:40px}.dm nav button.on{background:var(--c2);color:var(--c1)}.dm select{color:#1a2233}.dm .dm-btn{border:0}
.dm-photo{height:150px;border-radius:12px;background:linear-gradient(135deg,var(--c2),#fff);display:grid;place-items:center;margin:0 0 6px;overflow:hidden}.dm-photo svg{width:100%;height:100%;max-width:420px}.dm-photo .i1{fill:none;stroke:var(--c1);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.dm-photo .i2{fill:none;stroke:var(--c1);stroke-width:1.8;stroke-linecap:round;opacity:.7}.dm-cap{font-size:12px;color:#5b6577;margin:0 0 18px}
.dm .dm-hero.two{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.dm .dm-ini{font-family:Georgia,serif;font-size:96px;line-height:1;color:rgba(255,255,255,.25);padding-right:10px}.dm .dm-hero.flat{background:none;color:#1a2233;padding:8px 0 18px;margin:0 0 18px;border-radius:0}.dm .dm-hero.flat h1{color:var(--c1)}.dm .dm-hero.flat p{color:#3d4657}.dm .dm-hero.flat .dm-btn{background:var(--c1);color:#fff}.dm .dm-hero.center{text-align:center}.dm .dm-badge{display:inline-block;border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;margin-bottom:12px}.dm .dm-shield{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--c2);color:var(--c1);font-weight:800;font-size:24px;margin-bottom:12px}
@media (max-width:560px){.dm .dm-hero.two{grid-template-columns:1fr}.dm .dm-ini{display:none}}
.dm.s-suave h1,.dm.s-suave .dm-brand,.dm.s-suave .dm-card b,.dm.s-suave .dm-ini{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.01em}.dm.s-suave .dm-card,.dm.s-suave .dm-btn{border-radius:22px}.dm.s-suave .dm-hero{border-radius:0 0 48px 48px}
.dm.s-recio .dm-card,.dm.s-recio .dm-btn,.dm.s-recio .dm-hero,.dm.s-recio .dm-photo{border-radius:4px}.dm.s-recio h1{text-transform:none;letter-spacing:-.01em}.dm.s-recio .dm-grid{gap:6px}
.dm.s-clinico .dm-hero{text-align:center}.dm.s-clinico .dm-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.dm.s-clinico .dm-card{border-radius:14px;text-align:center}
.dm.s-escolar .dm-hero{border-left:10px solid var(--c2);border-radius:0}.dm.s-escolar header{border-bottom:3px solid var(--c1)}
#bgpause{font-size:12px;letter-spacing:0;text-transform:none;padding:0;border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px;border-radius:4px}
#bgpause:hover{color:var(--text);box-shadow:none}
.foot-meta{margin:0;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:12px;letter-spacing:0;text-transform:none;color:var(--muted)}
.foot-meta b{color:var(--blue-soft);font-weight:700}
.foot-priv{margin:0;font-size:12px;color:#C2B9A9;max-width:720px;opacity:.85}
.foot-meta a{color:var(--text);text-decoration:none;font-weight:700}

@media (prefers-reduced-motion:reduce){
  h1 .l,.reveal,.rv{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  h1 .alt{display:none}.core-iso{opacity:1;transform:none;animation:none!important}.page.on{animation:none}
}
.x1{margin:12px 0 0;font-size:13.5px}
.x2{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.x3{margin-top:18px;max-width:62ch}
.x4{align-items:center}
.x5{margin-top:12px}
.x6{line-height:1.7;padding-left:18px;margin:8px 0 0}
.x7{margin-top:14px}
.x8{margin-top:22px}
.x9{color:var(--energy)}
.x10{display:block;margin-top:10px}
.x11{margin:12px 0 0;font-size:14px}
.x12{padding:8px 12px;font-size:13px}
.x13{margin-top:10px}
.x14{margin-top:8px}
.x15{margin-top:var(--gap)}
.x16{margin-top:16px}
.x17{margin-top:6px}
.x18{display:block}
.x19{padding:9px 14px;font-size:14px}
.x20{font-size:13px}
.x21{max-width:720px}
.x22{margin-top:48px}
.x23{margin:0}
.x24{margin:8px 0 0}
.x25{margin-top:56px}
.x26{text-decoration:none}

/* artículos del blog y 404 */
.art{max-width:660px;margin:0 auto}
.crumbs{margin:0;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--blue-soft)}
.crumbs a{color:inherit;text-decoration:none;display:inline-block;padding:8px 0}.crumbs a:hover{color:var(--text)}
.art h1.ph{max-width:none}
.art-meta{margin:16px 0 0;font-size:13px;letter-spacing:0;color:var(--muted)}
.art-meta a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line)}
.art-lead{max-width:none;font-size:19.5px;color:var(--text);font-weight:500;margin-top:28px;padding-left:18px;border-left:2px solid var(--energy)}
.art-body{margin-top:26px;font-size:18px;line-height:1.75;color:var(--muted)}
.art-body p{margin:0 0 1.25em}
.art-body b{color:var(--text);font-weight:700}
.art-body a{color:var(--text);text-decoration:underline;text-decoration-color:var(--blue-soft);text-underline-offset:3px}
.art-body h2{font-size:clamp(24px,3vw,34px);margin:1.6em 0 .6em;color:var(--text);letter-spacing:-.03em;line-height:1.1}
.art-sign{margin:8px 0 0;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--energy)}
.art-cta{margin-top:40px}
.art-nav{margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center}
.art-nav:has(a.card+a.card){grid-template-columns:repeat(2,minmax(0,1fr))}
.art-nav:has(a.card+a.card)>.btn{grid-column:1/-1;justify-self:start}
@media (max-width:560px){.art-nav:has(a.card+a.card){grid-template-columns:1fr}}
.art-nav a.card{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.art-nav a.card .btn{margin-top:8px}
@media (max-width:560px){.art-nav{grid-template-columns:1fr}.art-body{font-size:16.5px}.art-lead{font-size:17.5px}}
.post .sec{margin-top:40px}

/* v21 */
h2.eyebrow,h3.eyebrow{margin:0;font-size:12px;line-height:1.4;letter-spacing:0;max-width:none}
.blog-list h2.t{font-size:20px;margin:10px 0 6px;letter-spacing:-.02em;line-height:1.15;max-width:none}
.cyber{grid-template-columns:repeat(2,1fr)}
.cyber .card.e{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);grid-template-rows:auto 1fr;column-gap:32px;align-content:start}
.cyber .card.e .t{align-self:start}
.cyber .card.e .k,.cyber .card.e .t{grid-column:1}
.cyber .card.e .d{grid-column:2;grid-row:1/3}
@media (max-width:700px){.cyber .card.e{display:block}}
@media (max-width:560px){.cyber{grid-template-columns:1fr}}
.cta-end{max-width:760px}
a.door::after{content:"Entrar";margin-top:auto;padding-top:14px;font-size:13px;font-weight:700;letter-spacing:0;color:var(--blue-soft)}
a.door.e::after{color:var(--energy)}
.post .horizon{height:clamp(120px,22vw,220px);margin:0 auto 8px;max-width:720px}
@media (max-width:420px){.tabbar a,.tabbar button{font-size:11px;letter-spacing:-.01em}}
@media (max-width:359px){.tabbar a,.tabbar button{font-size:9px;letter-spacing:-.03em}.tabbar svg{width:20px;height:20px}}
.steps .k{font-size:26px;letter-spacing:0;color:var(--energy);line-height:1}

/* v22 */
.sec-h h2.sub{margin-top:8px}
.promesa ul{margin:8px 0 0;padding-left:18px;line-height:1.7}
.promesa li b{color:var(--text)}
@media (min-width:1024px){.intro .ill{display:none}.act{stroke:rgba(255,209,138,.7)}}
.demo-site :focus-visible{outline:3px solid #0B2A5B;outline-offset:2px;box-shadow:0 0 0 5px #fff}
.demo-bar :focus-visible{outline:2px solid var(--energy);outline-offset:3px}
.code{white-space:pre;overflow-x:auto;overflow-wrap:normal}
@media (max-width:560px){.code{font-size:14px;padding:12px 12px}}
#bgpause{padding:6px 0;min-height:24px;line-height:1}
.lab input::placeholder,.code::placeholder,.cert input::placeholder,.vform input::placeholder{color:#9C9384;opacity:1}
@media (pointer:coarse){.lab .next .btn,.sample .open,.x19,.x12{min-height:44px;padding-top:11px;padding-bottom:11px}.chip{min-height:44px;padding:12px 16px}.chips{gap:10px}}
.dm.s-recio header{border-bottom:6px solid var(--c1)}
@media (max-width:560px){
  .steps .card,.cyber .card:not(.e){background:none;border:0;border-top:1px solid rgba(255,209,138,.13);border-radius:0;padding:16px 0}
  .steps .card:first-child,.cyber .card:first-child{border-top:0;padding-top:0}
  .steps{gap:0}.cyber{gap:0}.cyber .card.e{margin-top:14px}
  .steps .k{font-size:22px}
  .map{margin-top:60px}
}
.grid>*{min-width:0}.code{max-width:100%}
.sec-h h2.sub{font-size:clamp(22px,2.4vw,28px);letter-spacing:-.02em;margin-top:6px}
.bits{overflow-x:auto;max-width:100%}@media (max-width:400px){.verse .ref,.side .ref{white-space:normal}}

/* v23 */
.hero .eyebrow{font-size:13.5px;color:#C2B9A9}.hero .eyebrow b{color:#F4EFE6;font-weight:800}
#p-inicio .promesa,#p-inicio .cta-end,.promesa .card{max-width:760px;margin-left:auto;margin-right:auto}
.page{padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px)}
.cert{animation:certin .5s cubic-bezier(.2,.9,.2,1.2) both}
@keyframes certin{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.tabbar svg{transition:transform .12s}
a.door::after{transition:translate .25s}
a.door:hover::after{translate:4px 0}
@media (max-width:560px){.hero .cta .btn.wa{flex-basis:100%}}
@media (prefers-reduced-motion:reduce){.cert{animation:none}a.door:hover::after{translate:none}}
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  #lens{view-transition-name:lens}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}
  ::view-transition-group(lens){animation-duration:.6s;animation-timing-function:cubic-bezier(.2,.9,.2,1)}
}
.lab h2.lab-h{font-size:22px;letter-spacing:-.02em;line-height:1.15;margin:12px 0 6px;max-width:none}
.curso .lab{margin-top:28px}
.curso-nav{margin-top:28px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}
.curso-nav a.card{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.curso-nav a.card .btn{margin-top:8px}
@media (max-width:560px){.curso-nav{grid-template-columns:1fr}}

/* v24 */
.tl .y{white-space:nowrap;line-height:1.1}
@media (max-width:560px){.tl{grid-template-columns:92px 1fr}.tl .y{font-size:20px;white-space:normal}}
.intro .rail{grid-column:2;grid-row:1/3;align-self:start;position:sticky;top:104px;display:grid;gap:18px}
.intro .side{position:static}
.intro .act{grid-column:auto;margin-top:0}
@media (max-width:1023px){.intro .rail{position:static;grid-column:1;grid-row:auto;justify-items:center}.intro .rail .side{width:100%}}
.page .cta-end{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:32px;align-items:center}
.page .cta-end .row{grid-column:2;grid-row:1/4;margin-top:0;flex-direction:column;align-items:stretch;gap:10px}
.page .cta-end .row .btn{justify-content:center}
@media (max-width:700px){.page .cta-end{display:block}.page .cta-end .row{flex-direction:row;margin-top:14px}}
.curso .lab .next{display:none}
.curso .lab>.eyebrow.e{display:none}.curso .lab h2.lab-h{margin-top:0}
.curso .lectura{margin-top:32px}.curso .lectura .sub{margin-top:8px}
.hero .eyebrow span{white-space:nowrap}.foot-meta .ref::before{content:"· "}@media (max-width:560px){.hero .eyebrow .sep{display:none}.hero .eyebrow>span{display:block}.foot-meta .ref{display:block}.foot-meta .ref::before{content:none}}
@media (max-width:400px){.hero .eyebrow{font-size:11.5px;letter-spacing:0}}
.verse{max-width:760px}
#p-escuelas .x10{color:var(--energy)}
.foot-verse{margin-bottom:8px}.foot-social{margin-top:6px}.foot-priv{margin-top:6px}#bgpause{opacity:.7}#bgpause:hover{opacity:1}
.nav a{transition:color .2s,background .2s}
#hole{view-transition-name:hole}
@media (max-width:560px){
  .facts .card:not(.e),#p-proyectos .x15 .card{background:none;border:0;border-top:1px solid rgba(255,209,138,.13);border-radius:0;padding:16px 0}
  .facts{gap:0}.facts .card.e{margin-bottom:6px}#p-proyectos .x15{gap:0;margin-top:0}
}

/* v25 */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 92px)}
@media (max-width:860px){html{scroll-padding-bottom:calc(env(safe-area-inset-bottom,0px) + 100px)}}
.crumbs>span{white-space:nowrap}
.solo-m{display:none}
@media (max-width:1023px){
  #p-escuelas .intro>div:first-child,#p-proyectos .intro>div:first-child,#p-contacto .intro>div:first-child,#p-anaco .intro>div:first-child{display:contents}
  #p-escuelas .intro,#p-proyectos .intro,#p-contacto .intro,#p-anaco .intro{gap:0}
  #p-escuelas .intro .rail,#p-proyectos .intro .rail,#p-contacto .intro .rail,#p-anaco .intro .rail{order:1;margin-top:22px}
  #p-escuelas .intro .jumps,#p-escuelas .intro .x3,#p-contacto .intro .x8,#p-contacto .intro .x3,#p-proyectos .intro .jumps,#p-anaco .intro .x3{order:2}
  .solo-m{display:flex}
}
@media (max-width:560px){.ill{width:84px;height:84px;margin:0 0 6px;stroke-width:1.8}}

.btn:disabled{opacity:.45;cursor:default;box-shadow:none;border-color:var(--line)}.btn:disabled:hover{box-shadow:none;border-color:var(--line)}
.btn.chosen:disabled{opacity:1;border-color:var(--energy);background:rgba(255,209,138,.16);color:var(--energy-soft)}.btn.chosen:disabled::before{content:"✓ "}
.chip{display:inline-flex;align-items:center;gap:6px}.chip::before{content:"";width:14px;height:14px;border-radius:50%;border:1.5px solid var(--line-2);flex:0 0 auto;transition:background .2s,border-color .2s}
.chip[aria-pressed="true"]::before{background:var(--energy);border-color:var(--energy);box-shadow:inset 0 0 0 3px #1A1206}
.demo-wa{padding:9px 14px;font-size:13px;min-height:40px}@media (max-width:560px){.demo-wa{order:2;flex:1 1 auto;justify-content:center}.demo-x{order:2}}
#playbtn{min-width:19.5em;justify-content:center}@media (max-width:560px){#playbtn{min-width:0;width:100%;justify-content:center}.demo-url{display:none}}

.act.inmap .lbl{font-size:10px}.act.inmap .lbl.s{font-size:9.5px}.act.inmap .dot{r:2.4}

.vform{margin-top:18px;max-width:560px}.vform label{display:block;margin:14px 0 6px;font-size:14px;color:var(--muted)}.vform input{width:100%;background:#04070D;border:1px solid var(--line-2);color:var(--text);font:500 16px "IBM Plex Sans",sans-serif;padding:12px 14px;border-radius:10px}#vcode{font-family:ui-monospace,Menlo,monospace;letter-spacing:0;text-transform:none}
.vout{margin-top:14px;padding:12px 14px;border-radius:10px;border:1px solid var(--line-2);font-size:15px;line-height:1.55}.vout.good{border-color:rgba(255,209,138,.6);background:rgba(255,209,138,.08)}.vout.bad{border-color:rgba(255,120,120,.5);background:rgba(255,120,120,.07)}
.cmsg{margin-top:10px;font-size:14px}.cmsg.bad{color:#FFB4B4}

.works .work{padding:0;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--text)}.works .work .k,.works .work .t,.works .work .d{padding:0 18px}.works .work .k{margin-top:16px}.works .work .d{margin-top:4px}.works .work .btn{margin:14px 18px 18px;align-self:flex-start}
.wshot{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#0b1220 radial-gradient(60% 80% at 50% 100%,rgba(255,209,138,.14),transparent);border-bottom:1px solid var(--line);padding:18px 18px 0;box-sizing:border-box}.wshot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;border:1px solid var(--line-2);border-radius:10px 10px 0 0;box-shadow:0 20px 50px -20px rgba(0,0,0,.8)}.wshot .wmob{position:absolute;right:12px;bottom:-6px;width:26%;height:auto;border-radius:10px;border:2px solid rgba(238,243,252,.85);box-shadow:0 10px 30px rgba(0,0,0,.6)}
.works .work:hover .wshot img:first-child{transform:scale(1.02)}.wshot img{transition:transform .5s}

.iag{display:grid;gap:12px;margin-top:10px}.iaq .k{display:block;margin-bottom:6px}.iaq .chips{margin-top:0}
.iaout{margin-top:14px;min-height:0;white-space:normal;font-size:15px;line-height:1.5;padding:12px 14px}
.iachk{margin-top:14px;padding:12px 14px;border:1px solid var(--line-2);border-radius:12px}.iachk .k{display:block;margin-bottom:6px}.iachk label{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font:500 15px/1.45 "IBM Plex Sans",sans-serif;text-transform:none;letter-spacing:0;color:var(--text);cursor:pointer}.iachk input{margin-top:4px;accent-color:var(--energy);width:18px;height:18px;flex:0 0 auto}

.dm .dm-hero{position:relative;overflow:hidden;isolation:isolate}
.dm .dm-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 300px at 85% -20%,rgba(255,255,255,.28),transparent 60%),radial-gradient(500px 260px at 0% 120%,rgba(0,0,0,.18),transparent 60%)}
.dm .dm-hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.14;background-image:linear-gradient(135deg,rgba(255,255,255,.5) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.5) 50%,rgba(255,255,255,.5) 75%,transparent 75%);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent 55%,#000)}
.dm .dm-hero.flat{color:#fff;background:linear-gradient(120deg,var(--c1),color-mix(in srgb,var(--c1) 60%,#000));padding:34px 28px}.dm .dm-hero.flat h1,.dm .dm-hero.flat p{color:#fff}.dm .dm-hero.flat .dm-btn{background:#fff;color:var(--c1)}
.dm-photo{height:230px;background:linear-gradient(135deg,color-mix(in srgb,var(--c2) 70%,#fff),#fff 55%,color-mix(in srgb,var(--c1) 12%,#fff));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05),0 18px 40px -24px rgba(0,0,0,.35)}
.dm-photo svg{filter:drop-shadow(0 10px 18px rgba(0,0,0,.18))}
.dm .dm-card{transition:transform .25s,box-shadow .25s}.dm .dm-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(0,0,0,.4)}
.dm .dm-grid .dm-card b{font-size:17px}
.dm.s-suave .dm-hero::before{background:radial-gradient(600px 300px at 100% 0%,rgba(255,255,255,.35),transparent 60%)}
.dm.s-clinico .dm-hero::after{opacity:.08}

.page [id][tabindex="-1"]:not(h1):not(h2):not(h3):focus{outline:none}

/* 4.0: mapa con datos reales */
.act .eseq{stroke:rgba(255,209,138,.45);fill:rgba(255,209,138,.02);stroke-dasharray:3 2;stroke-width:.8}
.act .lbl{paint-order:stroke;stroke:var(--bg);stroke-width:3px;stroke-linejoin:round}
.act.inmap.esc{width:100%;max-width:380px;height:auto;aspect-ratio:4/3;margin:18px auto 0;display:block}.act.inmap.esc .lbl.s{display:none}
/* 4.0: pie compacto */
.foot{padding:22px 20px calc(env(safe-area-inset-bottom,0px) + 18px)}
.foot-in{gap:8px}
.foot-head{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.foot-head .foot-logo{height:34px}
.foot-head .foot-verse{margin:0;font-size:14px;text-align:left;max-width:none}
.foot-nav{margin-top:4px}
.foot-social{padding-bottom:0;border-bottom:0;margin-top:0;gap:8px 20px;font-size:11px;opacity:.85}
.foot-social::before{content:"";display:block;width:100%;height:1px;background:var(--line);margin:2px 0 4px}
.foot-priv{margin:4px 0 0;font-size:12px;color:#C2B9A9;max-width:860px;opacity:.85;text-align:center}
.foot-priv summary{cursor:pointer;list-style:none;display:inline}
.foot-priv summary::-webkit-details-marker{display:none}
.foot-priv summary .more{color:var(--blue-soft);text-decoration:underline;text-underline-offset:3px}
.foot-priv[open] summary .more{display:none}
.foot-priv p{margin:6px auto 0;max-width:720px}
.foot-last{width:100%;align-items:center;margin-top:4px;padding-top:10px;border-top:1px solid var(--line);justify-content:center}
#bgpause{display:inline-flex;align-items:center;gap:6px;font-size:11px;text-decoration:none;opacity:.7;padding:4px 8px;border:1px solid var(--line);border-radius:999px;min-height:0;line-height:1}
#bgpause svg{fill:currentColor}
#bgpause:hover{opacity:1;color:var(--text);border-color:rgba(255,209,138,.5)}
@media (max-width:860px){.foot-head{flex-direction:column;gap:10px}.foot-head .foot-verse{text-align:center}.foot-last{flex-direction:column;gap:8px}}
/* 4.0: monitores grandes */
@media (min-width:1600px){:root{--max:1180px}body{font-size:17px}.d{font-size:17px}.lead{font-size:19px;max-width:680px}.map{grid-template-columns:480px 1fr}.map .act{width:480px;height:360px}.foot-head .foot-verse{font-size:15px}}
@media (min-width:1900px){:root{--max:1280px}}

/* 4.0: cursos de tarjetas */
.qz{margin-top:14px;display:grid;gap:12px}
.qz-prog{font-size:12px;letter-spacing:0;text-transform:none;color:var(--energy);font-weight:700}
.qz-card{padding:16px;border-radius:12px;background:#0b1424;border:1px solid var(--line-2);font-size:16px;line-height:1.55;outline:none}
.qz-card:focus-visible{outline:2px solid var(--energy);outline-offset:3px}
.qz-opts{display:grid;gap:8px}
.qz-opt{text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--line-2);background:transparent;color:var(--text);font:500 15px/1.4 "IBM Plex Sans",sans-serif;cursor:pointer;transition:.2s;min-height:44px}
.qz-opt:hover:not(:disabled){border-color:rgba(255,209,138,.6);background:rgba(255,209,138,.06)}
.qz-opt:disabled{cursor:default;opacity:.55}
.qz-opt.good{opacity:1;border-color:rgba(120,220,160,.7);background:rgba(120,220,160,.1)}
.qz-opt.bad{border-color:rgba(255,120,120,.6);background:rgba(255,120,120,.07);text-decoration:line-through}
.qz-why{padding:12px 14px;border-radius:12px;font-size:15px;line-height:1.5;border:1px solid var(--line-2)}
.qz-why.good{border-color:rgba(120,220,160,.45);background:rgba(120,220,160,.06)}
.qz-why.bad{border-color:rgba(255,120,120,.4);background:rgba(255,120,120,.05)}

/* 4.0: hallazgos de la ronda 13 */
.wshot .wmob{position:absolute;right:18px;bottom:0;width:24%;height:auto;border-radius:14px 14px 0 0;object-position:top;border:2px solid rgba(238,243,252,.85);box-shadow:0 0 0 1px rgba(3,5,9,.75),0 12px 30px rgba(0,0,0,.65)}
.wshot::before{content:attr(data-name);position:absolute;inset:0;display:grid;place-items:center;padding:0 24px;text-align:center;font:700 13px/1.3 "IBM Plex Sans",sans-serif;letter-spacing:0;text-transform:none;color:var(--muted)}
.wshot img{opacity:0;transition:opacity .45s ease-out,transform .5s}
.wshot.ok img{opacity:1}
.wshot.ok::before{opacity:0;transition:opacity .3s}
.no-js .wshot img{opacity:1}
@media (min-width:901px){.cursos{grid-template-columns:repeat(6,1fr)}.cursos>.course{grid-column:span 2}.cursos>.course:nth-child(n+4){grid-column:span 3}}
@media (min-width:561px) and (max-width:900px){.cursos>.course:last-child{grid-column:1/-1}}
p.x6{padding-left:0}
.dm .dm-hero.two .dm-grid{grid-template-columns:repeat(2,1fr)}
#p-blog .x21{max-width:732px}
.vform input[aria-invalid="true"],.cert input[aria-invalid="true"]{border-color:rgba(255,120,120,.7);box-shadow:0 0 0 3px rgba(255,120,120,.12)}
#p-verificar .sec.x22{margin-top:40px}
.tiltbar .btn{background:none;border:0;padding:6px 0;min-height:24px;font-size:12px;letter-spacing:0;text-transform:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px;opacity:.7;border-radius:4px}
.tiltbar .btn:hover{opacity:1;color:var(--text);box-shadow:none}
@media (max-width:560px){
  .samples,.works{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0;padding:0 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .samples::-webkit-scrollbar,.works::-webkit-scrollbar{display:none}
  .samples>.sample,.works>.work{flex:0 0 84%;scroll-snap-align:start}
  .samples::after,.works::after{content:"";flex:0 0 8px}
}
@media (min-width:561px){.rail-hint{display:none}}
.rail-hint{margin:-6px 0 10px}
@media (max-width:560px){#p-academia .side{display:none}}

/* 4.2 */
.qz-prog{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 100px)}
.act .n6{animation-delay:1.5s}.act .n7{animation-delay:2.5s}
.map .act{filter:drop-shadow(0 0 28px rgba(255,209,138,.14))}
.act.inmap.esc .lbl{font-size:12.5px}
.tl{max-width:760px}
@media (min-width:901px){.work .k{min-height:calc(2*1.35em)}}
.shot .sh-btn{background:#0A7C42;color:#fff;border-color:transparent}
.shot.s3 .sh-btn,.shot.s4 .sh-btn{background:#fff;color:#1a2233}
.vform input::placeholder{color:#9C9384;opacity:1}

/* 4.3 */
.foot-cursos{font-size:11px;opacity:.8;gap:8px 16px;max-width:620px;margin-left:auto;margin-right:auto}.foot-cursos .fk{color:var(--muted);font-weight:700}.foot-cursos a{font-weight:600}
.foot-last a{color:var(--text);text-decoration:none}

/* 4.4 */
.act.esc.ana .halo{fill:url(#hg3)}
.hero .eyebrow,.page .eyebrow,.crumbs,.art-meta{text-shadow:0 0 5px #030509,0 0 10px #030509,0 0 16px #030509}
.art h1.ph,.curso h1.ph{text-shadow:0 0 8px #030509,0 0 18px #030509}
@media (max-width:560px){.dm .dm-hero .dm-grid{grid-template-columns:repeat(2,1fr);gap:8px}.dm .dm-hero .dm-card{padding:12px}.dm .dm-hero .dm-card span{font-size:12px}}

/* 4.6 */
@media (min-width:701px){.blog-list{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-list>a.card:first-child{grid-column:1/-1}}
.sample .shot,.sample .sh-hero,.sample .sh-btn,.sample .k,.sample .d{display:block}.sample .shot{display:grid}
.act.inmap.esc.ana .lbl.s.o{display:inline;font-size:10.5px}
@media (min-width:1600px){.d.x1{font-size:14px}.d.x11{font-size:14.5px}.d.x20{font-size:13.5px}}
@media (max-width:1023px){#p-anaco .side .row{display:none}}
.post .lead{text-shadow:0 0 6px #030509,0 0 12px #030509,0 0 20px #030509}
#p-contacto .card .note{max-width:72ch}
@media (min-width:901px){.steps .t{min-height:calc(2*1.15em)}}
.dm .dm-hero .dm-btn+.dm-grid{margin-top:20px}
/* 4.7 */
.btn .ic{width:18px;height:18px;flex:0 0 auto;fill:currentColor}
.btn.wa{background:rgba(255,209,138,.1);border-color:var(--line-2);color:var(--text)}
.btn.wa .ic{color:#25D366}
.btn.wa:hover{border-color:#25D366;box-shadow:0 0 30px -10px rgba(37,211,102,.75)}
@media (max-width:560px){.hero .cta .btn.wa{flex-basis:auto}}
.cta-end .row .btn{min-width:210px;justify-content:center}
a.door::after{content:none}
.door .go{margin-top:auto;padding-top:14px;font-size:13px;font-weight:700;letter-spacing:0;color:var(--blue-soft);transition:translate .25s}
.door.e .go{color:var(--energy)}
.door:hover .go{translate:4px 0}
@media (prefers-reduced-motion:reduce){.door:hover .go{translate:none}}
a.card.stat{text-decoration:none;color:inherit}
@media (min-width:561px){.stat .d{margin-top:0;padding-top:12px}}
@media (max-width:900px){.stat .go{display:none}}
#p-inicio .promesa,#p-inicio .cta-end,#p-inicio .promesa .card{max-width:none}
@media (min-width:901px){#p-inicio .promesa ul{columns:2;column-gap:48px}#p-inicio .promesa li{break-inside:avoid;padding-right:8px}}
@media (min-width:1024px){
  #p-nosotros .tl{max-width:none;grid-template-columns:180px 260px minmax(0,1fr);column-gap:40px}
  #p-nosotros .tl>div:last-child{display:contents}
  #p-nosotros .tl h3{grid-column:2;margin:5px 0 0}
  #p-nosotros .tl p.d{grid-column:3;margin:0;max-width:62ch}
  #p-nosotros .tl p.d+p.d{margin-top:10px}
  #p-nosotros .dedic,#p-nosotros .verse{margin-left:auto;margin-right:auto}
}
.foot-base{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 28px;margin-top:6px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.foot-id{margin:0;text-align:left}
.foot-id b{color:var(--blue-soft)}
.foot-id a{color:var(--text);text-decoration:none;font-weight:600}
.foot-id a:hover,.foot-pv a:hover{text-decoration:underline;text-underline-offset:3px}
.foot-act{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:11px;letter-spacing:0;text-transform:none}
.foot-act a{position:relative;color:var(--text);text-decoration:none;font-weight:700}
.foot-act a[target="_blank"]::after{content:" (se abre en otra pestaña)";position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.foot-pv{margin:0;width:100%;text-align:left;font-size:12px;color:#C2B9A9;opacity:.85}
.foot-pv a{color:var(--blue-soft)}
@media (max-width:860px){.foot-base{flex-direction:column;justify-content:center}.foot-id,.foot-pv{text-align:center}.foot-act{justify-content:center}}
.blq{display:grid;gap:16px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);scroll-margin-top:96px}
.blq-h h3{margin:6px 0 4px;font-size:24px;letter-spacing:-.02em}
.blq-h p{margin:0;color:var(--muted);font-size:15px;max-width:34ch}
@media (min-width:1024px){.blq{grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start}.blq-h{position:sticky;top:96px}}
.cursos-b{margin:0}
@media (min-width:701px){.cursos-b>.next:nth-child(odd):last-child{grid-column:1/-1}}
.card.next{border-style:dashed;background:transparent;box-shadow:none;align-content:center}
.act-orbit .node.seg{fill:var(--energy)}.act-orbit .node.fun{fill:var(--blue-soft)}.act-orbit .node.her{fill:#fff}
#p-academia .intro .jumps{margin-top:16px}
@media (min-width:861px){
  #p-contacto .grid.sec{grid-template-columns:repeat(2,minmax(0,1fr))}
  #p-contacto .grid.sec>.sec-h{grid-column:1/-1}
  #p-contacto .cv{grid-template-columns:1fr;align-content:space-between}
  #p-contacto .cv .row{justify-content:flex-start}
}
.wa-name{display:block;font-weight:700;font-size:17px;color:var(--text)}
.art-nav:has(a.card+a.card){align-items:stretch}
.art-nav a.card .btn{margin-top:auto}
@media (min-width:1600px){.art{max-width:700px}.art-body{font-size:19px}.art-lead{font-size:20.5px}}
.h1-sub{display:block;margin-top:.3em;font-size:.56em;font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--muted)}
.lead,.d,.story p,.mani p,.art-body p,.art-lead,.dedic p,.tl p,.qz-why{text-wrap:pretty}
.msg{font-size:17px;line-height:1.55}.msg .from{font-size:13px}
.dots-p{display:flex;gap:6px;margin:4px 0 8px}.dots-p i{width:22px;height:5px;border-radius:3px;background:var(--line-2)}.dots-p i.ok{background:var(--energy)}.dots-p i.now{background:var(--blue-soft)}
.regalo .card .d b{color:var(--text)}
.foot-cursos{max-width:980px}
#p-nosotros .verse{width:fit-content;max-width:900px}
@media (min-width:861px){.foot-base{justify-content:center}.foot-id,.foot-pv{text-align:center}}
@media (min-width:1024px){#p-nosotros .dedic,#p-nosotros .verse{width:100%;max-width:900px}}
#p-proyectos .grid.x15+.row{margin-top:28px}
.hero .d.x1{max-width:880px;margin-left:auto;margin-right:auto;text-wrap:balance}
.nav a.lang{margin-left:6px;border:1px solid var(--line-2);color:var(--text)}
.lang-m{display:none}
@media (max-width:860px){.top .lang-m{display:inline-flex;margin-left:12px;margin-right:auto;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none;text-decoration:none;color:var(--text);padding:7px 11px;border:1px solid var(--line-2);border-radius:999px;background:var(--glass)}}
html[lang^="en"] .who{letter-spacing:0}

/* 4.9 */
.nb{white-space:nowrap}.sc{font-variant:small-caps}
.nojs-note{display:none}.no-js .nojs-note{display:block}.no-js #vform{display:none}
.crumbs.x28{margin:12px 0 0}
:root{--narrow:760px}.hero .lead,.proof,.mani,.play,#p-nosotros .dedic,#p-nosotros .verse{max-width:var(--narrow)}
@media (min-width:1024px){#p-nosotros .dedic,#p-nosotros .verse{width:100%;max-width:var(--narrow)}}
.hero .lead{font-size:19px}.hero .lead b{color:var(--text)}
.proof{margin-top:34px}.proof span{display:inline-block}.proof a{display:inline-block;padding:4px 0;min-height:24px}
@media (max-width:560px){.proof{flex-direction:column;gap:6px}}
.hero .tiltbar{margin:0}.play+.tiltbar{margin:14px auto 0;max-width:var(--narrow);text-align:left}
.foot-meta a,.foot-act a{display:inline-flex;align-items:center;min-height:24px;padding:4px 2px;font-size:12px}.foot-meta{gap:4px 20px}.foot-act{gap:4px 16px;font-size:12px}
#bgpause{min-height:28px;padding:4px 10px}
.foot-id a{display:inline-block;padding:4px 0;min-height:24px;line-height:16px}.foot-id .sep{color:var(--blue-soft)}@media (max-width:560px){.foot-id .sep{display:none}.foot-id .nb{display:block;line-height:1.9}}
@media (min-width:1024px){.intro .act{display:none}}
@media (min-width:861px){.grid.g3.works{grid-template-columns:repeat(2,1fr)}}
.works .work.card{cursor:default}

/* 4.9.3 testimonio */
.dicen{margin:0;max-width:var(--narrow);border-left:2px solid var(--warm);padding:4px 0 4px 26px}
.dicen blockquote{margin:0}.dicen p{font-family:"Literata",serif;font-style:normal;font-weight:400;font-size:19px;line-height:1.65;color:var(--text);margin:0}
.dicen figcaption{margin-top:16px;font-size:14px;color:var(--muted)}.dicen figcaption b{display:block;color:var(--energy);font-size:15px}

/* 4.9.4: D6, Literata en titulos */
h1,h2,h3,.t,.ph,.mani h2.big,.tl .y,.n,.card h3.t,.card h2.t{font-family:"Literata",Georgia,"Times New Roman",serif}
h1{letter-spacing:-.025em}h2,h1.ph{letter-spacing:-.02em}.t,.card h3.t,.card h2.t,.mani h2.big,.tl .y{letter-spacing:-.01em}
.wa-num{display:block;margin-top:6px;font-weight:600;color:var(--energy);text-decoration:none}.wa-num:hover{text-decoration:underline}

/* 5.0: noche y dorado, sin cristal, sin iconos de linea, la raya de la maestra */
.card{border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none;backdrop-filter:none;padding:22px 2px 8px}
.card.e{border-top-color:var(--energy)}
a.card:hover,.card:hover{border-top-color:var(--energy);box-shadow:none;transform:none}
.bento{gap:8px 40px}
.bento .stat{padding:16px 2px 8px}
.nav{background:none;border:0;backdrop-filter:none;padding:0;gap:4px}
.nav a{font-size:14px;font-weight:600;color:var(--muted);padding:8px 10px;border-radius:0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--text)}
.nav a.on,.nav a[aria-current="page"]{color:var(--energy);background:none;border-bottom-color:var(--energy)}
.nav a.lang{border:0;border-left:1px solid var(--line-2);border-radius:0;margin-left:8px;padding-left:14px}
.top .lang-m{border-radius:4px;background:none;font-size:13px}
.btn{border-radius:4px;background:none;box-shadow:none}
.btn:hover{border-color:var(--energy);box-shadow:none}
.btn.e,.btn.e.wa{background:var(--energy);border-color:var(--energy);color:#1A1206}
.btn.e:hover,.btn.e.wa:hover{background:#FFE0AD;box-shadow:none}
.btn.wa{background:none;border-color:var(--line-2);color:var(--text)}
.btn.wa .ic,.btn.e.wa .ic{color:currentColor}
.btn.wa:hover{border-color:var(--energy);box-shadow:none}
.eyebrow,.crumbs,.k,h2.eyebrow,h3.eyebrow,.hero .eyebrow{font-size:14px;font-weight:600;letter-spacing:0;text-transform:none}
.k{color:var(--energy)}
.ill,.act:not(.act-map){display:none!important}
.tabbar svg{display:none}
.tabbar a,.tabbar button{font-size:13px;font-weight:600;letter-spacing:0;padding:14px 0 12px;gap:0}
.tabbar a.on::before{width:28px;height:2px;border-radius:0}
.tl .y{color:var(--energy)}
.door .go{color:var(--energy)}
h1.ph::after,.hero h1::after{content:"";display:block;width:220px;height:17px;margin-top:16px;background:url(/assets/raya.svg?v=50) no-repeat left center/contain}
.hero h1::after{margin-left:auto;margin-right:auto}
@media (max-width:860px){.foot{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}h1.ph::after,.hero h1::after{width:170px;height:13px;margin-top:12px}}
.chip{border-radius:4px}
.grid{column-gap:28px}
.h1k{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.shot{border-radius:0;background:linear-gradient(180deg,#14100A,#030509)}
.shot.s1{background:linear-gradient(180deg,#1E1710,#050403)}
.shot.s2{background:linear-gradient(180deg,#181A12,#060705)}
.shot.s3{background:linear-gradient(180deg,#2A2724,#0B0A09)}
.shot.s4{background:linear-gradient(180deg,#24180C,#0C0805)}
.shot.s1 .sh-hero,.dm.s-suave h1,.dm.s-suave .dm-brand,.dm.s-suave .dm-card b,.dm.s-suave .dm-ini,.dm .dm-ini,.dicen p{font-family:"Literata",serif}
.shot .sh-btn,.shot.s3 .sh-btn,.shot.s4 .sh-btn{background:#FFD18A;color:#1A1206}
.shot.s3 .sh-btn{background:#F4EFE6}
#sky{transition:opacity .8s}
body.docked #sky{opacity:0}
@media (max-width:560px){.hero .lead{font-size:16.5px;line-height:1.55}.hero h1{margin-top:8px}}
