:root{--blue: #0E42EE;--red: #DB0306;--blue-soft: #4a90d9;--bg-grad: radial-gradient(ellipse at 60% 20%, #0d1b4b 0%, #060b1f 70%);--bg-solid: #060b1f;--text: #fff;--muted: rgba(255, 255, 255, .65);--muted-strong: rgba(255, 255, 255, .78);--line: rgba(74, 144, 217, .35);--line-soft: rgba(74, 144, 217, .18);--surface: rgba(11, 24, 63, .55);--radius: 14px;--maxw: 1100px;--font: "Segoe UI", Arial, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--bg-solid) var(--bg-grad) fixed;min-height:100vh;font-family:var(--font);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg{max-width:100%}.bg-grid{position:fixed;inset:0;background-image:linear-gradient(rgba(21,101,192,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(21,101,192,.07) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.container{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 1.5rem;z-index:1}.container--narrow{max-width:640px}.skip-link{position:absolute;left:1rem;top:-100px;z-index:100;background:var(--blue);color:#fff;padding:.7rem 1.2rem;border-radius:0 0 8px 8px;text-decoration:none;font-weight:600;transition:top .2s}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--blue-soft);outline-offset:3px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.nav{position:sticky;top:0;z-index:20;background:#060b1fd1;backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.nav-inner{display:flex;align-items:center;gap:1rem;min-height:64px}.nav-brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);margin-right:auto;min-width:0}.nav-mark{width:30px;height:30px;flex:none}.nav-brand-name{font-weight:700;font-size:.95rem;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:1.25rem}.nav-links a{color:var(--muted);text-decoration:none;font-size:.92rem;transition:color .2s}.nav-links a:hover{color:#fff}@media(max-width:860px){.nav-brand-name{font-size:.85rem}.nav-links{gap:1rem}.nav-links .nav-hide-sm{display:none}}@media(max-width:560px){.nav-brand-name{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.75rem 1.4rem;border-radius:100px;font-size:.95rem;font-weight:600;font-family:inherit;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s,background .2s,border-color .2s,color .2s}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--blue);color:#fff;box-shadow:0 6px 24px #0e42ee59}.btn--primary:hover{background:#1a51ff}.btn--ghost{background:#4a90d914;border-color:var(--line);color:#fff}.btn--ghost:hover{background:#4a90d929}.btn--sm{padding:.5rem 1rem;font-size:.86rem}.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.hero{position:relative;display:grid;place-items:center;text-align:center;padding:clamp(3rem,9vw,6rem) 0 clamp(2.5rem,7vw,4.5rem);min-height:calc(100svh - 64px)}.hero--compact{min-height:0}.logo-wrap{width:260px;margin:0 auto 2.5rem;filter:drop-shadow(0 0 24px rgba(14,66,238,.4))}.logo-wrap--sm{width:150px;margin-bottom:1.75rem}@keyframes spin-cw{to{transform:rotate(360deg)}}@keyframes spin-ccw{to{transform:rotate(-360deg)}}@keyframes pulse-lock{0%,to{filter:drop-shadow(0 0 6px rgba(219,3,6,.6))}50%{filter:drop-shadow(0 0 18px rgba(219,3,6,.9))}}.logo-wrap g[class^=ring]{transform-origin:150px 130px}.ring-1{animation:spin-cw 22s linear infinite}.ring-2{animation:spin-ccw 16s linear infinite}.ring-3{animation:spin-cw 30s linear infinite}.ring-4{animation:spin-ccw 12s linear infinite}.ring-5{animation:spin-cw 9s linear infinite}.ring-6{animation:spin-ccw 26s linear infinite}.padlock-g{animation:pulse-lock 3s ease-in-out infinite}h1{font-size:clamp(1.8rem,5vw,2.8rem);font-weight:700;letter-spacing:-.5px;line-height:1.2;margin-bottom:.75rem}h2{font-size:clamp(1.4rem,3.6vw,2.1rem);font-weight:700;letter-spacing:-.3px;line-height:1.25;margin-bottom:.6rem}h3{font-size:1.08rem;font-weight:700;letter-spacing:-.1px;margin-bottom:.45rem}.subtitle{font-size:clamp(.95rem,2.5vw,1.1rem);color:var(--muted);line-height:1.7;margin-bottom:2rem}.lead{font-size:clamp(.98rem,2.2vw,1.15rem);color:var(--muted-strong);line-height:1.75}.eyebrow{display:block;font-size:.78rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--blue-soft);margin-bottom:.7rem}.hero-name{font-size:clamp(1rem,2.4vw,1.15rem);font-weight:600;color:#fff;margin-bottom:.2rem}.hero-role{font-size:.92rem;color:var(--blue-soft);letter-spacing:.4px;margin-bottom:1.6rem}.section{padding:clamp(3rem,8vw,5.5rem) 0}.section--alt{background:#060b1f73;border-block:1px solid var(--line-soft)}.section-head{max-width:720px;margin:0 auto clamp(2rem,5vw,3rem);text-align:center}.section-head p{color:var(--muted)}.grid{display:grid;gap:1rem}.grid--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{display:block;position:relative;padding:1.5rem;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);color:inherit;text-decoration:none;transition:border-color .2s,transform .2s,background .2s}.card p{color:var(--muted);font-size:.94rem}a.card:hover{border-color:var(--line);background:#0e42ee1a;transform:translateY(-2px)}.card-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-bottom:.9rem;border-radius:8px;background:#0e42ee2e;border:1px solid var(--line);color:var(--blue-soft);font-size:.8rem;font-weight:700}.card-link{display:inline-block;margin-top:.9rem;font-size:.88rem;font-weight:600;color:var(--blue-soft)}.card--media{padding:0;overflow:hidden}.card--media>:not(.card-media){margin-inline:1.5rem}.card--media>h3{margin-top:1.25rem}.card--media>:last-child{margin-bottom:1.5rem}.card-media{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-bottom:1px solid var(--line-soft);transition:filter .25s}a.card:hover .card-media{filter:brightness(1.12)}.banner{display:block;width:100%;max-height:340px;object-fit:cover;border:1px solid var(--line-soft);border-radius:var(--radius);margin-bottom:clamp(2rem,5vw,3rem)}.banner--hero{max-height:260px;margin:clamp(2rem,5vw,3rem) 0 0}.media-split{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center}.media-split img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border:1px solid var(--line-soft);border-radius:var(--radius)}.servicio-media{width:100%;aspect-ratio:21 / 9;max-height:240px;object-fit:cover;border-radius:10px;border:1px solid var(--line-soft);margin:0 0 1.25rem}.servicio{scroll-margin-top:84px;padding:1.75rem;background:var(--surface);border:1px solid var(--line-soft);border-left:3px solid var(--blue);border-radius:var(--radius)}.servicio+.servicio{margin-top:1rem}.servicio>p{color:var(--muted)}.list{list-style:none;margin:1.1rem 0 0;display:grid;gap:.5rem}.list li{position:relative;padding-left:1.4rem;font-size:.94rem;color:var(--muted-strong)}.list li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--blue)}.meta{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line-soft);font-size:.88rem;color:var(--muted)}.meta strong{color:var(--blue-soft);font-weight:600}.badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--blue-soft);border:1px solid var(--line);border-radius:100px;padding:.45rem 1.4rem;letter-spacing:.5px;text-decoration:none}.badge:before{content:"";width:7px;height:7px;background:var(--blue-soft);border-radius:50%;animation:blink 1.8s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.bar{width:180px;height:3px;background:#ffffff14;border-radius:3px;margin:0 auto 2rem;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--red));border-radius:3px;animation:scan 2.5s ease-in-out infinite alternate}@keyframes scan{0%{width:15%;margin-left:0}to{width:70%;margin-left:30%}}.phone{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--muted-strong);text-decoration:none;letter-spacing:.5px;transition:color .2s}.phone:before{content:"📞";font-size:.85rem}.phone:hover{color:#fff}.contacto-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.contacto-item{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.1rem;border:1px solid var(--line-soft);border-radius:10px;color:#fff;text-decoration:none;font-weight:600;transition:border-color .2s,background .2s}.contacto-item:hover{border-color:var(--line);background:#0e42ee1a}.contacto-item span{display:block;font-size:.78rem;font-weight:400;color:var(--muted)}.form{display:grid;gap:.85rem}.field{display:grid;gap:.35rem}.field label{font-size:.85rem;color:var(--muted)}.field input,.field select,.field textarea{width:100%;padding:.7rem .9rem;background:#060b1fb3;border:1px solid var(--line-soft);border-radius:10px;color:#fff;font-family:inherit;font-size:.95rem;transition:border-color .2s}.field select{appearance:none}.field select option{background:#0d1b4b;color:#fff}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--line)}.field textarea{resize:vertical;min-height:120px}.form-hp{position:absolute;left:-9999px;opacity:0}.form-status{font-size:.9rem;min-height:1.4em}.form-status[data-state=ok]{color:#4ade80}.form-status[data-state=error]{color:#ff6b6d}.form-note{font-size:.82rem;color:var(--muted)}.footer{border-top:1px solid var(--line-soft);padding:2.5rem 0 2rem;background:#060b1f99}.footer-inner{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.footer p,.footer a{font-size:.88rem;color:var(--muted)}.footer a{text-decoration:none}.footer a:hover{color:#fff}.footer-name{color:#fff!important;font-weight:700;margin-bottom:.3rem}.footer-legal{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--line-soft);font-size:.8rem;color:#ffffff73}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
