:root{--green:#78ef00;--green2:#9cff25;--bg:#040807;--panel:#0b1210;--border:#2d4027;--text:#f7f9f8;--muted:#a9b5b1}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
.shell{width:94%;max-width:none;margin:auto}
.topbar{height:82px;background:#020504;border-bottom:1px solid #1c2723;position:relative;z-index:30}.nav{height:82px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:12px;color:var(--green);text-decoration:none;margin-right:auto;min-width:310px}.brand img{width:50px;height:50px;object-fit:contain;border-radius:9px}.brand span{display:flex;flex-direction:column}.brand strong{font-size:18px;line-height:1.05}.brand small{color:#b9c2bf;margin-top:5px;font-size:11px}
.nav nav{display:flex;gap:31px}.nav nav a{color:white;text-decoration:none;font-weight:900;font-size:11px;padding:31px 0 27px;border-bottom:2px solid transparent;white-space:nowrap}.nav nav a:hover,.nav nav a.active{color:var(--green);border-color:var(--green)}
.account{display:flex;gap:7px;align-items:center;background:var(--green);color:#061006;text-decoration:none;font-weight:900;padding:13px 21px;border-radius:10px;font-size:11px;white-space:nowrap}.account-icon{font-size:10px}
.mobile{display:none;position:relative}.mobile summary{font-size:26px;color:var(--green);cursor:pointer}.mobile div{position:absolute;right:0;top:42px;background:#0d1513;border:1px solid #2b3b36;width:220px;padding:9px;border-radius:10px}.mobile a{display:block;color:white;text-decoration:none;padding:10px;font-weight:bold}
.hero{min-height:560px;position:relative;overflow:hidden;border-bottom:1px solid #1c2924}.hero-image{position:absolute;inset:0;background-size:cover;background-position:68% 42%;filter:saturate(.92);transform:translateZ(0)}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,22vw,360px);gap:clamp(28px,4vw,72px);padding:62px 0 50px;min-height:560px;align-items:center}.hero-copy{max-width:820px}.eyebrow{color:var(--green);font-weight:900;font-size:12px;letter-spacing:.8px}
.hero h1{font-size:clamp(58px,5.1vw,84px);line-height:.98;margin:18px 0 17px;letter-spacing:-3px}.hero h1 em,.promo h2 em{font-style:normal;color:var(--green)}.hero-copy>p{font-size:18px;color:#d7ddda;max-width:700px;line-height:1.5}
.hero-features{display:flex;gap:28px;margin:30px 0}.hero-features>div{display:flex;gap:11px;align-items:center;padding-right:26px;border-right:1px solid #2c3733}.hero-features>div:last-child{border-right:0}.hero-features>div>span:last-child{display:flex;flex-direction:column}.hero-features strong{font-size:12px}.hero-features small{color:#aab6b2;margin-top:4px}.feature-icon{width:30px;height:30px;display:grid;place-items:center}.feature-icon svg{width:27px;height:27px;fill:var(--green)}
.actions{display:flex;gap:14px}.actions a,.promo a,.event-card a{display:inline-block;text-decoration:none;font-weight:900;font-size:12px;border-radius:8px}.primary,.promo a,.event-card a{background:var(--green);color:#071006;padding:15px 24px}.secondary{border:1px solid var(--green);color:white;padding:14px 24px}
.hero-stats{display:flex;flex-direction:column;gap:13px;width:100%}.stat{padding:17px 20px;background:rgba(3,8,6,.91);border:1px solid #38501e;border-radius:13px;box-shadow:0 15px 34px #0008;min-height:108px}.stat span{display:block;font-size:10px;text-align:center;font-weight:900;letter-spacing:.5px}.stat strong{display:block;font-size:39px;margin:8px 0 6px;text-align:center}.stat small{display:block;color:#b8c3bf;text-align:center;font-size:11px}.digital{padding:14px 14px 16px;min-height:132px}.digital>span{margin-bottom:7px;color:#e8eee9}
.led-clock{
  height:76px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:4px;
  padding:5px 8px;
  overflow:hidden;
  white-space:nowrap;
}
.led-digit{
  position:relative;
  width:40px;
  height:59px;
  display:inline-block;
  flex:0 0 40px;
}
.seg{
  position:absolute;
  background:#14200f;
  opacity:.24;
}
.seg.on{
  background:#8dff18;
  opacity:1;
  box-shadow:0 0 5px #7df200,0 0 11px #64df00,0 0 16px rgba(108,255,0,.50);
}
.seg-a,.seg-d,.seg-g{
  left:7px;
  width:27px;
  height:6px;
  clip-path:polygon(11% 0,89% 0,100% 50%,89% 100%,11% 100%,0 50%);
}
.seg-a{top:1px}
.seg-g{top:27px}
.seg-d{bottom:1px}
.seg-b,.seg-c,.seg-e,.seg-f{
  width:6px;
  height:23px;
  clip-path:polygon(50% 0,100% 12%,100% 88%,50% 100%,0 88%,0 12%);
}
.seg-b{right:1px;top:5px}
.seg-c{right:1px;bottom:5px}
.seg-f{left:1px;top:5px}
.seg-e{left:1px;bottom:5px}

/* Separador HH:MM:SS.
   Se usa el carácter ":" para conservar una proporción natural de cronómetro. */
50%,100%{opacity:.28;filter:brightness(.72)}
}

.quick{padding:0 0 29px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #2f4324;background:#0a100e;border-radius:14px}.quick-grid>div{display:flex;gap:14px;padding:23px 25px;border-right:1px solid #28352f;align-items:center}.quick-grid>div:last-child{border:0}.quick-grid>div>span:last-child{display:flex;flex-direction:column}.quick-grid strong{font-size:13px}.quick-grid small{color:#aab6b2;margin-top:5px;line-height:1.45}.quick-icon{width:37px;height:37px;display:grid;place-items:center;border:1px solid #2f531f;background:#101a0d;border-radius:9px;flex:0 0 37px}.quick-icon svg{width:22px;height:22px;fill:var(--green)}
.events{padding:10px 0 30px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.section-title h2{font-size:16px;margin:0}.section-title a{color:#bec7c3;text-decoration:none;font-size:12px}
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(450px,.92fr);gap:24px;align-items:stretch}.event-slider{overflow:hidden;width:100%;scroll-behavior:smooth}.event-cards{display:flex;gap:14px;align-items:stretch;width:100%}.event-card{background:#0d1513;border:1px solid #31403c;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;flex:0 0 calc((100% - 28px)/3);min-width:0}.event-img{height:155px;background:#111;position:relative}.event-img img{width:100%;height:100%;object-fit:cover}.featured-badge{position:absolute;left:10px;top:10px;background:var(--green);color:#071006;font-size:9px;font-weight:900;padding:5px 8px;border-radius:999px}.event-body{padding:15px;display:flex;flex-direction:column;flex:1}.event-body h3{margin:0 0 12px;font-size:15px;line-height:1.2}.event-body p{font-size:11px;color:#c4ceca;margin:7px 0;line-height:1.35}.event-body a{margin-top:auto;width:100%;text-align:center;padding:11px}
.promo{min-height:100%;border:1px solid #32432e;border-radius:12px;overflow:hidden;display:flex;align-items:center;position:relative;background:#07100d;background-image:linear-gradient(90deg,rgba(4,10,7,.98) 0%,rgba(4,10,7,.92) 38%,rgba(4,10,7,.38) 66%,rgba(4,10,7,.06) 100%),var(--promo-image);background-size:cover;background-position:center right;background-repeat:no-repeat}
.promo-copy{padding:38px;display:flex;justify-content:center;flex-direction:column;z-index:2;max-width:58%}
.promo h2{font-size:35px;margin:0;line-height:1.08}.promo p{color:#d6ddda;line-height:1.6;font-size:14px}.promo-copy a{align-self:flex-start}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:32px;border:1px solid #26342e;background:#080d0c;border-radius:12px}.metrics>div{padding:20px 27px;display:grid;grid-template-columns:48px auto;grid-template-rows:auto auto;border-right:1px solid #27332f;align-items:center}.metrics>div:last-child{border:0}.metrics b{grid-row:1/3;align-self:center;color:var(--green);font-size:27px}.metrics strong{font-size:28px;line-height:1}.metrics span{color:#aab5b1;font-size:12px;margin-top:5px}
.social{position:fixed;right:16px;top:auto;bottom:22px;transform:none;display:flex;flex-direction:column;gap:6px;z-index:25;background:rgba(5,10,8,.58);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(125,239,0,.20);border-radius:17px;padding:7px;box-shadow:0 12px 30px rgba(0,0,0,.34)}
.social a{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:#fff;text-decoration:none;box-shadow:0 5px 13px rgba(0,0,0,.34);transition:transform .15s,opacity .15s;opacity:.88}.social a:hover{transform:translateX(-2px) scale(1.05);opacity:1}.social svg{width:20px;height:20px;fill:#fff}.wa{background:#19bf62}.fb{background:#2476e8}.ig{background:linear-gradient(135deg,#7138e0,#ed3d75 55%,#ffb339)}.yt{background:#ff0000}.mail{background:#303634}
footer{border-top:1px solid #1d2925;padding:28px 0;background:#030706}.foot{display:grid;grid-template-columns:1.45fr .9fr 1.15fr .7fr;gap:25px;align-items:center}.brand-foot{display:flex;gap:11px;align-items:center}.brand-foot img{width:44px;height:44px;object-fit:contain;border-radius:8px}.brand-foot span,.foot>div{display:flex;flex-direction:column}.foot small{color:#9daca7;margin-bottom:5px}.foot a{color:var(--green);text-decoration:none;font-weight:bold;font-size:12px}.empty{border:1px dashed #38503b;padding:30px;border-radius:12px;color:#aab6b2;min-width:100%}
@media(max-width:1180px){.shell{width:min(100% - 38px,1460px)}.nav nav{gap:19px}.brand{min-width:250px}.hero-grid{grid-template-columns:minmax(0,1fr) 315px;gap:30px}.home-grid{grid-template-columns:1fr}.promo{min-height:300px}}
@media(max-width:1080px){.event-card{flex-basis:calc((100% - 14px)/2)}}
@media(max-width:1000px){.nav nav,.account{display:none}.mobile{display:block;margin-left:auto}.hero-grid{grid-template-columns:1fr;align-items:start}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr)}.digital{min-height:120px}.quick-grid{grid-template-columns:1fr 1fr}.foot{grid-template-columns:1fr 1fr}.social{top:auto;right:10px;bottom:18px;transform:none;flex-direction:column;border-radius:14px;padding:5px;gap:5px;background:rgba(5,10,8,.48)}.social a{width:34px;height:34px}.social svg{width:19px;height:19px}}
@media(max-width:760px){.shell{width:min(100% - 24px,1460px)}.topbar,.nav{height:70px}.brand{min-width:0}.brand img{width:43px;height:43px}.brand strong{font-size:16px}.brand small{display:none}.hero{min-height:auto}.hero-grid{padding:38px 0 35px;min-height:auto}.hero h1{font-size:48px;letter-spacing:-2px}.hero-copy>p{font-size:16px}.hero-features{display:grid;grid-template-columns:1fr;margin:24px 0}.hero-features>div{border:0}.actions{flex-direction:column}.actions a{text-align:center}.hero-stats{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.quick-grid>div{border-right:0;border-bottom:1px solid #28352f}.event-card{flex-basis:100%}.event-img{height:190px}.home-grid{gap:18px}.promo{grid-template-columns:1fr;min-height:0}.promo-copy{padding:26px}.promo h2{font-size:29px}.promo-visual{min-height:230px}.metrics{grid-template-columns:1fr 1fr}.metrics>div:nth-child(2){border-right:0}.metrics>div:nth-child(-n+2){border-bottom:1px solid #27332f}.foot{grid-template-columns:1fr}.social{top:auto;right:7px;bottom:14px;transform:none;max-width:none;gap:4px}.social a{width:32px;height:32px}.social svg{width:18px;height:18px}}

@media(max-width:760px){
  .hero-image{background-position:67% center;background-size:auto 100%;background-repeat:no-repeat;background-color:#050908}
  .hero-grid{position:relative}
  .promo{min-height:300px;background-position:72% center;background-size:cover}
  .promo-copy{max-width:75%;padding:24px}
}
@media(min-width:1700px){
  .shell{width:92%}
  .hero-grid{grid-template-columns:minmax(0,1fr) 360px}
  .hero h1{font-size:clamp(72px,4.7vw,100px)}
}
@media(min-width:2400px){
  .shell{width:90%}
  .hero h1{font-size:110px}
  .hero-copy>p{font-size:22px}
  .hero-grid{grid-template-columns:minmax(0,1fr) 420px}
}

/* ETAPA 14F - proporción responsive del reloj */
@media(max-width:1180px){
  .led-clock{gap:3px;padding-left:4px;padding-right:4px}
  .led-digit{width:37px;height:56px;flex-basis:37px}
  .seg-a,.seg-d,.seg-g{width:25px}
  .seg-g{top:25px}
  .seg-b,.seg-c,.seg-e,.seg-f{height:21px}
  .led-colon{width:18px;flex-basis:18px;height:56px;font-size:44px}
}
@media(max-width:760px){
  .digital{padding-left:10px;padding-right:10px}
  .led-clock{height:72px;gap:2px}
  .led-digit{width:36px;height:54px;flex-basis:36px}
  .seg-a,.seg-d,.seg-g{width:24px}
  .seg-g{top:24px}
  .seg-b,.seg-c,.seg-e,.seg-f{height:20px}
  .led-colon{width:17px;flex-basis:17px;height:54px;font-size:42px;padding-bottom:4px}
}


/* ETAPA 14H - separadores LED HH:MM:SS */
.led-colon{
  width:24px !important;
  flex:0 0 24px !important;
  height:59px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  gap:15px !important;
  padding:0 !important;
  animation:tmtColonLedBlink 1s steps(1,end) infinite !important;
}
.led-colon i{
  display:block !important;
  width:9px !important;
  height:9px !important;
  min-width:9px !important;
  min-height:9px !important;
  border-radius:50% !important;
  background:#8dff18 !important;
  opacity:1 !important;
  box-shadow:0 0 5px #7df200,0 0 11px #64df00,0 0 17px rgba(108,255,0,.65) !important;
}
@keyframes tmtColonLedBlink{
  0%,49%{opacity:1;filter:brightness(1.18)}
  50%,100%{opacity:.30;filter:brightness(.70)}
}

/* El reloj se mueve como bloque independiente, no toda la columna. */
@media(min-width:1001px){
  .hero-stats{transform:none !important}
  .hero-stats .digital{
    transform:translateY(-58px) !important;
    position:relative;
    z-index:3;
  }
}
@media(max-width:1180px){
  .led-colon{
    width:22px !important;
    flex-basis:22px !important;
    height:56px !important;
    gap:14px !important;
  }
  .led-colon i{
    width:8px !important;
    height:8px !important;
    min-width:8px !important;
    min-height:8px !important;
  }
}
@media(max-width:1000px){
  .hero-stats .digital{transform:none !important}
}
@media(max-width:760px){
  .led-colon{
    width:21px !important;
    flex-basis:21px !important;
    height:54px !important;
    gap:13px !important;
  }
  .led-colon i{
    width:8px !important;
    height:8px !important;
  }
}


/* ETAPA 14I - evitar recorte del último dígito del reloj */
.hero-grid{
  grid-template-columns:minmax(0,1fr) clamp(340px,24vw,400px) !important;
}

.hero-stats{
  min-width:0;
}

.hero-stats .digital{
  padding-left:10px !important;
  padding-right:10px !important;
  overflow:visible !important;
}

.led-clock{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  gap:2px !important;
  padding-left:2px !important;
  padding-right:2px !important;
  overflow:visible !important;
}

@media(min-width:1001px) and (max-width:1350px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) 350px !important;
  }
  .led-digit{
    width:37px !important;
    flex-basis:37px !important;
  }
  .seg-a,.seg-d,.seg-g{
    width:25px !important;
  }
  .led-colon{
    width:21px !important;
    flex-basis:21px !important;
  }
}

@media(min-width:1351px){
  .led-digit{
    width:39px !important;
    flex-basis:39px !important;
  }
  .led-colon{
    width:22px !important;
    flex-basis:22px !important;
  }
}

@media(max-width:1000px){
  .hero-grid{
    grid-template-columns:1fr !important;
  }
  .led-clock{
    width:min(100%,360px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media(max-width:760px){
  .led-clock{
    width:min(100%,330px) !important;
  }
}


/* INICIO 15A - carrusel de próximos eventos */
.event-slider-wrap{position:relative;min-width:0}
.event-img-link{display:block;text-decoration:none;cursor:pointer;overflow:hidden}
.event-img-link img{transition:transform .2s ease,filter .2s ease}
.event-img-link:hover img{transform:scale(1.025);filter:brightness(1.06)}
.event-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:30;
  width:42px;height:58px;display:grid;place-items:center;padding:0;
  border:1px solid rgba(120,239,0,.72);border-radius:11px;
  background:rgba(4,10,7,.94);color:var(--green);font-size:38px;
  font-weight:700;line-height:1;cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.42);
}
.event-nav:hover{background:#12200f;border-color:var(--green)}
.event-prev{left:7px}.event-next{right:7px}
@media(max-width:760px){
  .event-nav{width:37px;height:50px;font-size:32px}
  .event-prev{left:5px}.event-next{right:5px}
}


/* INICIO 15B - la imagen clicable conserva el diseño original.
   El selector general .event-card a pinta los botones en verde;
   este override evita que también pinte el enlace que envuelve la imagen. */
.event-card .event-img-link,
.event-card .event-img-link:link,
.event-card .event-img-link:visited,
.event-card .event-img-link:hover,
.event-card .event-img-link:focus,
.event-card .event-img-link:active{
  display:block;
  width:100%;
  height:155px;
  margin:0;
  padding:0;
  background:transparent;
  color:inherit;
  border:0;
  border-radius:0;
  outline:none;
  box-shadow:none;
  text-decoration:none;
}

.event-card .event-img-link img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

@media(max-width:760px){
  .event-card .event-img-link,
  .event-card .event-img-link:link,
  .event-card .event-img-link:visited,
  .event-card .event-img-link:hover,
  .event-card .event-img-link:focus,
  .event-card .event-img-link:active{
    height:190px;
  }
}


/* =========================================================
   INICIO 15C - flechas discretas + navegación por teclado
   ========================================================= */

/* Botones laterales más discretos, compactos y semitransparentes */
.event-nav{
  width:34px !important;
  height:48px !important;
  border:1px solid rgba(120,239,0,.34) !important;
  border-radius:10px !important;
  background:rgba(4,10,7,.46) !important;
  color:rgba(120,239,0,.82) !important;
  font-size:30px !important;
  font-weight:600 !important;
  box-shadow:0 5px 16px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  opacity:.72;
  transition:
    opacity .16s ease,
    background .16s ease,
    border-color .16s ease,
    transform .16s ease !important;
}

/* Permanecen sutiles hasta que el usuario interactúa */
.event-slider-wrap:hover .event-nav,
.event-nav:focus-visible{
  opacity:.96;
  background:rgba(4,10,7,.72) !important;
  border-color:rgba(120,239,0,.62) !important;
}

.event-nav:hover{
  opacity:1;
  transform:translateY(-50%) scale(1.03) !important;
  background:rgba(8,18,12,.82) !important;
}

/* Un poco más pegadas al borde para tapar menos la tarjeta */
.event-prev{left:3px !important}
.event-next{right:3px !important}

@media(max-width:760px){
  .event-nav{
    width:30px !important;
    height:44px !important;
    font-size:27px !important;
    opacity:.62;
  }
  .event-prev{left:2px !important}
  .event-next{right:2px !important}
}
