:root{
  --ink:#0b1220;
  --muted:#5a6475;
  --bg:#ffffff;
  --alt:#f4f6f9;

  --brand:#104070;
  --brand-2:#0c2f55;
  --accent:#b11d2a;

  --border:rgba(16,64,112,.18);
  --radius:18px;
  --shadow:0 16px 40px rgba(0,0,0,.10);

  --nature-opacity:.07;
  --nature-strong:.095;

  --header-h: 92px;
  --footer-h: 54px;

  --wa-green:#25D366;
  --wa-green-soft:rgba(37,211,102,.16);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.5;
  overflow-x:hidden;
}

/* Desktop: sin scroll total */
@media (min-width: 961px){
  body{ overflow:hidden; }
}

/* Luz suave */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity: var(--scene-light-opacity, .06);
  background-image:
    radial-gradient(circle at var(--scene-g1-x, 20%) var(--scene-g1-y, 10%), rgba(16,64,112,var(--scene-g1-a, .28)), transparent 55%),
    radial-gradient(circle at var(--scene-g2-x, 85%) var(--scene-g2-y, 25%), rgba(177,29,42,var(--scene-g2-a, .18)), transparent 60%),
    radial-gradient(circle at var(--scene-g3-x, 30%) var(--scene-g3-y, 90%), rgba(16,64,112,var(--scene-g3-a, .20)), transparent 55%);
  z-index:-6;
}
/* Hojas watermark azul/gris */
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-4;
  opacity: var(--nature-opacity);
  background-repeat: repeat;
  background-size: 560px 560px;
  mix-blend-mode: multiply;
  filter: saturate(.55) contrast(1.02);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='560' viewBox='0 0 560 560'%3E%3Cdefs%3E%3Cg id='leaf'%3E%3Cpath d='M30 60c34-46 82-62 140-42-8 58-44 108-118 152-36-26-48-58-22-110z' fill='%23104070' fill-opacity='.12'/%3E%3Cpath d='M30 60c34-46 82-62 140-42-8 58-44 108-118 152-36-26-48-58-22-110z' fill='none' stroke='%230b1220' stroke-opacity='.15' stroke-width='3'/%3E%3Cpath d='M50 82c30 10 64 2 106-28' fill='none' stroke='%23104070' stroke-opacity='.10' stroke-width='3'/%3E%3C/g%3E%3C/defs%3E%3Cg%3E%3Cg transform='translate(40 40) rotate(-12) scale(.88)'%3E%3Cuse href='%23leaf'/%3E%3C/g%3E%3Cg transform='translate(260 70) rotate(18) scale(.70)'%3E%3Cuse href='%23leaf'/%3E%3C/g%3E%3Cg transform='translate(380 120) rotate(34) scale(.78)'%3E%3Cuse href='%23leaf'/%3E%3C/g%3E%3Cg transform='translate(120 260) rotate(10) scale(.80)'%3E%3Cuse href='%23leaf'/%3E%3C/g%3E%3Cg transform='translate(320 290) rotate(-22) scale(.92)'%3E%3Cuse href='%23leaf'/%3E%3C/g%3E%3Cg transform='translate(70 390) rotate(26) scale(.74)'%3E%3Cuse href='%23leaf'/%3E%3C/g%3E%3Cg transform='translate(360 410) rotate(10) scale(.82)'%3E%3Cuse href='%23leaf'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/* Canopia + bokeh */
.nature-corners{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-3;
  overflow:hidden;
  opacity: var(--nature-strong);
  background:
    radial-gradient(circle at 10% 10%, rgba(16,64,112,.09), transparent 60%),
    radial-gradient(circle at 90% 90%, rgba(11,18,32,.05), transparent 60%),
    radial-gradient(circle at 60% 35%, rgba(16,64,112,.05), transparent 55%);
}
.nature-corners .bokeh{
  position:absolute;
  inset:-10%;
  background:
    radial-gradient(circle at 20% 30%, rgba(16,64,112,.08), transparent 18%),
    radial-gradient(circle at 70% 20%, rgba(11,18,32,.06), transparent 16%),
    radial-gradient(circle at 30% 80%, rgba(16,64,112,.07), transparent 18%),
    radial-gradient(circle at 85% 70%, rgba(11,18,32,.05), transparent 14%);
  filter: blur(12px);
  opacity:.55;
  animation: bokehDrift var(--bokeh-dur, 18s) ease-in-out infinite;
}
@keyframes bokehDrift{
  0%{ transform: translate3d(0,0,0) scale(1); }
  50%{ transform: translate3d(var(--bokeh-shift-x, 14px), var(--bokeh-shift-y, -10px), 0) scale(1.02); }
  100%{ transform: translate3d(0,0,0) scale(1); }
}

/* Panal */
.honey-bg{position:fixed; inset:0; pointer-events:none; z-index:-2; overflow:hidden;}
.honey-cluster{
  position:absolute; width:360px; height:260px;
  filter: blur(.15px);
  opacity:0;
  animation: honeyFade 16s ease-in-out infinite, honeyDrift 22s ease-in-out infinite;
  transform: translate3d(0,0,0);
}
.hc-1{ top: 80px; left: -60px; animation-delay: 0s, 0s; }
.hc-2{ top: 420px; right: -90px; width: 320px; height: 240px; animation-delay: 3.5s, 1.5s; }
.hc-3{ bottom: 80px; left: 10%; width: 300px; height: 220px; animation-delay: 7s, 3s; }

@keyframes honeyDrift{
  0%{ transform: translate(0px, 0px) scale(1); }
  50%{ transform: translate(14px, -10px) scale(1.03); }
  100%{ transform: translate(0px, 0px) scale(1); }
}
@keyframes honeyFade{
  0%{ opacity: 0; }
  18%{ opacity: var(--honey-scene-opacity, .30); }
  50%{ opacity: .16; }
  82%{ opacity: var(--honey-scene-opacity, .30); }
  100%{ opacity: 0; }
}
.hex{
  position:absolute;
  width:56px; height:64px;
  clip-path: polygon(25% 6.7%, 75% 6.7%, 100% 50%, 75% 93.3%, 25% 93.3%, 0% 50%);
  background: linear-gradient(180deg, rgba(16,64,112,.22), rgba(16,64,112,.08));
  border: 1px solid rgba(16,64,112,.32);
  box-shadow: 0 14px 30px rgba(0,0,0,.07), inset 0 1px 0 rgba(255,255,255,.38);
  opacity:.95;
}
.honey-cluster .hx-1{ left:0; top:74px; transform: scale(.96); opacity:.82; }
.honey-cluster .hx-2{ left:48px; top:38px; transform: scale(1.02); opacity:.92; }
.honey-cluster .hx-3{ left:96px; top:74px; transform: scale(1.06); opacity:.98; }
.honey-cluster .hx-4{ left:48px; top:110px; transform: scale(.94); opacity:.78; }
.honey-cluster .hx-5{ left:144px; top:38px; transform: scale(.94); opacity:.76; }
.honey-cluster .hx-6{ left:192px; top:74px; transform: scale(1.06); opacity:.98; }
.honey-cluster .hx-7{ left:144px; top:110px; transform: scale(1.02); opacity:.86; }
.honey-cluster .hx-8{ left:240px; top:38px; transform: scale(.92); opacity:.72; }
.honey-cluster .hx-9{ left:288px; top:74px; transform: scale(.98); opacity:.82; }
.honey-cluster .hx-10{ left:240px; top:110px; transform: scale(1.04); opacity:.90; }
.honey-cluster .hx-11{ left:336px; top:38px; transform: scale(.86); opacity:.62; }
.honey-cluster .hx-12{ left:384px; top:74px; transform: scale(.90); opacity:.66; }
.honey-cluster .hx-3,
.honey-cluster .hx-9{
  background: linear-gradient(180deg, rgba(177,29,42,.13), rgba(16,64,112,.06));
  border-color: rgba(177,29,42,.26);
}

/* Base */
.container{width:min(1120px, 92%); margin:0 auto}
h1{font-size:clamp(28px, 3.7vw, 46px); line-height:1.08; margin:8px 0 10px}
h2{font-size:clamp(22px, 2.1vw, 30px); margin:0 0 8px}
h3{margin:0 0 6px}
.muted{color:var(--muted)}
.lead{font-size:clamp(15px, 1.5vw, 18px); color:var(--muted); max-width:70ch}
.eyebrow{letter-spacing:.12em; text-transform:uppercase; font-size:12px; color:var(--muted); margin:0 0 10px}

.header{
  position:fixed; top:0; left:0; right:0;
  z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom:2px solid rgba(16,64,112,.20);
}
.header__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
.header__right{display:flex; align-items:center; gap:12px;}

.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit}
.brand__logo{height:60px; width:auto}
.brand__text{display:flex; flex-direction:column; line-height:1.05}
.brand__name{font-weight:900; font-size:18px; letter-spacing:.2px}
.brand__tagline{
  font-size:10px; font-weight:800; letter-spacing:.6px;
  color:var(--brand);
  text-transform:uppercase;
  margin-top:2px;
}

/* Nav */
.nav{display:flex; gap:18px; align-items:center}
.nav a{color:var(--ink); text-decoration:none; font-weight:900; opacity:.92}
.nav a:hover{opacity:1}
.nav a[aria-current="page"]{ color:var(--brand); opacity:1; }
.nav__sep{width:1px; height:22px; background:var(--border); display:inline-block}
.lang{font-weight:900; color:var(--brand); border:1px solid var(--border); padding:6px 10px; border-radius:999px;}
.nav__toggle{
  display:none;
  border:1px solid var(--border);
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  font-weight:900;
}

