@font-face{font-family:"Silkscreen Fallback";src:local("Courier New"),local("Liberation Mono"),local("Courier");size-adjust:109.8%;ascent-override:93.8%;descent-override:22.8%;line-gap-override:0%}
@font-face{font-family:"Rethink Fallback";src:local("Arial"),local("Liberation Sans"),local("Helvetica");size-adjust:103.3%;ascent-override:96%;descent-override:30%;line-gap-override:0%}
@font-face{font-family:"Silkscreen";src:url(f/silkscreen-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Rethink Sans";src:url(f/rethink-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Rethink Sans";src:url(f/rethink-600.woff2) format("woff2");font-weight:600;font-display:swap}
:root{
  --fondo:#121316;--superficie:#1b1d22;--borde:#2b2e35;--tinta:#eeeae3;--suave:#a3a6ae;--acento:#7f9bff;
  --cobalto:#2f5bff;--hondo:#16206a;--sobre-cobalto:#fff;--ventana:#ffbe5a;--amanecer:#e896a6;--grafito:#08080c;--ok:#56ce80;--error:#ff8f8f;
  --pixel:"Silkscreen","Silkscreen Fallback","Courier New",monospace;--texto:"Rethink Sans","Rethink Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sombra:4px 4px 0 0 #050506;
  --gutter:max(20px,4vw,env(safe-area-inset-left,0px));--gutter-r:max(20px,4vw,env(safe-area-inset-right,0px));
  color-scheme:dark;
}
:root[data-theme="light"]{
  --fondo:#f3f4f6;--superficie:#ffffff;--borde:#dfe2e8;--tinta:#14161c;--suave:#4a4f5c;--acento:#2448d8;--ok:#1f8a49;--error:#b42318;
  --sombra:4px 4px 0 0 #14161c;color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--fondo);color:var(--tinta);font-family:var(--texto);font-size:17px;line-height:1.6;overflow-x:clip}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit}
.px,.scene-bg,.emi,.world-strip,.brand-head img,.map-token{image-rendering:pixelated;image-rendering:crisp-edges}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:50;background:var(--cobalto);color:var(--sobre-cobalto);padding:8px 16px;font-family:var(--pixel)}
.skip:focus{left:16px}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
.wrap{max-width:1680px;margin-inline:auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}
:root{--gap:clamp(48px,7vw,96px)}
.section{margin-block:var(--gap)}
.label{font-size:clamp(15px,.9vw,17px);font-weight:600;color:var(--acento);margin:0 0 14px}
.title{font-family:var(--pixel);font-weight:400;text-transform:uppercase;font-size:clamp(30px,4.2vw,84px);line-height:1.08;margin:0 0 clamp(20px,1.6vw,32px);text-wrap:balance}
.title em,.hero-sub{font-style:normal;color:var(--acento)}
.lead{font-size:clamp(19px,1.5vw,28px);line-height:1.45;font-weight:600;max-width:34ch;margin:0 0 20px}
p{max-width:62ch}
.link{color:var(--acento);text-underline-offset:4px;text-decoration-thickness:2px}
.note{color:var(--suave);font-size:14px}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--texto);font-size:clamp(16px,.95vw,18px);font-weight:600;text-decoration:none;
  background:var(--cobalto);color:var(--sobre-cobalto);border:2px solid var(--grafito);border-radius:0;padding:10px 16px;box-shadow:var(--sombra);cursor:pointer;line-height:1.2}
@media (min-width:1600px){.btn{padding:13px 22px}body{font-size:18px}}
.btn:active{transform:translate(4px,4px);box-shadow:none}
.btn-sec{background:transparent;color:var(--tinta);border-color:var(--tinta);box-shadow:none}
.btn-sec:active{transform:none}
.btn-sm{padding:8px 12px;font-size:15px}
.btn[disabled]{opacity:.6;cursor:wait}
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:20px;justify-content:space-between;
  padding:12px var(--gutter-r) 12px var(--gutter);background:var(--fondo);border-bottom:1px solid var(--borde)}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.brand-head{width:44px;height:44px;background:var(--cobalto);display:grid;place-items:center;flex:none}
