
:root{--dark:#020817;--dark2:#061527;--blue:#0ea5e9;--blue2:#2563eb;--cyan:#22d3ee;--green:#22c55e;--text:#f8fafc;--muted:#cbd5e1;--ink:#0f172a;--soft:#f8fafc;--line:#e2e8f0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.top{background:radial-gradient(circle at 80% 20%,rgba(14,165,233,.22),transparent 35%),linear-gradient(135deg,#020817,#061527 55%,#020817);color:white}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(148,163,184,.15)}.logo{display:flex;align-items:center;gap:12px;font-size:30px;font-weight:900;letter-spacing:-1.4px}.logo span span{color:var(--cyan)}.mark{width:54px;height:54px;border-radius:15px;background:linear-gradient(145deg,#22d3ee,#2563eb);box-shadow:0 18px 50px rgba(14,165,233,.35)}.logo-img{height:85px;width:auto;object-fit:contain}.nav-right{display:flex;align-items:center;gap:12px}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}.hamburger span{display:block;width:24px;height:2px;background:white;border-radius:2px;transition:all .25s}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;flex-direction:column;background:#020817;padding:12px 0 20px;border-top:1px solid rgba(148,163,184,.12)}.mobile-menu.open{display:flex}.mobile-menu a{padding:13px 24px;font-size:15px;font-weight:600;color:#cbd5e1;transition:color .18s}.mobile-menu a:hover,.mobile-menu a.active{color:var(--cyan)}.mobile-wa{margin:12px 16px 0;background:linear-gradient(135deg,#16a34a,#22c55e);color:white !important;border-radius:10px;text-align:center;padding:13px 24px !important}.logo-img--sm{height:62px}.footer-logo{margin-bottom:12px}.menu{display:flex;gap:28px;align-items:center;font-weight:700;color:#dbeafe}.menu a:hover,.menu .active{color:var(--cyan)}.wa,.btn-green{background:linear-gradient(135deg,#16a34a,#22c55e);color:white}.wa{padding:12px 20px;border-radius:10px;font-weight:900}.hero{min-height:520px;display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center;padding:64px 0 80px}.hero-content{display:flex;flex-direction:column;gap:0}.eyebrow{display:inline-block;background:rgba(34,211,238,.1);color:var(--cyan);border:1px solid rgba(34,211,238,.25);border-radius:999px;padding:5px 14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:12px;margin-bottom:22px;width:fit-content}h1{font-size:clamp(38px,5vw,66px);line-height:1.05;letter-spacing:-2.5px;margin-bottom:20px}h1 strong{color:var(--cyan);display:block}.lead{font-size:18px;color:#94a3b8;max-width:520px;margin-bottom:32px;line-height:1.7}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:11px;font-weight:700;font-size:15px;min-width:0;transition:opacity .18s,transform .18s}.btn:hover{opacity:.88;transform:translateY(-1px)}.btn-blue{background:linear-gradient(135deg,#0ea5e9,#2563eb);color:white}.hero-stats{display:flex;gap:0;border:1px solid rgba(148,163,184,.15);border-radius:14px;overflow:hidden;width:fit-content}.hero-stat{padding:14px 24px;border-right:1px solid rgba(148,163,184,.12)}.hero-stat:last-child{border-right:none}.hero-stat strong{display:block;font-size:24px;font-weight:900;color:white;letter-spacing:-1px;line-height:1}.hero-stat span{font-size:12px;color:#64748b;margin-top:2px;display:block}.hero-img{height:460px;border-radius:20px 20px 20px 20px;background:url('img/hero.jpg') center 40%/cover;position:relative;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.6)}.hero-img::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(2,8,23,.7) 0%,rgba(2,8,23,.15) 50%,transparent 100%)}.hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(2,8,23,.55) 0%,transparent 50%)}section{padding:70px 0}.section-title{text-align:center;margin-bottom:38px}.section-title small{color:var(--blue2);font-weight:900;text-transform:uppercase;letter-spacing:2px}.section-title h2{font-size:34px;line-height:1.15;letter-spacing:-1.2px;margin-top:6px}.grid{display:grid;gap:24px}.cards-3{grid-template-columns:repeat(3,1fr)}.cards-4{grid-template-columns:repeat(4,1fr)}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 4px 24px rgba(15,23,42,.06);transition:box-shadow .2s,transform .2s}.card h3{font-size:20px;line-height:1.22;margin:0 0 10px}.card p{color:#475569;font-size:15px}.card-link{display:block;text-decoration:none;color:inherit}.card-link:hover{box-shadow:0 12px 40px rgba(15,23,42,.13);transform:translateY(-3px)}.card-arrow{display:inline-block;margin-top:16px;font-size:13px;font-weight:700;color:var(--blue2)}.icon{font-size:42px}.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.dark-section{background:linear-gradient(135deg,#020817,#061527);color:white}.dark-section p{color:#dbeafe}.dark-section .card{color:var(--ink) !important;background:white !important}.dark-section .card h3{color:#0f172a !important}.dark-section .card p{color:#475569 !important}.photo{min-height:330px;border-radius:24px;background:center/cover;border:1px solid rgba(148,163,184,.2);box-shadow:0 24px 80px rgba(0,0,0,.22)}ul.clean{list-style:none;display:grid;gap:10px;margin-top:18px}ul.clean li{padding-left:28px;position:relative;color:#334155}ul.clean li:before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:900}.dark-section ul.clean li{color:#e2e8f0}.cta{background:radial-gradient(circle at 85% 30%,rgba(14,165,233,.25),transparent 30%),linear-gradient(135deg,#020817,#061527);color:white;padding:54px 0}.cta-box{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{font-size:34px;line-height:1.15}.cta h2 span{color:var(--cyan);display:block}footer{background:#020817;color:#dbeafe;padding:50px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:42px;margin-bottom:28px}footer h4{color:var(--cyan);font-size:13px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}footer p,footer li{list-style:none;color:#cbd5e1;font-size:14px;margin-bottom:7px}.footer-social{display:flex;justify-content:center;gap:20px;padding:20px 0;border-top:1px solid rgba(148,163,184,.15);margin-top:8px}.footer-social a{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:14px;font-weight:600;transition:color .18s}.footer-social a:hover{color:var(--cyan)}.copy{border-top:1px solid rgba(148,163,184,.15);padding-top:18px;text-align:center;color:#94a3b8;font-size:13px}.page-hero{padding:64px 0}.page-hero h1{max-width:850px}.page-hero .lead{max-width:760px}.service-row{display:grid;grid-template-columns:.95fr 1.05fr;gap:38px;align-items:center;margin-bottom:52px}.service-row:nth-child(even){grid-template-columns:1.05fr .95fr}.service-row:nth-child(even) .photo{order:2}.pill{display:inline-block;background:#e0f2fe;color:#0369a1;font-weight:900;border-radius:999px;padding:7px 12px;font-size:12px;text-transform:uppercase;letter-spacing:1px}/* ── Banner Starlink ──────────────────────────── */
.starlink-banner{display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 4px 24px rgba(15,23,42,.08);text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s;margin:0 0 0}
.starlink-banner:hover{box-shadow:0 12px 40px rgba(15,23,42,.14);transform:translateY(-2px)}
.starlink-banner-img{height:160px;background:url('img/starlink.jpeg') center/cover;flex-shrink:0}
.starlink-banner-body{padding:28px 32px;background:white}
.starlink-banner-body h3{font-size:18px;font-weight:700;color:#0f172a;margin-bottom:8px;letter-spacing:-.3px}
.starlink-banner-body p{font-size:14px;color:#475569;margin:0}
.starlink-banner-cta{padding:28px 36px;background:#020817;color:#22d3ee;font-weight:700;font-size:15px;white-space:nowrap;height:100%;display:flex;align-items:center}
@media(max-width:760px){.starlink-banner{grid-template-columns:1fr}.starlink-banner-img{height:180px}.starlink-banner-cta{justify-content:center;padding:18px}}
/* ── Formulario de contacto ───────────────────── */
.form-alert{padding:14px 20px;border-radius:10px;font-size:14px;font-weight:600;margin-bottom:24px}
.form-alert--ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.form-alert--err{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.contact-form{display:flex;flex-direction:column;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-size:13px;font-weight:600;color:#374151}
.form-group input,.form-group textarea,.form-group select{padding:11px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;color:#111827;background:#f9fafb;transition:border-color .18s,box-shadow .18s;outline:none}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.12);background:#fff}
.form-group textarea{resize:vertical;min-height:120px}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.form-group.has-error input,.form-group.has-error textarea{border-color:#ef4444;background:#fff8f8}
.form-error{font-size:12px;color:#dc2626;font-weight:500}
.req{color:#ef4444}
@media(max-width:640px){.form-row{grid-template-columns:1fr}}
.contact-layout{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start}
.contact-aside{display:flex;flex-direction:column;gap:16px}
.contact-info-card{padding:22px 24px !important}
.contact-info-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:6px}
.contact-info-value{font-size:15px;font-weight:600;color:#0f172a;display:block;margin-bottom:4px}
.contact-info-note{font-size:13px;color:#94a3b8;margin-top:2px}
@media(max-width:820px){.contact-layout{grid-template-columns:1fr}.contact-aside{order:-1}}
/* ── fin formulario ─────────────────────────── */
.faq-section{background:#f8fafc}
.faq-list{max-width:880px;margin:0 auto;display:grid;gap:14px}
.faq-list details{background:white;border:1px solid var(--line);border-radius:14px;padding:0 22px;box-shadow:0 4px 22px rgba(15,23,42,.05)}
.faq-list summary{cursor:pointer;font-weight:800;color:#0f172a;list-style:none;padding:18px 28px 18px 0;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:22px;color:var(--blue2);font-weight:800}
.faq-list details[open] summary::after{content:'-'}
.faq-list p{color:#475569;font-size:15px;padding:0 0 20px;margin:0}
@media(max-width:980px){.menu{display:none}.hamburger{display:flex}.wa{display:none}.hero,.split,.service-row,.service-row:nth-child(even),.footer-grid{grid-template-columns:1fr}.service-row:nth-child(even) .photo{order:0}.cards-3,.cards-4{grid-template-columns:1fr 1fr}.hero-img{height:280px;order:-1}.hero{padding:40px 0 60px;gap:32px}.cta-box{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.logo{font-size:24px}.mark{width:45px;height:45px}.nav{height:76px}.wa{padding:10px 13px}.cards-3,.cards-4{grid-template-columns:1fr}.btn{width:100%}h1{letter-spacing:-1.5px;font-size:clamp(34px,8vw,48px)}.footer-grid{grid-template-columns:1fr}.hero-stats{width:100%}.hero-stat{flex:1;text-align:center}.actions{flex-direction:column}}