/* Buttons */
.btn{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  text-decoration:none;
  font-weight:900;
  gap:8px;
  white-space:nowrap;
  overflow:hidden;
  transition: transform .12s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn::after{
  content:"";
  position:absolute;
  inset:-60% -40%;
  background:linear-gradient(120deg, transparent 35%, rgba(255,255,255,.45) 50%, transparent 65%);
  transform: translateX(-40%);
  opacity:0;
  pointer-events:none;
}
.btn:hover::after{ opacity:.8; animation: btnshine .9s ease; }
@keyframes btnshine{ from{ transform: translateX(-45%);} to{ transform: translateX(45%);} }

.btn--primary{
  background:linear-gradient(180deg, var(--brand), var(--brand-2));
  color:#fff;
  border-color:transparent;
  box-shadow: 0 12px 28px rgba(16,64,112,.18);
}
.btn--primary:hover{ transform: translateY(-1px); box-shadow: 0 18px 40px rgba(16,64,112,.24); filter:saturate(1.05); }
.btn--ghost{
  background:rgba(255,255,255,.72);
  color:var(--brand);
  border-color:rgba(16,64,112,.22);
  backdrop-filter: blur(6px);
}
.btn--ghost:hover{ transform: translateY(-1px); box-shadow: 0 14px 30px rgba(0,0,0,.08); border-color: rgba(16,64,112,.28); }
.btn:active{ transform: translateY(1px) scale(.99); }
.nav .nav__cta{ opacity:1 !important; color:#fff !important; border-color:transparent !important; }

/* ===== DECK (WOW) ===== */
.app-shell{
  padding-top: var(--header-h, 92px);
  min-height: 100dvh;
}

.deck{
  position:relative;
  height: calc(100dvh - var(--header-h, 92px) - var(--footer-h, 64px));
perspective: 1200px;
  transform-style: preserve-3d;
}
.slide{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transform-style: preserve-3d;

  /* NO SCROLL interno */
  overflow:hidden;
}
.slide__inner{
  height:100%;
  display:flex;
  align-items:center;
  padding: 16px 0;
}

/* estados para animación */
.slide.is-active{
  opacity:1;
  pointer-events:auto;
  transform: translate3d(0,0,0) rotateY(0deg) scale(1);
  filter: none;
}
.slide.is-prev{
  opacity:0;
  transform: translate3d(-9%,0,-120px) rotateY(18deg) scale(.96);
  filter: blur(6px);
}
.slide.is-next{
  opacity:0;
  transform: translate3d(9%,0,-120px) rotateY(-18deg) scale(.96);
  filter: blur(6px);
}

.slide.anim-in-right{ animation: inRight .62s cubic-bezier(.2,.8,.2,1) both; }
.slide.anim-in-left{ animation: inLeft .62s cubic-bezier(.2,.8,.2,1) both; }
.slide.anim-out-left{ animation: outLeft .62s cubic-bezier(.2,.8,.2,1) both; }
.slide.anim-out-right{ animation: outRight .62s cubic-bezier(.2,.8,.2,1) both; }

@keyframes inRight{
  from{ opacity:0; transform: translate3d(10%,0,-140px) rotateY(-20deg) scale(.95); filter: blur(8px); }
  to{ opacity:1; transform: translate3d(0,0,0) rotateY(0deg) scale(1); filter: blur(0); }
}
@keyframes inLeft{
  from{ opacity:0; transform: translate3d(-10%,0,-140px) rotateY(20deg) scale(.95); filter: blur(8px); }
  to{ opacity:1; transform: translate3d(0,0,0) rotateY(0deg) scale(1); filter: blur(0); }
}
@keyframes outLeft{
  from{ opacity:1; transform: translate3d(0,0,0) rotateY(0deg) scale(1); filter: blur(0); }
  to{ opacity:0; transform: translate3d(-10%,0,-140px) rotateY(20deg) scale(.95); filter: blur(8px); }
}
@keyframes outRight{
  from{ opacity:1; transform: translate3d(0,0,0) rotateY(0deg) scale(1); filter: blur(0); }
  to{ opacity:0; transform: translate3d(10%,0,-140px) rotateY(-20deg) scale(.95); filter: blur(8px); }
}

/* Dots */
.deck-dots{
  position:absolute;
  left:50%;
  bottom: 10px;
  transform: translateX(-50%);
  display:flex;
  gap:8px;
  opacity:.75;
}
.dot{
  width:7px; height:7px; border-radius:999px;
  background: rgba(16,64,112,.22);
}
.dot.is-on{ background: rgba(16,64,112,.55); box-shadow: 0 0 0 5px rgba(16,64,112,.10); }

/* Hero */
.hero__grid{display:grid; grid-template-columns: 1.12fr .88fr; gap:24px; align-items:center;}
.hero__actions{display:flex; gap:12px; flex-wrap:wrap; margin:14px 0}
.hero__highlights{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px}
.pill{border:1px solid rgba(16,64,112,.18); border-radius:999px; padding:6px 10px; font-weight:900; color:var(--brand); background:rgba(255,255,255,.82); backdrop-filter: blur(6px);}
.slide-hint{display:flex; align-items:center; gap:10px; margin-top:14px; color:var(--muted); font-weight:800; font-size:12px;}
.hint-dot{ width:10px; height:10px; border-radius:999px; background:rgba(16,64,112,.25); box-shadow: 0 0 0 6px rgba(16,64,112,.08); }

/* Hero art */
.hero__art{
  --rx: 0deg;
  --ry: 0deg;
  position:relative;
  display:grid;
  grid-template-rows: 1fr auto;
  gap:8px;
  background:linear-gradient(180deg, rgba(16,64,112,.10), rgba(16,64,112,.02));
  border:1px solid rgba(16,64,112,.18);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:14px;
  overflow:hidden;
  max-width: 440px;
  justify-self:end;
  perspective: 1000px;
  transform-style: preserve-3d;
}
.hero__media{
  display:flex; align-items:center; justify-content:center;
  min-height:252px;
  transform: rotateX(var(--rx)) rotateY(var(--ry));
  transform-style: preserve-3d;
  transition: transform .08s linear;
}
.hero__ribbonWrap{
  position:absolute; top:12px; right:16px;
  width:64px; height:86px; z-index:6;
  transform: translateZ(70px);
  pointer-events:none;
}
.hero__ribbonWrap::after{
  content:"";
  position:absolute; left:10px; top:14px;
  width:40px; height:70px;
  border-radius:16px;
  background: rgba(0,0,0,.18);
  filter: blur(14px);
  transform: translate(10px, 16px);
  opacity:.55;
}
.hero__ribbon{position:relative; width:58px; height:auto; display:block; margin:0 auto; filter: drop-shadow(0 16px 18px rgba(0,0,0,.20));}
.hero__bee{
  width:140%;
  max-width:760px;
  height:auto;
  display:block;
  transform: translateY(6px) translateZ(105px) scale(1.06);
  filter: drop-shadow(0 28px 70px rgba(0,0,0,.22));
}
.hero__badge{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(16,64,112,.18);
  border-radius:14px;
  padding:10px 12px;
  backdrop-filter: blur(6px);
  transform: translateZ(40px);
}
.badge__title{font-weight:900; font-size:14px}
.badge__text{color:var(--muted); font-weight:600; font-size:12px; line-height:1.35; margin-top:6px;}
.badge__social{display:flex; gap:10px; align-items:center; justify-content:center; margin-top:10px;}
.social__link{
  cursor:pointer;
  width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(16,64,112,.18); border-radius:999px;
  background:rgba(255,255,255,.85); backdrop-filter: blur(6px);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.social__link:hover{transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0,0,0,.10); border-color: rgba(16,64,112,.28);}
.social__link svg{width:18px; height:18px; fill: var(--brand);}

/* Layout helpers (compact) */
.slide-head{ margin-bottom:10px; }
.grid-2{ display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
.split{display:grid; grid-template-columns: 1.1fr .9fr; gap:16px; align-items:center}
.split--tight{ gap:14px; }

.panel{
  border:1px solid rgba(16,64,112,.18);
  border-radius:var(--radius);
  padding:16px;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
  box-shadow:var(--shadow);
}
.panel--tight{ padding:14px; }
.panel:hover{ box-shadow: 0 22px 55px rgba(0,0,0,.12); }

.cards{display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; margin-top:12px}
.cards--2{grid-template-columns: repeat(2, 1fr)}
.cards--tight{ margin-top:10px; gap:12px; }
.card{
  border:1px solid rgba(16,64,112,.18);
  border-radius:var(--radius);
  padding:14px;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
}
.card--flat{ box-shadow: none; }
.card p{ margin:0; color:var(--muted); font-weight:600; }

.bullets{
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--muted);
}
.bullets li{ margin: 8px 0; }
.bullets strong{ color: var(--ink); }

.mini-cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.mini-note{ margin-top:12px; padding-top:10px; border-top:1px solid rgba(16,64,112,.12); }
.mini-note__k{ font-weight:900; color:var(--brand); font-size:12px; letter-spacing:.06em; text-transform:uppercase; display:block; }
.mini-note__v{ color:var(--muted); font-weight:700; display:block; margin-top:4px; }

.stats-row{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin-top:12px;
}
.stat{
  border:1px solid rgba(16,64,112,.14);
  border-radius:14px;
  padding:10px 12px;
  background:rgba(255,255,255,.86);
  backdrop-filter: blur(6px);
}
.stat__k{ display:block; font-weight:900; color:var(--brand); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.stat__v{ display:block; margin-top:4px; font-weight:800; }

.row-between{ display:flex; align-items:center; justify-content:space-between; gap:12px; }

/* Contact strip + form tight */
.contact-strip{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin:12px 0 10px;
}
.contact-item{
  border:1px solid rgba(16,64,112,.18);
  border-radius:14px;
  padding:10px 12px;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
}
.contact-k{
  display:block;
  font-weight:900;
  color:var(--brand);
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.contact-v{display:block; margin-top:4px; color:var(--ink); font-weight:800}
.contact-link{color:var(--brand); text-decoration:none}
.contact-link:hover{text-decoration:underline}

.form{ margin-top:6px; }
.form--tight{ margin-top:6px; }
.form__grid{display:grid; grid-template-columns: 1fr 1fr; gap:12px}
.form__grid--tight{ gap:10px; }
label{display:grid; gap:6px; font-weight:900}
label.full{ grid-column:1 / -1; }
input, textarea{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(16,64,112,.18);
  font:inherit;
  background:rgba(255,255,255,.92);
}
textarea{ resize:none; }
input:focus, textarea:focus{outline:none; border-color: rgba(16,64,112,.45); box-shadow: 0 0 0 4px rgba(16,64,112,.10);}

/* Footer deck */
.footer{
  padding:14px 0;
  border-top:1px solid rgba(16,64,112,.18);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(6px);
}
.footer__inner{display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap;}
.footer-link{color:var(--brand); text-decoration:none; font-weight:900}
.footer-link:hover{text-decoration:underline}

.footer--deck{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:40;
  height: var(--footer-h);
  display:flex;
  align-items:center;
}


/* Floating buttons */
.fab{ position:fixed; right:16px; bottom: calc(var(--footer-h) + 14px); display:flex; flex-direction:column; gap:10px; z-index:9999; }
.fab__btn{
  width:54px; height:54px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none;
  border:1px solid rgba(16,64,112,.20);
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  position:relative;
}
.fab__btn:hover{ transform: translateY(-3px); box-shadow: 0 22px 55px rgba(0,0,0,.22); }
.fab__btn svg{ width:28px; height:28px; fill: var(--brand); }

.fab__tooltip{
  position:absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%) translateX(6px);
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(16,64,112,.18);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(8px);
  box-shadow: 0 14px 34px rgba(0,0,0,.14);
  color: var(--brand);
  font-weight: 900;
  font-size: 12px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
  user-select: none;
}
.fab__tooltip::after{
  content:"";
  position:absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 7px solid transparent;
  border-left-color: rgba(255,255,255,.96);
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.10));
}
.fab__btn:hover .fab__tooltip,
.fab__btn:focus-visible .fab__tooltip{
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

.fab__btn--whatsapp.fab__btn--pulse::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:999px;
  background: radial-gradient(circle, var(--wa-green-soft), transparent 65%);
  opacity: 0;
  transform: scale(.92);
  animation: waGlow 1.8s ease-in-out infinite;
  filter: blur(2px);
  z-index:0;
}
.fab__btn--whatsapp > svg{ position:relative; z-index:1; }
.fab__btn--pulse{ animation: waBounce 1.8s ease-in-out infinite; }
.fab__btn--pulse::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:999px;
  border:2px solid rgba(16,64,112,.12);
  animation: waRing 1.8s ease-out infinite;
}
@keyframes waBounce{
  0%,100%{ transform: translateY(0) scale(1); }
  35%{ transform: translateY(-3px) scale(1.03); }
  55%{ transform: translateY(0) scale(1); }
}
@keyframes waRing{
  0%{ opacity:.0; transform: scale(.92); }
  20%{ opacity:.55; }
  60%{ opacity:.0; transform: scale(1.18); }
  100%{ opacity:0; transform: scale(1.18); }
}
@keyframes waGlow{
  0%{ opacity:0; transform: scale(.92); }
  25%{ opacity:.55; }
  60%{ opacity:0; transform: scale(1.12); }
  100%{ opacity:0; transform: scale(1.12); }
}

