:root{--blue:#0a47a3;--blue-deep:#062e6b;--text:#0f172a}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f2f6ff;color:var(--text)}

/* Header */
header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.1) blur(6px);border-bottom:1px solid #e6ecf7;z-index:10}
.header-wrap{max-width:1200px;margin:0 auto;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 18px}
.brand{display:flex;align-items:center;gap:12px}
.brand img.logo{height:48px;width:48px;border-radius:8px;object-fit:cover;background:#fff}
.brand .title{font-weight:800;font-size:18px;letter-spacing:.3px}
.actions{display:flex;gap:10px;align-items:center}
.icon-btn{display:flex;gap:8px;align-items:center;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid #d7e3f7;text-decoration:none;color:#0b1a37}
.icon-btn img{height:20px;width:20px}

/* Hero */
.hero{position:relative;min-height:60vh;display:grid;place-items:center;text-align:center;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  linear-gradient(rgba(12,23,48,.35),rgba(255,255,255,.15)),
  url('../img/bg_hero.jpg') center/cover no-repeat}
.hero-content{position:relative;z-index:1;max-width:1000px;padding:24px}
.kicker{color:var(--blue);font-weight:800;margin-bottom:8px}
h1{margin:0;font-size:56px;line-height:1.05;color:#0b1226;text-shadow:0 2px 14px rgba(10,71,163,.18);opacity:0;transform:translateY(20px);transition:all .8s ease}
h1.visible{opacity:1;transform:translateY(0)}
.subtitle{margin:14px auto 24px;max-width:760px;font-size:20px;color:#0b1a37;opacity:0;transform:translateY(20px);transition:all .9s ease .08s}
.subtitle.visible{opacity:1;transform:translateY(0)}
.cta{display:inline-flex;gap:10px;align-items:center;padding:12px 18px;border-radius:12px;background:var(--blue);color:#fff;text-decoration:none;font-weight:800;border:1px solid #0a45a0;box-shadow:0 10px 24px rgba(10,69,160,.25)}

/* Secciones */
.section{padding:70px 18px}.container{max-width:1200px;margin:0 auto}
.section h2{font-size:30px;margin:0 0 14px}.lead{color:#334155;margin:0 0 24px}

/* Carrusel de servicios */
.srv-carousel{position:relative;overflow:hidden}
.srv-track{display:flex;gap:18px;transition:transform .5s ease}
.srv-card{min-width:340px;max-width:340px;background:#fff;border:1px solid #e5eefb;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(10,69,160,.10);opacity:0;transform:translateY(22px);transition:transform .18s ease, box-shadow .2s ease, opacity .4s ease}
.srv-card.visible{opacity:1;transform:translateY(0)}
.srv-card img{width:100%;height:180px;object-fit:cover}
.srv-card .p{padding:14px}
.srv-nav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.srv-nav button{pointer-events:all;background:rgba(255,255,255,.9);border:1px solid #d7e3f7;border-radius:12px;padding:10px 12px;cursor:pointer}

/* Antes/Después */
.before-after{background:#0e2a5f; color:#e6f0ff}
.before-after .lead{color:#c9defe}
.ba-carousel{position:relative}
.ba-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;pointer-events:all;background:rgba(255,255,255,.9);border:1px solid #d7e3f7;border-radius:12px;padding:10px 12px;cursor:pointer}
#ba-prev{left:-8px} #ba-next{right:-8px}
.ba-track{display:flex;gap:18px;overflow:hidden;scroll-behavior:smooth}
.ba-card{min-width:360px;max-width:360px;background:#0f1f46;border:1px solid #284d90;border-radius:16px;padding:12px;box-shadow:0 10px 26px rgba(10,69,160,.22)}
.ba-wrap{position:relative;width:100%;height:220px;border-radius:12px;overflow:hidden;background:#0b1633}
.ba-wrap img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.ba-wrap .ba-after{clip-path:inset(0 50% 0 0)}
.ba-slider{position:absolute;left:0;right:0;bottom:10px;margin:auto;width:80%;-webkit-appearance:none;background:rgba(255,255,255,.85);height:4px;border-radius:999px;outline:none}
.ba-slider::-webkit-slider-thumb{ -webkit-appearance:none; width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #0a47a3;cursor:pointer }
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:rgba(255,255,255,.9)}
.ba-caption{font-size:14px;color:#cfe0ff;margin-top:8px}

/* Videos */
.videos{background:#0d2555;color:#e8f2ff}
.videos .lead{color:#caddff}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.video-item{background:#0f1f46;border:1px solid #284d90;border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:0 10px 26px rgba(10,69,160,.20)}
.video-item img{width:100%;height:180px;object-fit:cover}
.video-item span{display:block;padding:10px 12px;color:#dbeafe}

/* Lightbox */
.video-lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:1005}
.vlb-backdrop{position:absolute;inset:0;background:rgba(5,10,20,.75)}
.vlb-content{position:relative;background:#000;border-radius:12px;max-width:960px;width:92%;aspect-ratio:16/9;overflow:hidden}
.vlb-close{position:absolute;top:8px;right:8px;background:#fff;border:0;border-radius:8px;padding:6px 10px;cursor:pointer;z-index:2}
#vlb-player{position:absolute;inset:0}

/* Footer y chatbot */
.footer{background:#0a2c66;color:#dbeafe;padding:28px 18px;text-align:center}
.chat-fab{position:fixed;right:22px;bottom:22px;background:linear-gradient(135deg,#0a47a3,#2aa8ff);color:#fff;border:none;border-radius:28px;padding:12px 16px;display:flex;gap:8px;align-items:center;box-shadow:0 12px 28px rgba(10,71,163,.35);cursor:pointer;z-index:1001}
.chat-modal{position:fixed;right:22px;bottom:70px;width:320px;background:#ffffff;border:1px solid #e5eefb;border-radius:14px;box-shadow:0 18px 44px rgba(10,69,160,.22);display:none;flex-direction:column;overflow:hidden;z-index:1002}
.chat-header{background:#0a47a3;color:#fff;padding:10px 12px;font-weight:700}
.chat-body{padding:12px;height:280px;overflow:auto;background:#f8fbff}
.chat-msg{background:#ffffff;border:1px solid #e5eefb;border-radius:10px;padding:10px 12px;margin:8px 0;box-shadow:0 4px 12px rgba(10,69,160,.08)}
.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.quick button{background:#fff;border:1px solid #d7e3f7;border-radius:999px;padding:6px 10px;cursor:pointer}
.chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid #e5eefb;background:#fff}
.chat-input input{flex:1;padding:8px 10px;border:1px solid #cfe3fb;border-radius:8px}
.chat-input button{padding:8px 12px;border-radius:8px;border:1px solid #0a45a0;background:#0a47a3;color:#fff;cursor:pointer}

/* Responsive */
@media (max-width: 700px){
  h1{font-size:38px}.subtitle{font-size:18px}
  .srv-card{min-width:86%;max-width:86%}
  .video-grid{grid-template-columns:1fr}
}
/* === ASISTENTE LEZ ANIMADO === */
.lez-assistant {
  position: fixed;
  bottom: 80px;
  right: 30px;
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.8s ease;
}

.lez-assistant.show {
  opacity: 1;
  transform: scale(1);
}

.lez-assistant img {
  width: 80px;
  height: auto;
  animation: floatRobot 3s ease-in-out infinite;
}

@keyframes floatRobot {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* Efecto de brillo */
.assistant-glow {
  position: absolute;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: radial-gradient(rgba(52, 152, 219, 0.4), transparent 70%);
  animation: glowPulse 2.5s ease-in-out infinite;
}

@keyframes glowPulse {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.2); }
}

/* Adaptación móvil */
@media (max-width: 768px) {
  .lez-assistant { width: 90px; height: 90px; bottom: 70px; right: 20px; }
  .lez-assistant img { width: 60px; }
  .assistant-glow { width: 70px; height: 70px; }
}
