/* =========================================================
   Grupo Certilift — estilos compartidos de todo el sitio
   ========================================================= */
:root{
  /* Paleta oficial (Manual de marca 2025) */
  --azul:#003e8b;        /* azul corporativo */
  --azul-fuerte:#003e8b;
  --amarillo:#ffbc01;    /* acento */
  --gris-marca:#bcbec0;  /* secundario */
  --texto:#003e8b;
  --negro:#0b0b1e;
  --celeste:#a9bcd9;     /* tarjetas de servicios */
  --lila:#efedfb;        /* fondo contacto */
  --verde:#7ed321;       /* botón WhatsApp */
  --gris:#222;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Darker Grotesque',system-ui,sans-serif;font-size-adjust:.5;color:var(--texto);background:#fff}
img{max-width:100%;display:block}
a{color:inherit}
.contenedor{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ---------- Encabezado ---------- */
header{background:var(--azul);color:#fff;position:sticky;top:0;z-index:20}
.head{max-width:var(--max);margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.marca{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fbe9e3}
.marca img{height:64px;width:auto}
.marca .nombre{display:none}
.sin-logo .nombre{display:inline}
.marca .logo-alt{display:none;}
.sin-logo .logo-alt{display:flex}
.marca .logo-alt{width:68px;height:68px;border:5px solid #fbe9e3;border-radius:50%;align-items:center;justify-content:center;font-weight:700;font-size:34px}
.marca .nombre{font-weight:700;font-size:clamp(26px,3.6vw,46px);letter-spacing:-.5px;white-space:nowrap}
.derecha{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.tels{font-weight:700;font-size:18px;white-space:nowrap}
.tels a{text-decoration:none}
nav>ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(18px,4vw,64px)}
nav a{text-decoration:none;font-weight:700;font-size:17px;letter-spacing:.3px}
nav a:hover,nav a.actual{color:var(--amarillo)}
nav li{position:relative}
.sub{list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;left:-16px;min-width:250px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.18);display:none;z-index:30}
.sub a{display:block;padding:10px 18px;color:var(--azul-fuerte);font-size:15px;letter-spacing:0}
.sub a:hover{background:#eef2fa;color:var(--azul-fuerte)}
nav li.desplegable:hover .sub,nav li.desplegable:focus-within .sub{display:block}
nav li.desplegable>a::after{content:" ▾";font-size:.8em}
.menu-btn{display:none;background:none;border:2px solid #fff;color:#fff;border-radius:6px;font:inherit;font-weight:700;padding:6px 12px;cursor:pointer}

/* ---------- Botones y títulos ---------- */
.btn{display:inline-block;background:var(--azul-fuerte);color:#fff;text-decoration:none;font-weight:700;letter-spacing:.8px;padding:12px 34px;font-size:15px;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:#00306f}
.titulo{font-weight:700;color:var(--azul-fuerte);text-align:center;margin:0 0 24px;font-size:clamp(26px,3vw,38px)}

/* ---------- Hero (inicio) ---------- */
.hero{display:grid;grid-template-columns:1.6fr 1fr;min-height:600px}
.hero-texto{display:flex;align-items:center;justify-content:flex-end;padding:48px clamp(24px,4vw,64px)}
.hero h1{margin:0;text-align:right;font-weight:800;font-size:clamp(40px,6.2vw,92px);line-height:1.08;letter-spacing:-1.5px;color:var(--azul-fuerte)}
.grad{background:linear-gradient(90deg,#1e5a6e 0%,#5d9a3a 45%,#f2ea12 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad2{background:linear-gradient(90deg,#003d8f 0%,#3f7f5a 60%,#9fbf2a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.slides{position:relative;overflow:hidden;background:#2a3b55}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.slides img.activa{opacity:1}

.bienvenida{max-width:900px;margin:0 auto;padding:56px 24px 64px;text-align:center}
.bienvenida h2{margin:0 0 28px;font-size:clamp(32px,4.4vw,58px);font-weight:700;color:var(--azul-fuerte);letter-spacing:-.5px}
.bienvenida p{margin:0 0 6px;font-size:16px;line-height:1.85;font-weight:600;text-align:justify;text-align-last:center}
.bienvenida p.cierre{text-align:center;margin-top:4px}
.bienvenida .btn{margin-top:32px}

.linea{height:5px;background:var(--azul-fuerte)}
.valores{max-width:var(--max);margin:0 auto;padding:44px 24px;display:flex;align-items:center;gap:clamp(24px,4vw,48px);flex-wrap:wrap}
.valores h2{flex:0 0 auto;margin:0;font-size:clamp(30px,3.2vw,42px);line-height:1.2;font-weight:700;color:var(--azul-fuerte)}
.valores ul{flex:1 1 0;min-width:260px;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px clamp(20px,3vw,40px)}
.valores li{font-weight:700;font-size:clamp(17px,1.8vw,24px);color:var(--gris);letter-spacing:.3px}
.galeria{display:grid;grid-template-columns:repeat(6,1fr)}
.galeria div{aspect-ratio:1/1;background:#33445e center/cover no-repeat}

/* ---------- Contacto ---------- */
.contacto{background:var(--lila)}
.contacto.blanco{background:#fff}
.contacto .caja{max-width:var(--max);margin:0 auto;padding:64px 24px 72px;display:grid;grid-template-columns:1fr 1fr;gap:56px}
.contacto h2{margin:0 0 32px;font-size:clamp(32px,3.6vw,44px);line-height:1.35;font-weight:700;color:var(--azul-fuerte)}
.contacto .info p{margin:0 0 10px;font-weight:600;font-size:17px;line-height:1.9}
.contacto .info .dato{margin-top:28px;font-size:15px}
.contacto .info a{text-decoration:none}
.form-linea{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px;align-content:start}
.form-linea .full{grid-column:1/-1}
.form-linea label{display:block;font-weight:700;font-size:15px;color:var(--negro);margin-bottom:4px}
label b{color:#c00;font-weight:700}
.form-linea input,.form-linea textarea{width:100%;border:0;border-bottom:1px solid var(--negro);background:transparent;font:inherit;font-size:15px;padding:8px 2px;color:var(--negro)}
.form-linea textarea{min-height:130px;resize:vertical}
.form-linea input:focus,.form-linea textarea:focus{outline:none;border-bottom:2px solid var(--azul-fuerte)}
.form-linea button{grid-column:1/-1;background:var(--negro);color:#fff;border:0;font:inherit;font-weight:700;font-size:15px;padding:16px;cursor:pointer}
.form-linea button:hover{background:#25254a}
.mapa iframe{display:block;width:100%;height:380px;border:0}

/* ---------- Pie ---------- */
footer{background:var(--azul);color:#fff;padding:28px 0;font-size:14px}
footer .contenedor{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
footer a{text-decoration:none;font-weight:700}
footer .legal{line-height:1.7}
footer .legal a{text-decoration:underline}
.redes{display:flex;gap:14px}
.redes a{display:flex;width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);align-items:center;justify-content:center}
.redes a:hover{background:rgba(255,255,255,.15)}
.redes svg{width:16px;height:16px;fill:#fff}

/* ---------- WhatsApp ---------- */
.wa{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;align-items:center;gap:16px;background:var(--verde);color:var(--negro);text-decoration:none;font-weight:700;font-size:15px;padding:10px 14px 10px 32px;border-radius:40px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.wa svg{width:36px;height:36px}

/* ---------- Servicios ---------- */
.banda-azul{background:var(--azul);color:#fff;padding:48px 0 72px}
.banda-azul h1{text-align:center;font-weight:700;font-size:clamp(30px,3.6vw,44px);margin:0 0 40px}
.banda-azul h2{text-align:center;font-weight:600;font-size:clamp(22px,2.6vw,32px);margin:0 0 26px}
.tarjetas{max-width:760px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}
.tarjeta{display:grid;grid-template-columns:1fr 1fr;background:var(--celeste);min-height:160px}
.tarjeta .foto{background:#2a3b55 center/cover no-repeat}
.tarjeta span{display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;color:var(--gris);font-weight:700;font-size:17px;line-height:1.35}

.entrenamiento{padding:48px 0 56px}
.entrenamiento .marco{max-width:760px;margin:0 auto;border-top:1px solid var(--negro);border-bottom:1px solid var(--negro)}
.pestanas{display:flex;flex-wrap:wrap;justify-content:center;gap:0 4px}
.pestanas button{flex:0 1 auto;background:none;border:0;border-bottom:2px solid transparent;padding:16px 10px;font:inherit;font-size:14px;font-weight:700;color:var(--negro);cursor:pointer;white-space:nowrap}
.pestanas button[aria-selected="true"]{border-bottom-color:var(--negro)}
.programa{display:none;grid-template-columns:180px 1fr;gap:24px;padding:22px 20px 30px}
.programa.activo{display:grid}
.programa .foto{width:180px;height:180px;background:#2a3b55 center/cover no-repeat}
.programa h3{margin:0 0 14px;font-size:22px;line-height:1.25;color:var(--azul-fuerte)}
.programa p{margin:0 0 16px;font-size:14px;line-height:1.65;color:var(--negro);text-align:justify;font-weight:600}
.programa a{font-size:14px;color:var(--negro);font-weight:700}

.supervisor{overflow:hidden;position:relative;min-height:440px;background:#3c4a5c center/cover no-repeat;display:flex;align-items:center;justify-content:flex-end}
.supervisor .fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.supervisor::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,0) 30%,rgba(0,40,90,.6) 100%)}
.supervisor .texto{position:relative;z-index:2;max-width:480px;margin-right:clamp(24px,14vw,220px);text-align:right;color:#fff;padding:40px 0}
.supervisor h2{margin:0 0 14px;font-weight:800;font-size:clamp(34px,4.4vw,56px);line-height:1;letter-spacing:1px}
.supervisor p{margin:0;font-size:15px;line-height:1.75}

/* ---------- Consulta de documentos ---------- */
.portada{position:relative;min-height:240px;background:#5a4a40 center/cover no-repeat;display:flex;align-items:center;justify-content:center;padding:44px 16px}
.portada h1{margin:0;background:rgba(255,255,255,.82);color:#222;font-weight:700;text-align:center;line-height:1.05;font-size:clamp(30px,4.6vw,50px);padding:18px 60px}
.consulta{max-width:720px;margin:0 auto;padding:32px 24px 0}
.consulta .indica{font-size:15px;font-weight:700;color:var(--negro);text-align:center;margin:0 0 22px}
.buscador{display:flex;flex-direction:column;align-items:center;gap:12px}
.buscador label{font-size:13px;color:var(--negro);width:260px}
.buscador input{width:260px;height:44px;border:1px solid var(--negro);font:inherit;font-size:15px;padding:0 10px;text-transform:uppercase}
.buscador input::placeholder{text-transform:none}
.msg{min-height:24px;text-align:center;font-size:15px;font-weight:700;margin:14px 0 6px}
.msg.error{color:#b3261e}
.msg.ok{color:#1e7b34}
.resultado{max-width:560px;margin:0 auto;border:1px solid #ccc;padding:22px 40px 36px;display:grid;grid-template-columns:1fr 1fr;gap:12px 32px}
.resultado label{font-size:12px;color:var(--negro);text-transform:uppercase;display:block;margin-bottom:3px}
.resultado output{display:block;min-height:26px;border:1px solid var(--negro);font-size:14px;padding:3px 8px;color:var(--negro)}
.estado-vigente{background:#e5f5e8;font-weight:700}
.estado-vencido{background:#fde8e6;font-weight:700}
.porque{padding:64px 0 72px}
.porque h2{text-align:center;font-weight:700;font-size:clamp(28px,3.2vw,38px);margin:0 0 34px;color:var(--azul-fuerte)}
.razones{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.razones h3{margin:0 0 16px;font-size:18px;font-weight:700;text-align:center;line-height:1.4}
.razones p{margin:0;font-size:14px;line-height:1.65;color:var(--negro);font-weight:600;text-align:center}

/* ---------- Quejas ---------- */
.quejas{max-width:860px;margin:0 auto;padding:36px 24px 0}
.quejas h1{font-size:clamp(26px,3vw,34px)}
.quejas .intro{font-size:14px;font-weight:600;color:var(--negro);text-align:center;margin:0 0 26px}
.tipos{display:grid;gap:26px;border:12px dashed #fbf3d6;padding:28px 40px}
.tipo{display:grid;grid-template-columns:90px 1fr;gap:24px;align-items:center}
.tipo:nth-child(even){grid-template-columns:1fr 90px}
.tipo:nth-child(even) .icono{order:2}
.tipo:nth-child(even) h3{text-align:right}
.tipo .icono{width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef2fa}
.tipo .icono svg{width:46px;height:46px;fill:none;stroke:var(--azul-fuerte);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tipo h3{margin:0;font-size:clamp(30px,3.6vw,42px);font-weight:600;color:var(--azul-fuerte)}
.tipo p{margin:4px 0 0;font-size:15px;line-height:1.7;color:#2b3f6a}
.form-caja{max-width:640px;margin:0 auto;padding:0 24px 20px}
.form-caja form{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}
.form-caja .full{grid-column:1/-1}
.form-caja label{display:block;font-size:13px;font-weight:700;color:var(--negro);margin-bottom:4px}
.form-caja input,.form-caja select,.form-caja textarea{width:100%;border:1px solid #444;border-radius:3px;font:inherit;font-size:14px;padding:6px 10px;height:40px;background:#fff;color:var(--negro)}
.form-caja select{width:60%}
.form-caja textarea{height:110px;resize:vertical}
.form-caja input[type=file]{border:0;height:auto;padding:0;font-size:13px}
.form-caja .boton{grid-column:1/-1;background:var(--azul-fuerte);color:#fff;border:0;border-radius:24px;font:inherit;font-size:15px;font-weight:700;padding:11px;cursor:pointer}
.form-caja .boton:hover{background:#00306f}
.form-caja .nota{font-size:12px;color:#555;margin:4px 0 0}
.proceso{padding:48px 0 76px}
.proceso h2{text-align:center;font-weight:700;font-size:clamp(18px,2vw,22px);color:var(--negro);margin:0 0 34px}
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:900px;margin:0 auto}
.paso{text-align:center}
.paso .pildora{display:flex;align-items:center;justify-content:center;height:60px;border-radius:30px;color:#fff;font-weight:700;font-size:16px;letter-spacing:.4px}
.paso:nth-child(1) .pildora{background:#1f3a7a}
.paso:nth-child(2) .pildora{background:#1c6a8e}
.paso:nth-child(3) .pildora{background:#1a9a8c}
.paso:nth-child(4) .pildora{background:linear-gradient(90deg,#2ab58a,#a6cf48)}
.paso p{margin:12px 0 0;font-size:14px;color:#333;line-height:1.5}

/* ---------- Blog ---------- */
.blog{max-width:940px;margin:0 auto;padding:28px 24px 72px}
.blog .migas{font-size:13px;color:var(--azul-fuerte);margin:0 0 30px}
.blog h1{font-size:30px;font-weight:700;color:var(--negro);margin:0 0 34px}
.entrada{display:grid;grid-template-columns:1fr 1fr;border:1px solid #333;margin-bottom:28px;text-decoration:none;color:var(--negro);background:#fff}
.entrada:hover h2{text-decoration:underline}
.entrada .foto{min-height:340px;background:#8b97a8 center/cover no-repeat}
.entrada .cuerpo{padding:30px 34px 22px;display:flex;flex-direction:column}
.entrada .meta{font-size:12px;font-weight:700;margin:0 0 18px;color:#555}
.entrada h2{margin:0 0 16px;font-size:24px;font-weight:700;line-height:1.35}
.entrada p{margin:0;font-size:15px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.entrada .leer{margin-top:auto;padding-top:18px;border-top:1px solid #ccc;font-size:13px;font-weight:700;color:var(--azul-fuerte)}

/* ---------- Móvil ---------- */
@media (max-width:900px){
  .head{flex-wrap:wrap}
  .menu-btn{display:inline-block}
  nav>ul{display:none;flex-direction:column;gap:14px;padding:12px 0}
  nav.abierto>ul{display:flex}
  .sub{position:static;display:block;background:none;box-shadow:none;padding:6px 0 0 14px;min-width:0}
  .sub a{color:#fff;padding:6px 0;font-size:14px}
  .sub a:hover{background:none;color:var(--amarillo)}
  nav li.desplegable>a::after{content:""}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-texto{justify-content:center;padding:44px 20px}
  .hero h1{text-align:center}
  .slides{height:420px}
  .galeria{grid-template-columns:repeat(3,1fr)}
  .contacto .caja{grid-template-columns:1fr;gap:36px}
  .razones{grid-template-columns:1fr 1fr}
  .supervisor{justify-content:center}
  .supervisor::before{background:rgba(0,40,90,.55)}
  .supervisor .texto{margin:0 24px;text-align:center}
  .supervisor p{font-size:14px}
}
@media (max-width:560px){
  .marca img{height:40px}
  .marca .nombre{font-size:24px}
  .tels{font-size:14px}
  .form-linea{grid-template-columns:1fr}
  .wa{padding:8px 10px 8px 20px;font-size:14px}
  .tarjetas{grid-template-columns:1fr}
  .programa{grid-template-columns:1fr}
  .resultado{grid-template-columns:1fr;padding:16px 20px 24px}
  .razones{grid-template-columns:1fr}
  .form-caja form{grid-template-columns:1fr}
  .form-caja select{width:100%}
  .tipos{padding:20px 18px}
  .tipo,.tipo:nth-child(even){grid-template-columns:60px 1fr}
  .tipo:nth-child(even) .icono{order:0}
  .tipo:nth-child(even) h3{text-align:left}
  .tipo .icono{width:60px;height:60px}
  .tipo .icono svg{width:32px;height:32px}
  .pasos{grid-template-columns:1fr 1fr}
  .entrada{grid-template-columns:1fr}
  .entrada .foto{min-height:220px}
  .entrada .cuerpo{padding:20px}
  .entrada h2{font-size:20px}
}

/* ---------- Utilidades ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ilustracion{margin:0 auto;max-width:640px}
.ilustracion img{width:100%;height:auto}
.proceso img{width:100%;max-width:1100px;height:auto;margin:0 auto}
.proceso{padding:24px 0 56px}

@media (prefers-reduced-motion:reduce){.supervisor .fondo{display:none}.supervisor{background:url('img/supervisor-izaje.jpg') center/cover}}

/* ---------- Artículos del blog ---------- */
a.entrada{cursor:pointer}
.entrada:hover{box-shadow:0 6px 20px rgba(0,30,80,.12)}
.articulo{max-width:760px;margin:0 auto;padding:30px 24px 70px;color:var(--negro)}
.articulo .migas{font-size:14px;margin:0 0 26px;color:#555}
.articulo .migas a{color:var(--azul-fuerte);font-weight:700;text-decoration:none}
.articulo h1{font-size:clamp(32px,4.4vw,46px);line-height:1.1;color:var(--azul-fuerte);margin:0 0 12px;font-weight:800}
.articulo .meta{font-size:15px;color:#666;margin:0 0 28px;padding-bottom:20px;border-bottom:1px solid #ccc}
.portada-art{margin:0 0 28px}
.portada-art img{width:100%;height:auto}
.texto-art{font-size:20px;line-height:1.6}
.texto-art p{margin:0 0 18px;text-align:justify}
.texto-art .bajada{font-size:22px;font-weight:700;color:#333;text-align:left}
.texto-art h2{font-size:clamp(24px,2.8vw,30px);color:var(--azul-fuerte);margin:36px 0 12px;line-height:1.2;font-weight:800}
.texto-art ol{padding-left:24px;margin:0 0 18px}
.texto-art li{margin-bottom:10px}
.texto-art figure{margin:26px 0}
.texto-art figure img{width:100%;height:auto;border:1px solid #ddd}
.texto-art blockquote{margin:22px 0;padding:6px 0 6px 22px;border-left:4px solid var(--azul-fuerte);font-size:22px;line-height:1.5}
.fotos-articulo{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px 0}
.fotos-articulo img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.fotos-articulo a:hover img{opacity:.88}
.video-yt{position:relative;aspect-ratio:16/9;margin:26px 0;background:#000}
.video-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cta-articulo{margin:40px 0 24px;padding:26px 28px;background:#eef2fa;border-left:5px solid var(--amarillo);font-size:18px}
.cta-articulo p{margin:0 0 10px}
.cta-articulo a{color:var(--azul-fuerte);font-weight:700}
.cta-articulo .btn{color:#fff;margin-top:8px}
.volver a{font-weight:700;color:var(--azul-fuerte);text-decoration:none;font-size:17px}
@media (max-width:560px){.fotos-articulo{grid-template-columns:repeat(2,1fr)}.texto-art{font-size:18px}.texto-art p{text-align:left}}

/* ---------- Galería en la misma ventana ---------- */
.fotos-articulo .miniatura{padding:0;border:0;background:none;cursor:zoom-in;display:block}
.fotos-articulo .miniatura:hover img{opacity:.85}
.fotos-articulo .miniatura:focus-visible{outline:3px solid var(--amarillo);outline-offset:2px}
.visor{position:fixed;inset:0;z-index:100;background:rgba(5,15,35,.94);display:flex;align-items:center;justify-content:center;padding:56px 64px}
.visor[hidden]{display:none}
.visor img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.visor button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;cursor:pointer;font:inherit;line-height:1;border-radius:50%;width:48px;height:48px;font-size:34px;display:flex;align-items:center;justify-content:center}
.visor button:hover{background:rgba(255,255,255,.25)}
.visor-cerrar{top:14px;right:16px}
.visor-prev{left:12px;top:50%;transform:translateY(-50%)}
.visor-sig{right:12px;top:50%;transform:translateY(-50%)}
.visor-cont{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#fff;margin:0;font-size:16px}
@media (max-width:560px){.visor{padding:60px 8px}.visor-prev,.visor-sig{top:auto;bottom:6px;transform:none}}

/* ---------- Video con portada ---------- */
.video-portada{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:#000;display:block}
.video-portada img{width:100%;height:100%;object-fit:cover;opacity:.85}
.video-portada:hover img{opacity:1}
.video-titulo{position:absolute;left:0;right:0;top:0;padding:14px 18px;color:#fff;font-weight:700;font-size:18px;text-align:left;background:linear-gradient(180deg,rgba(0,0,0,.7),transparent)}
.video-play{position:absolute;left:50%;top:50%;width:72px;height:50px;margin:-25px 0 0 -36px;border-radius:12px;background:#e00}
.video-play::after{content:"";position:absolute;left:29px;top:15px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}

/* ---------- Pie: Política ---------- */
footer .politica{display:inline-block;margin-bottom:6px;font-size:15px}

/* ---------- Política (solo visualización) ---------- */
.politica-doc{max-width:900px;margin:0 auto;padding:40px 24px 70px}
.nota-pol{text-align:center;color:#555;margin:-12px 0 28px;font-size:16px}
.hojas{display:flex;flex-direction:column;gap:22px;-webkit-user-select:none;user-select:none}
.hojas img{width:100%;height:auto;box-shadow:0 4px 18px rgba(0,30,80,.15);border:1px solid #ddd;pointer-events:none;-webkit-user-drag:none}
@media print{.politica-doc .hojas{display:none}.politica-doc::after{content:"Documento disponible solo para consulta en línea."}}

/* ---------- Marca de agua (G del logo) en el inicio ---------- */
.hero{position:relative}
.hero::before{content:"";position:absolute;z-index:0;pointer-events:none;
  left:clamp(8px,4vw,70px);top:16%;width:min(36vw,560px);aspect-ratio:1/1;
  background:url('img/marca-agua.svg') no-repeat center/contain;opacity:.32}
.hero-texto,.slides{position:relative;z-index:1}
.bienvenida{position:relative;z-index:1}
@media (max-width:900px){.hero::before{left:50%;top:10px;width:min(52vw,205px);transform:translateX(-50%);opacity:.3}}

/* ---------- Aviso tras enviar formularios ---------- */
.aviso-envio{margin-top:18px;padding:22px 24px;border-radius:6px;font-size:18px;line-height:1.55}
.aviso-envio.ok{background:#e9f6ec;border-left:5px solid #1e7b34;color:#14361d}
.aviso-envio.error{background:#fdecea;border-left:5px solid #b3261e;color:#5c1410}
.aviso-envio a{color:inherit;font-weight:700}
.form-caja .aviso-envio{max-width:100%}
[hidden]{display:none !important}
.contacto .caja .aviso-envio{grid-column:2;align-self:start;margin-top:0}
@media (max-width:900px){.contacto .caja .aviso-envio{grid-column:auto}}