/* ===== Mobile: vuelve a scroll normal ===== */
@media (max-width: 960px){
  body{ overflow:auto; }

  .nav__toggle{display:inline-flex}
  .nav{
    position:absolute;
    top:78px; right:4%;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(16,64,112,.18);
    border-radius:16px;
    padding:12px;
    box-shadow: 0 16px 40px rgba(0,0,0,.16);
    display:none;
    flex-direction:column;
    min-width:240px;
    align-items:stretch;
    gap:12px;
  }
  .nav.is-open{display:flex}
  .nav__sep{display:none}

  .app-shell{ height:auto; padding-top: var(--header-h); }
  .deck{ height:auto; perspective:none; }
  .slide{
    position: static;
    opacity: 1;
    pointer-events:auto;
    transform:none !important;
    filter:none !important;
    overflow: visible;
  }
  .slide__inner{
    height:auto;
    padding: 54px 0;
    align-items:stretch;
  }
  .deck-dots{ display:none; }

  .hero__grid{ grid-template-columns:1fr; }
  .split{ grid-template-columns:1fr; }
  .grid-2{ grid-template-columns:1fr; }
  .cards{ grid-template-columns:1fr; }
  .cards--2{ grid-template-columns:1fr; }
  .form__grid{ grid-template-columns:1fr; }
  .contact-strip{ grid-template-columns:1fr; }
  
.footer--deck{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

  .fab{ bottom:16px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .honey-cluster{ animation:none; opacity:.16; }
  .bokeh{ animation:none; }
  .fab__btn--pulse{ animation:none; }
  .fab__btn--pulse::after{ animation:none; }
  .fab__btn--whatsapp.fab__btn--pulse::before{ animation:none; opacity:.08; transform:none; }
  .slide.anim-in-right,
  .slide.anim-in-left,
  .slide.anim-out-left,
  .slide.anim-out-right{ animation:none; }
}

/* ===== CINEMATIC TRANSITION ===== */
.deck{
  isolation:isolate; /* overlays don't blend outside */
}

/* Light sweep overlay */
.deck::after{
  content:"";
  position:absolute;
  inset:-12%;
  pointer-events:none;
  opacity:0;
  z-index:12;
  background:
    linear-gradient(110deg,
      transparent 35%,
      rgba(255,255,255,.65) 48%,
      rgba(255,255,255,.18) 55%,
      transparent 70%);
  transform: translateX(-24%) rotate(6deg);
  filter: blur(2px);
  mix-blend-mode: soft-light;
}

/* Depth vignette */
.deck::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  z-index:11;
  background:
    radial-gradient(circle at 50% 50%, rgba(0,0,0,.0) 35%, rgba(0,0,0,.16) 78%, rgba(0,0,0,.22) 100%);
  transition: opacity .18s ease;
}

/* Activated by JS while animating */
.deck.is-cinematic::after{
  opacity:1;
  animation: sweep 620ms cubic-bezier(.2,.8,.2,1) both;
}
.deck.is-cinematic::before{
  opacity:1;
}

/* Controlled camera shake */
.app-shell.is-cinematic{
  animation: camShake 420ms cubic-bezier(.2,.8,.2,1) both;
  transform-origin: 50% 50%;
}

@keyframes sweep{
  from{ transform: translateX(-30%) rotate(6deg); opacity:0; }
  15%{ opacity:.85; }
  60%{ opacity:.35; }
  to{ transform: translateX(26%) rotate(6deg); opacity:0; }
}
@keyframes camShake{
  0%{ transform: translate3d(0,0,0); }
  18%{ transform: translate3d(-1px,.5px,0); }
  35%{ transform: translate3d(1.2px,-.6px,0); }
  55%{ transform: translate3d(-.8px,.4px,0); }
  75%{ transform: translate3d(.6px,-.2px,0); }
  100%{ transform: translate3d(0,0,0); }
}

/* Slight depth emphasis */
.deck.is-cinematic .slide.is-active .slide__inner{
  filter: saturate(1.02) contrast(1.02);
}

/* ===== SIDE NAV (timeline) ===== */
.side-nav{
  position:fixed;
  left:16px;
  top:50%;
  transform: translateY(-50%);
display:flex;
  flex-direction:column;
  gap:12px;
  z-index:20;
  padding:10px 10px;
  border-radius:18px;
  border:1px solid rgba(16,64,112,.16);
  background: rgba(255,255,255,.62);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 45px rgba(0,0,0,.10);
}
.side-nav::before{
  content:"";
  position:absolute;
  left: 18px;
  top: 14px;
  bottom: 14px;
  width: 2px;
  border-radius:2px;
  background: linear-gradient(180deg, rgba(16,64,112,.08), rgba(16,64,112,.24), rgba(16,64,112,.08));
  opacity:.9;
}
.side-nav__item{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding: 8px 10px 8px 28px;
  border:0;
  background:transparent;
  cursor:pointer;
  text-align:left;
  border-radius:14px;
  font-weight:900;
  color: rgba(11,18,32,.80);
  transition: transform .12s ease, background-color .15s ease, box-shadow .15s ease;
}
.side-nav__item:hover{
  transform: translateX(1px);
  background: rgba(255,255,255,.70);
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
}
.side-nav__dot{
  position:absolute;
  left: 10px;
  width: 12px;
  height: 12px;
  background: linear-gradient(180deg, rgba(16,64,112,.30), rgba(16,64,112,.18));
  clip-path: polygon(25% 6.7%, 75% 6.7%, 100% 50%, 75% 93.3%, 25% 93.3%, 0% 50%);
  box-shadow: 0 0 0 6px rgba(16,64,112,.07);
}
.side-nav__label{
  font-size: 12px;
  letter-spacing:.02em;
  white-space:nowrap;
}
.side-nav__item[aria-current="page"]{
  color: var(--brand);
  background: rgba(255,255,255,.78);
}
.side-nav__item[aria-current="page"] .side-nav__dot{
  background: linear-gradient(180deg, rgba(16,64,112,.82), rgba(12,47,85,.62));
  box-shadow: 0 0 0 6px rgba(16,64,112,.12), 0 0 0 1px rgba(16,64,112,.22) inset, 0 6px 14px rgba(7,21,41,.16);
}

@media (max-width: 960px){
  .side-nav{ display:none; }
}

@media (prefers-reduced-motion: reduce){
  .deck.is-cinematic::after{ animation:none; opacity:0; }
  .app-shell.is-cinematic{ animation:none; }
}


/* ===== PARALLAX DEPTH LAYERS ===== */
.nature-corners,
.honey-bg{
  will-change: transform;
  transition: transform 620ms cubic-bezier(.2,.8,.2,1);
  transform: translate3d(var(--px,0px), var(--py,0px), 0) scale(1.02);
}
/* Separate depth: honey moves a bit more than nature */
.honey-bg{
  transform: translate3d(calc(var(--px,0px) * 1.35), calc(var(--py,0px) * 1.35), 0) scale(1.03);
  transition-duration: 680ms;
}

/* Reduced motion: keep static */
@media (prefers-reduced-motion: reduce){
  .nature-corners,
  .honey-bg{
    transition:none;
    transform:none !important;
  }
}


/* ===== SCENE PRESETS ===== */
:root{
  --scene-light-opacity: .06;
  --scene-g1-x: 20%; --scene-g1-y: 10%; --scene-g1-a: .28;
  --scene-g2-x: 85%; --scene-g2-y: 25%; --scene-g2-a: .18;
  --scene-g3-x: 30%; --scene-g3-y: 90%; --scene-g3-a: .20;
  --bokeh-dur: 18s;
  --bokeh-shift-x: 14px;
  --bokeh-shift-y: -10px;
  --honey-scene-opacity: .30;
}
:root[data-scene="inicio"]{
  --scene-light-opacity: .075;
  --scene-g1-x: 18%; --scene-g1-y: 12%; --scene-g1-a: .34;
  --scene-g2-x: 84%; --scene-g2-y: 22%; --scene-g2-a: .22;
  --scene-g3-x: 28%; --scene-g3-y: 88%; --scene-g3-a: .22;
  --bokeh-dur: 17s;
  --honey-scene-opacity: .34;
}
:root[data-scene="servicios"]{
  --scene-light-opacity: .062;
  --scene-g1-x: 22%; --scene-g1-y: 8%;  --scene-g1-a: .26;
  --scene-g2-x: 86%; --scene-g2-y: 28%; --scene-g2-a: .16;
  --scene-g3-x: 36%; --scene-g3-y: 92%; --scene-g3-a: .18;
  --bokeh-dur: 19s;
  --honey-scene-opacity: .28;
}
:root[data-scene="lineas"]{
  --scene-light-opacity: .058;
  --scene-g1-x: 16%; --scene-g1-y: 18%; --scene-g1-a: .24;
  --scene-g2-x: 88%; --scene-g2-y: 20%; --scene-g2-a: .14;
  --scene-g3-x: 26%; --scene-g3-y: 92%; --scene-g3-a: .20;
  --bokeh-dur: 20s;
  --bokeh-shift-x: 12px;
  --honey-scene-opacity: .26;
}
:root[data-scene="cobertura"]{
  --scene-light-opacity: .066;
  --scene-g1-x: 24%; --scene-g1-y: 12%; --scene-g1-a: .24;
  --scene-g2-x: 82%; --scene-g2-y: 30%; --scene-g2-a: .20;
  --scene-g3-x: 34%; --scene-g3-y: 86%; --scene-g3-a: .18;
  --bokeh-dur: 18s;
  --bokeh-shift-y: -8px;
  --honey-scene-opacity: .32;
}
:root[data-scene="contacto"]{
  --scene-light-opacity: .052;
  --scene-g1-x: 20%; --scene-g1-y: 10%; --scene-g1-a: .20;
  --scene-g2-x: 90%; --scene-g2-y: 22%; --scene-g2-a: .14;
  --scene-g3-x: 30%; --scene-g3-y: 94%; --scene-g3-a: .16;
  --bokeh-dur: 21s;
  --honey-scene-opacity: .22;
}


/* ===== SNAP ZOOM (micro) ===== */
@media (min-width: 961px){
  .slide.is-active .slide__inner{
    animation: snapZoom 420ms cubic-bezier(.2,.9,.2,1) both;
    transform-origin: 50% 50%;
  }
}
@keyframes snapZoom{
  0%{ transform: scale(.988); filter: contrast(1.01); }
  60%{ transform: scale(1.012); }
  100%{ transform: scale(1); filter:none; }
}
@media (prefers-reduced-motion: reduce){
  .slide.is-active .slide__inner{ animation:none !important; }
}


/* ===== FILM GRAIN (subtle) ===== */
.film-grain{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:8; /* above backgrounds, below header/content (header is 50) */
  opacity:.06;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  background-size: 260px 260px;
  animation: grainMove 1.8s steps(6) infinite;
}
@keyframes grainMove{
  0%{ transform: translate3d(0,0,0); }
  20%{ transform: translate3d(-2%, 1%, 0); }
  40%{ transform: translate3d(1%, -2%, 0); }
  60%{ transform: translate3d(2%, 2%, 0); }
  80%{ transform: translate3d(-1%, -1%, 0); }
  100%{ transform: translate3d(0,0,0); }
}
@media (prefers-reduced-motion: reduce){
  .film-grain{ animation:none; opacity:.04; }
}


/* ===== FAB SOCIAL STACK (right, vertical) ===== */
.fab__social{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-end;
  margin-bottom: 10px; /* separation from WhatsApp */
}
.fab__sbtn{
  width:44px;
  height:44px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:1px solid rgba(16,64,112,.18);
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
  box-shadow: 0 14px 34px rgba(0,0,0,.16);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  position:relative;
  cursor:pointer;
}
.fab__sbtn:hover{
  transform: translateY(-3px);
  box-shadow: 0 20px 50px rgba(0,0,0,.20);
}
.fab__sbtn svg{
  width:20px;
  height:20px;
  fill: var(--brand);
}

/* Hide the inline social inside the hero badge on desktop (keep on mobile if you want) */
@media (min-width: 961px){
  .badge__social--inline{ display:none; }
}
@media (max-width: 960px){
  .fab__social{ display:none; } /* on mobile keep it simple */
}


/* ===== HIVOX WATERMARK CLEAN (FINAL) =====
   - Inside hero panel
   - Behind bee
   - Does NOT affect layout
*/

.hero__media{
  position: relative;
}

.hero__media::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;

  background-image: url("/assets/img/hivox-incubator.png");
  background-repeat:no-repeat;
  background-position: 66% 56%;
  background-size: min(640px, 94%);

  /* Futuristic presence */
  opacity: .48;

  /* High-impact futuristic tone */
  filter:
    saturate(1.85)
    contrast(1.22)
    brightness(1.12)
    drop-shadow(0 22px 55px rgba(16,64,112,.45))
    drop-shadow(0 0 22px rgba(16,64,112,.35));

  mix-blend-mode: normal;

  transform: translate3d(
    calc(var(--px,0px) * 0.22),
    calc(var(--py,0px) * 0.22),
    0
  );
}

:root[data-scene="inicio"] .hero__media::before{
  opacity: .55;
}

.hero__bee{
  position: relative;
  z-index: 1;
}

@media (max-width: 1200px){
  .hero__media::before{
    background-size: min(520px, 100%);
    background-position: 70% 60%;
    opacity: .14;
  }
}

@media (max-width: 960px){
  .hero__media::before{
    display:none;
  }
}



/* Fallback if footer insertion wasn't possible */
.vibee-sign--floating{
  position: fixed;
  left: 14px;
  bottom: 14px;
  z-index: 60;
  pointer-events:none;
  opacity:.0;
  display:none;
}

/* Footer alignment helper (non-breaking) */

.footer--deck{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.footer--deck > *{ flex: 0 0 auto; }



/* Make footer content hug the left edge a bit more */
.footer--deck .footer__inner{
  padding-left: 10px;
}


/* ===== VIBEE MARK — footer (left, integrated) ===== */
.footer--deck .footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

/* Left cluster: Vibee + copyright */
.footer__left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

/* Vibee mark: integrated (not a button) */
.vibee-mark{
  height: 28px;
  width: auto;
  opacity: .75;
  filter: grayscale(1) contrast(1.05);
  mix-blend-mode: multiply;
  transform: translateZ(0);
  transition: opacity .18s ease, filter .18s ease, transform .18s ease;
}

@media (hover:hover){
  .vibee-mark:hover{
    opacity: .95;
    filter: grayscale(0) saturate(1.35) contrast(1.06) drop-shadow(0 10px 22px rgba(255,196,46,.18));
    transform: translateY(-1px);
  }
}

/* Push content closer to the extreme left */
.footer--deck .container.footer__inner{
  padding-left: 6px !important;
}

@media (max-width: 960px){
  .vibee-mark{ height: 24px; opacity: .72; }
}


/* ===== WIND FLAG (BANDERÍN) — SAFE (NO LAYOUT SHIFT) =====
   Importante: NO tocar .hero__ribbonWrap (mantiene su absolute original).
*/
.hero__ribbon{
  transform-origin: 50% 0%;
  animation: vibeeRibbonWindSafe 5.4s ease-in-out infinite;
  will-change: transform;
}

@keyframes vibeeRibbonWindSafe{
  0%   { transform: rotate(0deg); }
  22%  { transform: rotate(-1.2deg); }
  52%  { transform: rotate(0.9deg); }
  78%  { transform: rotate(-0.7deg); }
  100% { transform: rotate(0deg); }
}

@media (prefers-reduced-motion: reduce){
  .hero__ribbon{ animation:none !important; }
}



}

/* ===== STATUS TOAST (no layout shift) ===== */
.form-status{
  /* override old inline behavior */
  position: fixed;
  z-index: 9999;
  right: 18px;
  top: calc(var(--header-h, 92px) + 14px);
  max-width: min(520px, calc(100vw - 36px));
  display: none;

  border-radius: 14px;
  padding: 10px 14px;
  border: 1px solid rgba(16,64,112,.18);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  font-weight: 900;
  font-size: 14px;
  color: var(--brand);
  box-shadow: 0 18px 48px rgba(0,0,0,.14);

  transform: translateY(-6px) scale(.985);
  opacity: 0;
}

.form-status.is-show{
  display:block;
  animation: toastIn .34s cubic-bezier(.2,.9,.2,1) both;
}

.form-status.is-hide{
  animation: toastOut .22s ease both;
}

.form-status .status-row{
  display:flex;
  align-items:flex-start;
  gap: 10px;
}

.status-icon{
  width: 16px;
  height: 16px;
  margin-top: 2px;
  display:inline-block;
  border-radius: 999px;
  border: 2px solid currentColor;
  position: relative;
  flex: 0 0 auto;
  opacity: .9;
}

.form-status.is-sending .status-icon::after{
  content:"";
  position:absolute;
  inset: 3px;
  border-radius: 999px;
  border: 2px solid transparent;
  border-top-color: currentColor;
  animation: spin 850ms linear infinite;
}

.form-status.is-success{
  border-color: rgba(37,211,102,.35);
  background: rgba(37,211,102,.12);
  color: #0b5b2a;
}
.form-status.is-success .status-icon{
  border-color: rgba(11,91,42,.75);
  background: rgba(255,255,255,.55);
}
.form-status.is-success .status-icon::after{
  content:"";
  position:absolute;
  left:4px; top:6px;
  width: 8px; height: 4px;
  border-left: 3px solid rgba(11,91,42,.85);
  border-bottom: 3px solid rgba(11,91,42,.85);
  transform: rotate(-45deg);
}

.form-status.is-error{
  border-color: rgba(177,29,42,.32);
  background: rgba(177,29,42,.10);
  color: #7b0f18;
}
.form-status.is-error .status-icon{
  border-color: rgba(123,15,24,.75);
  background: rgba(255,255,255,.55);
}
.form-status.is-error .status-icon::after{
  content:"";
  position:absolute;
  left: 4px; top: 4px;
  width: 8px; height: 8px;
  transform: rotate(45deg);
  background:
    linear-gradient(currentColor,currentColor) center/2px 10px no-repeat,
    linear-gradient(currentColor,currentColor) center/10px 2px no-repeat;
  opacity:.9;
}

@keyframes toastIn{
  from{ opacity:0; transform: translateY(-10px) scale(.98); }
  to{ opacity:1; transform: translateY(0) scale(1); }
}
@keyframes toastOut{
  from{ opacity:1; transform: translateY(0) scale(1); }
  to{ opacity:0; transform: translateY(-8px) scale(.985); }
}
@keyframes spin{ to{ transform: rotate(360deg);} }

/* Mobile: keep toast inside viewport */
@media (max-width: 560px){
  .form-status{
    right: 10px;
    top: calc(var(--header-h, 92px) + 10px);
    max-width: calc(100vw - 20px);
  }
}



section[data-slide="contacto"] .form__grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
}

@media (max-width: 900px){
  section[data-slide="contacto"] .form__grid{
    grid-template-columns: 1fr;
  }
}


/* ===== CONTACT FORM NON-INVASIVE FIX ===== */
/* Do not override slide layout system */
section[data-slide="contacto"] .form{
  width: 100%;
  margin: 0;
}




/* ===== CONTACT SLIDE CLIP FIX ===== */
section[data-slide="contacto"] .slide__inner{
  padding-top: 56px; /* clears fixed header area (milimetric) */
}
section[data-slide="contacto"] .slide-head{
  margin-top: 6px;
}
section[data-slide="contacto"] .form{
  padding-bottom: 34px; /* keeps submit above footer */
}
section[data-slide="contacto"] .row-between{
  margin-bottom: 10px;
}



/* ===== CONTACT SLIDE FINAL FIXES ===== */

/* Hide honeypot field completely */
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Ensure title is visible and not clipped by header */
section[data-slide="contacto"] .slide__inner{
  padding-top: 28px; /* clears fixed header area */
}

