:root{--blue:#1878B8;--light:#F7FAFC;--bg:#ffffff;--text:#0f172a;--muted:#64748b;--card:#ffffff;--border:#e5e7eb;--shadow:0 10px 25px rgba(0,0,0,.06)}
body.dark{--bg:#0b1220;--text:#e2e8f0;--muted:#94a3b8;--card:#0f172a;--border:#1f2937;--shadow:0 12px 30px rgba(0,0,0,.45)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--text);line-height:1.6;background:var(--bg)}
a{color:var(--blue);text-decoration:none}img{max-width:100%;height:auto;display:block}
.container{width:min(1170px,92%);margin:0 auto}
header{position:sticky;top:0;background:var(--card);border-bottom:1px solid var(--border);z-index:50}
.nav{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;position:relative}
.brand img{height:42px}.nav-toggle{display:none;background:none;border:0;font-size:1.6rem}
nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
nav a{color:var(--text);font-weight:600;padding:.5rem .75rem;border-radius:8px}
nav a:hover{background:#F1F5F9}
.btn{display:inline-block;background:var(--blue);color:#fff;padding:.85rem 1.1rem;border-radius:999px;font-weight:700;border:2px solid transparent}
.btn.outline{background:transparent;color:var(--blue);border-color:var(--blue)}
.hero{padding:3.2rem 0}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center}
.badge{background:#E6F3FB;color:#1878B8;padding:.25rem .6rem;border-radius:999px;font-weight:700}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.kpis>div{border:1px solid var(--border);border-radius:12px;padding:1rem;text-align:center;background:var(--card);box-shadow:var(--shadow)}
.kpis .n{font-weight:800;color:#1878B8;font-size:1.3rem}
.section{padding:3rem 0}.sub{color:var(--muted);margin-bottom:1rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{border:1px solid var(--border);border-radius:12px;padding:1.2rem;background:var(--card);box-shadow:var(--shadow)}
.card .thumb{aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#e5e7eb;margin-bottom:.6rem}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.price{border:2px solid var(--border);border-radius:12px;padding:1.2rem;background:var(--card)}
.price.featured{border-color:#1878B8;box-shadow:0 10px 25px rgba(0,0,0,.08)}
.price .tag{font-weight:900;color:#1878B8;margin-bottom:.4rem}
.price .amt{font-size:1.75rem;font-weight:900;margin:.25rem 0}
.price ul{padding-left:1.1rem;margin:.6rem 0}
.price li{margin:.35rem 0}
.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.insta-grid img{width:100%;height:180px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}
footer{background:#0b1726;color:#cbd5e1;padding:2.2rem 0;margin-top:2rem}
.copy{border-top:1px solid rgba(255,255,255,.1);margin-top:1rem;padding-top:1rem;font-size:.9rem;color:#94a3b8}
@media (max-width:800px){.nav ul{display:none;position:absolute;top:64px;right:4%;left:4%;flex-direction:column;background:var(--card);padding:1rem;border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.08)}.nav.open ul{display:flex}.nav-toggle{display:block}.brand img{height:36px}}
@media (max-width:980px){.hero-grid,.grid-3,.pricing{grid-template-columns:1fr}.insta-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.insta-grid{grid-template-columns:repeat(2,1fr)}.insta-grid img{height:140px}}.hero--aura{position:relative;overflow:hidden;padding:4.5rem 0 3.5rem;background:radial-gradient(1200px 600px at 10% -10%, #E6F3FB 0%, transparent 60%),radial-gradient(900px 500px at 110% 10%, #eef2ff 0%, transparent 60%),linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);border-bottom:1px solid var(--border)}
body.dark .hero--aura{background:radial-gradient(1200px 600px at 10% -10%, rgba(24,120,184,.22) 0%, transparent 60%),radial-gradient(900px 500px at 110% 10%, rgba(16,185,129,.18) 0%, transparent 60%),linear-gradient(180deg, #0b1220 0%, #0f172a 100%);border-bottom:1px solid #0f172a}
.hero--aura .mesh{position:absolute;inset:-2px;pointer-events:none;background-image:url('data:image/svg+xml,%3Csvg width=\'64\' height=\'64\' viewBox=\'0 0 32 32\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cg fill=\'none\' stroke=\'%23cbd5e1\' stroke-width=\'.4\' opacity=\'.35\'%3E%3Cpath d=\'M0 0H32V32\'/%3E%3Cpath d=\'M0 8H32M0 16H32M0 24H32M8 0V32M16 0V32M24 0V32\'/%3E%3C/g%3E%3C/svg%3E');background-size:28px 28px;mask-image:radial-gradient(60% 60% at 50% 30%, black 0%, transparent 100%)}
.aura{position:absolute;filter:blur(40px);opacity:.55;transform:translateZ(0);border-radius:50%;animation:float 16s ease-in-out infinite}.aura-1{width:520px;height:520px;top:-140px;left:-120px;background:radial-gradient(closest-side, rgba(24,120,184,.65), rgba(24,120,184,0))}.aura-2{width:520px;height:520px;bottom:-180px;right:-120px;animation-delay:-6s;background:radial-gradient(closest-side, rgba(16,185,129,.55), rgba(16,185,129,0))}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(12px,-8px)}}.glass{background:rgba(255,255,255,.65);backdrop-filter:saturate(140%) blur(10px);border:1px solid rgba(15,23,42,.06);box-shadow:0 20px 45px rgba(2,8,23,.08)}
.header-actions{display:flex;align-items:center;gap:.5rem}.theme-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.45rem .6rem;border-radius:999px;border:1px solid var(--border);background:var(--card);cursor:pointer;font-size:1rem;line-height:1;box-shadow:var(--shadow)}
/* Videos grid + fallback */
.tv-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:16px;align-items:start}
@media (max-width:980px){.tv-grid{grid-template-columns:repeat(2, minmax(0,1fr))}}
@media (max-width:640px){.tv-grid{grid-template-columns:1fr}}
.tv{position:relative;width:100%;border:10px solid #1e293b;border-bottom-width:16px;border-radius:18px;background:#0b1220;box-shadow:0 20px 45px rgba(0,0,0,.3);overflow:hidden}
.tv::before{content:'';display:block;padding-top:56.25%}.tv iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.tv-skeleton{position:relative;width:100%;border-radius:18px;border:10px solid #1e293b;border-bottom-width:16px;overflow:hidden;background:linear-gradient(90deg,#0f172a 25%,#111827 37%,#0f172a 63%);background-size:400% 100%;animation:pulse 1.4s ease-in-out infinite}
.tv-skeleton::before{content:'';display:block;padding-top:56.25%}
@supports (aspect-ratio:16/9){.tv{aspect-ratio:16/9}.tv::before{display:none}.tv-skeleton{aspect-ratio:16/9}.tv-skeleton::before{display:none}}
/* Form */
#contacto .form{display:grid;gap:1rem}#contacto .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:680px){#contacto .form-row{grid-template-columns:1fr}}
#contacto .field{position:relative}#contacto .field input,#contacto .field textarea{width:100%;border:1.8px solid var(--border);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(250,252,255,.9));color:var(--text);padding:1.1rem .9rem .9rem;outline:none;transition:border .2s,box-shadow .2s,background .2s;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 1px 1px rgba(2,8,23,.03)}
body.dark #contacto .field input,body.dark #contacto .field textarea{background:linear-gradient(180deg,rgba(15,23,42,.95),rgba(11,18,32,.9));border-color:#1f2937;color:#e2e8f0;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 1px 1px rgba(0,0,0,.35)}
#contacto .field input:focus,#contacto .field textarea:focus{border-color:#20a4df;box-shadow:0 0 0 4px rgba(32,164,223,.28), inset 0 1px 0 rgba(255,255,255,.6)}
#contacto .field label{position:absolute;left:.9rem;top:.9rem;color:var(--muted);background:transparent;padding:0 .35rem;border-radius:6px;transition:all .15s ease;pointer-events:none}
#contacto .field input:not(:placeholder-shown)+label,#contacto .field textarea:not(:placeholder-shown)+label,#contacto .field input:focus+label,#contacto .field textarea:focus+label{top:-.55rem;font-size:.78rem;background:var(--bg);color:#20a4df}
#contacto .hint{display:block;margin-top:.35rem;color:var(--muted);font-size:.82rem}#contacto .form-actions .btn{border-radius:999px;padding:.95rem 1.2rem;font-weight:800}