@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/jakarta-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/jakarta-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/jakarta-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/jakarta-800.woff2") format("woff2");font-weight:800;font-display:swap}
:root{--azul:#039BE5;--azul-d:#0288D1;--espuma:#E3F2FD;--oscuro:#1A237E;--deep:#0D1442;--ink:#16233B;--mut:#54657A;--line:#D8E6F3;--white:#fff;--amber:#FFB300;--radius:20px;--shadow:0 18px 45px rgba(26,35,126,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);line-height:1.65;background:#F7FBFF}
img{max-width:100%;height:auto;display:block}a{color:var(--azul-d)}:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin:auto;padding:0 20px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:99}
.topbar{background:var(--deep);color:#E3F2FD;font-size:.86rem}.topbar .wrap{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between;padding-top:8px;padding-bottom:8px}.topbar a{color:#fff;text-decoration:none;font-weight:700}
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:22px;padding:12px 0}.nav .logo img{width:230px;height:auto}.nav nav{margin-left:auto}.nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}.nav ul a{text-decoration:none;color:var(--ink);font-weight:700;padding:9px 12px;border-radius:999px}.nav ul a:hover,.nav ul a[aria-current]{background:var(--espuma);color:var(--oscuro)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--azul);color:#fff!important;text-decoration:none;font-weight:800;padding:13px 20px;border-radius:999px;border:2px solid var(--azul);cursor:pointer;transition:.2s}.btn:hover{background:var(--oscuro);border-color:var(--oscuro);transform:translateY(-1px)}.btn.ghost{background:#fff;color:var(--oscuro)!important}.btn.ghost:hover{background:var(--espuma)}.btn.wa{background:#128C4A;border-color:#128C4A}.btn.small{padding:9px 15px;font-size:.92rem}
.burger{display:none;margin-left:auto;background:var(--espuma);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}
.hero{background:linear-gradient(120deg,var(--deep) 0%,var(--oscuro) 52%,#1565C0 100%);color:#fff;overflow:hidden}.hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:36px;align-items:center;padding-top:52px;padding-bottom:52px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:800;color:#81D4FA}.hero h1{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.05;margin:.35em 0}.hero h1 em{font-style:normal;color:#81D4FA}.hero p.lead{font-size:1.12rem;color:#E3F2FD;max-width:34rem}.hero-img{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(1.2deg)}.hero-img img{aspect-ratio:4/3;object-fit:cover;width:100%}.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.badge{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);padding:8px 12px;border-radius:999px;font-size:.88rem;font-weight:700}
section{padding:64px 0}.section-head{max-width:720px;margin-bottom:28px}.section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15;color:var(--oscuro);margin:.2em 0}.kicker{color:var(--azul-d);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 8px 28px rgba(26,35,126,.06)}.card h3{color:var(--oscuro);margin-top:0}.price{font-size:1.7rem;font-weight:800;color:var(--azul-d)}.price small{font-size:.85rem;color:var(--mut)}
.service-card{overflow:hidden;padding:0}.service-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.service-card .pad{padding:22px}
.editorial{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}.editorial img{border-radius:26px;aspect-ratio:4/3;object-fit:cover;width:100%}
table.precios{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}table.precios th,table.precios td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left}table.precios th{background:var(--oscuro);color:#fff}table.precios td:last-child{font-weight:800;color:var(--oscuro);white-space:nowrap}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{background:var(--espuma);border-radius:18px;padding:20px}.step b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--azul);color:#fff;margin-bottom:10px}
form .field{margin-bottom:16px}label{font-weight:700;display:block;margin-bottom:6px}input,select,textarea{width:100%;padding:13px 14px;border:1.5px solid #B9CFE6;border-radius:12px;font:inherit;background:#fff}input:focus,select:focus,textarea:focus{border-color:var(--azul);outline:2px solid #B3E5FC}.error{color:#B3261E;font-size:.9rem}.note{font-size:.9rem;color:var(--mut)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery button{padding:0;border:0;border-radius:18px;overflow:hidden;cursor:pointer;background:none}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:.3s}.gallery button:hover img{transform:scale(1.04)}
dialog{border:0;border-radius:20px;max-width:min(920px,92vw);padding:12px}dialog::backdrop{background:rgba(13,20,66,.7)}
footer{background:var(--deep);color:#DCEBFA;padding:52px 0 28px}footer a{color:#fff}footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px}footer .logo img{width:240px;background:#fff;border-radius:12px;padding:6px}
.float-wa{position:fixed;right:18px;bottom:92px;z-index:60;background:#128C4A;color:#fff;text-decoration:none;font-weight:800;padding:13px 16px;border-radius:999px;box-shadow:var(--shadow)}
/* Chatbot */
.chat-fab{position:fixed;right:18px;bottom:18px;z-index:70;background:var(--oscuro);color:#fff;border:0;border-radius:999px;padding:14px 18px;font-weight:800;cursor:pointer;box-shadow:var(--shadow)}
.chat-panel{position:fixed;right:18px;bottom:76px;z-index:71;width:min(380px,calc(100vw - 24px));height:min(560px,calc(100dvh - 100px));background:#fff;border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.28);display:none;flex-direction:column;overflow:hidden;border:1px solid var(--line)}.chat-panel.open{display:flex}.chat-head{background:var(--oscuro);color:#fff;padding:16px;display:flex;gap:10px;align-items:center}.chat-head img{width:40px;height:40px;background:#fff;border-radius:50%}.chat-body{flex:1;overflow:auto;padding:16px;background:#F2F8FF}.msg{max-width:88%;padding:11px 13px;border-radius:16px;margin:0 0 10px;line-height:1.45}.msg.bot{background:#fff;border:1px solid var(--line)}.msg.user{background:var(--azul);color:#fff;margin-left:auto}.quick{display:flex;gap:8px;flex-wrap:wrap;padding:10px;background:#fff;border-top:1px solid var(--line)}.quick button{border:1px solid var(--line);background:var(--espuma);border-radius:999px;padding:8px 11px;cursor:pointer;font-weight:700}.chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}.chat-form input{flex:1}
/* Cookies */
.cookies{position:fixed;left:14px;right:14px;bottom:14px;z-index:80;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:18px;display:none;max-width:760px}.cookies.show{display:block}.cookies .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.calc{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow)}.total{font-size:2rem;font-weight:800;color:var(--oscuro)}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:12px}.faq summary{font-weight:800;color:var(--oscuro);cursor:pointer}
.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.toolbar input,.toolbar select{max-width:320px}
@media(max-width:900px){.hero .wrap,.editorial,.grid2{grid-template-columns:1fr}.grid3,.gallery{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}footer .cols{grid-template-columns:1fr 1fr}.nav nav{display:none;width:100%}.nav{flex-wrap:wrap}.nav nav.open{display:block}.nav ul{flex-direction:column}.burger{display:block}.nav .logo img{width:190px}.float-wa{bottom:84px}}
@media(max-width:560px){.grid3,.gallery,.steps,footer .cols{grid-template-columns:1fr}section{padding:44px 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== Capa profesional ===== */
.open-pill{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:800;padding:7px 12px;border-radius:999px;background:#E8F5E9;color:#1B5E20;border:1px solid #A5D6A7;white-space:nowrap}
.open-pill::before{content:"";width:9px;height:9px;border-radius:50%;background:#2E7D32;box-shadow:0 0 0 4px rgba(46,125,50,.18)}
.open-pill.cerrado{background:#FFF3E0;color:#7A3B00;border-color:#FFCC80}.open-pill.cerrado::before{background:#EF6C00;box-shadow:0 0 0 4px rgba(239,108,0,.16)}
.card,.service-card{transition:transform .22s ease,box-shadow .22s ease}.card:hover,.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(26,35,126,.14)}
.hero{position:relative}.hero::after{content:"";position:absolute;inset:auto -60px -90px auto;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(129,212,250,.5),rgba(129,212,250,0) 65%);pointer-events:none}
.breadcrumb{font-size:.88rem;padding:18px 0 0;color:var(--mut)}.breadcrumb a{font-weight:700;text-decoration:none}.breadcrumb [aria-current]{color:var(--ink);font-weight:700}
.compare{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(26,35,126,.06)}
.compare th,.compare td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.compare thead th{background:var(--oscuro);color:#fff}.compare tbody th{color:var(--oscuro);background:#F2F8FF}
.quiz{background:linear-gradient(135deg,#fff,#E3F2FD);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow)}
.quiz-result{background:#fff;border:2px dashed var(--azul);border-radius:16px;padding:18px;margin-top:16px}
.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 22px;list-style:none;padding:0}.checklist li{padding-left:30px;position:relative}.checklist li::before{content:"✓";position:absolute;left:0;top:0;width:21px;height:21px;border-radius:50%;background:var(--azul);color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:800}
.to-top{position:fixed;left:16px;bottom:18px;z-index:55;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--oscuro);font-weight:800;cursor:pointer;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s}.to-top.show{opacity:1;pointer-events:auto}
.mobile-bar{display:none}
.readtime{color:var(--mut);font-size:.88rem;font-weight:700}
@media(max-width:900px){
 .mobile-bar{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:65;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);padding:7px;gap:7px}
 .mobile-bar a{flex:1;text-align:center;text-decoration:none;font-weight:800;border-radius:999px;padding:11px 6px;background:var(--espuma);color:var(--oscuro);font-size:.9rem}
 .mobile-bar a.call{background:var(--azul);color:#fff}.mobile-bar a.wa2{background:#128C4A;color:#fff}
 .chat-fab{bottom:74px}.float-wa{display:none}.checklist{grid-template-columns:1fr}
 body{padding-bottom:64px}
}
@media print{header.site,.topbar,footer,.float-wa,.chat-fab,.chat-panel,.cookies,.mobile-bar,.to-top,.hero .btn{display:none!important}body{background:#fff}section{padding:18px 0}}