section[data-slide="contacto"] .slide-head{
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding-top: 6px;
}

section[data-slide="contacto"] .slide-head h2{
  display:block;
  margin: 0 0 8px 0;
  line-height: 1.05;
}

/* Keep submit button above footer safely */
section[data-slide="contacto"] .form{
  padding-bottom: 46px;
}


/* ===== CONTACT TITLE MILIMETRIC ===== */
section[data-slide="contacto"] .slide-head{
  padding-top: 8px;
}

section[data-slide="contacto"] .slide-head h2{
  padding-top: 6px;
  margin-top: 0;
}

/* If any parent uses overflow hidden, avoid clipping the title */
section[data-slide="contacto"] .slide__inner,
section[data-slide="contacto"] .container{
  overflow: visible;
}



/* ===== CONTACT TITLE ANTI-CLIP MICROFIX ===== */
section[data-slide="contacto"] .slide-head h2{
  line-height: 1.18 !important;
  padding-top: 10px !important;
  padding-bottom: 2px !important;
  display: inline-block;
  overflow: visible;
}



/* ===== CONTACT TITLE POSITION FIX (MOVE BELOW DIVIDER) ===== */
/* The title is being overlapped by the top divider line; push it down and bring it to front */
section[data-slide="contacto"] .slide-head{
  margin-top: 18px !important;
  padding-top: 10px !important;
  position: relative;
  z-index: 20;
}

section[data-slide="contacto"] .slide-head h2{
  position: relative;
  z-index: 25;
  transform: translateY(6px);
}

/* ===== Footer typography consistency ===== */
.footer small,
.footer__meta{
  color: rgba(11,43,75,.78);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .01em;
}
.footer .footer-link{ color: rgba(11,43,75,.78); }
.footer .footer-link:hover{ color: var(--brand); }



/* ===== Cookie Consent (D'Calidad) ===== */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:2147483647;pointer-events:auto}
.cookie-banner[hidden]{display:none !important}
.cookie-banner__card{max-width:980px;margin:0 auto;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid rgba(11,43,75,.15);box-shadow:0 20px 60px rgba(0,0,0,.12);border-radius:18px;padding:14px 14px 12px;display:flex;gap:14px;align-items:center;justify-content:space-between}
.cookie-banner__title{font-weight:900;color:#0b2b4b;font-size:14px;letter-spacing:.2px;margin-bottom:2px}
.cookie-banner__desc{color:rgba(11,43,75,.75);font-size:13px;line-height:1.25}
.cookie-banner__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cookie-modal{position:fixed;inset:0;z-index:2147483647;display:none;align-items:center;justify-content:center;padding:18px}
.cookie-modal.is-open{display:flex}
.cookie-modal__backdrop{position:absolute;inset:0;background:rgba(10,20,35,.45)}
.cookie-modal__panel{position:relative;z-index:1;width:min(720px,100%);background:#fff;border-radius:18px;border:1px solid rgba(11,43,75,.15);box-shadow:0 30px 90px rgba(0,0,0,.2);padding:18px}
.cookie-modal__h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.cookie-modal__title{font-weight:950;color:#0b2b4b;font-size:18px}
.cookie-modal__close{border:none;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:rgba(11,43,75,.7)}
.cookie-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid rgba(11,43,75,.1)}
.cookie-row:first-of-type{border-top:none}
.cookie-row__label{font-weight:900;color:#0b2b4b}
.cookie-row__meta{color:rgba(11,43,75,.75);font-size:13px;margin-top:3px;line-height:1.25}
.cookie-btn{border:1px solid rgba(11,43,75,.2);border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;background:#fff;color:#0b2b4b}
.cookie-btn.primary{background:linear-gradient(180deg,#0b2b4b,#0a2742);color:#fff;border-color:transparent}
.cookie-btn.ghost{background:transparent}
.cookie-footer{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}
@media (max-width:720px){
  .cookie-banner__card{flex-direction:column;align-items:flex-start}
  .cookie-banner__actions{justify-content:flex-start}
}

/* ===== Footer bottom 3-column layout (center cookie links) ===== */
.footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.footer__left,.footer__right{flex:1 1 260px}
.footer__cookies{flex:0 0 auto;display:flex;gap:8px;justify-content:center;align-items:center;margin:0 auto;font-size:12px;font-weight:800;color:rgba(11,43,75,.78)}
.footer__cookies a{color:rgba(11,43,75,.78);text-decoration:none}
.footer__cookies a:hover{color:var(--brand)}
@media (max-width: 820px){
  .footer__bottom{justify-content:center}
  .footer__left,.footer__right{flex:1 1 100%;text-align:center}
  .footer__cookies{order:3}
}

/* ===== Footer 3-column centering (left / center / right) ===== */
.footer__left{flex:1 1 260px; display:flex; align-items:center; gap:10px;}
.footer__left small{display:block; line-height:1.2}
.footer__right{flex:1 1 260px; text-align:right;}
.footer__right .footer__meta{display:block; line-height:1.2}
.footer__cookies{flex:0 0 auto; margin:0 auto; text-align:center; white-space:nowrap;}
/* keep hover as color only (no underline / double line) */
.footer__cookies a{border-bottom:none !important; text-decoration:none !important;}
.footer__cookies a:hover{border-bottom:none !important; text-decoration:none !important; color:var(--brand);}
@media (max-width: 820px){
  .footer__inner{justify-content:center;}
  .footer__left,.footer__right{flex:1 1 100%; justify-content:center; text-align:center;}
  .footer__cookies{order:3; margin-top:2px;}
}


/* ===== APOYO SLIDE ===== */
.apoyo-layout{
  display:grid;
  grid-template-columns: 1.02fr .98fr;
  gap:18px;
  align-items:start;
}

.apoyo-story p{
  margin:0 0 12px;
  color:var(--muted);
  font-weight:600;
  text-align:justify;
}

.apoyo-story strong{
  color:var(--brand);
  font-weight:900;
}

.apoyo-callout{
  margin-top:14px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(16,64,112,.16);
  background:linear-gradient(180deg, rgba(16,64,112,.08), rgba(16,64,112,.03));
  color:var(--brand);
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}

.apoyo-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.apoyo-card{
  position:relative;
  display:block;
  text-decoration:none;
  color:var(--ink);
  border:1px solid rgba(16,64,112,.18);
  border-radius:20px;
  padding:18px 18px 16px;
  background:rgba(255,255,255,.94);
  backdrop-filter: blur(8px);
  box-shadow:0 18px 40px rgba(0,0,0,.10);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, filter .16s ease;
  overflow:hidden;
}

.apoyo-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.24), transparent 32%);
  pointer-events:none;
}

.apoyo-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 55px rgba(0,0,0,.14);
  border-color:rgba(16,64,112,.28);
  filter:saturate(1.03);
}

.apoyo-card__head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}

.apoyo-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:10px;
  font-size:18px;
  line-height:1;
  background:rgba(16,64,112,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
  flex:0 0 auto;
  margin:0;
}

.apoyo-card h3{
  margin:0;
  font-size:18px;
  line-height:1.2;
  color:var(--brand);
}

.apoyo-card p{
  margin:0;
  color:var(--muted);
  font-weight:600;
  line-height:1.45;
  text-align:left;
}

.apoyo-card__cta{
  display:inline-flex;
  margin-top:12px;
  font-weight:900;
  color:var(--brand);
}

.apoyo-card--coffee .apoyo-card__icon{ background:rgba(177,29,42,.10); }
.apoyo-card--channel .apoyo-card__icon{ background:rgba(16,64,112,.10); }
.apoyo-card--sponsor .apoyo-card__icon{ background:rgba(37,211,102,.12); }

@media (max-width: 960px){
  .apoyo-layout{ grid-template-columns:1fr; }
  .apoyo-card__head{ gap:8px; }
  .apoyo-card__icon{ width:32px; height:32px; font-size:17px; }
  .apoyo-card h3{ font-size:17px; }
}


/* ===== Footer: Hivox + Vibee marks ===== */
.footer__left{
  display:flex;
  align-items:center;
  gap:14px;
}

/* logo HIVOX */
.hivox-mark{
  height:24px;
  width:auto;
  display:block;
  object-fit:contain;
  flex:0 0 auto;
  opacity:.95;
  transform:translateY(.5px);
}

/* logo VIBEE (protagonista) */
.vibee-mark{
  height:32px;
  width:auto;
  display:block;
  object-fit:contain;
  flex:0 0 auto;
}

/* responsive */
@media (max-width:820px){

  .hivox-mark{
    height:20px;
  }

  .vibee-mark{
    height:26px;
  }

}


/* ===== YOUTUBE BOOST RESTORE ===== */
.fab__sbtn.js-social-yt{
  position:relative;
  z-index:3;
  width:50px;
  height:50px;
  background:linear-gradient(180deg,#ff3a32 0%, #e11010 52%, #b80000 100%) !important;
  border:1px solid rgba(140,0,0,.55) !important;
  box-shadow:
    0 16px 34px rgba(122,0,0,.28),
    0 0 0 6px rgba(255,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.24);
  transition:transform .26s cubic-bezier(.22,.61,.36,1),box-shadow .26s cubic-bezier(.22,.61,.36,1),filter .26s ease;
}
.fab__sbtn.js-social-yt:hover,
.fab__sbtn.js-social-yt:focus-visible{
  transform:translateY(-4px) scale(1.09);
  box-shadow:
    0 22px 46px rgba(122,0,0,.36),
    0 0 0 10px rgba(255,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.3);
  filter:saturate(1.08);
}
.fab__sbtn.js-social-yt::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,59,48,.28), rgba(255,0,0,0) 68%);
  opacity:.92;
  pointer-events:none;
  animation:ytAura 2.8s ease-in-out infinite;
}
.fab__sbtn.js-social-yt::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:999px;
  border:2px solid rgba(255,0,0,.34);
  animation:ytPulsePro 3s ease-out infinite;
  pointer-events:none;
}
@keyframes ytPulsePro{
  0%{transform:scale(.86);opacity:.50;}
  70%{transform:scale(1.42);opacity:0;}
  100%{transform:scale(1.42);opacity:0;}
}
@keyframes ytAura{
  0%,100%{transform:scale(.94);opacity:.62;}
  50%{transform:scale(1.12);opacity:1;}
}
.fab__sbtn.js-social-yt > svg{
  position:relative;
  z-index:2;
  fill:#fff;
  width:21px;
  height:21px;
  transition:transform .24s ease;
}
.fab__sbtn.js-social-yt:hover > svg,
.fab__sbtn.js-social-yt:focus-visible > svg{
  transform:scale(1.1);
}
.fab__sbtn.js-social-yt .fab__tooltip{
  right:calc(100% + 16px);
  padding:6px 8px;      /* menos “bloque” */
  border-radius:10px;   /* más fino */
  background:linear-gradient(180deg,#ffffff 0%, #fff5f5 100%);
  border:1px solid rgba(185,0,0,.22);
  box-shadow:0 18px 38px rgba(122,0,0,.18);
  color:#a10000;
  font-size:10px;       /* más pequeño */
  font-weight:800;      /* un poco menos pesado */
  letter-spacing:.03em;
  text-transform:uppercase;
}
.fab__sbtn.js-social-yt .fab__tooltip::after{
  border-left-color:#fff7f7;
}
.fab__sbtn.js-social-yt:hover .fab__tooltip,
.fab__sbtn.js-social-yt:focus-visible .fab__tooltip{
  opacity:1;
  transform:translateY(-50%) translateX(0) scale(1.03);
}
.fab__sbtn.js-social-yt .yt-live-count{
  position:absolute;
  z-index:4;
  right:calc(100% + 14px);
  top:calc(50% + 28px);
  transform:translateY(-50%);
  white-space:nowrap;
  padding:7px 12px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,244,244,.96));
  border:1px solid rgba(185,0,0,.22);
  box-shadow:0 12px 28px rgba(122,0,0,.16);
  color:#970000;
  font-size:11.5px;
  font-weight:1000;
  line-height:1;
  letter-spacing:.02em;
  pointer-events:none;
  opacity:.98;
}
@media (max-width: 960px){
  .fab__sbtn.js-social-yt{
    width:44px;
    height:44px;
  }
  .fab__sbtn.js-social-yt .yt-live-count{ display:none; }
}