.brand-head img{width:42px;height:auto}
.brand-name{font-family:var(--pixel);font-size:17px;text-transform:uppercase;letter-spacing:.02em}
.top-actions{display:flex;align-items:center;gap:12px}
.theme{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--borde);color:var(--tinta);font-family:var(--texto);font-size:15px;font-weight:600;padding:7px 10px;cursor:pointer;border-radius:0;min-height:36px}
.theme-ico{width:12px;height:12px;background:var(--ventana);box-shadow:-4px 0 0 0 var(--fondo) inset}
:root[data-theme="light"] .theme-ico{box-shadow:none;outline:2px dotted var(--ventana);outline-offset:2px}
.mobile-menu{position:fixed;inset:68px 0 auto 0;z-index:29;background:var(--fondo);border-bottom:1px solid var(--borde);padding:16px var(--gutter-r) 24px var(--gutter)}
.mobile-menu nav{display:grid;gap:4px}
.mobile-menu a{font-size:20px;font-weight:600;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--borde)}
@media (max-width:420px){.theme-txt{display:none}.brand-name{font-size:14px}}
.hero{position:relative;display:grid;gap:40px;align-items:center;padding-top:clamp(24px,4vw,48px);padding-bottom:clamp(32px,4vw,48px)}
@media (min-width:900px){.hero{grid-template-columns:1fr 1fr;gap:clamp(56px,5vw,112px);min-height:min(calc(100svh - 69px - 216px),900px)}}
.hero-h1{margin:0;font-family:var(--pixel);font-weight:400;text-transform:uppercase;font-size:clamp(32px,4.4vw,92px);line-height:1.08;text-wrap:balance}
.hero-h1 em{font-style:normal;color:var(--acento)}
.hero-sub{font-family:var(--pixel);text-transform:uppercase;font-size:clamp(15px,1.3vw,24px);margin:clamp(16px,1.4vw,28px) 0 clamp(20px,1.4vw,28px)}
.hero-text{font-size:clamp(18px,1.25vw,23px);margin:0 0 clamp(28px,2vw,40px);max-width:42ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px}
.hero-scene{position:relative;max-width:min(100%,880px);width:100%;justify-self:center}
.scene{position:relative;width:100%;aspect-ratio:176/144;border:4px solid var(--grafito);box-shadow:var(--sombra);overflow:hidden;background:var(--fondo)}
.scene-bg{position:absolute;inset:0;width:100%;height:100%}
.scene-bg.day{display:none}
:root[data-theme="light"] .scene-bg.day{display:block}
:root[data-theme="light"] .scene-bg.night{display:none}
.scene-cursor{position:absolute;left:84.6%;top:61.8%;width:1.14%;height:2.8%;background:var(--tinta);animation:blink 1s steps(1) infinite}
:root[data-theme="light"] .scene-cursor{background:#f0ece4}
@keyframes blink{50%{opacity:0}}
.emi{--f:0;display:block;padding:0;border:0;background:url(a/px/emi.png) no-repeat;background-size:1300% 100%;background-position:calc(var(--f) * 100% / 12) 0;aspect-ratio:40/50}
button.emi{cursor:pointer}
.emi[data-frame="1"]{--f:1}.emi[data-frame="2"]{--f:2}.emi[data-frame="3"]{--f:3}.emi[data-frame="4"]{--f:4}.emi[data-frame="5"]{--f:5}.emi[data-frame="6"]{--f:6}
.emi[data-frame="7"]{--f:7}.emi[data-frame="8"]{--f:8}.emi[data-frame="9"]{--f:9}.emi[data-frame="10"]{--f:10}.emi[data-frame="11"]{--f:11}.emi[data-frame="12"]{--f:12}
.emi-hero{position:absolute;left:12.5%;top:50%;width:22.73%;height:34.72%}
.emi-hero.jump{animation:jump .36s steps(4)}
@keyframes jump{50%{transform:translateY(-12%)}}
.dialog{position:relative;margin:-28px 12px 0;background:var(--grafito);color:#f0ece4;border:2px solid #f0ece4;box-shadow:var(--sombra);padding:22px 16px 16px;font-family:var(--pixel);text-transform:uppercase;font-size:clamp(14px,1vw,19px);line-height:1.55}
.dialog::after{content:"";position:absolute;inset:3px;border:1px solid #2c3366;pointer-events:none}
.dialog-name{position:absolute;top:-14px;left:14px;z-index:1;background:var(--cobalto);color:#fff;border:2px solid #f0ece4;font-size:13px;letter-spacing:.06em;padding:1px 9px}
.dialog-text{margin:0;min-height:3.1em}
.dialog-text b{font-weight:400;color:#8aa6ff}
.dialog-next{position:absolute;right:12px;bottom:10px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #8aa6ff;animation:blink 1s steps(1) infinite}
.world{position:relative;height:144px;overflow:hidden;background:#0e122e;border-block:4px solid #08080c}
@media (min-width:700px){.world{height:216px}}
@media (min-width:1500px){.world{height:288px}}
.world-strip{position:absolute;inset:0;background:url(a/px/mundo.png) repeat-x 0 0/auto 100%}
.emi-walker{position:absolute;left:0;bottom:16.67%;height:69.4%;transform:translateX(50vw) translateX(-50%);will-change:transform}
.world-strip{background-repeat:no-repeat;background-color:#0e122e}
.studio{display:grid;gap:40px;align-items:center}
@media (min-width:900px){.studio{grid-template-columns:minmax(0,1fr) auto;gap:clamp(48px,7vw,160px)}}
.film{margin:0;width:100%;max-width:300px;justify-self:center}
.film-frame{position:relative;border:4px solid var(--grafito);background:#000}
.film-frame video{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;max-height:78vh}
.film-play{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);white-space:nowrap}
.film-play:active{transform:translate(calc(-50% + 4px),4px)}
.film-play[hidden]{display:none}
.film figcaption{display:flex;justify-content:space-between;gap:12px;font-size:15px;font-weight:600;color:var(--suave);margin-top:14px}
@media (min-width:900px){.film{width:clamp(300px,23vw,420px);max-width:none}}
.project{display:grid;gap:20px;margin-top:32px}
.project + .project{padding-top:40px;border-top:1px solid var(--borde)}
.project .screens{order:-1;width:100%}
@media (min-width:960px){.project{margin-top:48px}.project + .project{padding-top:48px}.project{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:clamp(48px,5vw,112px);align-items:center}.project:nth-of-type(even){grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.project:nth-of-type(even) .screens{order:1}.project .highlights{margin:20px 0 24px}}
.project-name{font-family:var(--pixel);font-weight:400;text-transform:uppercase;font-size:clamp(28px,2.4vw,46px);margin:0 0 8px}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0}
.tags li,.service ul li{font-size:clamp(14px,.85vw,16px);font-weight:600;border:1px solid var(--borde);padding:3px 10px}
.highlights{display:grid;gap:14px;margin:20px 0 28px}
.highlights div{border-left:4px solid var(--cobalto);padding-left:14px}
.highlights dt{font-weight:600}
.highlights dd{margin:0;color:var(--suave)}
.screens{position:relative;display:block;padding:0 36px 48px 0;text-decoration:none}
.screen-desk{display:block;border:6px solid var(--grafito);border-top-width:16px;box-shadow:var(--sombra);background:var(--grafito)}
.screen-desk img{width:100%;height:auto}
.screen-phone{position:absolute;right:0;bottom:0;width:22%;border:5px solid var(--grafito);border-top-width:12px;border-bottom-width:12px;box-shadow:var(--sombra);background:var(--grafito)}
.screens:focus-visible .screen-desk{transform:translate(-2px,-2px)}
.service-grid{display:grid;gap:24px;margin:32px 0}
@media (min-width:760px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.service{background:var(--superficie);border:1px solid var(--borde);padding:20px;scroll-margin-top:96px;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;align-content:start;align-items:center}
.service > :not(.service-art):not(h3){grid-column:1/-1}
.service-art{width:98px;height:auto;border:3px solid var(--grafito);box-sizing:content-box;margin-bottom:16px}
@media (min-width:1100px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.service-wide > div{display:contents}
.service-wide > div > :not(h3){grid-column:1/-1}
.service-wide > div > h3{margin:0 0 16px}
@media (min-width:760px){.service-wide{grid-column:1/-1;column-gap:32px;align-items:start}.service.service-wide > div{display:block;grid-column:2}.service-wide .service-art{margin-bottom:0}.service-wide p{max-width:68ch}}
.service h3{font-family:var(--pixel);font-weight:400;text-transform:uppercase;font-size:20px;line-height:1.3;margin:0 0 16px}
.service > h3{margin:0 0 16px}
.service ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0 0}
.map{position:relative;margin-top:48px;--p:0}
@media (min-width:900px){.map{margin-top:64px}}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:32px;position:relative;z-index:1}
.steps li{padding-left:72px;position:relative}
.node{position:absolute;left:0;top:0;width:48px;height:48px;display:grid;place-items:center;font-family:var(--pixel);font-size:20px;background:var(--superficie);border:2px solid var(--borde);color:var(--suave)}
.steps li.on .node{background:var(--cobalto);border-color:var(--grafito);color:#fff;box-shadow:var(--sombra)}
.steps h3{font-family:var(--pixel);font-weight:400;text-transform:uppercase;font-size:clamp(17px,1.3vw,24px);margin:10px 0 6px}
.steps p{margin:0;color:var(--suave)}
.map-line{position:absolute;left:22px;top:24px;bottom:40px;width:4px;background:repeating-linear-gradient(to bottom,var(--borde) 0 4px,transparent 4px 8px)}
.map-lit{position:absolute;left:0;top:0;width:100%;height:calc(var(--p) * 100%);background:repeating-linear-gradient(to bottom,var(--cobalto) 0 4px,transparent 4px 8px)}
.map-token{position:absolute;z-index:2;left:0;width:48px;height:auto;top:calc(var(--p) * (100% - 96px) - 36px);filter:drop-shadow(3px 3px 0 var(--grafito))}
@media (min-width:900px){
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-top:88px}
  .steps li{padding-left:0}
  .node{top:-88px}
  .map-line{left:24px;right:calc(33.33% - 16px);top:-62px;bottom:auto;width:auto;height:4px;margin-top:88px;background:repeating-linear-gradient(to right,var(--borde) 0 4px,transparent 4px 8px)}
  .map-lit{height:100%;width:calc(var(--p) * 100%);background:repeating-linear-gradient(to right,var(--cobalto) 0 4px,transparent 4px 8px)}
  .map-token{width:64px;top:-54px;left:calc(var(--p) * (66.66% + 27px) - 8px)}
}
.question-list{max-width:1000px;border-top:1px solid var(--borde)}
@media (min-width:900px){.questions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);column-gap:56px;align-items:start}.questions .title{margin-top:0}}
.question-list details{border-bottom:1px solid var(--borde)}
.question-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:clamp(18px,1.4vw,26px) 0;font-weight:600;font-size:clamp(18px,1.25vw,23px)}
.question-list summary::-webkit-details-marker{display:none}
.question-list summary::after{content:"+";font-family:var(--pixel);color:var(--acento);font-size:22px;line-height:1}
.question-list details[open] summary::after{content:"-"}
.question-list p{margin:0 0 20px;color:var(--suave)}
.contact{display:grid;gap:48px}
@media (min-width:900px){.contact{grid-template-columns:1fr 1fr;align-items:center;column-gap:clamp(48px,6vw,140px)}}
.contact-side{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:end}
.contact-side > :not(.title):not(.contact-emi){grid-column:1/-1}
.contact-emi{position:relative;width:80px;margin:0 0 24px;padding-top:40px;isolation:isolate}
.contact-emi::after{content:"";position:absolute;z-index:-1;left:4%;right:4%;bottom:-5px;height:10px;background:var(--cobalto);clip-path:polygon(12% 0,88% 0,88% 20%,100% 20%,100% 80%,88% 80%,88% 100%,12% 100%,12% 80%,0 80%,0 20%,12% 20%)}
@media (min-width:600px){.contact-emi{width:120px}}
@media (min-width:1300px){.contact-emi{width:160px;padding-top:48px}.bubble{font-size:15px}}
.emi-contact{width:100%}
.bubble{position:absolute;right:0;top:0;display:inline-flex;align-items:center;gap:8px;background:#f0ece4;color:#11121c;font-family:var(--pixel);font-size:13px;text-transform:uppercase;padding:6px 10px;white-space:nowrap;border:2px solid var(--grafito)}
.bubble::after{content:"";position:absolute;right:22px;bottom:-10px;border:4px solid transparent;border-top:6px solid var(--grafito)}
.clock{width:12px;height:12px;border:2px solid #11121c;position:relative}
.clock::after{content:"";position:absolute;left:3px;top:0;width:2px;height:5px;background:#11121c}
.contact-list{list-style:none;margin:clamp(28px,2.4vw,40px) 0 0;padding:0;border-top:1px solid var(--borde)}
.contact-list a{display:grid;grid-template-columns:minmax(96px,8.5em) minmax(0,1fr) auto;align-items:center;gap:12px;padding:clamp(14px,1.1vw,20px) 0;border-bottom:1px solid var(--borde);text-decoration:none}
.contact-list a::after{content:"\2192";color:var(--suave);font-weight:600;transition:transform .15s steps(2)}
.contact-list .k{font-size:clamp(14px,.85vw,16px);font-weight:600;color:var(--suave)}
.contact-list .v{font-size:clamp(17px,1.15vw,21px);font-weight:600;overflow-wrap:anywhere}
.contact-list a:focus-visible .v{color:var(--acento)}
.form{display:grid;gap:clamp(18px,1.4vw,24px);background:var(--superficie);border:1px solid var(--borde);padding:clamp(24px,2.4vw,44px)}
.form label{display:grid;gap:8px;font-size:clamp(16px,.95vw,18px);font-weight:600}
.form input:not([type=checkbox]),.form textarea{font:inherit;font-family:var(--texto);font-size:17px;text-transform:none;letter-spacing:0;color:var(--tinta);background:var(--fondo);border:2px solid var(--borde);border-radius:0;padding:clamp(10px,.8vw,15px) 14px;width:100%}
.form textarea{resize:vertical}
.form input:not([type=checkbox]):focus,.form textarea:focus{border-color:var(--cobalto);outline:none}
.form [aria-invalid="true"]{border-color:var(--error)}
.consent{grid-template-columns:auto 1fr;align-items:start;font-size:15px!important;font-weight:400!important}
.consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--cobalto)}
.consent .field-error{grid-column:1/-1}
.field-error{color:var(--error);font-family:var(--texto);font-size:13px;text-transform:none;letter-spacing:0}
.honeypot{position:absolute;left:-9999px}
.submit{justify-self:start}
.form-status{margin:0;font-size:15px}
.footer{display:grid;gap:12px;padding-block:32px 40px;border-top:1px solid var(--borde)}
.footer-line{font-family:var(--pixel);text-transform:uppercase;color:var(--acento);margin:0}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;color:var(--suave)}
body.escribiendo .wa-float{opacity:0!important;visibility:hidden;pointer-events:none}
@media (max-width:599px){.wa-float{padding:9px 14px;font-size:15px}}
.wa-float{position:fixed;z-index:25;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));font-family:var(--texto);font-size:16px;font-weight:600;text-decoration:none;
  background:var(--cobalto);color:#fff;border:2px solid var(--grafito);box-shadow:var(--sombra);padding:10px 16px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s steps(2),transform .2s steps(2),visibility .2s}
.wa-float.show{opacity:1;visibility:visible;transform:none}
.loader{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:var(--fondo);transition:opacity .25s steps(3)}
.loader.done{opacity:0;pointer-events:none}
.loader-box{display:grid;gap:14px;justify-items:center;font-family:var(--pixel);text-transform:uppercase;font-size:14px;color:var(--tinta)}
.loader-bar{display:flex;gap:4px}
.loader-bar i{width:14px;height:14px;background:var(--borde)}
.loader-bar i.on{background:var(--cobalto)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .btn:hover,.btn:active{transform:none}
}
.contact-side > .btn{justify-self:start}
:root{--banda:#18191d;--paso:12px}
:root[data-theme="light"]{--banda:#e7e9ee}
.band{position:relative;isolation:isolate;margin-block:0;padding-block:calc(var(--gap) + var(--paso))}
.band::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:var(--banda);
  -webkit-mask:linear-gradient(#000 0 0) 0 var(--paso)/100% calc(100% - 2 * var(--paso)) no-repeat,repeating-linear-gradient(90deg,#000 0 calc(var(--paso) * 2),transparent 0 calc(var(--paso) * 4)) 0 0/100% var(--paso) no-repeat,repeating-linear-gradient(90deg,transparent 0 calc(var(--paso) * 2),#000 0 calc(var(--paso) * 4)) 0 100%/100% var(--paso) no-repeat;
  mask:linear-gradient(#000 0 0) 0 var(--paso)/100% calc(100% - 2 * var(--paso)) no-repeat,repeating-linear-gradient(90deg,#000 0 calc(var(--paso) * 2),transparent 0 calc(var(--paso) * 4)) 0 0/100% var(--paso) no-repeat,repeating-linear-gradient(90deg,transparent 0 calc(var(--paso) * 2),#000 0 calc(var(--paso) * 4)) 0 100%/100% var(--paso) no-repeat}
.band + .section{margin-top:var(--gap)}
@media (max-width:599px){:root{--paso:8px}}
.band .service{background:var(--fondo)}
.film-frame{border:0;background:none;padding:12px 12px 34px;isolation:isolate;filter:drop-shadow(4px 4px 0 #050506)}
.film-frame::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(var(--led,#3a3d46) 0 0) right 18px bottom 13px/8px 8px no-repeat,#1d1f25;
  clip-path:polygon(8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px),0 8px,4px 8px,4px 4px,8px 4px)}
.film-frame::after{content:"VILA STUDIO";position:absolute;left:18px;bottom:9px;font-family:var(--pixel);font-size:11px;letter-spacing:.08em;color:#6d7180}
.film.playing .film-frame{--led:#56ce80}
.film-frame video{display:block;background:#000}
.film-play{bottom:52px}
.top{top:10px;margin:10px var(--gutter-r) 0 var(--gutter);padding:10px 12px 10px 10px;background:none;border:0;isolation:isolate}
.top::before,.top::after{content:"";position:absolute;inset:0;z-index:-1;
  clip-path:polygon(8px 0,calc(100% - 8px) 0,calc(100% - 8px) 4px,calc(100% - 4px) 4px,calc(100% - 4px) 8px,100% 8px,100% calc(100% - 8px),calc(100% - 4px) calc(100% - 8px),calc(100% - 4px) calc(100% - 4px),calc(100% - 8px) calc(100% - 4px),calc(100% - 8px) 100%,8px 100%,8px calc(100% - 4px),4px calc(100% - 4px),4px calc(100% - 8px),0 calc(100% - 8px),0 8px,4px 8px,4px 4px,8px 4px)}
.top::before{background:var(--borde)}
.top::after{inset:1px;background:var(--superficie)}
  clip-path:polygon(0 0,34% 0,34% 20%,67% 20%,67% 40%,100% 40%,100% 60%,67% 60%,67% 80%,34% 80%,34% 100%,0 100%)}
.theme{border:0;background:none;min-height:40px}
.mobile-menu{inset:84px var(--gutter-r) auto var(--gutter);border:1px solid var(--borde);background:var(--superficie)}
.mobile-menu a{font-family:var(--pixel);font-weight:400;text-transform:uppercase;font-size:18px}
#contenido > section{scroll-margin-top:96px}
.wa-float{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px}
@media (max-width:599px){.contact-list a{grid-template-columns:76px minmax(0,1fr) auto}.contact-list .v{font-size:16px;overflow-wrap:normal}}
@media (min-width:900px){.film{width:clamp(280px,19vw,360px)}}
.service-toggle{all:unset;display:block;font:inherit;text-transform:inherit;color:inherit;text-align:left}
.studio{display:grid;gap:32px;align-items:center}
.studio-intro .title{margin-bottom:0}
.studio-text .lead{margin-top:0}
.studio-text p:last-child{margin-bottom:0;color:var(--suave)}
@media (min-width:1000px){
  .studio{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(40px,4vw,88px)}
  .studio-intro{text-align:right}
  .studio-intro .title{text-wrap:balance}
  .film{width:clamp(280px,21vw,380px)}
}
@media (max-width:999px){.studio{grid-template-columns:minmax(0,1fr)}.film{width:100%;max-width:340px;justify-self:center}}
.project{background:var(--superficie);border:1px solid var(--borde);padding:clamp(20px,3vw,56px);margin-top:clamp(24px,2.4vw,40px)}
.project + .project{padding-top:clamp(20px,3vw,56px);border-top:1px solid var(--borde)}
.project-kicker{font-size:clamp(14px,.9vw,16px);font-weight:600;color:var(--acento);margin:0 0 10px;letter-spacing:.02em}
.project-name{font-size:clamp(34px,3.4vw,64px);margin:0 0 14px}
.project .screens{padding-bottom:40px}
@media (min-width:960px){.project{margin-top:clamp(24px,2.4vw,40px)}.project + .project{padding-top:clamp(20px,3vw,56px)}}
.menu-toggle{display:inline-grid;grid-auto-flow:column;gap:5px;align-items:center;justify-content:center;width:48px;height:40px;background:none;border:1px solid var(--borde);cursor:pointer;border-radius:0;padding:0}
.menu-toggle i{width:6px;height:6px;background:var(--tinta)}
.menu-toggle[aria-expanded="true"] i{background:var(--acento)}
.mobile-menu{inset:86px var(--gutter-r) auto auto;width:min(340px,calc(100vw - var(--gutter) - var(--gutter-r)));padding:8px 20px;box-shadow:var(--sombra)}
.mobile-menu a{display:flex;align-items:center;gap:10px;font-size:17px}
.mobile-menu a:last-child{border-bottom:0}
.mobile-menu a::before{content:"";width:6px;height:10px;background:var(--acento);opacity:0;clip-path:polygon(0 0,34% 0,34% 20%,67% 20%,67% 40%,100% 40%,100% 60%,67% 60%,67% 80%,34% 80%,34% 100%,0 100%)}
.mobile-menu a.on::before,.mobile-menu a:focus-visible::before{opacity:1}
.question-list{max-width:none}
.question-list summary{font-size:clamp(19px,1.6vw,30px);padding:clamp(20px,1.8vw,32px) 0}
.question-list p{font-size:clamp(17px,1.15vw,21px);max-width:70ch}
.wa-float{position:fixed;padding:10px 18px;overflow:visible}
@keyframes pestaneo{0%,93%,100%{background-position:calc(6 / 492 * 100%) 0}95%{background-position:calc(46 / 492 * 100%) 0}}
.studio-intro{order:0}.film{order:1}.studio-text{order:2}
@media (min-width:1000px){.studio-intro .title{font-size:clamp(26px,2.4vw,48px);text-wrap:nowrap}}
.question-list summary{align-items:center}
.service h3{text-align:left}.service-toggle{width:100%;box-sizing:border-box}
.service,.service-wide{align-items:stretch}
.wa-float{padding:10px 18px}
a,button,summary,label,input,textarea{touch-action:manipulation}
.btn{min-height:44px}
.theme,.menu-toggle{min-height:44px}
.menu-toggle{width:48px;height:44px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
.consent input{width:22px;height:22px}
.btn{transition:transform .16s cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){
  .btn:hover{transform:translateY(-1px)}
  .film-play:hover{transform:translate(-50%,-1px)}
  .screens:hover .screen-desk{transform:translate(-2px,-2px)}
  .contact-list a:hover .v{color:var(--acento)}
  .contact-list a:hover::after{color:var(--acento);transform:translateX(4px)}
  .carousel-btn:hover,.menu-toggle:hover{border-color:var(--tinta)}
  .mobile-menu a:hover::before{opacity:1}
}
.screen-desk{transition:transform .2s cubic-bezier(.23,1,.32,1)}
.theme{min-width:44px;justify-content:center}
.theme-ico{position:relative;width:18px;height:18px;background:none!important;box-shadow:none!important;outline:0!important;flex:none}
.theme-ico::before{content:"";position:absolute;left:0;top:0;width:2px;height:2px;box-shadow:6px 0px 0 #c9d3ff,8px 0px 0 #c9d3ff,10px 0px 0 #c9d3ff,12px 0px 0 #c9d3ff,4px 2px 0 #c9d3ff,6px 2px 0 #c9d3ff,8px 2px 0 #c9d3ff,2px 4px 0 #c9d3ff,4px 4px 0 #c9d3ff,6px 4px 0 #c9d3ff,2px 6px 0 #c9d3ff,4px 6px 0 #c9d3ff,6px 6px 0 #c9d3ff,2px 8px 0 #c9d3ff,4px 8px 0 #c9d3ff,6px 8px 0 #c9d3ff,2px 10px 0 #c9d3ff,4px 10px 0 #c9d3ff,6px 10px 0 #c9d3ff,4px 12px 0 #c9d3ff,6px 12px 0 #c9d3ff,8px 12px 0 #c9d3ff,6px 14px 0 #c9d3ff,8px 14px 0 #c9d3ff,10px 14px 0 #c9d3ff,12px 14px 0 #c9d3ff}
:root[data-theme="light"] .theme-ico::before{box-shadow:8px 0px 0 #f2a33a,2px 2px 0 #f2a33a,14px 2px 0 #f2a33a,6px 4px 0 #f2a33a,8px 4px 0 #f2a33a,10px 4px 0 #f2a33a,4px 6px 0 #f2a33a,6px 6px 0 #f2a33a,8px 6px 0 #f2a33a,10px 6px 0 #f2a33a,12px 6px 0 #f2a33a,0px 8px 0 #f2a33a,4px 8px 0 #f2a33a,6px 8px 0 #f2a33a,8px 8px 0 #f2a33a,10px 8px 0 #f2a33a,12px 8px 0 #f2a33a,16px 8px 0 #f2a33a,4px 10px 0 #f2a33a,6px 10px 0 #f2a33a,8px 10px 0 #f2a33a,10px 10px 0 #f2a33a,12px 10px 0 #f2a33a,6px 12px 0 #f2a33a,8px 12px 0 #f2a33a,10px 12px 0 #f2a33a,2px 14px 0 #f2a33a,14px 14px 0 #f2a33a,8px 16px 0 #f2a33a}
.studio-text .lead{font-size:clamp(21px,1.9vw,34px);line-height:1.35;margin:0;max-width:22ch}
.studio-text .lead{color:var(--tinta);font-weight:600}
.top{pointer-events:none;margin:12px var(--gutter-r) 0 var(--gutter);padding:0;top:12px;background:none;align-items:center}
.top::before,.top::after{display:none}
.top > *{pointer-events:auto}
.brand-head{width:48px;height:48px;box-shadow:3px 3px 0 0 var(--grafito)}
.brand-head img{width:44px}
.brand-name{transition:opacity .2s cubic-bezier(.23,1,.32,1),transform .2s cubic-bezier(.23,1,.32,1)}
.top.compacta .brand-name{opacity:0;transform:translateX(-6px);pointer-events:none}
.top-actions{gap:10px}
.theme,.menu-toggle{width:48px;height:48px;min-width:48px;padding:0;justify-content:center;background:var(--superficie);border:1px solid var(--borde);box-shadow:3px 3px 0 0 var(--grafito)}
:root:not([data-theme="light"]) .theme,:root:not([data-theme="light"]) .menu-toggle,:root:not([data-theme="light"]) .brand-head{box-shadow:3px 3px 0 0 #000}
.theme-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mobile-menu{inset:76px var(--gutter-r) auto auto}
.hero-note{font-size:15px;color:var(--suave);margin:20px 0 0;max-width:40ch}
.dialog-text{font-family:var(--texto);font-size:clamp(17px,1.25vw,22px);text-transform:none;line-height:1.5;min-height:3em}
.dialog-text b{font-weight:600}
.dialog-next{display:none}
.desktop-nav{display:none}
.work-intro{font-size:clamp(17px,1.2vw,21px);color:var(--suave);margin:0 0 32px;max-width:52ch}
.studio-text > p:not(.lead){font-size:17px;line-height:1.65;margin:20px 0 0;max-width:36ch}
.services-head{display:block}
.services-intro{font-size:clamp(18px,1.35vw,23px);max-width:54ch;margin:24px 0 32px}
.service-grid{grid-template-columns:minmax(0,1fr);gap:20px;margin:24px 0;overflow:visible}
.service,.service-wide{display:grid;grid-template-columns:96px minmax(0,1fr);grid-column:auto;gap:16px 20px;padding:24px;align-items:center;align-content:start;min-width:0}
.service-art{width:96px;height:auto;margin:0;border:0}
.service h3,.service > h3,.service-wide > div > h3{font-size:clamp(18px,1.45vw,23px);margin:0;overflow-wrap:break-word}
.service p,.service.service-wide p{margin:0;max-width:58ch}
.service ul{margin:0;padding-top:0;align-self:end}
.service.service-wide > div{display:contents}
.service-secondary .service-art{width:72px}
.service-secondary .service{grid-template-columns:72px minmax(0,1fr)}
.services-followup{border-top:1px solid var(--borde);margin-top:40px;padding-top:32px}
.followup-title{font-family:var(--texto);font-weight:600;font-size:clamp(23px,2vw,32px);line-height:1.25;margin:0 0 12px}
.services-followup > p{color:var(--suave);margin:0 0 24px}
.service-support .service{grid-template-columns:64px minmax(0,1fr);padding:22px;gap:16px}
.service-support .service-art{width:64px}
.service-support h3,.service-support .service-wide > div > h3{font-family:var(--texto);font-weight:600;text-transform:none;font-size:21px;line-height:1.25}
.services > .btn{margin-top:8px}
@media (min-width:760px){
 .service-primary,.service-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-support{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-support .service:last-child{grid-column:1/-1}
}
@media (min-width:1100px){
 .desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto;padding:0 20px;background:var(--fondo)}
 .desktop-nav a{display:inline-flex;align-items:center;min-height:48px;text-decoration:none;font-weight:600;font-size:16px}
 .desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--acento)}
 .service-primary .service{grid-template-columns:128px minmax(0,1fr);padding:32px}
 .service-primary .service-art{width:128px}
 .service-support{grid-template-columns:repeat(3,minmax(0,1fr))}
 .service-support .service:last-child{grid-column:auto}
}
@media (max-width:420px){
 .service,.service-wide{grid-template-columns:72px minmax(0,1fr);padding:20px;gap:16px}
 .service-art{width:72px}
}
.hero-h1{font-family:var(--texto);font-weight:600;text-transform:none;font-size:clamp(44px,5.8vw,106px);line-height:1.03;letter-spacing:-.045em}
.title{font-family:var(--texto);font-weight:600;text-transform:none;font-size:clamp(38px,5vw,80px);line-height:1.08;letter-spacing:-.035em}
.project-name{font-family:var(--texto);font-weight:600;text-transform:none;letter-spacing:-.025em}
.service h3,.service > h3,.service-wide > div > h3,.steps h3{font-family:var(--texto);font-weight:600;text-transform:none;letter-spacing:-.015em}
.studio-intro .title{text-wrap:balance}
.project-testimonial{grid-column:1/-1;justify-self:end;width:min(100%,521px);margin:12px 0 0;padding:18px;background:var(--fondo);border:1px solid var(--borde);display:grid;gap:14px}
.project-testimonial figcaption{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--suave)}
.project-testimonial figcaption > span{display:grid;gap:2px}
.project-testimonial strong{font-size:16px;font-weight:600;color:var(--tinta)}
.review-avatar{width:48px;height:48px;object-fit:cover;border-radius:50%;flex:none}
.review-message{width:100%;height:auto}
@media (min-width:1000px){.studio-intro .title{font-size:clamp(34px,3vw,52px);text-wrap:balance}}
@media (min-width:1100px){
 .top .menu-toggle{display:none}
 .desktop-nav a{position:relative}
 .desktop-nav a.on{color:var(--acento)}
 .desktop-nav a.on::after{content:"";position:absolute;width:4px;height:4px;left:0;bottom:5px;background:var(--acento)}
}
@media (min-width:760px){
 .service-support{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-support .service:last-child{grid-column:auto}
 .service-support #publicidad{grid-column:1/-1;grid-template-columns:96px minmax(0,1fr);padding:28px;gap:16px 24px}
 .service-support #publicidad .service-art{width:96px;grid-row:1 / span 3;align-self:start}
 .service-support #publicidad h3,.service-support #publicidad p,.service-support #publicidad ul{grid-column:2}
 .service-support #publicidad p{max-width:76ch}
 .service-support #publicidad h3{font-size:clamp(23px,2vw,30px)}
}
@media (max-width:599px){
  .top .brand-head img{visibility:hidden}
  .top .brand-head{position:relative}
  .top .brand-head::after{content:"";position:absolute;width:44px;aspect-ratio:28/19;background:url(a/px/emi.png) no-repeat;background-size:1857.14% 263.16%;background-position:calc(6 / 492 * 100%) 0;image-rendering:pixelated;animation:pestaneo 6s steps(1) infinite}
  .bubble{font-size:10px;padding:6px 8px}
}
.map.complete .map-token{animation:recorrido-completo .8s steps(4) 1}
@keyframes recorrido-completo{0%,100%{transform:translateY(0)}40%{transform:translateY(-9px);filter:drop-shadow(3px 3px 0 var(--cobalto)) drop-shadow(-3px -3px 0 var(--ventana))}70%{transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.top .brand-head::after,.map.complete .map-token{animation:none}}
.footer-copyright{display:inline-flex;align-items:center;gap:8px}
.footer-location::before{content:"·";margin-right:8px}
@media (max-width:599px){
  .footer{gap:18px;padding-block:28px 32px}
  .footer-links{display:grid;grid-template-columns:1fr;gap:0;justify-items:start}
  .footer-copyright{display:grid;gap:2px;margin:0 0 14px;line-height:1.6}
  .footer-location{color:var(--suave)}
  .footer-location::before{content:none}
  .footer-links a{padding-block:10px;min-height:44px}
}
@media (max-width:359px){.contact-list a{grid-template-columns:64px minmax(0,1fr) auto;gap:8px}.contact-list .v{font-size:15px}}
@media (max-width:899px){
  .emi-contact[data-frame="11"]{position:relative;background:none}
  .emi-contact[data-frame="11"]::before{content:"";position:absolute;inset:0;background:url(a/px/emi.png) no-repeat;background-size:1300% 100%;background-position:calc(11 * 100% / 12) 0;clip-path:polygon(0 0,70% 0,70% 100%,0 100%)}
  .emi-contact[data-frame="11"]::after{content:"";position:absolute;left:75%;top:42%;width:30%;height:10%;background:url(a/px/emi.png) no-repeat;background-size:4333.333% 1000%;background-position:calc(468 / 508 * 100%) calc(21 / 45 * 100%);transform:rotate(90deg);transform-origin:0 0}
}
.screen-phone{aspect-ratio:520/1125;overflow:hidden;container-type:size}
.screen-phone .tour{display:block;width:100%;height:auto;animation:recorrido 24s ease-in-out infinite alternate}
@keyframes recorrido{0%,6%{transform:translateY(0)}94%,100%{transform:translateY(calc(-100% + 100cqh))}}
@media (prefers-reduced-motion:reduce){.screen-phone .tour{animation:none}}
.form-fields{display:grid;gap:clamp(18px,1.4vw,24px)}
.form-fields[hidden],.form-success[hidden]{display:none}
.form-success{display:grid;justify-items:start;align-content:center;gap:16px;min-height:450px;padding-block:20px}
.success-scene{position:relative;display:flex;align-items:center;gap:24px;min-height:100px;margin-bottom:12px}
.success-emi{width:64px;animation:mensaje-saludo .65s steps(3) 1}
.success-envelope{position:relative;display:block;width:64px;height:44px;border:4px solid var(--grafito);background:var(--cobalto);box-shadow:4px 4px 0 var(--grafito)}
.success-envelope::before{content:"";position:absolute;inset:0;background:var(--sobre-cobalto);clip-path:polygon(0 0,50% 52%,100% 0,100% 13%,50% 65%,0 13%)}
.success-envelope::after{content:"";position:absolute;right:-10px;top:-14px;width:12px;height:12px;background:var(--ventana);box-shadow:0 -7px 0 -4px var(--ventana),0 7px 0 -4px var(--ventana),7px 0 0 -4px var(--ventana),-7px 0 0 -4px var(--ventana);animation:mensaje-saludo .65s steps(3) 1}
.success-label{font-family:var(--pixel);font-size:13px;text-transform:uppercase;color:var(--acento);margin:0}
.success-title{font-family:var(--texto);font-size:clamp(28px,3vw,44px);font-weight:600;letter-spacing:-.025em;line-height:1.12;margin:0;text-wrap:balance}
.form-success > p:not(.success-label){margin:0;max-width:36ch;color:var(--suave)}
.success-signature{font-size:14px;color:var(--suave);margin-bottom:12px}
@keyframes mensaje-saludo{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.success-emi,.success-envelope::after{animation:none}}
.price-tag{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 clamp(24px,1.8vw,34px);padding:10px 16px;background:var(--superficie);border:3px solid var(--tinta);box-shadow:var(--sombra);font-size:clamp(16px,1.05vw,19px);color:var(--tinta)}
.price-tag .price-k{font-family:var(--pixel);font-size:.78em;letter-spacing:.04em;text-transform:uppercase;color:var(--acento)}
.price-tag strong{font-size:1.45em;font-weight:600;line-height:1}
.price-tag .price-sep{color:var(--suave)}
@media (max-width:600px){.price-tag .price-sep{display:none}.price-tag span:last-child{flex-basis:100%}}
.service-price{grid-column:1/-1;display:flex;flex-direction:column;gap:2px;margin:4px 0 0;padding-top:14px;border-top:1px dashed var(--borde)}
.service-price strong{font-size:clamp(18px,1.2vw,21px);font-weight:600;color:var(--tinta)}
.service-price span{font-size:14px;color:var(--suave)}
.price-note{font-size:15px;color:var(--suave);max-width:70ch;margin:8px 0 28px}
.pay{margin:4px 0 0}
.pay-title{font-family:var(--pixel);text-transform:uppercase;font-size:12px;letter-spacing:.04em;color:var(--suave);display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none}
.pay-title::-webkit-details-marker{display:none}
.pay-title::after{content:'+';font-size:16px;color:var(--acento)}
.pay[open] .pay-title::after{content:'–'}
.pay-title:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
.pay-note{font-size:13px;color:var(--suave);margin:10px 0 0;max-width:60ch}
.pay-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:4px 0 0}
.pay-list li{font-size:13px;font-weight:600;padding:3px 10px;color:var(--suave);border:1px solid var(--borde);background:var(--superficie)}
.hero-kicker{margin:0 0 clamp(14px,1.2vw,22px);font-family:var(--pixel);font-weight:400;text-transform:uppercase;font-size:clamp(13px,1vw,17px);letter-spacing:.04em;line-height:1.5;color:var(--acento)}
.hero-hook{margin:0 0 clamp(18px,1.6vw,28px);font-family:var(--texto);font-weight:600;font-size:clamp(40px,5.2vw,96px);line-height:1.04;letter-spacing:-.04em;text-wrap:balance}
.hero-hook em{font-style:normal;color:var(--acento);display:block}
.hero-copy .hero-text{margin-bottom:clamp(24px,2vw,36px)}
.hero-actions{align-items:center;gap:12px 24px}
.btn-big{font-size:clamp(17px,1.15vw,20px);padding:16px 26px}
.hero-link{font-weight:600;color:var(--tinta);text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.price-line{order:3;flex-basis:100%;margin:2px 0 0;font-size:16px;color:var(--suave)}
.price-line strong{color:var(--tinta);font-weight:600}
@media (max-width:600px){.hero-actions{gap:12px}.hero-actions .btn-big{width:100%;justify-content:center;text-align:center}.price-line{order:2;font-size:15px;text-align:center}.price-line strong,.price-line span{display:block}.hero-link{order:3;margin-top:6px}}
.price-line span::before{content:"· "}
@media (max-width:600px){.price-line span::before{content:none}}
.service-primary .service:last-child{grid-column:auto}
@media (min-width:760px) and (max-width:1099px){.service-primary .service:last-child{grid-column:1/-1}}
@media (min-width:1100px){.service-primary{grid-template-columns:repeat(3,minmax(0,1fr))}.service-primary .service{grid-template-columns:96px minmax(0,1fr);padding:28px}.service-primary .service-art{width:96px}}
@media (min-width:760px){.service-support,.service-support .service:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.service-support .service:last-child{grid-column:auto;grid-template-columns:64px minmax(0,1fr)}.service-support #publicidad{grid-column:auto;grid-template-columns:64px minmax(0,1fr);padding:22px;gap:16px}.service-support #publicidad .service-art{width:64px;grid-row:auto;align-self:center}.service-support #publicidad h3{grid-column:auto;font-size:21px}.service-support #publicidad p,.service-support #publicidad ul{grid-column:1/-1}}
.project-body p strong{font-weight:600;color:var(--tinta)}
.next-steps{list-style:none;counter-reset:paso;margin:4px 0 24px;padding:0;display:grid;gap:10px}
.next-steps li{counter-increment:paso;display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:center;font-size:clamp(16px,1vw,18px)}
.next-steps li::before{content:counter(paso);display:grid;place-items:center;width:32px;height:32px;font-family:var(--pixel);font-size:14px;color:var(--sobre-cobalto);background:var(--cobalto);box-shadow:2px 2px 0 0 var(--grafito)}
.scene-hoyo{position:absolute;left:15.625%;top:83.33%;width:21.59%;aspect-ratio:38/9;background:url(a/px/hoyo.png) no-repeat 0 0/100% 100%;image-rendering:pixelated;opacity:0;pointer-events:none}
.emi-hero.bajando{background-image:url(a/px/emi-trepa.png);background-size:500% 100%;background-position:calc(var(--t,4) * 25%) 0}
.emi-hero.fuera{visibility:hidden}
.world.esperando .emi-walker{visibility:hidden}
.soga{--u:3;position:absolute;left:0;top:0;width:0;height:0;z-index:-1;pointer-events:none}
.soga[hidden],.emi-trepa[hidden],.soga-dialogo[hidden],.sombra-tapa[hidden]{display:none}
.soga-cuerda{position:absolute;left:0;top:0;width:calc(32px * var(--u));background:url(a/px/soga.png) repeat-y 0 0/100% calc(10px * var(--u));image-rendering:pixelated}
.emi-trepa{position:absolute;left:0;top:0;width:calc(40px * var(--u));aspect-ratio:40/50;will-change:transform}
.emi-trepa i{position:absolute;inset:0;background:url(a/px/emi-trepa.png) no-repeat;background-size:500% 100%;background-position:calc(var(--t,4) * 25%) 0;image-rendering:pixelated}
.emi-trepa.tiembla i{animation:tiembla .5s steps(1)}
@keyframes tiembla{0%{transform:translateX(-4%)}25%{transform:translateX(4%)}50%{transform:translateX(-3%)}75%{transform:translateX(2%)}100%{transform:none}}
.sombra-tapa{--s1:rgb(0 0 0 / .14);--s2:rgb(0 0 0 / .3);position:absolute;left:0;top:0;z-index:-1;pointer-events:none;background:linear-gradient(transparent 0 34%,var(--s1) 34% 67%,var(--s2) 67%);-webkit-mask:url(a/px/soga.png) 0 var(--y,0)/100% calc(10px * var(--u-soga,3)) repeat-y;mask:url(a/px/soga.png) 0 var(--y,0)/100% calc(10px * var(--u-soga,3)) repeat-y}
.sombra-tapa.abajo{background:linear-gradient(var(--s2) 0 33%,var(--s1) 33% 66%,transparent 66%)}
:root:not([data-theme="light"]) .sombra-tapa{--s1:rgb(0 0 0 / .3);--s2:rgb(0 0 0 / .55)}
html:not(.con-soga) .sombra-tapa,html:not(.con-soga) .asoma{display:none}
.con-asoma{isolation:isolate}
.film.con-asoma{position:relative}
.con-asoma .tapa-asoma{position:relative;z-index:2}
.con-asoma .screen-phone{z-index:3}
.asoma{position:absolute;z-index:1;width:calc(40px * var(--u-soga,3));aspect-ratio:40/50;transform:translateY(100%);transition:transform .32s steps(4);cursor:pointer}
.asoma .emi{width:100%;height:100%}
.asoma.on{transform:translateY(52%)}
.asoma-derecha{transform:none}
.asoma-derecha.on{transform:translateX(58%)}
.soga-dialogo{position:absolute;left:0;top:0;z-index:31;margin:0;max-width:260px;background:var(--grafito);color:#f0ece4;border:2px solid #f0ece4;box-shadow:var(--sombra);padding:10px 12px;font-family:var(--pixel);text-transform:uppercase;font-size:14px;line-height:1.5;pointer-events:none}
.soga-dialogo b{color:#8aa6ff;font-weight:inherit}
.sobre-emi,.sobre-emi body{cursor:pointer}
.hero-garantia{order:4;flex-basis:100%;margin:0;max-width:46ch;font-size:15px;line-height:1.5;color:var(--suave)}
@media (max-width:600px){.hero-garantia{order:3;text-align:center;max-width:none}.hero-actions .hero-link{order:4}}
.service-incluye{grid-column:1/-1;margin:14px 0 0;font-size:15px;line-height:1.55;color:var(--suave)}
.service-incluye strong{color:var(--tinta);font-weight:600}
.tags{gap:4px 0}
.tags li{border:0;padding:0;font-weight:600;color:var(--suave)}
.tags li + li::before{content:"·";margin:0 8px;color:var(--suave)}
.service ul{display:grid;gap:6px}
.service ul li{border:0;padding:0 0 0 16px;position:relative;font-weight:400}
.service ul li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;background:var(--cobalto)}
.pay-list{display:grid;gap:6px}
.pay-list li{border:0;background:none;padding:0;font-weight:400;font-size:13px;color:var(--suave)}
.pay-list li strong{font-weight:600;color:var(--tinta);margin-right:6px}
.consent input{width:24px;height:24px;margin:0}
.consent-privacidad{justify-self:start;font-size:14px;color:var(--suave);margin-top:-8px}
.screen-phone .tour.pausa{animation-play-state:paused}
@media (min-width:960px){
.project:has(> .project-testimonial) .project-body{grid-row:1 / span 2}
.project:has(> .project-testimonial) .screens{grid-row:1;align-self:start}
.project:nth-of-type(odd):has(> .project-testimonial) .screens,.project:nth-of-type(odd):has(> .project-testimonial) .project-testimonial{grid-column:1}
.project:nth-of-type(odd):has(> .project-testimonial) .project-body{grid-column:2}
.project:nth-of-type(even):has(> .project-testimonial) .screens,.project:nth-of-type(even):has(> .project-testimonial) .project-testimonial{grid-column:2}
.project:nth-of-type(even):has(> .project-testimonial) .project-body{grid-column:1}
.project:has(> .project-testimonial) .project-testimonial{grid-row:2;justify-self:start;align-self:start;margin-top:32px}
}
.service-mas{grid-column:1/-1;justify-self:start;margin-top:12px;font-size:15px;font-weight:600;color:var(--tinta);text-decoration:underline;text-decoration-color:var(--acento);text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.footer-servicios{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px}
.footer-servicios a{color:var(--suave);min-height:32px;display:inline-flex;align-items:center}
