/* AB Nexus — identidad oscura editorial */
:root{--bg:#070b12;--bg2:#0a101a;--panel:#0d1521;--line:rgba(98,158,208,.22);--blue:#168cff;--cyan:#12d7f5;--text:#edf4fc;--muted:#91a1b5;--font:'Manrope',sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.65;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit}.cursor-glow{position:fixed;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(0,134,255,.075),transparent 70%);pointer-events:none;z-index:0;transform:translate(-50%,-50%)}.site-header{height:78px;padding:0 6.7%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(7,11,18,.88);backdrop-filter:blur(18px);z-index:20}.brand{display:flex;align-items:center;gap:10px;min-width:220px}.brand-logo{width:43px;height:43px;object-fit:cover;object-position:center;border-radius:50%;mix-blend-mode:screen}.brand-wordmark{font-size:18px;letter-spacing:.13em;line-height:1.1}.brand-wordmark b{color:#fff;font-weight:800}.brand-wordmark span{color:var(--cyan)}.brand-wordmark small{display:block;font:8px var(--mono);letter-spacing:.18em;color:#8da2ba;margin-top:5px}.main-nav{display:flex;align-items:center;gap:34px}.main-nav a{font-size:12px;color:#aab9ca;position:relative;padding:29px 0;transition:color .25s}.main-nav a:hover,.main-nav a.active{color:#fff}.main-nav a:after{content:"";position:absolute;bottom:20px;left:0;width:0;height:1px;background:var(--cyan);transition:width .25s}.main-nav a:hover:after,.main-nav a.active:after{width:100%}.header-contact{border:1px solid #087fcd;padding:10px 17px;border-radius:30px;color:#bfefff;font-size:11px;transition:background .25s,transform .25s}.header-contact:hover{background:#087fcd22;transform:translateY(-2px)}.whatsapp-mark{font-size:17px;margin-right:6px;color:var(--cyan)}.menu-toggle{display:none}.hero{min-height:650px;position:relative;display:flex;align-items:center;padding:70px 7% 105px;border-bottom:1px solid var(--line);overflow:hidden}.hero-image{position:absolute;inset:0 0 0 38%;overflow:hidden;background:radial-gradient(ellipse at 62% 47%,#12345a 0,#091625 32%,#070b12 68%)}.hero-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(7,11,18,.8) 14%,rgba(7,11,18,.04) 65%,rgba(7,11,18,.2)),linear-gradient(0deg,rgba(7,11,18,.7),transparent 30%)}.hero-image:after{content:"";position:absolute;width:580px;height:580px;border:1px solid rgba(15,156,255,.15);border-radius:50%;right:-80px;top:-130px;box-shadow:0 0 0 55px rgba(18,144,255,.025),0 0 0 110px rgba(18,144,255,.02)}.light-beam{position:absolute;height:1px;width:90%;background:linear-gradient(90deg,transparent,#087fff,transparent);transform:rotate(-19deg);right:-5%;top:31%;filter:drop-shadow(0 0 8px #078cff);animation:beam 8s ease-in-out infinite}.beam-two{top:72%;transform:rotate(-9deg);animation-delay:-4s;opacity:.6}.device-scene{position:absolute;width:min(48vw,650px);height:360px;right:6%;top:23%;perspective:1000px;transform:rotate(-4deg);animation:deviceFloat 8s ease-in-out infinite}.laptop-screen{position:absolute;right:5%;top:0;width:82%;height:78%;border:2px solid #263c55;border-radius:12px 12px 5px 5px;background:linear-gradient(140deg,#0d1c2f,#02060b 72%);box-shadow:0 0 35px #087fff26,inset 0 0 30px #0c5fa51c;transform:rotateY(-9deg) rotateX(3deg);overflow:hidden}.screen-top{height:25px;background:#09111d;border-bottom:1px solid #213750;display:flex;align-items:center;gap:5px;padding:0 10px}.screen-top i,.mock-browser i{width:5px;height:5px;border-radius:50%;background:#31516e}.screen-top span{font:7px var(--mono);letter-spacing:.1em;color:#617e9a;margin-left:8px}.screen-content{padding:32px 38px}.screen-kicker{display:block;font:9px var(--mono);letter-spacing:.2em;color:var(--cyan);margin-bottom:16px}.screen-content strong{font-size:clamp(28px,4vw,50px);line-height:1.03;letter-spacing:-.06em}.screen-content em{font-style:normal;color:#168cff}.screen-lines{display:flex;gap:8px;margin-top:24px}.screen-lines i{display:block;width:65px;height:3px;background:#1c3d5c}.screen-lines i:first-child{background:var(--cyan)}.screen-button{width:90px;height:20px;border:1px solid #087fcd;border-radius:20px;margin-top:25px}.screen-logo{position:absolute;right:24px;bottom:20px;color:#188cff;font-size:25px;font-weight:800;letter-spacing:-.1em}.screen-logo span{color:var(--cyan)}.laptop-base{position:absolute;bottom:28px;right:0;width:100%;height:28px;background:linear-gradient(#64758a,#111c2a 25%,#02050a 75%);clip-path:polygon(12% 0,89% 0,100% 85%,96% 100%,3% 100%,0 85%);transform:skewX(-8deg);box-shadow:0 20px 30px #000}.hero-copy{position:relative;z-index:2;width:min(570px,56%);margin-top:-8px}.eyebrow{font:10px var(--mono);letter-spacing:.19em;color:var(--cyan);display:flex;align-items:center;gap:12px;margin:0 0 22px}.eyebrow-line{display:inline-block;width:24px;height:1px;background:var(--cyan)}.eyebrow-dot{width:4px;height:4px;border-radius:50%;background:var(--cyan)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(44px,6.1vw,79px);letter-spacing:-.075em;line-height:1.06;font-weight:600;margin:0 0 23px}h1 span,h2 span{color:var(--cyan)}.hero-description{color:#a6b5c7;max-width:420px;font-size:14px;line-height:1.9;margin-bottom:29px}.hero-actions{display:flex;align-items:center;gap:27px}.button{display:inline-flex;align-items:center;gap:26px;border-radius:30px;padding:13px 20px;font-size:11px;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 28px #008cff30}.button-primary{background:linear-gradient(110deg,#0786f9,#09b5dc);color:white}.button span{font-size:16px}.text-link{font-size:11px;color:#b8c9db;border-bottom:1px solid #29435c;padding-bottom:5px;transition:color .2s,border .2s}.text-link span{color:var(--cyan);margin-left:8px}.text-link:hover{color:var(--cyan);border-color:var(--cyan)}.hero-footnote{margin-top:54px;font:9px var(--mono);letter-spacing:.11em;color:#7c91a8;display:flex;align-items:center;gap:10px}.pulse-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan);animation:pulse 2s infinite}.hero-index{position:absolute;right:6%;top:44%;display:flex;flex-direction:column;gap:10px;color:#71859d;font:9px var(--mono)}.hero-index span:first-child{color:var(--cyan)}.hero-index i{height:40px;width:1px;background:linear-gradient(var(--cyan),transparent);margin-left:4px}.vertical-note{position:absolute;left:3%;bottom:23%;writing-mode:vertical-rl;transform:rotate(180deg);font:8px var(--mono);letter-spacing:.2em;color:#627a94}.hero-bottom-line{position:absolute;bottom:0;left:7%;right:7%;height:42px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font:8px var(--mono);letter-spacing:.13em;color:#647990}.hero-bottom-line a{color:#8ea5bd}.section-wrap{padding:110px 8%}.services{background:linear-gradient(110deg,#080d15,#080c13 70%,#091320);position:relative}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:60px}.section-heading h2,.about h2,.contact h2{font-size:clamp(34px,4.2vw,54px);line-height:1.12;letter-spacing:-.065em;font-weight:600;margin:0}.section-intro{width:310px;max-width:40%;font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 4px}.services-layout{display:grid;grid-template-columns:190px 1fr;gap:50px}.service-aside{border-left:1px solid #176fa2;padding:10px 0 0 20px;display:flex;flex-direction:column;align-items:flex-start}.big-number{font:11px var(--mono);color:var(--cyan);letter-spacing:.15em}.service-aside p{font-size:17px;line-height:1.6;color:#b7c5d6;margin-top:34px}.aside-rule{width:40px;height:1px;background:var(--cyan);margin-top:auto;margin-bottom:16px}.aside-caption{font:8px/1.8 var(--mono);letter-spacing:.1em;color:#71849a}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.service-item{display:grid;grid-template-columns:48px 1fr 16px;gap:15px;padding:22px 0 24px;border-top:1px solid var(--line);align-items:start;transition:border-color .25s,transform .25s}.service-item:hover{border-color:#0c9de6;transform:translateX(4px)}.service-symbol{font-size:25px;line-height:1.1;color:var(--cyan);font-weight:400}.service-item h3{font-size:14px;font-weight:600;margin:0 0 7px}.service-item p{font-size:11px;color:var(--muted);line-height:1.8;margin:0;max-width:290px}.service-arrow{color:#4c6885;transition:color .2s,transform .2s}.service-item:hover .service-arrow{color:var(--cyan);transform:translate(2px,-2px)}.portfolio{background:#060a10;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.portfolio-heading{align-items:flex-end}.portfolio-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.project-card{grid-column:span 2;min-width:0}.project-feature{grid-column:span 3}.project-last{grid-column:span 3}.project-visual{height:230px;display:block;position:relative;overflow:hidden;background:#0c1825;border:1px solid #1a3349;transition:border-color .3s}.project-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,7,12,.05),rgba(2,7,12,.12) 50%,rgba(2,7,12,.55));pointer-events:none}.project-visual:hover{border-color:#0d9fe8}.visual-label{position:absolute;z-index:3;top:12px;left:13px;font:8px var(--mono);letter-spacing:.13em;color:#9eb4ca}.mock-window{position:absolute;left:10%;right:10%;top:18%;bottom:7%;background:#dce6eb;border-radius:5px 5px 0 0;overflow:hidden;box-shadow:0 18px 35px #0008;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.project-visual:hover .mock-window{transform:translateY(-7px) scale(1.025)}.mock-browser{height:18px;background:#e9eff2;display:flex;align-items:center;gap:4px;padding:0 8px}.mock-browser i{background:#9aaebd;width:4px;height:4px}.mock-browser span{font:6px var(--mono);color:#6b7e8b;margin-left:6px}.mock-pilates{height:calc(100% - 18px);padding:17px 15px;background:linear-gradient(90deg,#f5f3ed 55%,#d8e4de);color:#233e3d}.mock-pilates small{font:7px var(--mono);letter-spacing:.1em}.mock-pilates strong{display:block;font-size:22px;line-height:1.05;margin:13px 0;color:#304b45}.mock-pilates span{font-size:7px;border-bottom:1px solid #7eaaa0;padding-bottom:4px}.visual-vida .mock-window{background:#f4f7f7}.mock-health{padding:15px;height:calc(100% - 18px);color:#235b65;background:linear-gradient(120deg,#f4faf8,#dcefeb)}.mock-health-logo{font-size:13px;font-weight:800;color:#1599a6}.mock-health-logo span{font-weight:400;margin-left:3px}.mock-health-title{font-size:18px;font-weight:700;margin-top:12px;color:#244d58}.mock-health-blocks{display:flex;gap:5px;margin-top:13px}.mock-health-blocks i{display:block;height:32px;flex:1;background:#c2e2df;border-radius:3px}.visual-catalog .mock-window{background:#f4f4f0}.mock-catalog{padding:12px;color:#1a2b39}.catalog-head{font-size:13px;font-weight:700;display:flex;justify-content:space-between}.catalog-items{display:flex;gap:7px;margin-top:13px}.catalog-items i{flex:1}.catalog-items b{display:block;height:48px;background:linear-gradient(145deg,#b5c7d0,#e7e3d8);border-radius:3px}.catalog-items i:nth-child(2) b{background:linear-gradient(145deg,#d2c1ad,#eee4d9)}.catalog-items i:nth-child(3) b{background:linear-gradient(145deg,#9cb9b7,#e1e6dc)}.catalog-items small{display:block;height:4px;background:#cad3d5;margin-top:7px;width:70%}.visual-turnero .mock-window{background:#111d2b}.mock-admin{height:calc(100% - 18px);display:flex;color:#d7e6f5}.mock-admin aside{width:24%;background:#0a1420;padding:12px 7px}.mock-admin aside i{display:block;height:5px;background:#263e56;margin-bottom:11px;border-radius:4px}.admin-content{padding:12px;flex:1}.admin-content b{display:block;font-size:9px;margin-bottom:12px}.admin-content span{display:block;height:15px;border:1px solid #253b50;border-radius:2px;margin-bottom:6px;background:#17283a}.admin-content span:first-of-type{border-left:2px solid #17c7d7}.visual-absite .mock-window{background:#081320}.mock-absite{padding:16px;color:#dfefff;display:flex;flex-direction:column;align-items:flex-start;gap:10px;height:calc(100% - 18px);background:radial-gradient(circle at 80% 20%,#0c3b65,#07111d 60%)}.mock-absite img{width:48px;height:48px;object-fit:cover;border-radius:50%;mix-blend-mode:screen}.mock-absite span{font-size:16px;line-height:1.3;font-weight:700}.project-open{position:absolute;right:12px;bottom:12px;z-index:3;width:28px;height:28px;border:1px solid #4f789b;border-radius:50%;display:grid;place-items:center;background:#06101bc9;color:#fff;transition:background .2s}.project-visual:hover .project-open{background:#078de9}.project-info{display:flex;justify-content:space-between;gap:12px;padding:17px 2px 20px;border-bottom:1px solid var(--line)}.project-type{font:8px var(--mono);letter-spacing:.12em;color:var(--cyan);margin-bottom:7px}.project-info h3{font-size:15px;margin:0 0 5px;font-weight:600}.project-info p:not(.project-type){font-size:10px;color:var(--muted);line-height:1.7;margin:0;max-width:240px}.project-info>a{font-size:10px;color:#b7c8da;white-space:nowrap;align-self:flex-end;padding-bottom:2px;border-bottom:1px solid #2b4b66}.project-info>a:hover{color:var(--cyan);border-color:var(--cyan)}.portfolio-note{display:flex;align-items:center;gap:10px;margin-top:30px;font:8px var(--mono);letter-spacing:.13em;color:#7289a0}.about{display:grid;grid-template-columns:42% 58%;min-height:400px;background:#0a1019;border-bottom:1px solid var(--line)}.about-photo{position:relative;overflow:hidden;min-height:400px;background:radial-gradient(ellipse at 35% 45%,#1b3c5a,#0a111c 50%,#05080e)}.about-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#0a1019)}.desk-light{position:absolute;width:400px;height:250px;left:5%;top:20%;background:radial-gradient(ellipse,#0a8de6a0,transparent 70%);filter:blur(24px)}.desk-laptop{position:absolute;left:17%;top:20%;width:62%;height:55%;transform:rotate(-7deg);filter:drop-shadow(0 20px 25px #0009)}.desk-screen{height:100%;border:5px solid #202c3a;border-radius:8px;background:linear-gradient(145deg,#0e263c,#02070c);padding:22px;color:#168cff}.desk-screen>span{font-size:36px;font-weight:800;letter-spacing:-.1em}.desk-screen .cyan{color:var(--cyan)}.desk-screen small{display:block;font:7px var(--mono);letter-spacing:.15em;color:#7c9bb9;margin:5px 0 24px}.desk-screen i{display:block;width:70%;height:3px;background:#1c4262;margin-top:9px}.desk-screen i:first-of-type{width:40%;background:var(--cyan)}.photo-caption{position:absolute;left:8%;bottom:25px;font:8px var(--mono);letter-spacing:.15em;color:#7893ad;z-index:2}.about-content{padding:80px 11% 70px 8%;align-self:center}.about-content h2{font-size:clamp(30px,3.6vw,46px);margin-bottom:24px}.about-content>p:not(.eyebrow){font-size:12px;color:#9eafc1;line-height:2;max-width:560px}.about-signature{color:#d3e4f5!important;border-left:1px solid var(--cyan);padding-left:15px;margin:25px 0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:linear-gradient(120deg,#080d14,#0a1420);position:relative;overflow:hidden}.contact:after{content:"AB / NEXUS";position:absolute;right:-35px;bottom:-80px;font-size:clamp(100px,18vw,250px);font-weight:800;letter-spacing:-.1em;color:rgba(29,109,168,.045);pointer-events:none}.contact-top,.contact-details{position:relative;z-index:1}.contact h2{font-size:clamp(42px,5vw,64px);margin-bottom:18px}.contact-top>p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:360px;margin-bottom:25px}.contact-hint{display:block;color:#647d95;font-size:9px;margin-top:12px}.contact-hint code{color:#92adc8}.contact-details{align-self:center;display:grid;grid-template-columns:1fr;gap:0}.contact-detail{padding:17px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:110px 35px 1fr;align-items:center;gap:12px}.detail-index{font:8px var(--mono);letter-spacing:.08em;color:#6e839b}.detail-symbol{font-size:20px;color:var(--cyan)}.contact-detail h3{font-size:13px;margin:0}.contact-detail p{grid-column:3;font-size:10px;color:var(--muted);margin:-5px 0 0}.site-footer{padding:27px 7%;display:grid;grid-template-columns:1fr 1fr 1.5fr 1.5fr;align-items:center;gap:20px;background:#05080d;border-top:1px solid var(--line)}.footer-brand{display:flex;align-items:center;gap:9px}.footer-brand img{width:32px;height:32px;border-radius:50%;object-fit:cover;mix-blend-mode:screen}.footer-brand span{font-size:12px;letter-spacing:.15em}.footer-brand small{display:block;font:7px var(--mono);color:#71869b;letter-spacing:.13em}.footer-motto{font-size:10px;color:#71869b}.site-footer nav{display:flex;gap:20px;justify-content:center}.site-footer nav a{font-size:10px;color:#8da0b4}.site-footer nav a:hover{color:var(--cyan)}.copyright{text-align:right;font-size:9px;color:#61748a}.floating-contact{position:fixed;right:22px;bottom:22px;z-index:15;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#078fe8;color:white;font-size:24px;box-shadow:0 5px 25px #008cff55;transition:transform .25s}.floating-contact:hover{transform:translateY(-4px) rotate(8deg)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes pulse{50%{opacity:.45;box-shadow:0 0 3px var(--cyan)}}@keyframes deviceFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(-3deg)}}@keyframes beam{0%,100%{opacity:.25;transform:translateX(-5%) rotate(-19deg)}50%{opacity:.8;transform:translateX(5%) rotate(-19deg)}}@media(max-width:1000px){.site-header{padding:0 4%}.brand{min-width:auto}.main-nav{gap:18px}.hero{padding-left:6%;min-height:620px}.hero-copy{width:60%}.device-scene{right:-3%;width:53vw;opacity:.8}.section-wrap{padding:85px 6%}.services-layout{grid-template-columns:150px 1fr;gap:28px}.service-list{column-gap:18px}.service-item{grid-template-columns:35px 1fr 12px;gap:10px}.project-visual{height:190px}.project-info{display:block}.project-info>a{display:inline-block;margin-top:12px}.site-footer{grid-template-columns:1fr 1fr}.site-footer nav{justify-content:flex-end}.copyright{text-align:right}.footer-motto{display:none}}@media(max-width:700px){html{scroll-padding-top:72px}.site-header{height:68px;padding:0 5%}.brand-logo{width:37px;height:37px}.brand-wordmark{font-size:15px}.header-contact{margin-left:auto;margin-right:12px;padding:8px 12px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px;z-index:3}.menu-toggle span{width:22px;height:1px;background:#dcefff;display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:67px;background:#080e17;border-bottom:1px solid var(--line);padding:10px 6% 20px;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:12px 0}.main-nav a:after{bottom:7px}.hero{min-height:700px;align-items:flex-start;padding:65px 6% 90px}.hero-image{inset:230px 0 25px 0;opacity:.9}.hero-image:before{background:linear-gradient(180deg,var(--bg) 0%,rgba(7,11,18,.18) 32%,rgba(7,11,18,.05) 65%,var(--bg) 100%)}.device-scene{width:90vw;height:260px;top:34%;right:-6%;opacity:.82}.laptop-screen{height:75%}.screen-content{padding:20px 24px}.screen-content strong{font-size:35px}.screen-kicker{font-size:7px;margin-bottom:10px}.screen-lines{margin-top:12px}.screen-button{margin-top:13px}.laptop-base{bottom:30px}.hero-copy{width:100%;margin:0}.hero h1{font-size:clamp(44px,12vw,62px)}.hero-description{max-width:380px;font-size:12px}.hero-footnote{margin-top:35px;font-size:7px}.hero-index,.vertical-note{display:none}.hero-bottom-line{left:6%;right:6%;font-size:7px}.hero-bottom-line span:nth-child(2){display:none}.section-wrap{padding:72px 6%}.section-heading{display:block;margin-bottom:35px}.section-heading h2,.about h2{font-size:36px}.section-intro{max-width:none;width:auto;margin-top:20px}.services-layout{display:block}.service-aside{display:none}.service-list{grid-template-columns:1fr;gap:0}.service-item{grid-template-columns:42px 1fr 16px;padding:20px 0}.service-item p{max-width:450px}.portfolio-grid{grid-template-columns:1fr 1fr;gap:13px}.project-card,.project-feature,.project-last{grid-column:span 1}.project-visual{height:155px}.project-info{padding:13px 1px}.project-info h3{font-size:12px}.project-info p:not(.project-type){font-size:9px}.project-info>a{font-size:9px}.project-type{font-size:7px}.visual-label{font-size:7px;left:8px;top:8px}.mock-window{left:7%;right:7%;top:20%;bottom:7%}.mock-pilates{padding:9px}.mock-pilates strong{font-size:15px;margin:8px 0}.mock-health{padding:8px}.mock-health-title{font-size:13px;margin-top:7px}.mock-health-blocks{margin-top:8px}.mock-health-blocks i{height:22px}.mock-catalog{padding:8px}.catalog-items{margin-top:8px}.catalog-items b{height:29px}.mock-admin aside{padding:7px 4px}.admin-content{padding:7px}.admin-content b{font-size:7px;margin-bottom:7px}.admin-content span{height:10px}.mock-absite{padding:9px}.mock-absite img{width:32px;height:32px}.mock-absite span{font-size:11px}.portfolio-note{font-size:7px;line-height:1.7}.about{grid-template-columns:1fr}.about-photo{min-height:260px}.about-content{padding:50px 6% 60px}.about-content h2{font-size:34px}.contact{grid-template-columns:1fr;gap:40px}.contact h2{font-size:46px}.contact-details{margin-top:0}.contact-detail{grid-template-columns:85px 28px 1fr;gap:8px}.site-footer{padding:25px 6%;grid-template-columns:1fr 1fr;gap:22px 12px}.site-footer nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;flex-wrap:wrap;gap:16px}.copyright{grid-column:1/-1;text-align:left}.floating-contact{right:14px;bottom:14px;width:44px;height:44px}}@media(max-width:390px){.header-contact{font-size:0;padding:8px 10px}.whatsapp-mark{font-size:16px;margin:0}.brand-wordmark{font-size:13px}.portfolio-grid{grid-template-columns:1fr}.project-visual{height:205px}.project-info{display:flex}.project-info>a{margin-top:0}.hero-actions{gap:17px}.button{gap:12px;padding:12px 15px}.text-link{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.cursor-glow{display:none}}


/* Portfolio editorial — capturas reales */
.real-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}
.real-card{min-width:0;border:1px solid #263749;background:#0b1421;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .4s}
.real-card:hover{transform:translateY(-9px);border-color:#1d9cd0;box-shadow:0 24px 55px #0006}
.real-image{display:block;position:relative;overflow:hidden;aspect-ratio:1.48;background:radial-gradient(circle at 60% 20%,#173d5d,#07101c);border-bottom:1px solid #263749}
.real-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.real-card:hover .real-image img{transform:scale(1.06)}
.image-placeholder{position:absolute;inset:0;display:none;place-items:center;padding:25px;color:#7ea6bd;font:11px var(--mono);letter-spacing:.12em;text-align:center}
.image-missing .image-placeholder{display:grid}
.view-arrow{position:absolute;right:14px;bottom:14px;background:#15bfff;color:#04101c;padding:9px 13px;border-radius:50%;font-size:17px}
.real-card-copy{padding:24px}.real-card-copy small,.micro{font:10px var(--mono);letter-spacing:.13em;color:#42caff}
.real-card-copy h3{font-size:23px;letter-spacing:-.04em;margin:12px 0}.real-card-copy p{font-size:12px;line-height:1.9;color:#a4b4c5;min-height:67px}.real-card-copy>a,.vida-feature-intro>a{font-size:12px;color:#64d6ff;display:inline-block;margin-top:14px}
.vida-feature{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px;padding:35px;background:linear-gradient(130deg,#112333,#0b121e);border:1px solid #29516a}
.vida-feature-intro{display:flex;flex-direction:column;justify-content:center}.vida-feature-intro h3{font-size:clamp(35px,5vw,65px);letter-spacing:-.065em;margin:24px 0 16px}.vida-feature-intro p{max-width:370px;color:#a8bac8;line-height:1.9;font-size:13px}
.vida-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vida-item{display:flex;flex-direction:column;position:relative;min-width:0;background:#091420;border:1px solid #274052;transition:transform .35s,border-color .35s}
.vida-item:hover{transform:translateY(-5px);border-color:#36caff}
.vida-thumb{aspect-ratio:1.85;background:linear-gradient(135deg,#193d3a,#0d2024);overflow:hidden}.vida-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .7s}.vida-item:hover img{transform:scale(1.07)}
.vida-item>span{font:10px var(--mono);color:#c6dbe6;padding:14px 34px 14px 13px}.vida-item>b{position:absolute;right:13px;bottom:12px;color:#4ecfff}
.collaboration{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;background:radial-gradient(circle at 80% 40%,#12293b,#080e18 60%);border-top:1px solid #1e3346;border-bottom:1px solid #1e3346}
.collab-text h2{font-size:clamp(38px,5vw,68px);letter-spacing:-.065em;line-height:1.12;margin:20px 0}.collab-text h2 span{color:#39caff}.collab-text>p:not(.eyebrow){font-size:13px;line-height:2;color:#a7b9ca;max-width:470px}.collab-text strong{display:block;color:#dbeaf2;margin-top:22px;font-size:13px}
.collab-art{max-width:480px;justify-self:center}.collab-art img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 30px 90px #0008;transition:transform .7s}.collab-art:hover img{transform:scale(1.035) rotate(.4deg)}
@media(max-width:900px){.real-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vida-feature{grid-template-columns:1fr}.collaboration{grid-template-columns:1fr}.collab-art{max-width:390px}}
@media(max-width:600px){.real-grid{grid-template-columns:1fr}.vida-feature{padding:18px}.vida-items{gap:8px}.vida-item>span{font-size:9px}.real-card-copy p{min-height:0}.collab-art{max-width:310px}}
@media(prefers-reduced-motion:reduce){.real-card,.real-image img,.vida-item,.vida-thumb img,.collab-art img{transition:none!important}}

/* Versión 2: tipografía, filtros, clientes, caso de estudio y presupuesto */
h1,h2,h3,.brand-wordmark{font-family:'Space Grotesk',var(--font)}
h1{font-size:clamp(42px,5.5vw,74px)}
.nexus-network{position:absolute;inset:8% 4% 8% 8%;z-index:1;opacity:.68;transition:transform .5s ease;pointer-events:none}
.network-node{position:absolute;width:9px;height:9px;border:1px solid #48ccff;border-radius:50%;background:#0a223a;box-shadow:0 0 20px #08baff;animation:networkPulse 3s ease-in-out infinite alternate}
.n1{left:12%;top:23%}.n2{left:39%;top:8%;animation-delay:.4s}.n3{left:69%;top:29%;animation-delay:1.3s}.n4{left:87%;top:61%;animation-delay:.7s}.n5{left:54%;top:86%;animation-delay:1.8s}.n6{left:19%;top:69%;animation-delay:1s}
.network-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#11b8ee99,transparent);transform-origin:left center;animation:lineGlow 5s ease-in-out infinite alternate}
.l1{left:12%;top:23%;width:32%;transform:rotate(-22deg)}.l2{left:39%;top:8%;width:35%;transform:rotate(28deg)}.l3{left:69%;top:29%;width:36%;transform:rotate(50deg)}.l4{left:54%;top:86%;width:39%;transform:rotate(-31deg)}.l5{left:19%;top:69%;width:39%;transform:rotate(14deg)}
@keyframes networkPulse{to{box-shadow:0 0 35px #39d9ff;transform:scale(1.65);background:#18c7ff}}
@keyframes lineGlow{to{opacity:.28}}
.portfolio-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 24px}
.filter-btn{border:1px solid #2c465d;background:#0d1825;color:#bed0df;padding:10px 17px;border-radius:30px;cursor:pointer;font-size:12px;transition:background .25s,transform .25s,border-color .25s}
.filter-btn:hover{transform:translateY(-2px);border-color:#38d4ff}.filter-btn.is-active{background:#0b84c9;color:white;border-color:#0b84c9}
.portfolio-filter-item[hidden]{display:none!important}
.case-study{margin-top:20px;display:grid;grid-template-columns:1.25fr 1fr;gap:30px;padding:30px;border:1px solid #24485e;background:#0a1825}
.case-study h3{font-size:clamp(25px,3vw,40px);line-height:1.2;margin:15px 0}.case-study p{color:#b3c4d1;line-height:1.85;font-size:12px}.case-study p strong{color:#e8f8ff}.case-study small{color:#8294a5;font-size:10px}
.case-flow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.case-flow>span{background:#126ba3;color:#fff;padding:17px 23px;border-radius:8px;font:11px var(--mono)}.case-flow>i{font-style:normal;font-size:26px;color:#36c9ff}.case-flow>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.case-flow>div span{border:1px solid #245273;padding:17px 8px;text-align:center;border-radius:8px;font:10px var(--mono);color:#c7e4f2}
.clients{border-top:1px solid var(--line);background:linear-gradient(180deg,#08111c,#0a1624)}.client-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.client-logo-card{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:210px;padding:24px 12px;background:#0b1826;border:1px solid #25445b;border-radius:12px;transition:border-color .3s,transform .3s,box-shadow .3s}
.client-logo-card:hover{border-color:#40caff;transform:translateY(-6px);box-shadow:0 20px 45px #0006}.client-logo-image{height:104px;width:100%;display:grid;place-items:center}.client-logo-image img{display:block;max-width:85%;max-height:100px;object-fit:contain;filter:drop-shadow(0 8px 18px #0008)}.client-logo-image img[hidden]{display:none}.client-name-fallback{color:#b4d9ee;font-family:'Space Grotesk',sans-serif;font-size:23px;font-weight:700;text-align:center;line-height:1.2}.client-name-fallback[hidden]{display:none}.client-name{font-size:12px;color:#dcebf6;text-align:center}.client-open{position:absolute;right:12px;top:8px;color:#39ceff;font-size:17px}.clients-note{margin:18px 0 0;color:#8299a9;font-size:10px}
.contact{grid-template-columns:1fr 1fr;gap:6%}.quote-form{grid-column:2;grid-row:1/3;background:#0b1725;border:1px solid #2a4960;border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:10px}.quote-form h3{font-size:29px;margin:0}.quote-form>p{font-size:12px;color:#a7bdce;line-height:1.8}.quote-form label{font-size:11px;color:#cfe4f0;margin-top:5px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #34506a;background:#07111c;color:#eff8ff;padding:12px 14px;border-radius:7px;font:13px var(--font)}.quote-form textarea{resize:vertical}.quote-form :is(input,select,textarea):focus-visible{outline:2px solid #27c9fa;outline-offset:2px}.quote-form .button{justify-content:center;border:0;cursor:pointer;margin-top:12px}.quote-form small{color:#9bb5c8}.contact-details{grid-column:1;grid-row:2}
:focus-visible{outline:2px solid #50d7ff;outline-offset:3px}
@media(max-width:1000px){.client-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.case-study{grid-template-columns:1fr;padding:20px}.case-flow>div span{font-size:8px}.client-logo-card{min-height:165px}.contact{grid-template-columns:1fr}.quote-form{grid-column:1;grid-row:auto}.contact-details{grid-column:1;grid-row:auto}.hero-image{opacity:.68}.nexus-network{opacity:.5}}
@media(max-width:390px){.client-logos{gap:9px}.client-logo-card{padding:15px 7px}.client-name-fallback{font-size:18px}}
@media(prefers-reduced-motion:reduce){.network-node,.network-line{animation:none!important}.nexus-network{transition:none}}

/* Versión 3: proceso y visor de trabajos */
.process{border-top:1px solid var(--line);background:linear-gradient(145deg,#091522,#070b12)}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.process-step{padding:26px 21px;border:1px solid #29445a;background:linear-gradient(155deg,#10253a,#0a1420);border-radius:10px;transition:transform .35s,border-color .35s}.process-step:hover{transform:translateY(-5px);border-color:#31bdec}.process-step>span{font:10px var(--mono);letter-spacing:.07em;color:#46d0ff}.process-step h3{font-size:22px;line-height:1.2;margin:28px 0 14px}.process-step p{font-size:12px;line-height:1.9;color:#aabdcf}
.project-viewer{grid-column:1/-1;margin:20px 0 4px;background:#07111d;border:1px solid #2d5c75;border-radius:12px;overflow:hidden}.browser-chrome{display:flex;align-items:center;gap:18px;background:#132436;padding:12px 16px;border-bottom:1px solid #31536a}.browser-dots{color:#ff8e86;letter-spacing:4px;font-size:9px}.browser-chrome #browser-address{flex:1;text-align:center;font:11px var(--mono);color:#a8bed1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.browser-chrome a{color:#69d6ff;font-size:11px}.browser-screen{position:relative;min-height:220px;height:clamp(220px,38vw,490px);display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#183e4a,#0a1520)}.browser-screen img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;animation:previewIn .4s ease both}.browser-screen img[hidden]{display:none}.browser-screen span{color:#9ab4c7;font-size:13px;text-align:center;max-width:320px;padding:24px}.browser-screen span[hidden]{display:none}.browser-controls{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#0d1c2b}.browser-tab{border:1px solid #2e4b62;background:transparent;color:#afc8d9;padding:10px 16px;border-radius:8px;font-size:12px;cursor:pointer}.browser-tab:hover,.browser-tab.is-active{background:#126c9c;border-color:#37d0ff;color:white}@keyframes previewIn{from{opacity:.35;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.process-grid{grid-template-columns:1fr}.process-step h3{margin:14px 0}.browser-chrome{gap:8px;padding:10px}.browser-dots{letter-spacing:1px}.browser-tab{flex:1;padding:9px 7px;font-size:11px}.browser-controls{gap:5px}.browser-screen{height:270px}}
@media(prefers-reduced-motion:reduce){.process-step,.browser-screen img{animation:none!important;transition:none!important}}

/* Soluciones web / sin precios */
.solutions{position:relative}.solutions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}.solution-card{border:1px solid #284052;background:linear-gradient(145deg,#101e2c,#0a1420);padding:30px;display:flex;flex-direction:column;min-width:0;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.solution-card:hover{transform:translateY(-7px);border-color:#44c6f3;box-shadow:0 20px 50px #0005}.solution-featured{border-color:#2787b0;background:linear-gradient(145deg,#12314a,#0a1828)}.solution-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.solution-icon{color:#4acbff;font-size:35px}.solution-card h3{font-size:clamp(24px,2.5vw,33px);letter-spacing:-.04em;margin:22px 0 10px}.solution-card p{color:#afbfcc;font-size:13px;line-height:1.85}.solution-card ul{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:13px}.solution-card li{color:#d1e1eb;font-size:12px;line-height:1.5;padding-left:22px;position:relative}.solution-card li:before{content:'✓';position:absolute;left:0;color:#48d4fa}.solution-link{display:inline-block;color:#5bd4ff;font-size:12px;font-weight:600;margin-top:auto;transition:color .2s}.solution-link:hover{color:white}.solution-maintenance{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid #294253;background:#0d1a27;padding:28px 32px;margin-top:18px}.solution-maintenance h3{font-size:23px;margin:12px 0}.solution-maintenance p{font-size:13px;line-height:1.85;color:#b0c2ce;max-width:740px}.solution-maintenance .solution-link{white-space:nowrap}.solution-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:22px;padding:34px;background:linear-gradient(110deg,#123c5a,#0b2337);border:1px solid #236d92}.solution-cta h3{font-size:clamp(22px,2.5vw,31px);letter-spacing:-.035em}.solution-cta p{font-size:13px;line-height:1.8;color:#c0d2df;max-width:610px;margin:10px 0}.solution-cta small{color:#a5c3d4;font-size:11px}.solution-cta .button{white-space:nowrap;text-align:center}
@media(max-width:980px){.solutions-grid{grid-template-columns:1fr 1fr}.solution-cta{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.solutions-grid{grid-template-columns:1fr}.solution-card{padding:24px}.solution-maintenance{flex-direction:column;align-items:flex-start;padding:24px}.solution-cta{padding:24px}.solution-cta .button{white-space:normal;width:100%}}@media(prefers-reduced-motion:reduce){.solution-card{transition:none!important}}

/* V5 — visor proporcionado y ubicaciones de los proyectos */
.project-viewer{
  width: min(100%, 1040px);
  max-width: 1040px;
  margin: 26px auto 14px;
  box-shadow: 0 20px 60px rgba(0,0,0,.24);
}
.browser-screen{
  height: clamp(220px, 30vw, 390px);
  min-height: 0;
  overflow: hidden;
}
.browser-screen img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}
.project-location{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0 0 13px;
  color: #92c7df;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .01em;
}
.client-location{
  display:block;
  margin-top: 5px;
  font-size: 10px;
  line-height: 1.45;
  color: #91b2c5;
  text-align:center;
}
@media(max-width:700px){
  .project-viewer{margin:18px auto 12px;}
  .browser-screen{height:clamp(190px, 52vw, 290px);}
  .browser-chrome{gap:8px;padding:10px;}
  .browser-chrome #browser-address{font-size:9px;}
  .browser-controls{gap:6px;}
  .browser-tab{padding:8px 10px;font-size:10px;}
}

/* AB Nexus V6 — medios de pago y financiación */
.payment-section{position:relative;isolation:isolate;scroll-margin-top:95px}
.payment-section::before{content:"";position:absolute;z-index:-1;inset:8% 0 5%;background:radial-gradient(ellipse at 70% 35%,rgba(0,174,255,.085),transparent 55%);pointer-events:none}
.payment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:35px 0 22px}
.payment-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:14px;padding:27px 22px;background:linear-gradient(150deg,#102439,#0b1522);border:1px solid #25465b;border-radius:12px;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.payment-card:hover{transform:translateY(-6px);border-color:#3cc5f7;box-shadow:0 20px 45px #0004}
.payment-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:12px;background:#123b55;color:#64d6ff;font-size:26px}
.payment-card h3{font-size:19px;line-height:1.25;letter-spacing:-.035em;color:#f1f9ff;margin:2px 0 0}
.payment-card p{font-size:12px;line-height:1.85;color:#afc1d0;margin:0;flex:1}
.payment-tag{font:10px var(--mono,monospace);letter-spacing:.06em;color:#58cfff;border-top:1px solid #244356;padding-top:13px;width:100%}
.payment-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 32px;background:linear-gradient(110deg,#12354c,#0d1b2a);border:1px solid #275b75;border-radius:12px}
.payment-bottom h3{color:#f2faff;font-size:clamp(23px,2.6vw,32px);letter-spacing:-.045em;margin:10px 0}
.payment-bottom p{max-width:690px;color:#b1c5d5;font-size:12px;line-height:1.8}
.payment-bottom .button{flex-shrink:0;text-align:center}
.payment-note{font-size:11px;color:#94aabb;line-height:1.75;margin:16px 0 0}
@media(max-width:1100px){.payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.payment-bottom{flex-direction:column;align-items:stretch;padding:24px 20px}.payment-bottom .button{width:100%;text-align:center}}
@media(max-width:520px){.payment-grid{grid-template-columns:1fr;gap:12px}.payment-card{padding:22px}.payment-card p{flex:auto}}
@media(prefers-reduced-motion:reduce){.payment-card{transition:none}.payment-card:hover{transform:none}}