/* ===== COMUNIDAD SLIDE FIT ===== */
.slide-head--compact{
  margin-bottom:10px;
}
.slide-head--compact h2{
  margin-bottom:0;
}
.apoyo-layout--compact{
  grid-template-columns:1.08fr .92fr;
  gap:16px;
}
.apoyo-story{
  padding:16px 16px 14px;
}
.apoyo-story h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.12;
  color:var(--ink);
}
.apoyo-story p{
  margin:0 0 10px;
  color:var(--muted);
  font-weight:600;
  text-align:justify;
  font-size:13.5px;
  line-height:1.45;
}
.apoyo-story strong{
  color:var(--brand);
  font-weight:900;
}
.team-strip{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:10px 0 12px;
}
.team-chip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(16,64,112,.12);
  background:linear-gradient(180deg, rgba(16,64,112,.05), rgba(16,64,112,.02));
}
.team-chip > span:last-child{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.team-chip strong{
  font-size:15px;
  color:var(--brand);
}
.team-chip small{
  margin-top:4px;
  font-size:12px;
  font-weight:800;
  color:var(--muted);
}
.flag{
  width:24px;
  height:16px;
  border-radius:4px;
  display:inline-block;
  flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(0,0,0,.08), 0 4px 10px rgba(0,0,0,.08);
  background-size:cover;
  background-position:center;
}
.flag--pe{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3E%3Crect width='8' height='16' fill='%23d91023'/%3E%3Crect x='8' width='8' height='16' fill='%23ffffff'/%3E%3Crect x='16' width='8' height='16' fill='%23d91023'/%3E%3C/svg%3E");
}
.flag--cl{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3E%3Crect width='24' height='16' fill='%23d52b1e'/%3E%3Crect width='24' height='8' fill='%23ffffff'/%3E%3Crect width='8' height='8' fill='%23003aa5'/%3E%3Cpath d='M4 2.1l.59 1.81H6.5L4.96 5.03l.59 1.82L4 5.74 2.45 6.85l.59-1.82L1.5 3.91h1.91z' fill='%23ffffff'/%3E%3C/svg%3E");
}
.flag--ar{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 24 16'%3E%3Crect width='24' height='16' fill='%2374acdf'/%3E%3Crect y='5.333' width='24' height='5.334' fill='%23ffffff'/%3E%3Ccircle cx='12' cy='8' r='1.7' fill='%23f6b40e'/%3E%3C/svg%3E");
}
.apoyo-grid{
  gap:12px;
}
.apoyo-card{
  padding:16px 18px 14px;
}
.apoyo-card__head{
  margin-bottom:8px;
}
.apoyo-card h3{
  font-size:17px;
}
.apoyo-card p{
  font-size:13px;
  line-height:1.45;
  text-align:left;
}
.apoyo-card__cta{
  margin-top:10px;
  font-size:13px;
}
@media (max-width: 1180px){
  .apoyo-story p{ font-size:13px; line-height:1.42; }
  .team-chip strong{ font-size:14px; }
}
@media (max-width: 960px){
  .apoyo-layout--compact{
    grid-template-columns:1fr;
  }
  .apoyo-story{
    padding:18px 16px 16px;
  }
  .apoyo-story h3{
    font-size:21px;
  }
  .apoyo-story p{
    font-size:14px;
    line-height:1.5;
  }
}


/* ===== COMUNIDAD RIGHT INTRO ===== */
.apoyo-grid__intro{
  margin:0 0 4px;
  padding:4px 2px 2px;
  color:var(--muted);
  font-weight:600;
  font-size:13.5px;
  line-height:1.5;
  text-align:justify;
}

@media (max-width: 960px){
  .apoyo-grid__intro{
    font-size:14px;
    padding:0;
  }
}



/* ===== COMUNIDAD VISUAL BALANCE ===== */
.apoyo-layout--compact{
  grid-template-columns:1.08fr .92fr;
  gap:18px;
}

.apoyo-story{
  padding:16px 16px 14px;
}

.apoyo-story h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.12;
  color:var(--ink);
}

.apoyo-story p{
  margin:0 0 10px;
  color:var(--muted);
  font-weight:600;
  text-align:justify;
  font-size:13.35px;
  line-height:1.42;
}

.team-strip{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin:10px 0 12px;
}

.team-chip{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(16,64,112,.10);
  background:linear-gradient(180deg, rgba(16,64,112,.045), rgba(16,64,112,.018));
}

.team-chip strong{
  font-size:13.5px;
  color:var(--brand);
  line-height:1.05;
}

.team-chip small{
  margin-top:3px;
  font-size:11px;
  font-weight:800;
  color:var(--muted);
  letter-spacing:.02em;
}

.flag{
  width:21px;
  height:14px;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(0,0,0,.07), 0 3px 8px rgba(0,0,0,.06);
}

.apoyo-grid{
  gap:10px;
  align-content:start;
}

.apoyo-grid__intro{
  margin:0 0 2px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(16,64,112,.10);
  background:linear-gradient(180deg, rgba(16,64,112,.045), rgba(16,64,112,.018));
  color:var(--muted);
  font-weight:600;
  font-size:13.2px;
  line-height:1.42;
  text-align:justify;
}

.apoyo-card{
  padding:15px 16px 13px;
  border-radius:18px;
}

.apoyo-card__head{
  gap:9px;
  margin-bottom:8px;
}

.apoyo-card__icon{
  width:32px;
  height:32px;
  border-radius:9px;
  font-size:17px;
}

.apoyo-card h3{
  font-size:16px;
  line-height:1.18;
}

.apoyo-card p{
  font-size:12.9px;
  line-height:1.42;
}

.apoyo-card__cta{
  margin-top:9px;
  font-size:12.8px;
}

@media (max-width: 1180px){
  .apoyo-story p{
    font-size:13px;
  }
  .apoyo-grid__intro{
    font-size:13px;
  }
  .team-chip strong{
    font-size:13px;
  }
}

@media (max-width: 960px){
  .apoyo-layout--compact{
    grid-template-columns:1fr;
    gap:14px;
  }

  .apoyo-story{
    padding:18px 16px 16px;
  }

  .apoyo-story h3{
    font-size:21px;
  }

  .apoyo-story p{
    font-size:14px;
    line-height:1.5;
  }

  .team-chip{
    padding:9px 10px;
  }

  .team-chip strong{
    font-size:14px;
  }

  .team-chip small{
    font-size:11px;
  }

  .flag{
    width:22px;
    height:15px;
  }

  .apoyo-grid__intro{
    font-size:13.8px;
    padding:10px 12px;
  }

  .apoyo-card h3{
    font-size:17px;
  }

  .apoyo-card p{
    font-size:13.5px;
  }
}



/* ===== COMUNIDAD TEAM HORIZONTAL ===== */
.team-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
  margin:8px 0 10px;
}

.team-chip{
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px 9px;
  min-width:0;
  border-radius:12px;
}

.team-chip > span:last-child{
  min-width:0;
}

.team-chip strong{
  display:block;
  font-size:12.6px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.team-chip small{
  display:block;
  margin-top:2px;
  font-size:10.6px;
  line-height:1;
}

.flag{
  width:20px;
  height:13px;
  border-radius:3px;
  flex:0 0 auto;
}

.apoyo-story p{
  font-size:13.1px;
  line-height:1.39;
}

.apoyo-grid__intro{
  font-size:13px;
  line-height:1.38;
}

.apoyo-card{
  padding:14px 15px 12px;
}

.apoyo-card h3{
  font-size:15.5px;
}

.apoyo-card p{
  font-size:12.6px;
  line-height:1.38;
}

@media (max-width: 1080px){
  .team-strip{
    grid-template-columns:1fr;
  }

  .team-chip strong{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    font-size:13.4px;
  }

  .team-chip small{
    font-size:11px;
  }

  .flag{
    width:21px;
    height:14px;
  }
}

@media (max-width: 960px){
  .team-strip{
    grid-template-columns:1fr;
  }

  .apoyo-story p{
    font-size:14px;
    line-height:1.5;
  }

  .apoyo-grid__intro{
    font-size:13.8px;
    line-height:1.45;
  }
}



/* ===== COMUNIDAD RIGHT COLUMN MICRO TWEAK ===== */
.apoyo-grid{
  gap:8px;
}

.apoyo-grid__intro{
  margin:0 0 1px;
}

@media (max-width: 960px){
  .apoyo-grid{
    gap:10px;
  }
}


/* ===== SPONSORS SLIDE ===== */
.sponsors-layout{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:18px;
  align-items:start;
}

.sponsors-story{
  padding:16px 16px 14px;
}

.sponsors-story h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.12;
  color:var(--ink);
}

.sponsors-story p{
  margin:0 0 11px;
  color:var(--muted);
  font-weight:600;
  text-align:justify;
  font-size:13.25px;
  line-height:1.42;
}

.sponsor-mention{
  display:flex;
  align-items:center;
  gap:12px;
  margin:10px 0 12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(16,64,112,.10);
  background:linear-gradient(180deg, rgba(16,64,112,.045), rgba(16,64,112,.018));
}

.sponsor-mention__logo{
  width:120px;
  flex:0 0 120px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.sponsor-mention__logo img{
  width:100%;
  height:auto;
  display:block;
}

.sponsor-mention__text{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.sponsor-mention__text strong{
  color:var(--brand);
  font-size:15px;
}

.sponsor-mention__text span{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  margin-top:4px;
}

.sponsors-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-content:start;
}

.sponsor-card{
  display:block;
  text-decoration:none;
  color:var(--ink);
  border:1px solid rgba(16,64,112,.18);
  border-radius:20px;
  padding:15px 16px 14px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 40px rgba(0,0,0,.10);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, filter .16s ease;
}

.sponsor-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 55px rgba(0,0,0,.14);
  border-color:rgba(16,64,112,.28);
  filter:saturate(1.03);
}

.sponsor-card__logo{
  height:74px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
  overflow:hidden;
}

.sponsor-card__logo--light{
  background:#ffffff;
  border:1px solid rgba(16,64,112,.08);
}

.sponsor-card__logo--dark{
  background:#141414;
  border:1px solid rgba(0,0,0,.18);
}

.sponsor-card__logo img{
  max-width:80%;
  max-height:56px;
  width:auto;
  height:auto;
  display:block;
}

.sponsor-card__body h3{
  margin:0 0 6px;
  color:var(--brand);
  font-size:17px;
  line-height:1.2;
}

.sponsor-card__body p{
  margin:0;
  color:var(--muted);
  font-weight:600;
  font-size:12.9px;
  line-height:1.42;
}

.sponsor-card__cta{
  display:inline-flex;
  margin-top:10px;
  font-weight:900;
  color:var(--brand);
  font-size:12.8px;
}

@media (max-width: 960px){
  .sponsors-layout{
    grid-template-columns:1fr;
    gap:14px;
  }

  .sponsors-story{
    padding:18px 16px 16px;
  }

  .sponsors-story h3{
    font-size:21px;
  }

  .sponsors-story p{
    font-size:14px;
    line-height:1.5;
  }

  .sponsor-mention{
    align-items:flex-start;
  }

  .sponsor-mention__logo{
    width:96px;
    flex-basis:96px;
  }

  .sponsor-card__body h3{
    font-size:17px;
  }

  .sponsor-card__body p{
    font-size:13.5px;
  }
}


/* ===== SPONSORS CTA / LOGO TWEAK ===== */
.sponsor-card__cta-wrap{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:10px;
}

.sponsor-card__cta{
  margin-top:0;
}

.sponsor-card__cta--muted{
  color:var(--muted);
  font-weight:800;
}


/* ===== SPONSORS CTA LINKS ===== */
.sponsor-card--static{
  cursor:default;
}

.sponsor-card__links{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.sponsor-card__sep{
  color:rgba(16,64,112,.35);
  font-weight:900;
}

.sponsor-card__cta{
  display:inline-flex;
  margin-top:0;
  font-weight:900;
  color:var(--brand);
  font-size:12.8px;
}

.sponsor-card__cta--link{
  text-decoration:none;
}

.sponsor-card__cta--link:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.sponsor-card__cta--muted{
  display:none;
}


/* ===== PREMIUM VISUAL POLISH 2026 ===== */
:root{
  --bg:#f6f8fb;
  --alt:#eef3f8;
  --border:rgba(12,47,85,.14);
  --border-strong:rgba(12,47,85,.22);
  --surface:rgba(255,255,255,.78);
  --surface-strong:rgba(255,255,255,.92);
  --surface-soft:rgba(255,255,255,.68);
  --shadow-xs:0 8px 20px rgba(7,21,41,.06);
  --shadow-sm:0 14px 34px rgba(7,21,41,.08);
  --shadow-md:0 22px 54px rgba(7,21,41,.12);
  --shadow-lg:0 28px 70px rgba(7,21,41,.16);
  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:26px;
  --header-h:84px;
  --footer-h:58px;
}

html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
body{
  letter-spacing:.01em;
  background:
    radial-gradient(circle at top left, rgba(16,64,112,.035), transparent 28%),
    radial-gradient(circle at top right, rgba(16,64,112,.03), transparent 24%),
    linear-gradient(180deg, #fbfcfe 0%, #f4f7fb 100%);
}
p,
li,
input,
textarea,
small{
  letter-spacing:.005em;
}
p,
.badge__text,
.muted,
.lead,
.apoyo-story p,
.apoyo-grid__intro,
.sponsors-story p,
.sponsor-card__body p,
.policy-copy p,
.policy-copy li,
.policy-copy td{
  text-wrap:pretty;
}
.lead,
.muted,
.badge__text,
.apoyo-story p,
.apoyo-grid__intro,
.sponsors-story p,
.sponsor-card__body p{
  color:rgba(11,43,75,.78);
}
.lead,
.panel p,
.card p,
.badge__text{
  line-height:1.65;
}

.header{
  background:rgba(255,255,255,.72);
  border-bottom:1px solid rgba(12,47,85,.10);
  box-shadow:0 10px 30px rgba(7,21,41,.06);
  backdrop-filter: blur(16px) saturate(1.15);
}
.header__inner{
  gap:18px;
  padding:10px 0;
}
.brand__logo{
  height:52px;
}
.brand__name{
  font-size:17px;
  letter-spacing:.015em;
}
.brand__tagline{
  font-size:9.5px;
  letter-spacing:.09em;
  opacity:.82;
}
.nav{
  gap:14px;
}
.nav a{
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
}
.nav a:not(.btn){
  position:relative;
}
.nav a:not(.btn)::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-6px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(16,64,112,.0), rgba(16,64,112,.38), rgba(16,64,112,0));
  transform:scaleX(.35);
  opacity:0;
  transition:opacity .18s ease, transform .18s ease;
}
.nav a:not(.btn):hover::after,
.nav a[aria-current="page"]::after{
  opacity:1;
  transform:scaleX(1);
}
.lang{
  background:rgba(255,255,255,.66);
  border-color:rgba(12,47,85,.12);
}
.nav__toggle{
  border-radius:14px;
  box-shadow:var(--shadow-xs);
}

