:root{
  --bg:#f7fbff; --panel:#ffffff; --text:#0a1f33; --muted:#506273; --link:#0b3a5e;
  --brand1:#00cfe8; --brand2:#0dd4a6; --brand3:#0b1e3c; --ok:#14b8a6; --err:#e11d48; --line:#dbe7f1;
}

/* ===== LOGO FIJO (siempre visible arriba-izquierda) ===== */
.logo-fixed{ position:fixed; top:10px; left:12px; z-index:9999; display:block; line-height:0; }
.logo-fixed .logo-svg, .logo-fixed img{ display:block; width:340px; height:auto; }
@media (min-width: 961px){ .site-header{ padding-left:360px; } }
@media (max-width: 960px){
  .logo-fixed .logo-svg, .logo-fixed img{ width:220px; }
  .site-header{ padding-left:16px; }
}

/* ===== BASE ===== */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", sans-serif; background:var(--bg); color:var(--text); line-height:1.6; font-size:16.5px;}
a{color:var(--link); text-decoration:none;} a:hover{text-decoration:underline;}
.container{max-width:1120px;margin:0 auto;padding:24px;}
.section{padding:64px 0;} .section.alt{background:#eef7ff;}
.section-title{font-size:28px;margin:0 0 16px 0;color:var(--text);} .muted{color:var(--muted);}

/* ===== HEADER & NAV ===== */
.site-header{position:sticky; top:0; z-index:10; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.menu{display:flex;gap:16px;align-items:center;}
.menu a{color:var(--link); font-weight:600;} .menu a:hover{text-decoration:underline;}
.site-header .brand{display:none !important;} .brand-sub{color:var(--text); font-weight:800;}

/* ===== HERO ===== */
.hero{
  background:
    radial-gradient(900px 520px at 15% -220px, rgba(0,207,232,.22), transparent 60%),
    radial-gradient(800px 500px at 95% -180px, rgba(13,212,166,.18), transparent 55%),
    linear-gradient(135deg, #0e2a52 0%, #0b1e3c 60%);
  color:#e9f6ff; border-bottom:1px solid var(--line);
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;}
.hero-copy h1{font-size:38px;line-height:1.2;margin:0 0 12px 0;color:#ffffff;}
.hero-copy .accent{background:linear-gradient(90deg, var(--brand1), var(--brand2)); -webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-copy p{color:#d8eff8;margin:0 0 18px 0;}
.bullets{margin:12px 0 0 18px} .bullets li{margin:6px 0}
.hero-visual{position:relative;aspect-ratio:4/3;overflow:hidden;transform-style:preserve-3d;perspective:800px;}
.plate{position:absolute;top:16px;left:16px;color:#002133;background:linear-gradient(90deg, var(--brand1), var(--brand2));padding:6px 10px;border-radius:10px;font-weight:800;letter-spacing:.6px;transform:translateZ(30px);}
.meter{position:absolute;bottom:20px;right:20px;width:110px;height:56px;border:1px solid var(--line);border-radius:12px;background:#e6fbff;display:flex;align-items:center;justify-content:center;transform:translateZ(40px)}
.led{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 30% 30%, #bff7ff, var(--brand1));}
.noise{position:absolute;inset:0;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" opacity=".06"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" seed="7"/></filter><rect width="100%" height="100%" filter="url(%23n)"/></svg>');}

/* ===== CARDS & GRIDS ===== */
.card{background:var(--panel); border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 30px rgba(11,30,60,.08); color:var(--text);}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.feature .icon{font-size:22px; color:var(--link);} .feature h3{margin:6px 0 6px 0; color:var(--text);} .feature p{color:var(--text);margin:0;}
.gallery .shot .thumb{height:180px;border-radius:12px;margin:0 0 10px 0;border:1px solid var(--line);background:linear-gradient(135deg, #0ed4a6 0%, #2ab3ff 100%);}

/* ===== FORMULARIO ===== */
.form{padding:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{display:flex;flex-direction:column;gap:6px}
label{font-weight:700;color:var(--text);}
input, textarea{background:#ffffff;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:10px 12px;font-size:15px;outline:none}
::placeholder{color:#6a8094;}
textarea{min-height:120px;resize:vertical}
input:focus, textarea:focus{border-color:#86e2ff; box-shadow:0 0 0 3px rgba(0,207,232,.22)}
.hp{display:none !important}
.form-actions{display:flex;align-items:center;gap:12px}
.status{font-size:14px} .status.ok{color:var(--ok)} .status.err{color:var(--err)}

/* ===== BOTONES ===== */
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:12px 16px;color:var(--link);text-decoration:none;cursor:pointer;background:#ffffff;position:relative;overflow:hidden;transform:translateZ(0)}
.btn:hover{filter:brightness(1.04)}
.btn-primary{color:#001728;background:linear-gradient(90deg, var(--brand1), var(--brand2));border-color:#9fe8ff}
.btn-outline{background:transparent}
.btn-anim::after{content:"";position:absolute;inset:auto auto 0 0;height:2px;width:0;background:linear-gradient(90deg,var(--brand1),var(--brand2));transition:width .35s ease;opacity:.9}
.btn-anim:hover::after{width:100%}
.btn-anim .ripple{position:absolute;border-radius:50%;transform:scale(0);opacity:.35;pointer-events:none;background:radial-gradient(circle at center, rgba(255,255,255,.75), transparent 60%);animation:ripple .6s ease-out forwards;}
@keyframes ripple{to{transform:scale(12);opacity:0}}

/* ===== REVEAL ===== */
.reveal{opacity:1;transform:none}
.js-enabled .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* ===== MODAL/TOAST CENTRADO ===== */
#toast-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.30);
  opacity:0; pointer-events:none; transition:opacity .25s ease; z-index: 10000;
}
#toast{
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%) scale(.96);
  z-index:10001; opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease;
  background:#ffffff; color:var(--text); border:1px solid var(--line);
  border-radius:16px; padding:18px 20px; width: min(92vw, 420px);
  box-shadow:0 20px 50px rgba(11,30,60,.22);
  font-weight:700; text-align:center;
}
#toast.show{ opacity:1; transform:translate(-50%,-50%) scale(1); pointer-events:auto; }
#toast-backdrop.show{ opacity:1; pointer-events:auto; }
.toast--ok{ border-color: rgba(20,184,166,.35); box-shadow:0 20px 50px rgba(20,184,166,.20); }
.toast--err{ border-color: rgba(225,29,72,.35);  box-shadow:0 20px 50px rgba(225,29,72,.20); }
#toast .small{ display:block; font-weight:500; color:var(--muted); margin-top:6px; }

/* ===== FOOTER ===== */
.site-footer{border-top:1px solid var(--line);padding:24px 0;background:#ffffff;color:var(--text);}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr;gap:12px;align-items:center}
.links{display:flex;gap:10px;flex-wrap:wrap} .links a{color:var(--link);}
.brand-footer{display:flex; align-items:center; gap:8px;}
.logo-footer-svg, .brand-footer img{width:340px; height:auto; display:block; max-width:100%;}
@media (max-width: 960px){
  .logo-footer-svg, .brand-footer img{ width:220px; }
}

/* ===== ACCESIBILIDAD ===== */
@media (prefers-reduced-motion: reduce){
  .btn, .reveal, .hero-visual{transition:none !important;animation:none !important}
}

/* ===== RESPONSIVE ===== */
@media (max-width: 960px){
  .hero-grid{display:flex;flex-direction:column;gap:16px;}
  .grid-3{display:flex;flex-direction:column;gap:16px;}
  .row{display:flex;flex-direction:column;gap:12px;}
  .footer-grid{display:flex;flex-direction:column;gap:12px;}
}
