/* TRAZO DIGITAL · nueva composición visual, compartida por todo el sitio. */
:root{--site-width:1680px;--page-edge:clamp(20px,3.4vw,64px);--electric:#176bff;--ink:#071a39}
body{background:#fff}
.wrap{width:calc(100% - var(--page-edge)*2);max-width:var(--site-width);margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}
.site-header{height:84px;padding-left:var(--page-edge);padding-right:var(--page-edge);border-bottom:1px solid #dce5ef;background:#fffffff2;box-shadow:none}
.site-header nav{gap:30px;font-size:14px}
.site-header .brand-header{width:154px}
.brand-header img{width:100%;height:auto}
.site-header .header-action{font-size:13px;padding:11px 18px;background:#0c2346;border-radius:7px}
.site-header .header-action:hover{background:#176bff}
.home-page .site-header{z-index:50}
.home-page .home-hero{position:relative;isolation:isolate;width:100%;max-width:none;margin:0;padding:76px var(--page-edge) 68px;min-height:690px;grid-template-columns:1fr 1fr;gap:5%;background:radial-gradient(ellipse at 77% 44%,#123e70 0,transparent 48%),#06152c;overflow:hidden}
.home-hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#9ad4ff06 1px,transparent 1px),linear-gradient(90deg,#9ad4ff06 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000)}
.home-page .home-hero .hero-copy{padding:0;max-width:740px}
.home-page .home-hero .eyebrow{color:#9ac6f1;font-size:11px!important;letter-spacing:.14em;line-height:1.5!important}
.home-hero .eyebrow i{background:#68d9ff;box-shadow:0 0 18px #68d9ff}
.home-page .home-hero h1{max-width:800px;color:#fff;font-size:clamp(60px,6.1vw,106px);line-height:.99;letter-spacing:-.055em;margin:24px 0 26px;font-weight:800}
.home-page .home-hero h1 em{font-style:normal;color:#76caff;background:linear-gradient(95deg,#72d6ff,#4b82ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.home-page .home-hero .hero-copy>p{max-width:520px;font-size:17px!important;line-height:1.75!important;color:#b3c6dd}
.home-hero .hero-actions{margin-top:32px;gap:12px}
.home-hero .button.primary{background:#2476ff;border-color:#2476ff;color:#fff;box-shadow:0 8px 32px #176bff30}
.home-hero .button.quiet{background:transparent;border:1px solid #647b994f;color:#e3edfb}
.home-hero .button:hover{transform:translateY(-2px)}
.home-hero .home-scene{height:510px;background:radial-gradient(ellipse at 55% 58%,#2564a54a,transparent 68%);border:0;border-radius:0;overflow:visible}
.home-scene:before,.home-scene:after{content:"";position:absolute;border:1px solid #70b8ff26;border-radius:50%;aspect-ratio:1;width:90%;top:1%;left:6%;transform:rotateX(38deg)}
.home-scene:after{width:66%;top:19%;left:18%;border-style:dashed;animation:sceneOrbit 65s linear infinite}
.home-scene .scene-grid{mask-image:radial-gradient(ellipse,#000,transparent 68%);background-size:38px 38px;opacity:.4}
.home-scene .scene-laptop{width:71%;left:9%;top:12%;transform:perspective(900px) rotateY(-10deg) rotateZ(-3deg);z-index:1;filter:drop-shadow(0 22px 35px #0008)}
.scene-laptop-screen{height:260px;border-color:#314864;border-width:7px}
.scene-laptop-base{background:linear-gradient(#829ab5,#d1deeb,#516c89)}
.scene-web-content{padding:30px}.scene-web-content strong{font-size:clamp(24px,2.6vw,38px)}
.home-scene .scene-card{width:54%;left:1%;bottom:11%;transform:perspective(600px) rotateY(6deg) rotate(-10deg);filter:drop-shadow(0 25px 24px #0008)}
.home-scene .scene-phone{right:1%;top:28%;width:26%;height:280px;border-color:#456079;border-width:5px;border-radius:26px;transform:rotate(6deg);box-shadow:0 22px 50px #0007}
.scene-phone-cover{height:82px}.scene-phone-avatar{width:50px;height:50px;margin-top:-26px}.scene-phone strong{font-size:12px}.scene-phone small{font-size:8px;margin-bottom:15px}.scene-phone-save{padding:10px;font-size:8px;margin-top:20px}
.scene-connection{position:absolute;right:0;top:0;z-index:5;border:1px solid #65adff38;border-radius:6px;background:#0b2642d9;box-shadow:0 10px 32px #0002;padding:11px 14px;color:#b4d9fa;font-size:11px;display:flex;align-items:center;gap:9px}
.scene-connection i{font-size:18px;color:#74d7ff}
.home-scene .scene-note{color:#7e9dbd;bottom:-12px;font-size:8px;letter-spacing:.13em}
.home-connection-strip{background:#0a203d;border-top:1px solid #688dbb24;color:#bfcee0}
.home-connection-strip>.wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.home-connection-strip span{display:flex;align-items:center;gap:16px;padding:22px 28px;font-size:12px;border-right:1px solid #7193ba26}
.home-connection-strip span:first-child{padding-left:0}.home-connection-strip span:last-child{border:0}
.home-connection-strip b{font-size:10px;letter-spacing:.08em;color:#5e86b3}.home-connection-strip i{color:#69bdff;font-size:18px;margin-left:auto}
.home-section{padding-top:84px;padding-bottom:84px}
.home-heading{max-width:830px;margin-bottom:38px}
.home-heading h2{font-size:clamp(32px,3.3vw,50px);line-height:1.14;letter-spacing:-.045em}
.home-heading>p{max-width:700px;font-size:16px!important}
.home-page .home-solutions{padding-top:86px}
.home-solution-grid,.home-demo-grid{gap:26px}
.home-solution-card{border-radius:12px;border-color:#d8e4ef;box-shadow:0 10px 30px #071a3906}
.home-solution-art{height:270px;background:radial-gradient(ellipse at 50% 90%,#cce1f5,transparent 65%),#eef4fb}
.home-solution-art img{max-height:230px;width:min(80%,470px)}
.home-solution-body{padding:30px 34px 34px}
.home-solution-body h3{font-size:30px}
.home-feature-list{margin-bottom:28px}
.home-demo-card{border-radius:12px;box-shadow:none}
.home-gallery-grid{gap:24px}.home-gallery-grid img{height:245px}.home-gallery-grid article{border-radius:12px}
.home-value-grid,.home-audience-grid{gap:24px}
.home-value-grid article{padding-top:25px;border-top:1px solid #b9cfe8}
.home-audience-grid article{border-radius:10px;padding:28px}
.home-process{background:#071b35}
.home-process .home-heading h2,.home-process li strong{color:#f2f7ff}
.home-process .eyebrow{color:#83bfff}
.home-process li{border-top:1px solid #43617f}
.home-process li span{color:#6fc5ff}.home-process li p{color:#b3c4d9}
.home-quote{max-width:var(--site-width);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8%}
.home-quote .home-heading{padding-top:20px}.home-quote .home-heading h2{font-size:clamp(32px,3.4vw,50px)}
.home-quote-form{border-radius:12px;box-shadow:none;background:#f7faff}
.home-finder{background:#eff5fc}.home-finder-layout{gap:8%;grid-template-columns:.85fr 1.15fr}
.home-faq-grid{gap:12px 26px}.home-faq details{border:0;border-bottom:1px solid #d5e2ee;border-radius:0}.home-faq summary{padding-left:0}.home-faq details p{padding-left:0}
.home-closing{background:radial-gradient(ellipse at 100% 50%,#154d87,transparent 60%),#071b35;padding:66px 0}
/* Páginas internas: más espacio horizontal y jerarquía consistente. */
.service-hero{padding-top:64px;padding-bottom:64px;gap:6%}
.web-section-heading{max-width:850px}
.seo-hero{background:linear-gradient(115deg,#eaf3ff,#f8fbff 70%);padding-top:68px;padding-bottom:62px;border-bottom:1px solid #e0eaf5}
.seo-hero h1{max-width:1000px;letter-spacing:-.045em}
.seo-section p,.seo-section .seo-list{max-width:85ch}
.seo-grid p{max-width:none}.seo-grid{gap:24px}.seo-grid article{border-radius:10px;box-shadow:0 10px 28px #123a6405}
.seo-section{padding-top:60px;padding-bottom:60px}
.seo-faq details{max-width:1100px}
/* Directorio compacto: seis grupos equilibrados, sin filas huérfanas. */
.site-footer-v2{background:#f2f6fb;border-top:1px solid #dce6f0;padding:0 0 22px}
.site-footer-v2 .footer-brand-row{display:flex;align-items:center;gap:28px;padding:30px 0 25px;border-bottom:1px solid #d7e2ee}
.site-footer-v2 .site-footer-logo{width:142px;flex:none;padding:0}
.site-footer-v2 .footer-brand-row p{font-size:11px;line-height:1.65;color:#667b93;margin:0}
.site-footer-v2 .footer-project-link{margin-left:auto;font-size:11px;font-weight:700;color:#1762bd;display:flex;align-items:center;gap:15px;padding:9px 0}
.site-footer-v2 .footer-guide-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;padding:28px 0 30px}
.site-footer-v2 .footer-guide-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.site-footer-v2 h2{font:800 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#19375c;margin:0 0 10px}
.site-footer-v2 a,.site-footer-v2 nav a{font-size:11px;line-height:1.6;padding:2px 0;color:#57708c;overflow-wrap:normal}
.site-footer-v2 a:hover{color:#075bcb}
.site-footer-v2 .footer-bottom{display:flex;align-items:center;gap:24px;padding-top:17px;padding-right:240px;border-top:1px solid #d7e2ee}
.site-footer-v2 .footer-bottom small,.site-footer-v2 .footer-bottom>span{font-size:10px;color:#6b819b}
.site-footer-v2 .site-footer-social{margin:0 0 0 auto;gap:16px}
.site-footer-v2 .site-footer-social a{font-size:10px;gap:5px}.site-footer-v2 .site-footer-social i{font-size:12px}
/* Apertura breve, visible una sola vez por sesión. */
.cinema-intro{background:radial-gradient(ellipse at 50% 65%,#154d7a,#06142b 60%,#030b19);transition:opacity .45s,visibility .45s}
.cinema-intro-frame{margin:28px 0 12px;padding:0;border:0;background:none;box-shadow:none;clip-path:none;animation:cinemaLogo .65s .15s both}
.cinema-intro-frame img{width:min(65vw,390px);filter:brightness(0) invert(1)}
.cinema-intro-kicker{font-size:10px;letter-spacing:.25em;animation:cinemaReveal .5s .1s forwards}
.cinema-intro-content p{font-size:17px;color:#b2d3ee;animation:cinemaReveal .5s .4s forwards}
.cinema-intro-progress{width:180px;height:1px;background:#41678d}.cinema-intro-progress:after{animation-duration:1.7s}
.cinema-intro-orbit{position:absolute;width:min(80vw,580px);aspect-ratio:1;border:1px solid #60b7ff2b;border-radius:50%;box-shadow:0 0 70px #1578d517,inset 0 0 70px #1578d510}
.cinema-intro-orbit:before,.cinema-intro-orbit:after{content:"";position:absolute;inset:8%;border:1px dashed #69baff25;border-radius:50%;animation:sceneOrbit 40s linear infinite}.cinema-intro-orbit:after{inset:-8%;border-style:solid;border-color:#69baff10}
.cinema-intro-orbit i{position:absolute;width:5px;height:5px;border-radius:50%;background:#83daff;box-shadow:0 0 18px #39b8ff;left:14%;top:14%}.cinema-intro-orbit i:nth-child(2){left:92%;top:73%}.cinema-intro-orbit i:nth-child(3){left:25%;top:94%}
.cinema-intro-skip{font-size:10px;letter-spacing:.04em;border-color:#6b9fc73d;min-height:38px}
.wa-float{padding:13px 17px;font-size:13px;box-shadow:0 8px 24px #06301a2d}.wa-float i{font-size:20px}
@keyframes sceneOrbit{to{transform:rotate(360deg)}}
@media(min-width:1850px){.home-page .home-hero{padding-left:max(var(--page-edge),calc((100vw - var(--site-width))/2));padding-right:max(var(--page-edge),calc((100vw - var(--site-width))/2))}}
@media(max-width:1200px){.home-page .home-hero{gap:3%;min-height:630px;padding-top:64px;padding-bottom:60px}.home-page .home-hero h1{font-size:72px}.home-hero .home-scene{height:430px}.home-scene .scene-laptop-screen{height:220px}.home-scene .scene-phone{height:242px;width:27%}.scene-phone strong{font-size:10px}.home-scene .scene-card{bottom:10%}.scene-connection{font-size:9px}.site-footer-v2 .footer-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.site-footer-v2 a,.site-footer-v2 nav a{font-size:11.5px}.home-quote{gap:5%}.home-solution-body{padding:25px}.home-gallery-grid img{height:200px}}
@media(max-width:900px){.home-page .home-hero{grid-template-columns:1fr;gap:35px;padding-top:54px;padding-bottom:40px}.home-page .home-hero h1{font-size:clamp(62px,9vw,90px);max-width:750px}.home-page .home-hero h1 br:nth-of-type(1){display:none}.home-page .home-hero .hero-copy>p{max-width:600px}.home-hero .home-scene{height:430px;width:min(100%,650px);justify-self:center}.home-scene .scene-laptop-screen{height:240px}.home-connection-strip span{padding:18px 15px;gap:10px;font-size:10px}.home-connection-strip i{display:none}.home-quote{display:block}.home-quote .home-heading{max-width:700px}.home-closing>.wrap{display:block}.home-closing-actions{margin-top:24px}.home-section{padding-top:64px;padding-bottom:64px}}
@media(max-width:760px){.site-header{height:70px}.site-header .brand-header{width:133px}.site-header nav.open{top:70px;padding:12px var(--page-edge) 20px}.home-solution-grid,.home-demo-grid{grid-template-columns:1fr}.home-solution-art{height:240px}.home-solution-body h3{font-size:28px}.home-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}.home-connection-strip>.wrap{grid-template-columns:1fr}.home-connection-strip span{padding:12px 0;border-right:0;border-bottom:1px solid #7193ba26;font-size:11px}.home-connection-strip span:last-child{border-bottom:0}.home-connection-strip i{display:block}.footer-brand-row{flex-wrap:wrap}.site-footer-v2 .footer-brand-row{gap:18px 26px}.site-footer-v2 .footer-project-link{margin-left:0;width:100%}.site-footer-v2 .footer-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 24px}.site-footer-v2 h2{font-size:10px}.site-footer-v2 a,.site-footer-v2 nav a{font-size:12px;line-height:1.5;min-height:25px}.site-footer-v2 .footer-bottom{flex-wrap:wrap;gap:12px 20px}.site-footer-v2 .footer-bottom>span{display:none}.site-footer-v2 .site-footer-social{margin-left:auto}.home-gallery-grid img{height:175px}.home-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}.service-hero{padding-top:40px;padding-bottom:40px}}
@media(max-width:530px){.home-page .home-hero{padding-top:38px}.home-page .home-hero h1{font-size:clamp(54px,13.8vw,72px);margin-top:22px;margin-bottom:22px;line-height:1.02}.home-page .home-hero h1 br:nth-of-type(1){display:block}.home-page .home-hero .eyebrow{font-size:9px!important;letter-spacing:.08em}.home-page .home-hero .hero-copy>p{font-size:16px!important}.home-hero .hero-actions{flex-direction:column;align-items:stretch}.home-hero .button{justify-content:space-between}.home-hero .home-scene{height:310px}.home-scene .scene-laptop{top:10%;left:7%;width:76%}.home-scene .scene-laptop-screen{height:175px}.scene-web-content{padding:18px}.scene-web-content strong{font-size:22px}.home-scene .scene-phone{height:205px;width:29%;top:25%;right:0;border-radius:19px}.scene-phone-cover{height:56px}.scene-phone-avatar{height:36px;width:36px;margin-top:-18px}.scene-phone strong{font-size:8px}.scene-phone small{font-size:6px;margin-bottom:7px}.scene-phone-actions{gap:4px}.scene-phone-actions span{width:18px;height:18px;font-size:9px}.scene-phone-save{margin:10px 5px 0;padding:6px;font-size:6px}.home-scene .scene-card{width:58%;bottom:8%}.scene-connection{font-size:8px;padding:7px 9px;top:-7px}.scene-connection i{font-size:14px}.home-scene .scene-note{font-size:6px;bottom:-7px}.home-heading h2{font-size:33px}.home-section{padding-top:52px;padding-bottom:52px}.home-solution-body{padding:23px}.home-feature-list{grid-template-columns:1fr}.home-gallery-grid,.home-audience-grid{grid-template-columns:1fr}.home-gallery-grid img{height:220px}.home-process ol{grid-template-columns:1fr}.home-process li{min-height:0;padding-bottom:12px}.seo-hero h1{font-size:36px}.seo-section{padding-top:42px;padding-bottom:42px}.site-footer-v2 .site-footer-logo{width:126px}.site-footer-v2 .footer-brand-row p{font-size:10px}.wa-float{padding:14px}.wa-float span{display:none}.home-closing-actions{display:grid}.home-closing-actions a{white-space:normal}.home-finder-panel{padding:23px}}
@media(prefers-reduced-motion:reduce){.home-scene:after,.cinema-intro-orbit:before,.cinema-intro-orbit:after{animation:none}}
@media(max-width:760px){.site-footer-v2 .footer-bottom{padding-right:0}.site-footer-v2 .footer-bottom .site-footer-social{width:100%;margin-left:0}}

/* Fluidez: capas opacas al desplazar y decoración sin trabajo continuo. */
.site-header,.web-jump{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.home-scene:after{animation:none}
.home-scene .scene-laptop{filter:none}
.home-scene .scene-laptop-screen{box-shadow:0 18px 30px #0005}
.home-scene .scene-card{filter:none}
.home-scene .scene-card img{box-shadow:0 18px 28px #0005}
.home-solution-art img,.nfc-demo-card-image{filter:none}
.cinema-intro{transition:opacity .18s ease,visibility .18s ease;contain:layout paint}
html.show-cinema,html.show-cinema body{overflow:visible}
.cinema-intro-glow{filter:none;animation:none}
.cinema-intro-grid{animation:none;opacity:.5}
.cinema-intro-orbit:before,.cinema-intro-orbit:after{animation:none}
.cinema-intro:before,.cinema-intro:after{animation:none}
.cinema-intro-frame{animation-delay:0s;animation-duration:.3s}
.cinema-intro-kicker,.cinema-intro-content p{animation-delay:0s;animation-duration:.25s}
.cinema-intro-progress:after{animation-duration:.85s}
.cinema-intro:not([aria-hidden="false"]),.cinema-intro:not([aria-hidden="false"]) *{animation:none!important}
@media(max-width:760px){html{scroll-behavior:auto}.web-demo-device{transition:none}}