.btn{
  min-height:44px;
  padding:11px 17px;
  border-radius:999px;
  border:1px solid rgba(12,47,85,.14);
  box-shadow:var(--shadow-xs);
  font-size:14px;
  letter-spacing:.01em;
}
.btn--primary{
  background:linear-gradient(180deg, #13497f 0%, #0b2f56 100%);
  box-shadow:0 14px 30px rgba(16,64,112,.20), inset 0 1px 0 rgba(255,255,255,.14);
}
.btn--primary:hover{
  box-shadow:0 18px 44px rgba(16,64,112,.26), inset 0 1px 0 rgba(255,255,255,.18);
}
.btn--ghost{
  background:rgba(255,255,255,.76);
  border-color:rgba(12,47,85,.14);
  box-shadow:0 10px 24px rgba(7,21,41,.07);
}

.panel,
.card,
.hero__art,
.contact-item,
.stat,
.apoyo-card,
.sponsor-card,
.team-chip,
.apoyo-grid__intro,
.sponsor-mention,
.policy-card,
.cookie-banner__card,
.cookie-modal__panel{
  background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.82) 100%);
  border:1px solid rgba(12,47,85,.12);
  box-shadow:var(--shadow-sm);
}
.panel,
.card,
.hero__art,
.apoyo-card,
.sponsor-card,
.policy-card{
  position:relative;
  overflow:hidden;
}
.panel::before,
.card::before,
.hero__art::before,
.apoyo-card::before,
.sponsor-card::before,
.policy-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.34), transparent 28%);
  pointer-events:none;
}
.panel{border-radius:22px;padding:18px;box-shadow:var(--shadow-md);}
.panel--tight{padding:16px 17px;}
.card{border-radius:20px;padding:16px 16px 15px;}
.card h3,
.panel h3,
.sponsor-card__body h3,
.apoyo-card h3,
.apoyo-story h3,
.sponsors-story h3,
.policy-copy h2{
  letter-spacing:-.018em;
}
.panel:hover,
.card:hover,
.apoyo-card:hover,
.sponsor-card:hover,
.hero__art:hover{
  box-shadow:var(--shadow-lg);
}
.hero__art{
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(244,248,253,.78));
  box-shadow:0 28px 70px rgba(7,21,41,.14);
}
.hero__badge{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(12,47,85,.12);
  border-radius:18px;
  box-shadow:0 12px 28px rgba(7,21,41,.08);
}
.pill{
  background:rgba(255,255,255,.72);
  border-color:rgba(12,47,85,.12);
  box-shadow:0 8px 18px rgba(7,21,41,.06);
  font-size:13px;
}

.slide__inner{
  padding:22px 0;
}
.slide-head{
  margin-bottom:14px;
}
.slide-head h2,
section[data-slide="contacto"] .slide-head h2,
.slide-head--compact h2{
  letter-spacing:-.03em;
  line-height:1.04 !important;
}
.grid-2,
.split,
.cards,
.stats-row,
.form__grid,
.contact-strip,
.apoyo-layout,
.sponsors-layout{
  gap:16px;
}
.bullets li,
.policy-copy li{
  text-align:justify;
}
.card p,
.panel p,
.badge__text,
.apoyo-story p,
.apoyo-grid__intro,
.sponsors-story p,
.sponsor-card__body p,
.policy-copy p,
.policy-copy td{
  text-align:justify;
}
.stats-row{margin-top:14px;}
.stat{
  border-radius:16px;
  padding:12px 14px;
  box-shadow:0 10px 24px rgba(7,21,41,.06);
}

