﻿/* =========================================================
   Tipografías locales (Lato)
   ========================================================= */
@font-face{ font-family:"Lato"; src:url("../fonts/lato/Lato-Regular.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"Lato"; src:url("../fonts/lato/Lato-Bold.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }
@font-face{ font-family:"Dynalight"; src:url("../fonts/Dynalight-Regular.woff2") format("woff2"), url("../fonts/Dynalight-Regular.woff") format("woff"), url("../fonts/Dynalight-Regular.ttf") format("truetype"), url("../fonts/Dynalight-Regular.eot"); font-weight:400; font-style:normal; font-display:swap; }

/* =========================================================
   Variables — Paleta y layout
   ========================================================= */
:root{ 
  --gob-primary:#971C48; 
  --gob-primary-alt:#A11E39; 
  --gob-accent:#C66618; 
  --gob-accent-dark:#994507; 
  --gob-secondary:#C2995C; 
  --gob-secondary-alt:#C29B5C; 
  --gob-highlight:#BC2251; 
  --gob-bg:#000510; 
  --gob-bg-alt:#0A0E16; 
  --gob-surface:#161922; 
  --gob-surface-2:#1F2330; 
  --gob-border:#2A2F3A; 
  --gob-text:#E6E8EE; 
  --gob-text-muted:#A9B0BD; 
  --gob-text-inverse:#0B0D12; 
  --gob-radius:1rem; 
  --gob-shadow-sm:0 6px 22px rgba(0,0,0,.25); 
  --gob-section-y:4rem; 
  --gob-topbar-h:50px; 
  --gob-navbar-h:64px; 
  --gob-sticky-offset:calc(var(--gob-topbar-h) + var(--gob-navbar-h)); 
  --hero-vignette-alpha:.16; 
  --anchor-offset:var(--gob-sticky-offset); 
  --topbar-height:var(--gob-topbar-h); 
  --navbar-height:var(--gob-navbar-h); 
  --viewport-usable:calc(100svh - (var(--gob-sticky-offset) + 2px));
}
@property --ponente-border-angle{ syntax:"<angle>"; inherits:false; initial-value:0deg; }

/* =========================================================
   Base
   ========================================================= */
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--anchor-offset, var(--gob-sticky-offset)) + 2px); }
body{ background:var(--gob-bg); color:var(--gob-text); font-family:"Lato",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans"; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
img,svg{ max-width:100%; height:auto; display:block; }
a{ color:var(--gob-primary); text-decoration:none; }
a:hover{ color:var(--gob-highlight); }
:focus-visible{ outline:2px solid color-mix(in srgb, var(--gob-primary) 70%, white); outline-offset:2px; border-radius:0; }
@media (prefers-reduced-motion:reduce){ *{ animation:none !important; transition:none !important; } }

/* =========================================================
   Topbar / Navbar
   ========================================================= */
.topbar{ background:var(--gob-primary); color:#fff; font-size:.9rem; padding:.75rem 0; }
.topbar a{ color:inherit; text-decoration:none; }
.topbar-logo{ display:block; width:auto; height:auto; max-height:26px; flex:0 0 auto; }
.topbar-text{ font-size:1rem; font-weight:600; line-height:1.2; text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:70vw; }
.text-secondary-custom{ color:var(--gob-secondary); }
@media (min-width:768px){ .topbar{ padding:.9rem 0; } .topbar-logo{ max-height:38px; } .topbar-text{ max-width:none; } }
@media (max-width:360px){ .topbar-logo{ max-height:22px; } .topbar-text{ font-size:.95rem; } }

.site-header .navbar{ background:var(--gob-bg-alt); padding:.75rem 0; --bs-navbar-color:var(--gob-text-muted); --bs-navbar-hover-color:var(--gob-text); --bs-navbar-brand-color:var(--gob-text); --bs-navbar-brand-hover-color:var(--gob-text); --bs-navbar-toggler-border-color:transparent; }
.site-header .navbar .navbar-nav{ align-items:center; gap:.25rem; }
.site-header .navbar .nav-link,.site-header .navbar .btn{ display:inline-flex; align-items:center; justify-content:center; line-height:1; padding:.5rem .9rem; border-radius:.5rem; }
.site-header .navbar .nav-link{ color:var(--gob-text-muted); background:transparent; }
.site-header .navbar .nav-link.active,.site-header .navbar .nav-link:hover,.site-header .navbar .nav-link:focus{ color:#fff; background:rgba(255,255,255,.08); }
.site-header .navbar .btn.btn-primary{ --bs-btn-bg:var(--gob-primary); --bs-btn-border-color:var(--gob-primary); --bs-btn-hover-bg:var(--gob-highlight); --bs-btn-hover-border-color:var(--gob-highlight); --bs-btn-color:#fff; padding:.5rem .95rem; border-radius:.5rem; box-shadow:none; }
.navbar-toggler{ border:none; background:transparent !important; padding:.35rem .5rem; }
.navbar-toggler:focus{ box-shadow:none; }
.navbar-toggler-icon{ background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(200,200,200,0.85)' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
.navbar-toggler:hover .navbar-toggler-icon,.navbar-toggler:focus .navbar-toggler-icon{ background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }

/* =========================================================
   Secciones
   ========================================================= */
.section-pad{ padding:var(--gob-section-y) 0; }
section.section-pad{ min-height:max(0px, calc(var(--viewport-usable) - 2 * var(--gob-section-y))); }
.section-head .h3,.section-head h2{ color:#fff; }
.section-head p{ color:var(--gob-text-muted); }
.card{ background:var(--gob-surface); border:1px solid var(--gob-border); color:var(--gob-text); border-radius:var(--gob-radius); box-shadow:var(--gob-shadow-sm); }
.form-control,.form-select{ background-color:#0F131C; border:1px solid var(--gob-border); color:var(--gob-text); border-radius:.75rem; }
.form-control:focus,.form-select:focus{ border-color:color-mix(in srgb, var(--gob-primary) 60%, white); box-shadow:0 0 0 .2rem rgba(151,28,72,.25); }
.bg-surface{ background:var(--gob-surface) !important; }
.bg-evento{ background-image:url(../img/fon.jpg); background-size:cover; background-position:center; background-repeat:no-repeat; }
section.section-full{ position:relative; display:flex; height:max(0px, calc(var(--viewport-usable) - 2px)); min-height:max(0px, calc(var(--viewport-usable) - 2px)); padding:0; }
section.section-full>.container{ flex:1 1 auto; min-height:inherit; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:clamp(1.5rem, 3vw, 3rem); text-align:center; }

/* =========================================================
   HERO PARALLAX
   ========================================================= */
.hero-parallax{ position:relative; min-height:var(--viewport-usable); overflow:hidden; background:var(--gob-bg); isolation:isolate; }
.hero-layer{ position:absolute; inset:0; will-change:transform; display:block; }
canvas.hero-layer{ width:100%; height:100%; display:block; }
.layer-sky{ z-index:1; background:linear-gradient(180deg, #020611 0%, #070b16 60%, #0a0f19 100%); transform:translateY(calc(var(--p,0) * .16)); }
.layer-clouds{ z-index:10; transform:translateY(calc(var(--p,0) * .20)); }
.layer-aurora2{ z-index:19; transform:translateY(calc(var(--p,0) * .215)); mix-blend-mode:screen; }
.layer-aurora{ z-index:20; transform:translateY(calc(var(--p,0) * .22)); mix-blend-mode:screen; }
.layer-stars{ z-index:30; transform:translateY(calc(var(--p,0) * .24)); pointer-events:none; }
.layer-pyramid{ z-index:40; pointer-events:none; background-image:url("../img/piramide-2560.png"); background-repeat:no-repeat; background-position:bottom center; background-size:100% auto; transform:translateY(calc(var(--p,0) * .35)); }
@media (max-width:1440px){ .layer-pyramid{ background-image:url("../img/piramide-1280.png"); } }
@media (max-width:768px){ .layer-pyramid{ background-image:url("../img/piramide-900.png"); } }
.hero-parallax::after{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(120% 100% at 50% 55%, transparent 64%, rgba(0,0,0,var(--hero-vignette-alpha)) 100%); z-index:50; mix-blend-mode:multiply; }

/* =========================================================
   Contenido del HERO
   ========================================================= */
.layer-content{ z-index:100; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding-inline:1rem; transform:translateY(calc(var(--p,0) * .12)); }
.hero-logos{ width:min(1400px, 92vw); display:flex; align-items:flex-end; justify-content:center; gap:clamp(1.25rem, 4.5vw, 4.25rem); margin-inline:auto; margin-bottom:clamp(2.25rem, 5vw, 3.75rem); }
.hero-logos img{ width:auto; height:auto; max-width:100%; }
.logo-shadow{ filter:drop-shadow(0 24px 48px rgba(0,0,0,.50)) drop-shadow(0 0 22px rgba(151,28,72,.30)); }
.hero-counter{ width:min(1280px, 90vw); display:flex; flex-direction:column; align-items:center; gap:1.15rem; margin-inline:auto; }
.hero-divider{ width:100%; border-top:1px dashed rgba(255,255,255,.85); opacity:.95; filter:drop-shadow(0 0 8px rgba(255,255,255,.22)); }
.hero-countdown{ display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:.25rem; margin-bottom:.25rem; color:#fff; text-shadow:0 6px 24px rgba(0,0,0,.55); flex-wrap:wrap; max-width:100%; box-sizing:border-box; padding-inline:clamp(12px, 4vw, 28px); }
.hero-countdown .num{ font-weight:900; font-size:clamp(3rem, 7vw, 5.6rem); letter-spacing:.035em; line-height:1; }
.hero-countdown .unit{ text-transform:uppercase; font-weight:800; font-size:clamp(1.25rem, 2.6vw, 2rem); color:#E6E8EE; margin-left:.25rem; margin-right:1.1rem; letter-spacing:.06em; }
.hero-countdown .sep{ opacity:.7; font-weight:900; font-size:clamp(3rem, 7vw, 5.6rem); transform:translateY(-.06em); }
.hero-cta{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; justify-content:center; margin-top:clamp(2.25rem, 5vw, 3.25rem); }
.cta-text{ font-weight:800; letter-spacing:.02em; color:#e7f3ff; font-size:clamp(1.15rem, 2.4vw, 1.9rem); text-shadow:0 6px 22px rgba(0,0,0,.45); }
.btn-cta{ --bs-btn-bg:var(--gob-primary); --bs-btn-border-color:var(--gob-primary); --bs-btn-hover-bg:var(--gob-highlight); --bs-btn-hover-border-color:var(--gob-highlight); --bs-btn-color:#fff; border-radius:999px; padding:.9rem 1.4rem; font-weight:900; letter-spacing:.01em; box-shadow:0 10px 30px rgba(0,0,0,.35); transition:box-shadow .25s ease, transform .25s ease; }
.btn-cta:hover,.btn-cta:focus{ box-shadow:0 0 0 .32rem rgba(0,155,255,.28),0 0 36px rgba(0,155,255,.55),0 12px 30px rgba(0,0,0,.35); transform:translateY(-1px); outline:none; }
.btn-cta:active{ transform:translateY(0); }
.neonText{ color:#ECF8FF; text-shadow:0 0 6px #ECF8FF,0 0 10px #ECF8FF,0 0 14px #70D4FF,0 0 24px #70D4FF,0 0 36px #00B8FF,0 0 52px #00B8FF,0 0 72px #00E1FF,0 0 96px rgba(0,179,255,.75); }
@media (max-width:767px){
  .hero-logos{ flex-direction:column; align-items:center; justify-content:center; gap:clamp(1rem, 6.5vw, 2rem); margin-bottom:clamp(1.6rem, 7vw, 2.4rem); }
  #logoEvento{ width:min(46vw, 280px); height:auto !important; }
  .hero-counter{ width:min(900px, 90vw); gap:.9rem; }
  .hero-divider{ border-top-width:1px; }
  .hero-countdown{ flex-wrap:nowrap; gap:.35rem; padding-inline:clamp(14px, 5.5vw, 28px); }
  .hero-countdown .num,.hero-countdown .sep{ font-size:clamp(2.1rem, 9.2vw, 3.1rem); letter-spacing:0; }
  .hero-countdown .unit{ font-size:clamp(1rem, 4.3vw, 1.25rem); margin-right:.35rem; letter-spacing:0; }
  .hero-cta{ flex-direction:column; gap:.7rem; margin-top:clamp(1.6rem, 7vw, 2.4rem); }
  .cta-text{ font-size:clamp(1.6rem, 7.5vw, 2.3rem); font-weight:900; }
  .btn-cta{ padding:1rem 1.35rem; font-size:clamp(1.05rem, 4.6vw, 1.22rem); }
}

/* === CTA con reflejo animado (sheen) === */
.btn-cta{ position:relative; overflow:hidden; border:none; border-radius:999px; padding:.95rem 1.5rem; font-weight:900; letter-spacing:.01em; color:#fff; background:var(--gob-primary); box-shadow:0 12px 28px rgba(0,0,0,.45); transform:translateY(0); transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.btn-cta::after{ content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(to bottom, rgba(255,255,255,.18), rgba(255,255,255,0) 55%); mix-blend-mode:screen; opacity:.35; pointer-events:none; transition:opacity .2s ease; }
.btn-cta::before{ content:""; position:absolute; top:-40%; bottom:-40%; left:-120%; right:-120%; transform:skewX(-20deg) translateX(-120%); background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.14) 45%, rgba(255,255,255,.60) 50%, rgba(255,255,255,.14) 55%, rgba(255,255,255,0) 100%); opacity:0; pointer-events:none; }
.btn-cta:hover{ transform:translateY(-1px); box-shadow:0 16px 38px rgba(0,0,0,.5),0 0 26px rgba(188,34,81,.22); }
.btn-cta:hover::before{ opacity:1; animation:sheen 900ms ease-in-out; }
.btn-cta:hover::after{ opacity:.45; }
@keyframes sheen{ from{ transform:skewX(-20deg) translateX(-120%); } to{ transform:skewX(-20deg) translateX(220%); } }

/* =========================================================
   Sección Programa
   ========================================================= */
.section-programa{ position:relative; height:max(0px, calc(var(--viewport-usable) - 2px)); min-height:max(0px, calc(var(--viewport-usable) - 2px)); background:#0b0b0b; border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.06); overflow:hidden; padding:0; }
.section-programa::before{ content:""; position:absolute; inset:0; background:url("../img/pattern1.png") top left / 200px auto repeat; opacity:.18; pointer-events:none; z-index:0; }
.section-programa::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 58%, rgba(0,0,0,.28) 82%, rgba(0,0,0,.45) 100%); pointer-events:none; z-index:1; }
.section-programa > .container, .section-programa > .container-fluid{ position:relative; z-index:2; height:100%; }
.section-programa .row{ height:100%; align-items:stretch; }
.programa-media{ position:relative; width:100%; height:100%; min-height:100%; flex:1 1 auto; overflow:hidden; }
.programa-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.programa-content{ height:100%; display:flex; flex-direction:column; justify-content:center; padding:clamp(1.25rem, 2.5vw, 2rem) clamp(1.25rem, 3vw, 2.5rem); }
.programa-title{ color:var(--gob-secondary); letter-spacing:.2px; text-shadow:0 2px 14px rgba(0,0,0,.35); }
.programa-text{ color:var(--gob-text-muted); line-height:1.65; }

@media (max-width:991.98px){
  .section-programa{ height:auto; min-height:var(--viewport-usable); }
  .section-programa .row{ height:auto; }
  .section-programa::after{ background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.18) 56%, rgba(0,0,0,.45) 100%); }
  .programa-media{ min-height:42vh; }
}

/* Programa container full width */
.section-programa > .container, .section-programa > .container-fluid{ max-width:100% !important; width:100% !important; padding:0 !important; margin:0 !important; }
.section-programa .row{ --bs-gutter-x:0; --bs-gutter-y:0; height:100%; align-items:stretch; }
@media (min-width:992px){ .programa-media{ min-height:clamp(26rem, 68vh, 38rem); } }
.section-programa [class*="col-"]{ padding-left:0; padding-right:0; height:100%; display:flex; }
.section-programa .btn-cta{ display:flex; justify-content:center; align-items:center; text-align:center; }
.pattern{ background:url("../img/pattern1.png"); }
.programa-logo{ width:min(300px, 40%); height:auto; }
@media (max-width:991.98px){ .programa-logo{ width:min(130px, 35%); } }
.programa-content .programa-logo{ display:block; margin-inline:auto; }
.section-programa .programa-title{ text-align:center; }
.section-programa .programa-text{ text-align:justify; text-justify:inter-word; hyphens:none; -webkit-hyphens:none; -ms-hyphens:none; font-size:calc(1em + 4pt); }

/* Sticky bars */
.topbar{ position:sticky; top:0; z-index:1080; }
.site-header{ position:sticky; top:var(--topbar-height, var(--gob-topbar-h)); z-index:1070; }

/* Anclajes */
section[id]{ min-height:max(0px, var(--viewport-usable)); scroll-margin-top:calc(var(--anchor-offset, var(--gob-sticky-offset)) + 2px); }
section[id] > .container{ min-height:inherit; display:flex; flex-direction:column; }
section[id] > .container > .row{ flex:1 1 auto; }

/* Accesibilidad nav */
.site-header .navbar .nav-link:focus{ outline:none; box-shadow:none; }
.site-header .navbar{ align-items:center; }
.site-header .navbar-nav .nav-link, .site-header .navbar-nav .nav-link.active{ line-height:1; }

/* Demo 3D (no usado) */
.text3d{
  margin-top:.1em;
  text-align:center;
  text-transform:uppercase;
  font-family:verdana;
  font-size:5em;
  font-weight:700;
  color:#f5f5f5;
  text-shadow:1px 1px 1px #919191,
               1px 2px 1px #919191,
               1px 3px 1px #919191,
               1px 4px 1px #919191,
               1px 5px 1px #919191,
               1px 6px 1px #919191,
               1px 7px 1px #919191,
               1px 8px 1px #919191,
               1px 9px 1px #919191,
               1px 10px 1px #919191,
               1px 18px 6px rgba(16,16,16,0.4),
               1px 22px 10px rgba(16,16,16,0.2),
               1px 25px 35px rgba(16,16,16,0.2),
               1px 30px 60px rgba(16,16,16,0.4);
}

/* ============================
   Beneficios
   ============================ */
#beneficios.section-full{ height:auto; min-height:max(0px, calc(var(--viewport-usable) - 2px)); padding-block:clamp(2.6rem, 4.8vw, 4.1rem); }
#beneficios.section-full > .container{ max-width:100%; padding-inline:clamp(1.25rem, 4vw, 4.5rem); align-items:stretch; justify-content:flex-start; gap:clamp(.15rem, .6vw, .4rem); }
.section-title-beneficios{ text-align:center; font-size:clamp(2.8rem, 5.4vw, 4.4rem); letter-spacing:.08em; margin:0; color:#fff; filter:drop-shadow(0 0 26px rgba(112,166,255,.7)); }

.beneficio-grid{ width:100%; margin:0 auto; --bs-gutter-x:clamp(1.25rem, 2.4vw, 2.75rem); margin-top:clamp(.35rem, .9vw, .75rem); }

.beneficio-card{ --beneficio-pad:clamp(1.5rem, 2.5vw, 2.1rem); --beneficio-media-offset:clamp(3.3rem, 6.2vw, 3.7rem); --beneficio-radius:1.65rem; position:relative; display:flex; flex-direction:column; align-items:stretch; gap:clamp(.95rem, 1.5vw, 1.25rem); padding:var(--beneficio-pad); padding-top:calc(var(--beneficio-pad) + var(--beneficio-media-offset)); border-radius:var(--beneficio-radius) var(--beneficio-radius) 0 0; background:rgba(5,10,18,.88); box-shadow:0 18px 42px -28px rgba(0,0,0,.9); color:#f3f6ff; text-align:left; isolation:isolate; overflow:hidden; min-height:clamp(27.5rem, 50vw, 31.5rem); }

.beneficio-grid .col:nth-child(1) .beneficio-card{ --beneficio-accent-start:#791039; --beneficio-accent-end:#105d89; }
.beneficio-grid .col:nth-child(2) .beneficio-card{ --beneficio-accent-start:#791039; --beneficio-accent-end:#105d89; }
.beneficio-grid .col:nth-child(3) .beneficio-card{ --beneficio-accent-start:#791039; --beneficio-accent-end:#105d89; }

.beneficio-card > *{ position:relative; z-index:1; }

.beneficio-media{ margin-top:calc(-1 * var(--beneficio-media-offset)); width:100%; border-radius:calc(var(--beneficio-radius) - .45rem) calc(var(--beneficio-radius) - .45rem) 0 0; overflow:hidden; aspect-ratio:16 / 10; box-shadow:0 22px 40px -26px rgba(0,0,0,.85); }
.beneficio-media img{ width:100%; height:100%; object-fit:cover; display:block; }

.beneficio-icon{ --beneficio-icon-size:clamp(4.2rem, 5.6vw, 4.75rem); width:var(--beneficio-icon-size); height:var(--beneficio-icon-size); display:grid; place-items:center; border-radius:50%; background:var(--gob-primary); color:#fff; margin:calc(-.5 * var(--beneficio-icon-size)) auto 0; box-shadow:0 0 32px -8px color-mix(in srgb, var(--gob-primary) 80%, rgba(0,0,0,.3)); }
.beneficio-icon svg{ width:56%; height:56%; }

.beneficio-body{ display:flex; flex-direction:column; align-items:flex-start; gap:clamp(.8rem, 1.2vw, 1.1rem); }

.beneficio-title{ margin:0; font-size:clamp(1.32rem, 2vw, 1.68rem); font-weight:700; color:var(--gob-secondary); text-align:center; width:100%; letter-spacing:.01em; }

.beneficio-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:clamp(.75rem, 1.2vw, .95rem); font-size:calc(1em + 3pt); line-height:1.6; color:var(--gob-text-muted); text-align:justify; text-justify:inter-word; font-weight:400; }
.beneficio-list li{ position:relative; padding-left:2.6rem; }
.beneficio-list li strong{ color:var(--gob-secondary); font-weight:600; }
.beneficio-list li::before{ content:""; position:absolute; left:0; top:50%; width:1.9rem; height:1.9rem; transform:translateY(-50%); background:var(--gob-secondary); -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23000' d='M6.1 12.2 2.3 8.4l1.4-1.4 2.4 2.4 6-6 1.4 1.4-7.4 7.4Z'/></svg>") center/22px 22px no-repeat; mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23000' d='M6.1 12.2 2.3 8.4l1.4-1.4 2.4 2.4 6-6 1.4 1.4-7.4 7.4Z'/></svg>") center/22px 22px no-repeat; box-shadow:0 0 28px -8px color-mix(in srgb, var(--gob-secondary) 80%, rgba(0,0,0,.3)); }

.beneficio-copy{ margin:0; color:var(--gob-text-muted); font-size:calc(1em + 3pt); line-height:1.6; text-align:justify; text-justify:inter-word; font-weight:400; }

@media (max-width: 991.98px){
  .beneficio-card{ --beneficio-pad:clamp(1.3rem, 4vw, 1.8rem); --beneficio-media-offset:clamp(2.7rem, 6.5vw, 3.2rem); min-height:clamp(26rem, 68vw, 29rem); }
  .beneficio-list li{ padding-left:2.4rem; }
}
@media (max-width: 575.98px){
  #beneficios.section-full{ padding-block:clamp(2.4rem, 10vw, 3rem); }
  .beneficio-grid{ width:100%; --bs-gutter-x:clamp(1rem, 6vw, 1.6rem); }
  .beneficio-card{ --beneficio-pad:clamp(1.15rem, 6vw, 1.7rem); --beneficio-media-offset:clamp(2.3rem, 8vw, 2.8rem); border-radius:1.35rem 1.35rem 0 0; min-height:unset; }
  .beneficio-media{ border-radius:calc(var(--beneficio-radius) - .35rem) calc(var(--beneficio-radius) - .35rem) 0 0; }
  .beneficio-icon{ --beneficio-icon-size:clamp(3.6rem, 12vw, 4rem); }
  .beneficio-title{ font-size:clamp(1.26rem, 4.6vw, 1.52rem); }
  .beneficio-list li{ padding-left:2.2rem; }
}

/* Evitar cortes de palabras en todo el sitio */
body, p, li, .lead{
  hyphens:none;
  -webkit-hyphens:none;
  -ms-hyphens:none;
  word-break:normal;
  overflow-wrap:break-word;
}
.lead {font-weight: 400;}

/* ============================
   Ponentes
   ============================ */
#ponentes.bg-ponentes{ position:relative; height:auto; min-height:max(0px, calc(var(--viewport-usable) - 2px)); display:flex; align-items:stretch; background-color:#141820; background-image:url("../img/pattern2.png"), linear-gradient(rgba(12,14,20,.95), rgba(12,14,20,.95)); background-size:70px; background-repeat:repeat, no-repeat; background-position:center, center; overflow:hidden; }
#ponentes.bg-ponentes::before{ content:""; position:absolute; inset:0; background:linear-gradient(170deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.75) 100%); mix-blend-mode:soft-light; opacity:.85; pointer-events:none; }
#ponentes.bg-ponentes > .ponentes-container{ position:relative; z-index:1; flex:1 1 auto; min-height:inherit; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:clamp(1.1rem, 2.4vw, 2.1rem); padding:clamp(2rem, 5vw, 3.4rem) clamp(.8rem, 4vw, 2.3rem); max-width:100% !important; width:100% !important; }
#ponentes.section-pad{ padding:0; }
.ponentes-hint{ font-size:0.95rem; color:var(--gob-text-muted); text-align:center; margin-bottom:1rem; }
#ponentes .section-title-beneficios{ margin:clamp(1.1rem, 3.2vw, 1.8rem) auto clamp(.55rem, 1.8vw, 1rem); max-width:100%; }
#ponentes .section-title-beneficios + .ponentes-carousel{ margin-top:clamp(.8rem, 2.2vw, 1.4rem); }
@media (min-width:768px){ .ponentes-hint{ display:none !important; } }

.ponentes-carousel{ position:relative; width:100%; max-width:100%; --cards-per-view:4; --ponentes-gap:clamp(1.05rem, 1.8vw, 1.45rem); }
.ponentes-carousel::before,
.ponentes-carousel::after{ content:""; position:absolute; top:0; bottom:0; width:min(9%, 110px); pointer-events:none; z-index:2; }
.ponentes-carousel::before{ left:0; background:linear-gradient(90deg, rgba(12,14,22,.92) 0%, rgba(12,14,22,0) 100%); }
.ponentes-carousel::after{ right:0; background:linear-gradient(270deg, rgba(12,14,22,.92) 0%, rgba(12,14,22,0) 100%); }

.ponentes-view{ --ponente-card-height:clamp(25rem, 58vh, 29rem); overflow:hidden; width:100%; outline:none; position:relative; padding:clamp(.7rem, 1.6vw, 1.1rem) 0; }
.ponentes-track{ --step:0px; display:flex; align-items:stretch; gap:var(--ponentes-gap); transition:transform .55s cubic-bezier(.4, .12, .2, 1); will-change:transform; padding:0; margin:0; list-style:none; }
.ponente-slide{ flex:0 0 calc((100% - (var(--cards-per-view) - 1)*var(--ponentes-gap))/var(--cards-per-view)); display:flex; height:var(--ponente-card-height); }

.ponentes-arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:3.1rem; height:3.1rem; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:rgba(10,12,18,.65); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease, transform .2s ease, border-color .2s ease; box-shadow:0 4px 12px rgba(0,0,0,.35); }
.ponentes-arrow svg{ width:1.45rem; height:1.45rem; }
.ponentes-arrow.prev{ left:clamp(.2rem, 1vw, 1.5rem); }
.ponentes-arrow.next{ right:clamp(.2rem, 1vw, 1.5rem); }
.ponentes-arrow:hover{ background:rgba(151,28,72,.95); border-color:#fff; transform:translateY(-50%) scale(1.08); box-shadow:0 6px 16px rgba(0,0,0,.45); }
.ponentes-arrow:disabled{ opacity:.35; cursor:not-allowed; transform:translateY(-50%); }

.ponente-card{ --ponente-radius:clamp(1.45rem, 2.6vw, 2.05rem); --ponente-border-size:2.4px; position:relative; display:flex; width:94%; height:100%; margin-inline:auto; border-radius:var(--ponente-radius); isolation:isolate; background:transparent; }
.ponente-card::before{ content:""; position:absolute; inset:0; border-radius:inherit; border:var(--ponente-border-size) solid rgba(132,100,255,.18); background:linear-gradient(180deg, rgba(58,64,94,.34) 0%, rgba(18,20,34,.78) 100%); pointer-events:none; z-index:-1; }
.ponente-card::after{ content:""; position:absolute; inset:-0.5px; border-radius:calc(var(--ponente-radius) + 2px); background:transparent; box-shadow:0 0 16px rgba(154,102,255,.45), 0 0 26px rgba(154,102,255,.26); opacity:.92; pointer-events:none; z-index:-2; transition:box-shadow .35s ease, opacity .35s ease; }
.ponente-card--blue::after{ box-shadow:0 0 20px rgba(96,168,255,.65), 0 0 34px rgba(96,168,255,.34); }
.ponente-card--pink::after{ box-shadow:0 0 20px rgba(255,122,212,.68), 0 0 34px rgba(255,122,212,.36); }

.ponente-card__inner{ position:relative; z-index:0; display:flex; flex-direction:column; width:100%; height:100%; padding:clamp(.9rem, 2vw, 1.3rem); border-radius:calc(var(--ponente-radius) - 2 * var(--ponente-border-size)); gap:clamp(.48rem, 1vw, .75rem); background:linear-gradient(180deg, rgba(11,15,25,.96) 0%, rgba(9,10,18,.99) 100%); box-shadow:0 18px 32px -26px rgba(0,0,0,.64), inset 0 0 0 1px rgba(255,255,255,.05); }
.ponente-card__photo{ position:relative; flex:0 0 clamp(15.2rem, 43vh, 19.6rem); width:100%; border-radius:calc(var(--ponente-radius) - 2 * var(--ponente-border-size)); overflow:hidden; display:flex; border:1px solid rgba(255,255,255,.65); box-shadow:0 22px 26px -18px rgba(0,0,0,.45); }
.ponente-card__photo img:not(.ponente-card__brand){ width:100%; height:100%; object-fit:cover; object-position:center top; border-radius:inherit; }
.ponente-card__photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.62) 36%, rgba(0,0,0,0) 74%); pointer-events:none; }
.ponente-card__brand{ position:absolute; bottom:clamp(.48rem, .95vw, .72rem); left:50%; transform:translateX(-50%); width:200px; height:90px; object-fit:contain; object-position:center; filter:drop-shadow(0 6px 14px rgba(0,0,0,.55)); z-index:1; pointer-events:none; }

.ponente-card__body{ flex:1 1 auto; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:clamp(.22rem, .7vw, .42rem); padding:0 0 clamp(1rem, 1.7vw, 1.45rem); text-align:center; }
.ponente-card__nameplate{ width:100%; max-width:95%; display:flex; align-items:center; justify-content:center; background:transparent; border:none; border-radius:0; padding:0; }
.ponente-card__name{ margin:0; font-family:"Dynalight", "Lato", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans"; font-size:clamp(1.68rem, 2.75vw, 2.05rem); color:var(--gob-secondary); text-shadow:0 8px 18px rgba(0,0,0,.55); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ponente-card__role{ margin:0; color:#f7f8ff; text-transform:uppercase; letter-spacing:.12em; font-size:clamp(.6rem, .78vw, .78rem); font-weight:600; line-height:1.35; max-width:96%; text-shadow:0 6px 14px rgba(0,0,0,.55); }
@media (min-width:1600px){ .ponentes-carousel{ --cards-per-view:5; } }
@media (max-width:1399.98px){ .ponentes-carousel{ --cards-per-view:3; } }
@media (max-width:1199.98px){ .ponentes-carousel{ --cards-per-view:2; } }
@media (max-width:991.98px){ .ponentes-carousel{ --cards-per-view:2; } }
@media (max-width:767.98px){
  .ponentes-carousel{ --cards-per-view:1; }
  .ponentes-carousel::after, .ponentes-carousel::before{ display:none; }
  .ponentes-arrow.prev{ left:.75rem; }
  .ponentes-arrow.next{ right:.75rem; }
  .ponente-card{ --ponente-radius:clamp(1.2rem, 7vw, 1.8rem); }
}
@media (max-width:575.98px){ .ponente-card__photo{ aspect-ratio:2.8/4; } }

/* =========================================================
   ALIADOS & SEDE — Bloque Unificado
   ========================================================= */

/* ----- SEDE ----- */
.section-sede{
  position:relative;
  height:max(0px, calc(var(--viewport-usable) - 2px));
  min-height:max(0px, calc(var(--viewport-usable) - 2px));
  padding:0;
  background:linear-gradient(135deg, #05070f 0%, #0f1f3d 45%, rgba(38,110,210,0.95) 100%);
  overflow:hidden;
}
.section-sede::before{
  content:""; position:absolute; inset:0;
  background:url("../img/pattern4.png") center/50% auto repeat;
  opacity:1; mix-blend-mode:lighten; pointer-events:none;
}
.section-sede::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(5,7,15,.9) 0%, rgba(5,7,15,0) 100%);
  pointer-events:none;
}
.section-sede > .sede-inner{
  position:relative; z-index:1; height:100%;
  display:flex; flex-direction:column; justify-content:space-between;
  gap:clamp(1rem, 2.8vw, 2.6rem);
  padding:clamp(1.6rem, 4vw, 3.2rem) clamp(1.4rem, 4vw, 3.4rem);
  box-sizing:border-box;
}
.sede-header{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:clamp(1rem, 3vw, 2.4rem); text-align:center; }
.sede-logo{ width:clamp(230px, 32vw, 360px); max-width:100%; height:auto; object-fit:contain; filter:drop-shadow(0 12px 28px rgba(0,0,0,.35)); }
.sede-copy{ margin:0; color:#e4e8f4; font-weight:400; font-size:clamp(1rem, 2.2vw, 1.45rem); line-height:1.35; display:inline-flex; align-items:center; justify-content:center; gap:clamp(.55rem, 1.5vw, 1.25rem); text-align:center; flex-wrap:wrap; max-width:min(100%, 980px); }
.sede-copy__highlight{ color:var(--gob-secondary); font-weight:650; font-size:clamp(1.15rem, 2.6vw, 1.8rem); letter-spacing:.02em; text-transform:uppercase; }

/* grid responsivo para mapa + video */
.section-sede .sede-media{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.2rem, 3vw, 2.6rem);
  align-items:stretch;
}

/* contenedor de cada media, con proporción cómoda en móvil */
.section-sede .sede-media__item{
  width:100%;
  aspect-ratio:16 / 10;
  border-radius:20px;
  overflow:hidden;
  min-height:0;
}

/* los contenidos rellenan el contenedor */
.section-sede .sede-map,
.section-sede .sede-video{
  display:block;
  width:100%;
  height:100%;
  border:0;
  object-fit:cover;
  box-shadow:0 30px 60px -32px rgba(0,0,0,.65);
  background:#02050c;
}

@media (max-width:991.98px){
  .section-sede{ height:auto; min-height:var(--viewport-usable); }
  .section-sede > .sede-inner{ gap:clamp(1.4rem, 4.5vw, 2.4rem); }
  .sede-header{ flex-direction:column; align-items:center; gap:clamp(1rem, 4vw, 2rem); }
  .sede-copy{ flex-direction:column; align-items:center; gap:.45rem; font-size:clamp(.95rem, 3.1vw, 1.2rem); max-width:min(100%, 720px); }
  .sede-copy__highlight{ font-size:clamp(1.05rem, 3.6vw, 1.5rem); }
}
@media (max-width:575.98px){
  .sede-copy{ text-align:center; }
  .section-sede .sede-media__item{ aspect-ratio:16 / 10; }
}

/* desktop: mismo alto para mapa y video */
@media (min-width:992px){
  .section-sede .sede-media{
    grid-template-columns:1fr 1fr;
    align-items:stretch;
  }
  .section-sede .sede-media__item{
    aspect-ratio:unset;
    height:min(58vh, 520px);
  }
  .section-sede .sede-map,
  .section-sede .sede-video{
    height:100%;
  }
}

/* ----- ALIADOS ----- */
#aliados.bg-aliados{
  position:relative; display:flex; align-items:center; justify-content:center;
  background-color:#0e1320;
  background-image:url("../img/fon-alianza.jpg");
  background-size:cover; background-position:center; background-repeat:no-repeat;
  overflow:hidden;
  height:max(0px, calc(var(--viewport-usable) - 2px));
  min-height:max(0px, calc(var(--viewport-usable) - 2px));
}
#aliados.bg-aliados > .aliados-container{
  position:relative; z-index:1; width:100%; max-width:100%; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:clamp(.6rem, 1.8vw, 1.4rem);
  padding:clamp(1.1rem, 3vh, 2.6rem) clamp(1rem, 2.6vw, 1.8rem);
  box-sizing:border-box; text-align:center;
}
#aliados.section-pad{ padding:0; }

/* ===== Título Aliados: Desktop conserva estilo completo ===== */
#aliados .section-title-beneficios{
  /* robustez tipográfica para evitar cortes */
  white-space:normal; overflow:visible; word-break:normal; overflow-wrap:anywhere; hyphens:auto; text-wrap:balance;
  line-height:1.15; letter-spacing:.015em;
  margin:0 auto clamp(1rem, 2.5vw, 2.25rem);
  max-width:92vw; padding-inline:4vw;

  /* igual que el título genérico (glow/filtro) */
  font-size:clamp(2.8rem, 5.4vw, 4.4rem);
  color:#fff;
  filter:drop-shadow(0 0 26px rgba(112,166,255,.7));
  text-shadow:none; /* el glow lo aporta el filter */
}

/* móviles medianos y grandes (≤767px): tamaño contenido y glow moderado */
@media (max-width:767.98px){
  #aliados .section-title-beneficios{
    font-size:clamp(1.5rem, 7.6vw, 2.1rem);
    letter-spacing:0;
    max-width:94vw;
    padding-inline:3.5vw;
    margin-bottom:2.6rem;
    filter:none;
    text-shadow:
      0 0 6px rgba(255,255,255,.65),
      0 0 14px rgba(0,200,255,.35);
  }
}
/* móviles muy angostos (≤360px) */
@media (max-width:360px){
  #aliados .section-title-beneficios{
    font-size:clamp(1.3rem, 8.8vw, 1.7rem);
    max-width:96vw;
    padding-inline:2.5vw;
    margin-bottom:2.75rem;
  }
}

/* imagen de logos */
.aliados-brand-graphic{
  display:block; width:clamp(260px, 65vw, 1024px); max-width:100%; height:auto;
  margin:0 auto;
  filter:drop-shadow(5px 5px 10px #000000);
  max-height:clamp(240px, 52vh, 520px);
  object-fit:contain;
}
@media (max-width:991.98px){
  #aliados.bg-aliados{ height:auto; min-height:var(--viewport-usable); }
  .aliados-brand-graphic{ width:clamp(240px, 82vw, 960px); max-height:clamp(220px, 48vh, 480px); }
}

/* Glow uniforme para títulos de secciones */
#aliados .section-title-beneficios,
#ponentes .section-title-beneficios,
#beneficios .section-title-beneficios {
  font-size: clamp(1.8rem, 5vw, 3rem);
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #fff;
  text-shadow:
    0 0 6px rgba(255,255,255,0.9),
    0 0 12px rgba(0,180,255,0.8),
    0 0 20px rgba(0,180,255,0.6),
    0 0 36px rgba(0,180,255,0.4);
}


/* ============================
   Ponentes responsive (cards per view)
   ============================ */
#ponentes .ponentes-carousel{ --cards-per-view:5; }
@media (max-width:1599.98px){ #ponentes .ponentes-carousel{ --cards-per-view:4; } }
@media (max-width:1399.98px){ #ponentes .ponentes-carousel{ --cards-per-view:3; } }
@media (max-width:1199.98px){ #ponentes .ponentes-carousel{ --cards-per-view:2; } }
@media (max-width:767.98px){ #ponentes .ponentes-carousel{ --cards-per-view:1; } }

/* =========================
   HOTEL
   ========================= */
.section-hotel {
  position: relative;
  overflow: hidden;
  padding: 0;
}

.section-hotel .hotel-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - var(--gob-sticky-offset));
}
@media (max-width: 991.98px) {
  .section-hotel .hotel-grid { grid-template-columns: 1fr; }
  .section-hotel .hotel-media { order: -1; }
}

/* IZQUIERDA: INFO + PATTERN */
.section-hotel .hotel-info {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url("../img/pattern1.png") repeat;
  padding: clamp(1.4rem, 4vw, 2.6rem);
  isolation: isolate;
}

.section-hotel .hotel-wrap {
  position: relative;
  z-index: 1;
  width: min(560px, 92%);
  margin-inline: auto;
  text-align: center;
}

/* Logo */
.section-hotel .hotel-brand {
  display: block;
  width: clamp(220px, 36vw, 340px);
  margin: 0 auto 1.2rem;
  border-radius: 14px;
  box-shadow: 0 12px 26px rgba(0,0,0,.45);
}

/* Título */
.section-hotel .hotel-title {
  color: var(--gob-secondary);
  font-size: clamp(2rem, 3vw, 2.6rem);
  font-weight: 800;
  text-shadow: 0 4px 14px rgba(0,0,0,.45);
  margin: 0 0 1rem 0;
}

/* Lista de contacto */
.section-hotel .hotel-list {
  list-style: none;
  margin: 0 auto 1.6rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .75rem;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  text-align: center;
}
.section-hotel .hotel-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
}
.section-hotel .hotel-item .ico { width:1.2rem; height:1.2rem; color: var(--gob-secondary); }
.section-hotel .hotel-item strong { color: var(--gob-secondary); font-weight: 700; }

/* Aviso con brillo */
.section-hotel .hotel-note {
  position: relative;
  display: inline-block;
  margin-top: 1rem;
  padding: 1rem 1.25rem;
  border-radius: 14px;
  background: var(--gob-primary);
  color: #fff;
  font-weight: 800;
  overflow: hidden;
  box-shadow: 0 16px 30px rgba(0,0,0,.45);
}
.section-hotel .hotel-note::before {
  content: "";
  position: absolute;
  top: -60%;
  left: -140%;
  width: 40%;
  height: 320%;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%,
                                     rgba(255,255,255,.65) 50%,
                                     rgba(255,255,255,0) 100%);
  transform: skewX(-20deg) translateX(0);
  animation: hotelSheen 2.6s linear infinite;
}
@keyframes hotelSheen {
  0%   { transform: skewX(-20deg) translateX(0%); }
  100% { transform: skewX(-20deg) translateX(420%); }
}

/* DERECHA: IMAGEN full cover */
.section-hotel .hotel-media {
  position: relative;
  min-height: 100%;
  overflow: hidden;
}
.section-hotel .hotel-media img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Móvil: hero con altura fija y sin cortes extraños */
@media (max-width: 991.98px) {
  .section-hotel .hotel-media {
    min-height: 42vh;        /* altura visible en móvil */
    aspect-ratio: 16 / 10;   /* ayuda a mantener proporción */
  }
  .section-hotel .hotel-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;       /* recorta de forma agradable */
    object-position: center; /* centra el foco */
  }
}

/* === Móvil: que no quede hueco bajo la foto === */
@media (max-width: 991.98px) {
  .section-hotel .hotel-media {
    height: clamp(260px, 45vh, 420px); /* altura fija y flexible */
    position: relative;
    overflow: hidden;
    margin: 0;          /* por si algún reset mete margen */
    padding: 0;         /* evita rellenos raros */
    line-height: 0;     /* elimina cualquier espacio por inline content */
  }

  .section-hotel .hotel-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;      /* cubre todo el alto del contenedor */
    object-position: center;
    display: block;         /* sin espacios fantasma */
  }
}


/* =========================
   Footer
   ========================= */
.site-footer{
  background: var(--gob-primary);
  color: #fff;
  padding: clamp(1.2rem, 3.5vw, 2rem) 0;
  border-top: 0;
}
.site-footer .footer-grid{
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 1rem 1.5rem;
}
@media (min-width: 992px){
  .site-footer .footer-grid{ grid-template-columns: 1fr auto 1fr; }
}
.site-footer .footer-left{ text-align: left; }
.site-footer .footer-center{ text-align: center; }
.site-footer .footer-right{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: .5rem;
}

.site-footer .footer-copy{
  margin: 0;
  font-size: clamp(.9rem, 1.4vw, 1rem);
  font-weight: 600;
}
.site-footer .footer-mail{
  margin: 0;
  font-size: clamp(.85rem, 1.3vw, .95rem);
  opacity: .95;
}
.site-footer .footer-link{
  color: #fff;
  text-decoration: none;
  border-bottom: 2px solid rgba(255,255,255,.35);
  padding-bottom: 1px;
  transition: border-color .2s ease, opacity .2s ease;
  font-weight: 700;
}
.site-footer .footer-link:hover{ border-color: rgba(255,255,255,.8); opacity: .9; }

/* Social icons */
.site-footer .social{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  text-decoration: none;
  transition: transform .15s ease, background .2s ease, filter .2s ease;
  outline: none;
}
.site-footer .social:hover{ background: rgba(255,255,255,.2); transform: translateY(-1px); }
.site-footer .social:focus-visible{ outline: 2px dashed rgba(255,255,255,.6); outline-offset: 2px; }
.site-footer .icon{ width: 20px; height: 20px; fill: currentColor; color: #fff; }

/* Logos en el centro */
.site-footer .footer-center .footer-logo{
  display: inline-block;
  height: 28px;
  width: auto;
  margin: 0 .35rem;
  filter: brightness(0) invert(1);
  opacity: .95;
  vertical-align: middle;
}
@media (min-width: 992px){
  .site-footer .footer-center .footer-logo{ height: 34px; }
}

/* Accesibilidad */
.site-footer .sr-only{
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
