:root{--x-dur: .26s;--hero-header: 4.5rem;--cta-inline-max: 420px;--hero-cta-reserve: 6.5rem}@media (prefers-reduced-motion: reduce){:root{--x-dur: 0s}}.slide-enter{opacity:0;transform:translateY(1.2em)}.slide-enter-active{opacity:1;transform:translateY(0);transition:opacity .45s ease,transform .45s ease}.slide-exit{opacity:1;transform:translateY(0)}.slide-exit-active{opacity:0;transform:translateY(-1.2em);transition:opacity .35s ease,transform .35s ease}.rotator-wrap{position:relative;overflow:hidden;height:5em;line-height:1.1}.rotator-text{display:block;white-space:nowrap;letter-spacing:-.01em}body[data-page=home] #hero{--hero-safe-top: env(safe-area-inset-top, 0px);--hero-safe-bottom: env(safe-area-inset-bottom, 0px);min-height:calc(var(--stable-height) - var(--hero-header, 0px) - var(--hero-safe-top) - var(--hero-safe-bottom) - var(--hero-cta-reserve));padding-top:max(6rem,calc(var(--hero-safe-top) + 4rem));padding-bottom:max(12rem,calc(var(--hero-safe-bottom) + 10rem))}@media (min-width: 1024px){body[data-page=home] #hero{padding-top:max(8rem,calc(var(--hero-safe-top) + 5rem));padding-bottom:max(13rem,calc(var(--hero-safe-bottom) + 11rem))}}body[data-page=home] #pilares{--pillars-safe-top: env(safe-area-inset-top, 0px);--pillars-safe-bottom: env(safe-area-inset-bottom, 0px);display:flex;flex-direction:column;justify-content:center;min-height:calc(var(--stable-height) - var(--pillars-safe-top) - var(--pillars-safe-bottom));padding-top:max(4.5rem,calc(var(--pillars-safe-top) + 3rem));padding-bottom:max(4.5rem,calc(var(--pillars-safe-bottom) + 3rem))}@media (min-width: 1024px){body[data-page=home] #pilares{padding-top:max(6rem,calc(var(--pillars-safe-top) + 3.5rem));padding-bottom:max(6rem,calc(var(--pillars-safe-bottom) + 3.5rem))}}body[data-page=home] #pilares{position:relative}.pillar{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.pillar:hover,.pillar:focus-within{transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow-card)}.org-card{box-shadow:var(--shadow-soft);cursor:pointer}.pillars-peek{position:absolute;left:50%;bottom:max(.75rem,env(safe-area-inset-bottom));transform:translate(-50%,35%);width:min(92vw,var(--cta-inline-max));z-index:5}@media (min-width: 1024px){.pillars-peek{bottom:clamp(.75rem,3vh,1.75rem)}}.hero-cta-group{width:min(92vw,var(--cta-inline-max));margin:0 auto;margin-bottom:2rem}.hero-cta-group .btn-reactive{display:flex;justify-content:center;align-items:center;min-width:0;text-align:center;width:100%}@media (min-width: 1024px){.hero-cta-group{margin-bottom:3rem}}.anim-box{position:relative;border-radius:1rem;background-color:var(--color-void);overflow:hidden;min-height:14rem;transition:background-color .45s ease-in-out,opacity .45s ease-in-out,transform .25s ease}.anim-box canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .45s ease-in-out}.anim-hide,.anim-hiding{opacity:0;transform:scale(.98);pointer-events:none;background-color:var(--color-void)}.anim-show{opacity:1;transform:scale(1);background-color:var(--color-surface)}.anim-box.anim-show canvas{opacity:1}.pillar-layout{display:grid;gap:1.5rem}.pillars-feed{margin-top:clamp(2rem,6vw,3.5rem)}.site-footer{transition:opacity .35s ease}@media (min-width: 768px){.pillar-layout{grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr);align-items:stretch;gap:2rem}.pillar-layout .anim-box{min-height:100%;height:100%}}@media (min-width: 1280px){.pillar-layout{grid-template-columns:minmax(0,1.35fr) minmax(250px,.7fr)}}@media (prefers-reduced-motion: reduce){.slide-enter-active,.slide-exit-active,.pillar,.anim-box{transition:none}.anim-box canvas{transition:none}}body[data-page=home] #hero{position:relative;will-change:transform,opacity;transform-origin:center top}body[data-page=home] .hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding-bottom:clamp(3.5rem,10vh,6rem)}.case-preview__frame--article{padding:clamp(2rem,2.8vw,3.2rem);color:var(--color-bg);overflow-y:auto;background:var(--color-modal-article)}.case-preview__frame--article:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAI0lEQVQoU2NkYGD4z0AEYBxVSFQgE4LcB8SkgRwJoAEYBoAAAGQMA6qvLwJ1AAAAAElFTkSuQmCC);opacity:.12;mix-blend-mode:soft-light;pointer-events:none}.case-preview__content{position:relative;z-index:1;width:100%}.launch-article__halo{position:absolute;border-radius:999px;filter:blur(120px);opacity:.32;pointer-events:none}body[data-page=servicios]{background-color:var(--color-bg);overflow-x:hidden}body[data-page=servicios] .service{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}body[data-page=servicios] .service:hover,body[data-page=servicios] .service:focus-within{transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow-card)}body[data-page=servicios] .anim-box{position:relative;border-radius:1rem;background:var(--color-surface);overflow:hidden;min-height:12rem;border:1px solid var(--color-border-light)}body[data-page=servicios] .anim-box canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;opacity:1}body[data-page=servicios] #hero,body[data-page=servicios] #hero-servicios{will-change:transform,opacity;transform-origin:center top}body[data-page=empresas] .page-hero{padding-top:clamp(2.5rem,4.5vw,4rem)!important;padding-bottom:clamp(1.5rem,3.5vw,2.5rem)!important}body[data-page=empresas] .service-layout{padding-top:0!important}body[data-page=empresas] .page-hero__inner{gap:clamp(.75rem,2vw,1.25rem)}.anchor-target{scroll-margin-top:0;outline:none}body[data-page=servicios] .deliverable-media{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:.875rem;background:var(--color-surface-muted)}body[data-page=servicios] .deliverable-media canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}body[data-page=servicios] .deliverable-media canvas.shader-bg{z-index:0;pointer-events:none;filter:contrast(1.05)}body[data-page=servicios] .deliverable-media canvas.shader-fg{z-index:1}#servicios .service{position:relative;height:100%;overflow:hidden;border-radius:.75rem;isolation:isolate}#servicios .service-grid{display:grid;grid-template-rows:auto 1fr auto;gap:1rem;min-height:100%}#servicios .service .copy{align-self:start}#servicios .service .spacer{min-height:0}#servicios .anim-box{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:.75rem;overflow:hidden;z-index:0}#servicios .anim-box canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.masonry{position:relative;min-height:240px}.ms-item{position:absolute;top:0;left:0;width:240px;height:240px;border-radius:1rem;overflow:hidden;background:var(--color-surface-subtle);border:1px solid var(--color-border-soft);box-shadow:var(--shadow-soft);transform-origin:center;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;visibility:hidden}.ms-item:hover{transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow-raise)}.ms-img{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center}.ms-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(var(--color-white-rgb),0) 45%,rgba(var(--color-black-rgb),.55));opacity:0;transition:opacity .25s ease}.ms-item:hover .ms-grad{opacity:1}.ms-meta{position:absolute;left:12px;right:12px;bottom:12px;display:grid;gap:6px;z-index:2}.ms-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--color-dark);background:rgba(var(--color-white-rgb),.9);border:1px solid var(--color-border-soft)}.ms-title{font-weight:700;font-size:14px;letter-spacing:.01em;color:var(--color-white);text-shadow:var(--shadow-text-strong)}.case-preview__frame{width:min(1200px,calc(100% - 5vw));height:min(92vh,900px)}.case-preview__frame--app{width:min(420px,calc(100% - 2rem));height:min(90vh,860px);border-radius:32px}.case-preview__iframe{width:100%;height:100%;border:0;background:var(--color-surface)}@media (prefers-reduced-motion: reduce){.ms-item,.ms-grad{transition:none}}body[data-page=contacto]{background-color:var(--color-bg)}.contact-section .anim-box{position:relative;border-radius:1rem;background:#e7ecf2;overflow:hidden;min-height:18rem;width:100%;margin:0}.contact-section .anim-box canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;opacity:1!important;z-index:2}.contact-section .anim-box:before{content:"";position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;background:radial-gradient(circle at 30% 35%,#ffffffb3,#fff0 55%),radial-gradient(circle at 70% 65%,#ffffff80,#fff0 60%),linear-gradient(120deg,#ffffff40,#fff0);opacity:.9;transform:translateZ(0);animation:contact-wave 12s ease-in-out infinite;pointer-events:none;z-index:1}.contact-section .shader-card{display:flex;align-items:stretch;justify-content:center}@media (min-width: 768px){.contact-section .shader-card{height:100%}.contact-section .anim-box{height:100%;min-height:100%}}.contact-section .btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.contact-section .btn:hover{transform:translateY(-1px)}.contact-section .input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;border-radius:.75rem;border:1px solid var(--color-border-strong);padding:.75rem 1rem;background:var(--color-surface)}.contact-section .input:focus{outline:0;box-shadow:var(--shadow-outline-accent);border-color:var(--color-accent)}.contact-section .label{display:block;margin-bottom:.45rem;font-weight:600;font-size:.9rem}.contact-section .help{font-size:.8rem;color:var(--color-muted)}@media (prefers-reduced-motion: reduce){.btn,.menu-overlay,.menu-panel{transition:none}.contact-section .anim-box:before{animation:none}}@keyframes contact-wave{0%{transform:translate3d(-2%,-1%,0) scale(1)}50%{transform:translate3d(2%,1%,0) scale(1.02)}to{transform:translate3d(-2%,-1%,0) scale(1)}}