.side-nav{
  left:18px;
  padding:10px 8px;
  gap:6px;
  border-radius:20px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(12,47,85,.10);
  box-shadow:0 18px 48px rgba(7,21,41,.10);
  backdrop-filter:blur(14px) saturate(1.08);
}
.side-nav::before{
  left:16px;
  top:16px;
  bottom:16px;
  background:linear-gradient(180deg, rgba(16,64,112,.05), rgba(16,64,112,.16), rgba(16,64,112,.05));
}
.side-nav__item{
  padding:9px 12px 9px 30px;
  min-height:38px;
  border-radius:14px;
  color:rgba(11,43,75,.74);
}
.side-nav__item:hover{
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 24px rgba(7,21,41,.06);
}
.side-nav__dot{
  left:10px;
  width:11px;
  height:11px;
  background:linear-gradient(180deg, rgba(16,64,112,.34), rgba(12,47,85,.20));
  clip-path:polygon(25% 6.7%, 75% 6.7%, 100% 50%, 75% 93.3%, 25% 93.3%, 0% 50%);
  box-shadow:0 0 0 5px rgba(16,64,112,.06);
}
.side-nav__label{
  font-size:11.5px;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.side-nav__item[aria-current="page"]{
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 24px rgba(7,21,41,.07);
}

label{
  font-size:13px;
  letter-spacing:.02em;
  color:var(--brand-2);
}
input,
textarea{
  padding:13px 14px;
  border-radius:14px;
  border:1px solid rgba(12,47,85,.12);
  background:rgba(255,255,255,.94);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 8px 18px rgba(7,21,41,.04);
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease;
}
input::placeholder,
textarea::placeholder{
  color:rgba(11,43,75,.42);
}
input:hover,
textarea:hover{
  border-color:rgba(12,47,85,.18);
  background:#fff;
}
input:focus,
textarea:focus{
  border-color:rgba(16,64,112,.34);
  box-shadow:0 0 0 4px rgba(16,64,112,.08), 0 14px 28px rgba(7,21,41,.07);
  background:#fff;
}
.form-status{
  border-radius:16px;
  box-shadow:0 20px 48px rgba(7,21,41,.14);
}

.footer{
  background:rgba(255,255,255,.72);
  border-top:1px solid rgba(12,47,85,.10);
  box-shadow:0 -10px 30px rgba(7,21,41,.05);
  backdrop-filter:blur(14px) saturate(1.08);
}
.footer__inner{
  gap:16px;
}
.footer__left,
.footer__right,
.footer__cookies{
  align-items:center;
}
.footer__cookies{
  padding:7px 12px;
  border:1px solid rgba(12,47,85,.10);
  border-radius:999px;
  background:rgba(255,255,255,.5);
  box-shadow:0 8px 18px rgba(7,21,41,.05);
}
.footer small,
.footer__meta,
.footer__cookies,
.footer__cookies a{
  font-size:11.8px;
  letter-spacing:.02em;
}
.hivox-mark{opacity:.9}
.vibee-mark{opacity:.82}

.policy-shell{
  padding:38px 18px 84px;
}
.policy-card{
  border-radius:30px;
  box-shadow:0 28px 70px rgba(7,21,41,.12);
}
.policy-inner{
  max-width:1000px;
}
.policy-copy p,
.policy-copy li,
.policy-copy td{
  font-size:15.5px;
  line-height:1.72;
}
.policy-copy h2{
  margin:30px 0 12px;
}
.policy-table-wrap{
  border-radius:16px;
  box-shadow:0 12px 28px rgba(7,21,41,.06);
}
.policy-table thead tr{
  background:rgba(11,43,75,.055);
}
.policy-table th,
.policy-table td{
  padding:13px 15px;
}
.policy-back{
  text-decoration:none;
  border-bottom:1px solid rgba(12,47,85,.18);
  padding-bottom:2px;
}

@media (max-width: 960px){
  :root{ --header-h:78px; --footer-h:auto; }
  .header__inner{ padding:9px 0; }
  .brand__logo{ height:46px; }
  .nav{
    top:70px;
    border-radius:18px;
    padding:14px;
    box-shadow:0 24px 56px rgba(7,21,41,.14);
  }
  .slide__inner{ padding:58px 0; }
  .footer__cookies{ white-space:normal; }
}

@media (max-width: 820px){
  .policy-shell{ padding:22px 12px 58px; }
  .policy-card{ border-radius:24px; }
}



/* ===== COVERAGE SLIDE REFINED ===== */
#cobertura .slide__inner{
  align-items:stretch;
  padding:14px 0 16px;
}
.coverage-shell{
  display:flex;
  flex-direction:column;
  gap:12px;
  height:100%;
  justify-content:center;
}
.coverage-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:14px;
  align-items:end;
}
.coverage-head .lead{
  max-width:58ch;
  margin:2px 0 0;
}
.coverage-kpis{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.coverage-kpi{
  min-width:112px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(12,47,85,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(245,249,253,.84));
  box-shadow:0 10px 24px rgba(7,21,41,.08);
  text-align:center;
}
.coverage-kpi__value{
  display:block;
  font-size:22px;
  line-height:1;
  font-weight:900;
  color:var(--brand);
}
.coverage-kpi__label{
  display:block;
  margin-top:6px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(11,43,75,.68);
}
.coverage-grid{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(320px, .9fr);
  gap:18px;
  align-items:stretch;
}
.coverage-map-card{
  min-width:0;
  border:1px solid rgba(12,47,85,.12);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(246,249,253,.90));
  box-shadow:0 18px 40px rgba(7,21,41,.10);
  padding:18px;
}
.coverage-map-wrap{
  height:100%;
  display:grid;
  grid-template-rows:minmax(0, 1fr) auto;
  gap:12px;
}
.coverage-map-stage{
  position:relative;
  min-height:320px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(16,64,112,.10);
  background:linear-gradient(180deg, #eef4fb, #e3edf8);
}
.coverage-map{
  display:block;
  width:100%;
  height:100%;
}
.coverage-map__grid path{
  stroke:rgba(16,64,112,.09);
  stroke-width:1.35;
}
.coverage-map__land path{
  fill:#c5d5e7;
  stroke:#a5bdd6;
  stroke-width:3;
  stroke-linejoin:round;
  stroke-linecap:round;
}
.coverage-marker{
  position:absolute;
  width:18px;
  height:18px;
  margin:-9px 0 0 -9px;
  border:none;
  border-radius:999px;
  cursor:pointer;
  background:radial-gradient(circle at 35% 35%, #ffebef 0 28%, #c53b52 30%, #a91e32 100%);
  box-shadow:0 0 0 8px rgba(177,29,42,.10), 0 8px 18px rgba(169,30,50,.18);
  transition:transform .16s ease, box-shadow .16s ease;
}
.coverage-marker::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:999px;
  border:2px solid rgba(177,29,42,.24);
  animation:coveragePulse 2.4s ease-out infinite;
}
.coverage-marker:hover,
.coverage-marker.is-active{
  transform:scale(1.14);
  box-shadow:0 0 0 10px rgba(177,29,42,.14), 0 10px 22px rgba(169,30,50,.24);
}
.coverage-marker.is-active::after{
  border-color:rgba(177,29,42,.34);
}
@keyframes coveragePulse{
  0%{transform:scale(.82);opacity:.65;}
  65%{transform:scale(1.45);opacity:0;}
  100%{transform:scale(1.45);opacity:0;}
}
.coverage-mini-card{
  position:absolute;
  left:18px;
  bottom:18px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  max-width:300px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(12,47,85,.12);
  box-shadow:0 18px 34px rgba(7,21,41,.14);
  backdrop-filter:blur(8px);
}
.coverage-mini-card__flag{
  font-size:26px;
  line-height:1;
}
.coverage-mini-card strong{
  display:block;
  color:var(--ink);
  font-size:15px;
}
.coverage-mini-card span:last-child{
  display:block;
  margin-top:4px;
  color:rgba(11,43,75,.72);
  font-size:12px;
  line-height:1.35;
}
.coverage-country-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.coverage-country-chip{
  border:1px solid rgba(12,47,85,.12);
  background:rgba(255,255,255,.92);
  border-radius:999px;
  padding:8px 12px;
  font:inherit;
  font-weight:800;
  color:rgba(11,43,75,.82);
  cursor:pointer;
  box-shadow:0 8px 18px rgba(7,21,41,.05);
  transition:transform .14s ease, border-color .14s ease, color .14s ease;
}
.coverage-country-chip:hover,
.coverage-country-chip.is-active{
  transform:translateY(-1px);
  color:var(--brand);
  border-color:rgba(16,64,112,.24);
}
.coverage-detail{
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  border-radius:28px;
  border-top-left-radius: 28px;
  border-top-right-radius: 28px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(15, 63, 114, 0.08);
  padding:20px;
}
.coverage-detail__eyebrow{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(11,43,75,.56);
}
.coverage-detail__country{
  display:flex;
  align-items:center;
  gap:12px;
}
.coverage-detail__flag{
  font-size:34px;
  line-height:1;
  filter:drop-shadow(0 6px 12px rgba(7,21,41,.10));
}
.coverage-detail__country h3{
  margin:0;
  font-size:22px;
}
.coverage-detail__country p{
  margin:4px 0 0;
  color:rgba(11,43,75,.68);
  font-weight:800;
}
.coverage-detail__badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.coverage-badge{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(16,64,112,.08);
  color:var(--brand);
  font-size:13px;
  font-weight:900;
  line-height:1.2;
}
.coverage-badge--soft{
  background:rgba(177,29,42,.10);
  color:#9b1d2d;
}
.coverage-detail__cards{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:14px;
}
.coverage-info-card{
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(12,47,85,.12);
  background:rgba(255,255,255,.74);
}
.coverage-info-card__k{
  display:block;
  font-size:11px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--brand);
}
.coverage-info-card p{
  margin:8px 0 0;
  font-size:14px;
  line-height:1.35;
  font-weight:800;
  color:var(--ink);
}
.coverage-detail__desc{
  margin:14px 0 0;
  padding-top:14px;
  border-top:1px solid rgba(12,47,85,.10);
  color:rgba(11,43,75,.78);
  font-size:14px;
  line-height:1.62;
  text-align:justify;
}
:root[data-scene="cobertura"] .coverage-map-stage{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
@media (max-width: 1180px){
  .coverage-grid{
    grid-template-columns:minmax(0, 1.2fr) minmax(300px, .95fr);
    gap:14px;
  }
  .coverage-kpi{
    min-width:96px;
    padding:10px 12px;
  }
  .coverage-map-card{padding:16px;}
}
@media (max-width: 960px){
  #cobertura .slide__inner{
    padding:54px 0;
  }
  .coverage-head{
    grid-template-columns:1fr;
    align-items:start;
  }
  .coverage-kpis{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .coverage-grid{
    grid-template-columns:1fr;
  }
  .coverage-map-stage{
    min-height:280px;
  }
  .coverage-detail{
    padding:18px;
  }
}
@media (max-width: 640px){
  .coverage-kpis{
    grid-template-columns:1fr;
  }
  .coverage-map-card{
    padding:12px;
    border-radius:22px;
  }
  .coverage-map-stage{
    min-height:220px;
    border-radius:18px;
  }
  .coverage-mini-card{
    left:12px;
    right:12px;
    bottom:12px;
    max-width:none;
  }
  .coverage-country-list{
    gap:8px;
  }
  .coverage-country-chip{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* ===== COVERAGE REAL MAP REFINEMENT ===== */
.coverage-shell{padding-top:4px;}
.coverage-head{margin-bottom:12px;align-items:end;}
.coverage-head .lead{max-width:580px;margin-bottom:0;}
.coverage-kpis{gap:12px;}
.coverage-kpi{min-width:0;padding:16px 18px 14px;min-height:82px;}
.coverage-grid{grid-template-columns:minmax(0,1.52fr) minmax(350px,.86fr);align-items:stretch;gap:18px;}
.coverage-map-card{padding:14px;}
.coverage-map-wrap{height:100%;}
.coverage-map-stage{position:relative;min-height:404px;height:404px;border-radius:28px;overflow:hidden;background:linear-gradient(180deg, rgba(238,244,251,.92), rgba(222,233,246,.96));}
.coverage-map{width:100%;height:100%;display:block;}
.coverage-map__grid path{stroke:rgba(16,64,112,.10);stroke-width:1.1;}
.coverage-map__allcountries path{fill:#bfd0e3;stroke:#9fb8d6;stroke-width:1.2;vector-effect:non-scaling-stroke;}
.coverage-map__visited .coverage-map__country{fill:#afc6e0;stroke:#89a8ca;stroke-width:1.6;vector-effect:non-scaling-stroke;}
.coverage-map__country--australia,.coverage-map__country--republica-dominicana,.coverage-map__country--chile,.coverage-map__country--ecuador,.coverage-map__country--colombia{fill:#9ab8d8;stroke:#6f96c0;}
.coverage-marker{width:18px;height:18px;background:radial-gradient(circle at 35% 35%, #fff 0 28%, #df4a63 30%, #bf213e 68%, #8f1028 100%);border:2px solid rgba(255,255,255,.92);box-shadow:0 10px 18px rgba(177,29,42,.22);}
.coverage-marker::after{inset:-8px;background:radial-gradient(circle, rgba(177,29,42,.22), transparent 66%);}
.coverage-mini-card{left:18px;top:18px;max-width:240px;padding:12px 14px;border-radius:18px;box-shadow:0 18px 38px rgba(7,21,41,.13);}
.coverage-mini-card strong{display:flex;align-items:center;gap:8px;color:var(--ink);}
.coverage-mini-card span:last-child{margin-top:2px;font-size:12px;}
.coverage-detail{padding:18px 20px 18px;min-height:404px;justify-content:flex-start;}
.coverage-detail__eyebrow{margin-bottom:14px;}
.coverage-detail__country{display:block;margin-bottom:10px;}
.coverage-detail__country h3{display:flex;align-items:center;gap:12px;margin:0;line-height:1;}
.coverage-detail__country p{margin:4px 0 0 56px;line-height:1.1;}
.coverage-detail__flag{width:42px;height:42px;border-radius:999px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(16,64,112,.14);box-shadow:0 10px 22px rgba(7,21,41,.08);flex:0 0 auto;}
.coverage-mini-card__flag{width:34px;height:34px;}
.coverage-detail__badges{gap:10px;margin-bottom:14px;}
.coverage-badge{font-size:13px;}
.coverage-detail__cards{gap:12px;margin-bottom:12px;}
.coverage-info-card{padding:14px 16px;}
.coverage-info-card p{font-size:13px;line-height:1.42;}
.coverage-detail__desc{margin-top:2px;font-size:13px;line-height:1.6;}
@media (max-width:1280px){.coverage-grid{grid-template-columns:minmax(0,1.38fr) minmax(320px,.92fr);} .coverage-map-stage,.coverage-detail{min-height:392px;height:auto;}}
@media (max-width:960px){.coverage-head{align-items:stretch;} .coverage-grid{grid-template-columns:1fr;} .coverage-map-stage{min-height:340px;height:340px;} .coverage-detail{min-height:auto;} .coverage-detail__country p{margin-left:52px;} .coverage-mini-card{max-width:220px;}}
@media (max-width:640px){.coverage-map-stage{min-height:300px;height:300px;} .coverage-kpis{grid-template-columns:repeat(3,1fr);} .coverage-kpi{padding:12px 10px;min-height:72px;} .coverage-kpi__value{font-size:16px;} .coverage-kpi__label{font-size:10px;}}


/* ===== COBERTURA PREMIUM ACTUALIZADA ===== */
section[data-slide="cobertura"] .coverage-mini-card{
  left: 16px;
  bottom: 16px;
  gap: 8px;
  max-width: 180px;
  min-width: 146px;
  padding: 9px 11px;
  border-radius: 14px;
  box-shadow: 0 12px 24px rgba(7,21,41,.10);
}
section[data-slide="cobertura"] .coverage-mini-card__flag{
  font-size: 22px;
}
section[data-slide="cobertura"] .coverage-mini-card strong{
  font-size: 14px;
  line-height: 1.15;
}
section[data-slide="cobertura"] .coverage-mini-card span:last-child,
section[data-slide="cobertura"] #coverageMiniMeta{
  display: none !important;
}

section[data-slide="cobertura"] .coverage-detail{
  position: relative;
  overflow: hidden;
}
section[data-slide="cobertura"] .coverage-detail__ribbon{
  position: absolute;
  top: 8px;
  right: 14px;
  width: 34px;
  height: auto;
  z-index: 5;
  pointer-events: none;
  opacity: .98;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.12));
}

section[data-slide="cobertura"] .coverage-detail__country p{
  color: rgba(11, 43, 75, 0.72);
  font-weight: 500;
}
section[data-slide="cobertura"] .coverage-info-card__k{
  color: rgba(11, 43, 75, 0.60);
  font-weight: 700;
  letter-spacing: 0.08em;
}
section[data-slide="cobertura"] .coverage-info-card p,
section[data-slide="cobertura"] .coverage-detail__desc{
  color: rgba(11, 43, 75, 0.72);
  font-weight: 500;
  line-height: 1.5;
}
section[data-slide="cobertura"] .coverage-badge--soft{
  color: #9b1d2d;
}

@media (max-width: 1280px){
  section[data-slide="cobertura"] .coverage-detail__ribbon{
    width: 31px;
    right: 12px;
  }
}


/* ===== COBERTURA RESTAURADA: ENCAJE + TIPOGRAFÍA + MINI CARD ===== */
section[data-slide="cobertura"] .slide__inner{
  padding: 6px 0 4px;
}
section[data-slide="cobertura"] .coverage-head{
  margin-bottom: 8px;
}
section[data-slide="cobertura"] .coverage-head h2{
  margin-bottom: 4px;
}
section[data-slide="cobertura"] .coverage-head .lead{
  max-width: 600px;
  font-size: clamp(14px, 1.25vw, 16px);
  line-height: 1.38;
}
section[data-slide="cobertura"] .coverage-kpis{
  gap: 9px;
}
section[data-slide="cobertura"] .coverage-kpi{
  min-height: 70px;
  padding: 12px 15px 10px;
}
section[data-slide="cobertura"] .coverage-grid{
  gap: 14px;
}
section[data-slide="cobertura"] .coverage-map-card{
  padding: 10px;
}
section[data-slide="cobertura"] .coverage-map-stage{
  min-height: 370px;
  height: 370px;
}
section[data-slide="cobertura"] .coverage-detail{
  min-height: 370px;
  padding: 14px 16px;
  position: relative;
  overflow: hidden;
}
section[data-slide="cobertura"] .coverage-detail__eyebrow{
  margin-bottom: 10px;
  font-size: 11px;
}
section[data-slide="cobertura"] .coverage-detail__country h3{
  font-size: 18px;
}
section[data-slide="cobertura"] .coverage-detail__country p{
  margin-top: 6px;
  color: rgba(11, 43, 75, 0.72);
  font-size: 11px;
  font-weight: 500;
}
section[data-slide="cobertura"] .coverage-detail__badges{
  gap: 8px;
  margin-top: 12px;
}
section[data-slide="cobertura"] .coverage-badge{
  font-size: 11.5px;
  padding: 7px 11px;
}
section[data-slide="cobertura"] .coverage-badge--soft{
  color: #9b1d2d;
}
section[data-slide="cobertura"] .coverage-detail__cards{
  gap: 8px;
  margin-top: 12px;
}
section[data-slide="cobertura"] .coverage-info-card{
  padding: 10px 12px;
}
section[data-slide="cobertura"] .coverage-info-card__k{
  margin-bottom: 5px;
  color: rgba(11, 43, 75, 0.60);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
section[data-slide="cobertura"] .coverage-info-card p,
section[data-slide="cobertura"] .coverage-detail__desc{
  color: rgba(11, 43, 75, 0.72);
  font-size: 11.5px;
  line-height: 1.45;
  font-weight: 500;
}
section[data-slide="cobertura"] .coverage-detail__ribbon{
  width: 34px;
  top: 0;
  right: 14px;
  z-index: 5;
  opacity: .98;
  filter: drop-shadow(0 8px 14px rgba(0,0,0,.12));
}
section[data-slide="cobertura"] .coverage-mini-card{
  left: 18px !important;
  right: auto !important;
  top: auto !important;
  bottom: 18px !important;
  width: 220px;
  max-width: 220px;
  min-height: 72px;
  padding: 10px 14px;
  align-items: center;
  gap: 10px;
  border-radius: 16px;
}
section[data-slide="cobertura"] .coverage-mini-card__flag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
section[data-slide="cobertura"] .coverage-mini-card strong{
  font-size: 13px;
  line-height: 1.2;
}
section[data-slide="cobertura"] .coverage-mini-card span:last-child{
  display: none !important;
}
@media (max-width:1280px){
  section[data-slide="cobertura"] .coverage-map-stage,
  section[data-slide="cobertura"] .coverage-detail{
    min-height: 356px;
    height: auto;
  }
  section[data-slide="cobertura"] .coverage-detail__ribbon{
    width: 31px;
    right: 12px;
  }
}


/* ===== COBERTURA: MARCADORES PREMIUM ===== */
section[data-slide="cobertura"] .coverage-map-stage{
  overflow: hidden;
}

section[data-slide="cobertura"] .coverage-marker{
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: radial-gradient(circle at 35% 35%, #ffffff 0 18%, #f7dbe1 19%, #d83e54 48%, #b61f31 72%, #911626 100%);
  border: 2px solid rgba(255,255,255,.96);
  box-shadow:
    0 0 0 6px rgba(177,29,42,.10),
    0 8px 18px rgba(177,29,42,.22);
  transform: translate(-50%, -50%);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  animation: coveragePulse 2.8s ease-in-out infinite;
}

section[data-slide="cobertura"] .coverage-marker::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:999px;
  border: 2px solid rgba(177,29,42,.20);
  opacity: .55;
  animation: coverageRing 2.8s ease-out infinite;
}

section[data-slide="cobertura"] .coverage-marker::after{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:999px;
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,.95), rgba(255,255,255,.18) 65%, transparent 70%);
  opacity:.85;
}

section[data-slide="cobertura"] .coverage-marker:hover,
section[data-slide="cobertura"] .coverage-marker:focus-visible{
  transform: translate(-50%, -50%) scale(1.12);
  box-shadow:
    0 0 0 8px rgba(177,29,42,.14),
    0 12px 24px rgba(177,29,42,.28);
  filter: saturate(1.04);
}

section[data-slide="cobertura"] .coverage-marker.is-active{
  z-index: 3;
  transform: translate(-50%, -50%) scale(1.18);
  box-shadow:
    0 0 0 9px rgba(177,29,42,.15),
    0 14px 26px rgba(177,29,42,.34);
}

section[data-slide="cobertura"] .coverage-marker.is-active::before{
  border-color: rgba(177,29,42,.28);
  opacity:.72;
}

section[data-slide="cobertura"] .coverage-map-stage.is-updating .coverage-mini-card,
section[data-slide="cobertura"] .coverage-map-stage.is-updating + * .coverage-detail__country,
section[data-slide="cobertura"] .coverage-map-stage.is-updating + * .coverage-detail__badges{
  opacity: .94;
}

@keyframes coveragePulse{
  0%, 100%{ transform: translate(-50%, -50%) scale(1); }
  50%{ transform: translate(-50%, -50%) scale(1.05); }
}

@keyframes coverageRing{
  0%{ transform: scale(.76); opacity:.0; }
  18%{ opacity:.48; }
  60%{ transform: scale(1.18); opacity:0; }
  100%{ transform: scale(1.18); opacity:0; }
}

@media (prefers-reduced-motion: reduce){
  section[data-slide="cobertura"] .coverage-marker,
  section[data-slide="cobertura"] .coverage-marker::before{
    animation:none !important;
  }
}


/* ===== MINI CARD TRANSPARENCIA PREMIUM ===== */
section[data-slide="cobertura"] .coverage-mini-card{
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.35);
  box-shadow: 
    0 10px 25px rgba(11, 43, 75, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.6);
}


/* ===== MINI CARD CASI TRANSPARENTE ===== */
section[data-slide="cobertura"] .coverage-mini-card{
  background: rgba(255, 255, 255, 0.34) !important;
  backdrop-filter: blur(6px) saturate(1.02);
  -webkit-backdrop-filter: blur(6px) saturate(1.02);
  border: 1px solid rgba(255,255,255,0.22);
  box-shadow:
    0 6px 18px rgba(11, 43, 75, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.28);
}
section[data-slide="cobertura"] .coverage-mini-card strong{
  text-shadow: 0 1px 1px rgba(255,255,255,0.35);
}


/* ===== MINI CARD CASI FANTASMA ===== */
section[data-slide="cobertura"] .coverage-mini-card{
  background: rgba(255, 255, 255, 0.16) !important;
  backdrop-filter: blur(3px) saturate(1.01);
  -webkit-backdrop-filter: blur(3px) saturate(1.01);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow:
    0 4px 12px rgba(11, 43, 75, 0.05),
    inset 0 1px 0 rgba(255,255,255,0.12);
}

section[data-slide="cobertura"] .coverage-mini-card strong{
  color: rgba(11, 18, 32, 0.88);
  text-shadow: 0 1px 1px rgba(255,255,255,0.18);
}

section[data-slide="cobertura"] .coverage-mini-card .coverage-mini-card__flag{
  filter: drop-shadow(0 2px 4px rgba(11,43,75,.10));
}


/* ===== MINI CARD PREMIUM FANTASMA ===== */
section[data-slide="cobertura"] .coverage-mini-card{
  background: rgba(255, 255, 255, 0.22) !important;
  backdrop-filter: blur(5px) saturate(1.03);
  -webkit-backdrop-filter: blur(5px) saturate(1.03);
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow:
    0 8px 18px rgba(11, 43, 75, 0.06),
    inset 0 1px 0 rgba(255,255,255,0.18);
}

section[data-slide="cobertura"] .coverage-mini-card strong{
  color: rgba(11, 18, 32, 0.90);
  text-shadow: 0 1px 1px rgba(255,255,255,0.22);
}

section[data-slide="cobertura"] .coverage-mini-card.is-reveal{
  animation: coverageMiniReveal .34s cubic-bezier(.2,.9,.2,1);
}

@keyframes coverageMiniReveal{
  0%{
    opacity: .0;
    transform: translateY(8px) scale(.985);
  }
  100%{
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce){
  section[data-slide="cobertura"] .coverage-mini-card.is-reveal{
    animation:none !important;
  }
}


/* ===== NEXT LEVEL: MICROANIMACIONES + JERARQUÍA + PREMIUM FINAL ===== */
section[data-slide="cobertura"] .coverage-detail{
  transform-origin: 100% 50%;
}

section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__eyebrow,
section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__country,
section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__badges,
section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__cards{
  animation: coveragePanelReveal .42s cubic-bezier(.2,.9,.2,1) both;
}

section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__country{ animation-delay: .03s; }
section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__badges{ animation-delay: .06s; }
section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__cards{ animation-delay: .09s; }

@keyframes coveragePanelReveal{
  0%{
    opacity:0;
    transform: translateY(8px) scale(.992);
    filter: blur(2px);
  }
  100%{
    opacity:1;
    transform: translateY(0) scale(1);
    filter:none;
  }
}

section[data-slide="cobertura"] .coverage-badge{
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

section[data-slide="cobertura"] .coverage-badge--soft{
  background: linear-gradient(180deg, rgba(177,29,42,.12), rgba(177,29,42,.06));
  color: #a11b2b;
  border-color: rgba(177,29,42,.18);
}

section[data-slide="cobertura"] .coverage-badge--soft.is-glow{
  animation: coverageBadgeGlow .7s cubic-bezier(.2,.9,.2,1);
}

@keyframes coverageBadgeGlow{
  0%{
    box-shadow: 0 0 0 0 rgba(177,29,42,.0);
    transform: translateY(2px);
  }
  45%{
    box-shadow: 0 0 0 8px rgba(177,29,42,.09), 0 10px 22px rgba(177,29,42,.12);
    transform: translateY(0);
  }
  100%{
    box-shadow: 0 0 0 0 rgba(177,29,42,.0);
    transform: translateY(0);
  }
}

section[data-slide="cobertura"] .coverage-detail__ribbon{
  transition: transform .22s ease, filter .22s ease, opacity .22s ease;
}
section[data-slide="cobertura"] .coverage-detail:hover .coverage-detail__ribbon{
  transform: translateY(-1px) rotate(-1.5deg);
  filter: drop-shadow(0 10px 16px rgba(0,0,0,.14));
}

section[data-slide="cobertura"] .coverage-mini-card{
  transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

section[data-slide="cobertura"] .coverage-mini-card:hover{
  background: rgba(255, 255, 255, 0.25) !important;
  border-color: rgba(255,255,255,0.22);
}

section[data-slide="cobertura"] .coverage-marker[data-country="australia"]{
  z-index: 4;
}
section[data-slide="cobertura"] .coverage-marker[data-country="australia"].is-active{
  box-shadow:
    0 0 0 10px rgba(177,29,42,.16),
    0 16px 28px rgba(177,29,42,.36);
}

@media (prefers-reduced-motion: reduce){
  section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__eyebrow,
  section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__country,
  section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__badges,
  section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__cards,
  section[data-slide="cobertura"] .coverage-badge--soft.is-glow{
    animation:none !important;
  }
}


/* ===== COBERTURA: PULIDO ABSOLUTO ===== */

/* 1) Más aire en la entrada del panel derecho */
section[data-slide="cobertura"] .coverage-detail__cards{
  transition: opacity .25s ease, transform .25s ease;
}
section[data-slide="cobertura"] .coverage-detail.is-reveal .coverage-detail__cards{
  transform: translateY(2px);
}

/* 2) Badge rojo con más profundidad premium */
section[data-slide="cobertura"] .coverage-badge--soft{
  background: linear-gradient(180deg, rgba(177,29,42,.14), rgba(177,29,42,.06));
  box-shadow: 0 6px 14px rgba(177,29,42,.10);
}

/* 3) Banderín más fino como firma visual */
section[data-slide="cobertura"] .coverage-detail__ribbon{
  transition: transform .25s ease, filter .25s ease, opacity .25s ease;
}
section[data-slide="cobertura"] .coverage-detail:hover .coverage-detail__ribbon{
  transform: translateY(-2px) rotate(-2deg);
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.14));
}

/* 4) Mini card más fluida al cambiar de país */
section[data-slide="cobertura"] .coverage-mini-card.is-reveal{
  animation: coverageMiniReveal .38s cubic-bezier(.2,.9,.2,1);
}

/* 5) Pulido final del mapa y marcadores */
section[data-slide="cobertura"] .coverage-map{
  filter: saturate(1.02) contrast(1.01);
}
section[data-slide="cobertura"] .coverage-marker{
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, opacity .18s ease;
}
section[data-slide="cobertura"] .coverage-marker:not(.is-active){
  opacity: .94;
}
section[data-slide="cobertura"] .coverage-marker.is-active{
  filter: saturate(1.05);
}

/* 6) Perú con presencia estratégica sutil sin competir con Australia */
section[data-slide="cobertura"] .coverage-marker[data-country="peru"]{
  box-shadow:
    0 0 0 7px rgba(177,29,42,.12),
    0 10px 18px rgba(177,29,42,.24);
}
section[data-slide="cobertura"] .coverage-marker[data-country="peru"]:hover,
section[data-slide="cobertura"] .coverage-marker[data-country="peru"]:focus-visible{
  box-shadow:
    0 0 0 9px rgba(177,29,42,.15),
    0 12px 22px rgba(177,29,42,.28);
}

/* 7) Microarmonía tipográfica final */
section[data-slide="cobertura"] .coverage-detail__country h3{
  letter-spacing: -.01em;
}
section[data-slide="cobertura"] .coverage-detail__eyebrow{
  letter-spacing: .12em;
}
section[data-slide="cobertura"] .coverage-info-card p,
section[data-slide="cobertura"] .coverage-detail__desc{
  text-wrap: pretty;
}

@media (prefers-reduced-motion: reduce){
  section[data-slide="cobertura"] .coverage-detail__cards{
    transition:none !important;
  }
  section[data-slide="cobertura"] .coverage-detail:hover .coverage-detail__ribbon{
    transform:none !important;
    filter: none !important;
  }
  section[data-slide="cobertura"] .coverage-mini-card.is-reveal{
    animation:none !important;
  }
}


/* ===== FIRMA EN MAPA DE COBERTURA ===== */
section[data-slide="cobertura"] .coverage-map-signature{
  position:absolute;
  right:-110px;
  bottom:-34px;
  width:clamp(300px, 40vw, 560px);
  max-width:56%;
  height:auto;
  opacity:.68;
  pointer-events:none;
  user-select:none;
  z-index:2;
  filter:
    brightness(0)
    saturate(100%)
    invert(62%)
    sepia(18%)
    saturate(720%)
    hue-rotate(176deg)
    brightness(93%)
    contrast(92%)
    drop-shadow(0 3px 8px rgba(96, 126, 156, 0.12));
}



@media (max-width:960px){
  section[data-slide="cobertura"] .coverage-map-signature{
    right:-44px;
    bottom:-20px;
    width:clamp(190px, 50vw, 360px);
    max-width:58%;
  }
}


/* ===== COBERTURA: ICONOS + MODAL MULTIMEDIA ===== */
section[data-slide="cobertura"] .coverage-detail .coverage-detail__topline{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 0 12px 0 !important;
}
section[data-slide="cobertura"] .coverage-detail .coverage-detail__eyebrow{
  margin:0 !important;
  flex:0 0 auto !important;
}
section[data-slide="cobertura"] .coverage-detail .coverage-inline-actions{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 10px 0 2px !important;
}
section[data-slide="cobertura"] .coverage-detail .coverage-icon-btn{
  appearance:none !important;
  background:transparent !important;
  border:none !important;
  width:30px !important;
  height:30px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#194c86 !important;
  cursor:pointer !important;
  position:relative !important;
}
section[data-slide="cobertura"] .coverage-detail .coverage-icon-btn svg{
  width:26px !important;
  height:26px !important;
  display:block !important;
}
section[data-slide="cobertura"] .coverage-detail .coverage-icon-btn:hover,
section[data-slide="cobertura"] .coverage-detail .coverage-icon-btn:focus-visible{
  color:#0f3f72 !important;
  transform:translateY(-1px) !important;
  outline:none !important;
}
section[data-slide="cobertura"] .coverage-detail .coverage-icon-btn::after{
  content:attr(data-tooltip) !important;
  position:absolute !important;
  top:calc(100% + 7px) !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  background:#0b2b4b !important;
  color:#fff !important;
  padding:6px 9px !important;
  border-radius:8px !important;
  font-size:11px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  opacity:0 !important;
  visibility:hidden !important;
  z-index:10 !important;
}
section[data-slide="cobertura"] .coverage-detail .coverage-icon-btn:hover::after,
section[data-slide="cobertura"] .coverage-detail .coverage-icon-btn:focus-visible::after{
  opacity:1 !important;
  visibility:visible !important;
}
.coverage-media-modal[hidden]{display:none !important;}
.coverage-media-modal{
  position:fixed; inset:0; z-index:1600; display:flex; align-items:center; justify-content:center; padding:24px;
}
.coverage-media-modal__backdrop{
  position:absolute; inset:0; background:rgba(8,26,48,.52); backdrop-filter:blur(5px);
}
.coverage-media-modal__dialog{
  position:relative; z-index:1; width:min(1040px, calc(100vw - 32px)); max-height:min(88vh, 920px);
  overflow:auto; border-radius:28px; background:rgba(255,255,255,.97); border:1px solid rgba(15,63,114,.10);
  box-shadow:0 34px 90px rgba(8,26,48,.24); padding:26px;
}
.coverage-media-modal__close{
  position:absolute; top:14px; right:14px; width:42px; height:42px; border:none; border-radius:50%;
  background:#fff; color:#0f3f72; font-size:28px; line-height:1; cursor:pointer;
}
.coverage-media-modal__header{
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-right:54px; margin-bottom:22px;
}
.coverage-media-modal__eyebrow{
  margin:0 0 6px; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(15,63,114,.72);
}
.coverage-media-modal__title{margin:0 0 6px; color:#0b2b4b; font-size:30px; line-height:1.08;}
.coverage-media-modal__subtitle{margin:0; color:rgba(11,43,75,.72); max-width:56ch;}
.coverage-media-modal__tabs{
  display:inline-flex; gap:8px; padding:6px; border-radius:18px; background:#edf3f9;
}
.coverage-media-tab{
  appearance:none; border:none; background:transparent; color:#1c456d; padding:10px 16px; border-radius:14px;
  font-weight:800; cursor:pointer;
}
.coverage-media-tab.is-active{background:#104070; color:#fff;}
.coverage-carousel{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px;
}
.coverage-carousel__nav{
  width:46px; height:46px; border:none; border-radius:50%; background:#fff; color:#0f3f72; cursor:pointer; font-size:22px;
}
.coverage-carousel__stage{
  position:relative; min-height:440px; border-radius:26px; overflow:hidden; background:linear-gradient(135deg,#eef4fa,#dfe9f6);
  border:1px solid rgba(16,64,112,.10);
}
.coverage-slide{position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .24s ease;}
.coverage-slide.is-active{opacity:1; pointer-events:auto;}
.coverage-slide__frame, .coverage-slide__frame img{width:100%; height:100%; display:block;}
.coverage-slide__frame img{object-fit:cover;}
.coverage-slide__badge{
  position:absolute; left:18px; bottom:18px; display:inline-flex; gap:8px; padding:10px 14px; border-radius:16px;
  background:rgba(255,255,255,.92); color:#0f3f72; font-size:13px; font-weight:800;
}
.coverage-carousel__meta{display:grid; gap:6px; margin:16px 2px 14px;}
.coverage-carousel__title{margin:0; color:#0b2b4b; font-size:20px;}
.coverage-carousel__description{margin:0; color:rgba(11,43,75,.72); line-height:1.6;}
.coverage-thumbs{display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); gap:10px;}
.coverage-thumb{
  appearance:none; border:none; background:#f2f6fb; border-radius:18px; padding:0; overflow:hidden; cursor:pointer;
}
.coverage-thumb.is-active{box-shadow:0 0 0 2px #104070 inset;}
.coverage-thumb__preview{aspect-ratio:1.35/1; background:#dde9f6; display:block;}
.coverage-thumb__preview img{width:100%; height:100%; object-fit:cover; display:block;}
.coverage-thumb__label{display:block; padding:10px 12px 12px; color:#123a65; font-size:12px; font-weight:800; text-align:left;}
.coverage-videos{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px;}
.coverage-video-card{
  border-radius:22px; overflow:hidden; background:#f4f8fc; border:1px solid rgba(16,64,112,.10);
}
.coverage-video-card__embed{aspect-ratio:16/9; background:#dde9f6;}
.coverage-video-card__embed video{width:100%; height:100%; display:block;}
.coverage-video-card__body{padding:16px 18px 18px;}
.coverage-video-card__title{margin:0 0 6px; color:#0f3f72; font-size:18px; font-weight:900;}
.coverage-video-card__text{margin:0; color:rgba(11,43,75,.74); line-height:1.6; font-size:14px;}
.coverage-empty{
  min-height:240px; border-radius:24px; border:1px dashed rgba(16,64,112,.20); background:#fff; display:grid; place-items:center;
  text-align:center; padding:26px; color:#123a65;
}
body.is-media-modal-open{overflow:hidden !important;}
@media (max-width: 960px){
  .coverage-media-modal__header{flex-direction:column;}
  .coverage-videos{grid-template-columns:1fr;}
}
@media (max-width: 768px){
  .coverage-media-modal{padding:14px;}
  .coverage-media-modal__dialog{padding:20px 16px 16px; border-radius:22px;}
  .coverage-carousel{grid-template-columns:1fr;}
  .coverage-carousel__nav{display:none;}
  .coverage-carousel__stage{min-height:320px;}
  .coverage-thumbs{grid-template-columns:repeat(2, minmax(0,1fr));}
}
