/* SECCIONES: un bloque por sección del index.html */
/* 1. Hero (oscuro, con rack animado) */
.hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(900px 500px at 85% 10%,rgba(26,67,153,.75),transparent 60%),radial-gradient(600px 400px at 0% 100%,rgba(216,42,26,.35),transparent 60%),var(--blue-dark);padding:40px 0}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(#000,transparent 85%)}
.hero__in{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
.hero h1{font-size:clamp(38px,5.4vw,68px);margin-bottom:16px}.hero h1 em{font-style:normal;color:#FF6B57}
.hero__lead{font-size:19px;color:#C6D2EE;max-width:50ch}.hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}



.rack{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:22px;backdrop-filter:blur(6px);box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.rack__u{display:flex;align-items:center;gap:14px;padding:15px 16px;margin-bottom:10px;background:rgba(10,21,48,.7);border:1px solid rgba(255,255,255,.1);border-radius:12px;font:600 14px var(--font-body);color:#DCE5F8}
.rack__u:last-child{margin:0}.rack__u b{margin-left:auto;font-family:var(--font-display);color:#fff}
.led{width:9px;height:9px;border-radius:50%;background:#35E27B;box-shadow:0 0 10px #35E27B;animation:blink 2.4s infinite}.led--b{background:#5B8DFF;box-shadow:0 0 10px #5B8DFF}.led--r{background:#FF6B57;box-shadow:0 0 10px #FF6B57}
.rack__u:nth-child(2) .led{animation-delay:.5s}.rack__u:nth-child(3) .led{animation-delay:1s}.rack__u:nth-child(4) .led{animation-delay:1.5s}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
/* Hero: mosaico de datos + cinta de marcas */
.bento{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bcard{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:22px;backdrop-filter:blur(6px);box-shadow:0 30px 60px -20px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:4px}
.bcard b{font:800 28px/1.1 var(--font-display);margin-top:6px;color:#fff}.bcard span{font-size:14px;color:#B9C6E4}.bcard--wide{grid-column:1/3}.bcard__big{font-size:clamp(36px,4.4vw,52px)!important}
.bchips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.bchips em{font:600 12.5px var(--font-body);font-style:normal;padding:6px 12px;border-radius:99px;border:1px solid rgba(255,255,255,.25);color:#DCE5F8}
.bbars{display:flex;align-items:flex-end;gap:6px;height:44px;margin-top:10px}.bbars i{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(#5B8DFF,var(--blue))}.bbars i:last-child{background:linear-gradient(#FF6B57,var(--red))}
.brandbar{position:relative;margin-top:28px;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);padding:14px 0;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.mqt{display:flex;width:max-content;animation:mq 32s linear infinite}.brandbar:hover .mqt{animation-play-state:paused}.mqg{display:flex;gap:14px;padding-right:14px}
.bpill{display:flex;align-items:center;justify-content:center;min-width:150px;height:48px;padding:0 18px;border-radius:12px;background:#fff;font:700 13px var(--font-body);color:var(--ink);transition:transform .18s}.bpill:hover{transform:translateY(-3px)}
.bpill img{height:28px;width:auto;max-width:104px;object-fit:contain}
@keyframes mq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.mqt{animation:none;width:auto;flex-wrap:wrap}.mqg+.mqg{display:none}.brandbar{mask-image:none}}
/* 2. Confianza */
.trust{background:#fff;border-bottom:1px solid var(--line)}.trust__in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:20px 24px}
.trust b{display:block;font:800 34px var(--font-display);color:var(--blue)}.trust span{font-size:14px;color:var(--dim)}
/* 3. Productos */
.product{display:flex;flex-direction:column;border-top:5px solid var(--blue)}.product:nth-child(2){border-top-color:var(--red)}
.product ul{flex:1;margin:12px 0 22px;font-size:14.5px;color:var(--dim)}.product li{padding:8px 0;border-bottom:1px solid var(--line)}.product .btn{align-self:flex-start}
/* 4. Servicios (paneles oscuros tipo data center) */
.ob{position:relative;overflow:hidden;color:#fff;border-radius:20px;padding:30px 28px;background:radial-gradient(420px 220px at 100% 0%,var(--ob-glow,rgba(26,67,153,.85)),transparent 65%),linear-gradient(160deg,#0F2048,var(--blue-dark));box-shadow:0 24px 50px -22px rgba(10,21,48,.6);transition:transform .2s;display:flex;flex-direction:column}
.ob:hover{transform:translateY(-5px)}
.ob__n{position:absolute;right:18px;top:6px;font:800 84px var(--font-display);color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.14);pointer-events:none}
.ob .led{position:absolute;left:28px;top:24px}
.ob__ic{width:68px;height:68px;margin:30px 0 20px;padding:15px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);box-shadow:0 0 30px var(--ob-halo,rgba(91,141,255,.35))}
.ob .ico{width:100%;height:100%;color:#fff;--ic2:var(--ob-acc,#FF6B57)}
.ob h3{font-size:21px;margin-bottom:8px;color:#fff}.ob p{color:#B9C6E4;font-size:15px;flex:1}
.ob a{font-weight:700;color:var(--ob-link,#FF8A78);font-size:14.5px}.ob a:hover{color:#fff}
.service{border-top:4px solid var(--blue)}.service:nth-child(even){border-top-color:var(--red)}
.service .ic{width:52px;height:52px;border-radius:14px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font:800 20px var(--font-display);margin-bottom:18px}.service:nth-child(even) .ic{background:#FDECEA;color:var(--red)}
/* 5. Showreel (video vertical 9:16) */
.showreel{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.showreel__text h2{font-size:clamp(30px,3.8vw,46px);margin-bottom:16px}
.reel{position:relative;margin:0 auto;width:min(100%,380px);aspect-ratio:9/16;border-radius:28px;overflow:hidden;background:var(--blue-dark);box-shadow:0 30px 70px -20px rgba(10,21,48,.55),0 0 0 8px #fff,0 0 0 9px var(--line)}
.reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.reel__toggle{position:absolute;right:14px;bottom:14px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(10,21,48,.72);color:#fff;font-size:13px;cursor:pointer;backdrop-filter:blur(4px)}
.reel__toggle:hover{background:var(--red)}
/* 6. Por qué */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.why .card{background:#fff;border:0;box-shadow:var(--shadow)}
.faq{max-width:820px;margin-top:26px}.faq h3{font-size:24px;margin-bottom:12px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 22px;margin-bottom:12px}
.faq summary{cursor:pointer;list-style:none;padding:17px 0;font-weight:700;display:flex;justify-content:space-between;gap:16px}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;line-height:1;color:var(--blue)}.faq details[open] summary::after{content:"−"}.faq details p{padding-bottom:16px;margin:0;font-size:15px}
/* 7. CTA + formulario */
.quote{background:radial-gradient(700px 400px at 0% 0%,rgba(26,67,153,.8),transparent 60%),var(--blue-dark);color:#fff}
.quote__in{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.quote h2{font-size:clamp(30px,3.8vw,48px);margin-bottom:16px}.quote p{color:#C6D2EE}
.steps{margin:18px 0;counter-reset:s}.steps li{counter-increment:s;display:flex;gap:14px;padding:9px 0}
.steps li::before{content:counter(s);flex:none;width:30px;height:30px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-weight:800;font-size:14px}
.quote__direct{display:flex;gap:12px;flex-wrap:wrap}
.form{background:#fff;color:var(--ink);border-radius:22px;padding:32px 30px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.form label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:15px;padding:13px 14px;border:2px solid var(--line);border-radius:11px;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}
.form [aria-invalid="true"]{border-color:var(--red)}.err{display:block;min-height:18px;color:var(--red);font-size:12.5px;margin-top:4px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:13px;color:var(--dim)}.form .check input{width:auto;margin-top:3px}
.form .btn{margin-top:14px}.hp{position:absolute;left:-9999px}
.ok{display:none;text-align:center}.ok.is-on{display:block}.ok h3{font-size:24px;margin-bottom:8px}.ok .btn{margin:6px 4px}
.footer{background:#070F22;color:#9FABC4;padding:26px 0;font-size:14px}.footer__in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px}.footer a:hover{color:#fff}.footer address{font-style:normal}
@media(max-width:980px){.hero__in,.quote__in,.showreel{grid-template-columns:1fr}.showreel{gap:32px}.reel{order:-1}.hero{padding:32px 0 36px}.trust__in{grid-template-columns:repeat(2,1fr)}.why{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.form__row,.why{grid-template-columns:1fr}.hero{padding:28px 0 32px}}

.form__status{min-height:20px;margin-top:10px;font-size:14px;color:var(--red)}.form__status a{color:inherit;text-decoration:underline}.form .btn[disabled]{opacity:.65;cursor:wait}
