/* Around template typography and navbar pass */
html,
body,
button,
input,
select,
textarea,
a,
p,
span,
li,
h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.stat-num,
.cu-num,
.tl-ed,
.history-hero h1,
.history-card h2 {
  font-family: "Inter", sans-serif !important;
}

body {
  font-weight: 400;
  letter-spacing: 0;
}

.site-nav.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  min-height: 76px;
  height: auto;
  display: flex;
  align-items: center;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid rgba(33, 18, 54, .08);
  background: rgba(255, 255, 255, .96);
  box-shadow: none;
  backdrop-filter: blur(18px);
  transition: padding .2s ease, background .2s ease, box-shadow .2s ease;
}

.site-nav.navbar.scrolled {
  min-height: 68px;
  padding: 8px 0;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 .5rem 1.25rem rgba(33, 18, 54, .08);
}

.site-nav .container.nav-shell {
  position: relative;
  width: min(1320px, calc(100% - 48px));
  max-width: 1320px;
  min-height: 48px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
}

.site-nav .navbar-brand.nav-brand {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: 1rem;
  padding: 0;
  color: var(--navy);
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.site-nav .nav-logo {
  width: 58px;
  height: 58px;
  object-fit: contain;
  filter:
    drop-shadow(0 6px 12px rgba(33, 18, 54, .14)) drop-shadow(0 0 10px rgba(247, 146, 30, .14));
}

.site-nav .nav-logo-dark {
  display: none !important;
}

html[data-bs-theme="light"] .site-nav .nav-logo-light,
body:not(.dark-mode) .site-nav .nav-logo-light {
  display: block !important;
}

html[data-bs-theme="light"] .site-nav .nav-logo-dark,
body:not(.dark-mode) .site-nav .nav-logo-dark {
  display: none !important;
}

body.dark-mode .site-nav .nav-logo-light {
  display: none !important;
}

body.dark-mode .site-nav .nav-logo-dark {
  display: block !important;
  filter:
    drop-shadow(0 0 12px rgba(255, 255, 255, .22)) drop-shadow(0 8px 18px rgba(247, 146, 30, .16));
}

html[data-bs-theme="dark"] .site-nav .nav-logo-light {
  display: none !important;
}

html[data-bs-theme="dark"] .site-nav .nav-logo-dark {
  display: block !important;
}

.site-nav .navbar-nav.nav-links {
  position: static;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  margin: 0 0 0 2.75rem;
  padding: 0;
  list-style: none;
}

.site-nav .nav-item {
  display: flex;
  align-items: center;
}

.site-nav .navbar-nav .nav-link {
  display: block;
  min-height: auto;
  padding: .725rem .95rem;
  border-radius: 0;
  color: #576071;
  background: transparent;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  transition: color .2s ease;
}

.site-nav .navbar-nav .nav-link.active,
.site-nav .navbar-nav .nav-link:hover {
  color: var(--blue);
  background: transparent;
}

.site-nav .nav-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: .95rem;
}

.site-nav .mode-switch {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 28px;
  margin: 0 !important;
  padding-left: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
}

.site-nav .mode-switch .form-check-input {
  order: 2;
  width: 46px;
  height: 24px;
  margin: 0;
  flex: 0 0 auto;
  appearance: none;
  border: 1px solid rgba(67, 74, 87, .72);
  border-radius: 999px;
  background-color: #fff;
  background-image: radial-gradient(circle, #434a57 47%, transparent 49%);
  background-position: 3px center;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  box-shadow: inset 0 1px 2px rgba(18, 21, 25, .08);
  cursor: pointer;
  transition: background-position .2s ease, background-color .2s ease, border-color .2s ease;
}

.site-nav .mode-switch .form-check-input:checked {
  background-color: #fff;
  background-position: calc(100% - 3px) center;
}

.site-nav .mode-switch .form-check-input:focus-visible {
  outline: 3px solid rgba(245, 154, 0, .24);
  outline-offset: 2px;
}

.site-nav .mode-switch .form-check-label {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 20px;
  height: 20px;
  margin: 0;
  color: #f7921e;
  line-height: 1;
}

.site-nav .mode-switch .mode-icon-sun {
  order: 1;
}

.site-nav .mode-switch .mode-icon-moon {
  order: 3;
  color: #5f6877;
}

.site-nav .mode-switch .ai-sun::before {
  content: "\f221";
  font-family: "around-icons" !important;
  font-size: 17px;
  font-weight: 400 !important;
  line-height: 1;
}

.site-nav .mode-switch .ai-moon::before {
  content: "\f1ce";
  font-family: "around-icons" !important;
  font-size: 17px;
  font-weight: 400 !important;
  line-height: 1;
}

body.dark-mode {
  --paper: #111018;
  --ink: #f6f2ff;
  --muted: #b9afc7;
  --line: rgba(255, 255, 255, .12);
  background:
    radial-gradient(circle at 8% 16%, rgba(245, 154, 0, .12), transparent 28rem),
    radial-gradient(circle at 86% 8%, rgba(12, 143, 36, .08), transparent 26rem),
    #111018;
  color: #f6f2ff;
}

body.dark-mode::before {
  opacity: .35;
}

body.dark-mode .site-nav.navbar {
  border-bottom-color: rgba(255, 255, 255, .1);
  background: rgba(17, 16, 24, .94) !important;
  box-shadow: none;
}

body.dark-mode .site-nav.navbar.scrolled {
  background: rgba(17, 16, 24, .98) !important;
  box-shadow: 0 .75rem 1.75rem rgba(0, 0, 0, .24);
}

body.dark-mode .site-nav .navbar-nav .nav-link {
  color: rgba(246, 242, 255, .74);
}

body.dark-mode .site-nav .navbar-nav .nav-link.active,
body.dark-mode .site-nav .navbar-nav .nav-link:hover {
  color: var(--gold);
}

body.dark-mode .site-nav .navbar-brand.nav-brand {
  color: #f6f2ff;
}

body.dark-mode .site-nav .navbar-toggler.hamburger span {
  background: #f6f2ff;
}

body.dark-mode .site-nav .mode-switch {
  border-color: transparent;
  background: transparent !important;
}

body.dark-mode .site-nav .mode-switch .form-check-label {
  color: rgba(246, 242, 255, .74);
}

body.dark-mode .site-nav .mode-switch .mode-icon-sun {
  color: #f7921e;
}

body.dark-mode .site-nav .mode-switch .mode-icon-moon {
  color: #f7921e;
}

body.dark-mode .mobile-menu {
  border-color: rgba(255, 255, 255, .12);
  background: rgba(22, 17, 31, .98);
}

body.dark-mode .mobile-menu a {
  color: rgba(246, 242, 255, .86);
}

body.dark-mode #sobre,
body.dark-mode #gastronomia,
body.dark-mode #galeria,
body.dark-mode #noticias,
body.dark-mode #expositores {
  background: #111018;
}

body.dark-mode .section-title,
body.dark-mode .gastro-intro h3,
body.dark-mode .plato-card h3,
body.dark-mode .news-card h3,
body.dark-mode .info-card-title {
  color: #fff;
}

body.dark-mode .section-subtitle,
body.dark-mode .footer-desc,
body.dark-mode .site-footer .footer-contact p,
body.dark-mode .plato-card p,
body.dark-mode .news-card p,
body.dark-mode .info-card-text,
body.dark-mode .stat-lbl {
  color: rgba(246, 242, 255, .68);
}

body.dark-mode .stat-card,
body.dark-mode .plato-card,
body.dark-mode .g-item,
body.dark-mode .news-card,
body.dark-mode .info-card,
body.dark-mode .gastro-intro>div:first-child,
body.dark-mode .sponsor-logos {
  border-color: rgba(255, 255, 255, .1);
  background: rgba(255, 255, 255, .06);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .28);
}

body.dark-mode .badge-inst,
body.dark-mode .chip-pez {
  border-color: rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .07);
  color: rgba(246, 242, 255, .82);
}

body.dark-mode .site-footer {
  border-top-color: rgba(255, 255, 255, .1);
  background:
    radial-gradient(circle at 12% 0%, rgba(245, 154, 0, .12), transparent 28%),
    linear-gradient(180deg, #171321 0%, #100f17 100%);
  color: #f6f2ff;
}

body.dark-mode .site-footer .footer-col h4,
body.dark-mode .site-footer .footer-bottom a {
  color: #fff;
}

body.dark-mode .site-footer .footer-col a {
  color: rgba(246, 242, 255, .68);
}

body.dark-mode .site-footer .footer-col a:hover {
  color: var(--gold);
}

body.dark-mode .site-footer .soc-btn {
  color: #f6f2ff;
  border-color: rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .08);
}

body.dark-mode .site-footer .footer-bottom {
  border-top-color: rgba(255, 255, 255, .12);
  color: rgba(246, 242, 255, .6);
}

.site-nav .btn.nav-cta {
  min-height: 36px;
  padding: .475rem 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: .5rem;
  color: #fff;
  background: var(--gold);
  box-shadow: 0 .5rem 1.125rem rgba(245, 154, 0, .22);
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  transform: none;
}

.site-nav .btn.nav-cta:hover {
  color: #fff;
  background: #e58f00;
  box-shadow: 0 .625rem 1.25rem rgba(245, 154, 0, .3);
  transform: none;
}

.site-nav .navbar-toggler.hamburger {
  position: static;
  width: 40px;
  height: 40px;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: .5rem;
  background: transparent;
  box-shadow: none;
}

.site-nav .navbar-toggler.hamburger span {
  width: 22px;
  height: 2px;
  display: block;
  border-radius: 999px;
  background: #121519;
}

@media (max-width: 1040px) {
  .site-nav .navbar-nav.nav-links {
    display: none;
  }

  .site-nav .navbar-toggler.hamburger {
    display: inline-flex;
  }
}

@media (max-width: 575px) {
  .site-nav .btn.nav-cta {
    display: none;
  }
}

@media (max-width: 700px) {
  .site-nav.navbar {
    min-height: 68px;
    padding: 8px 0;
  }

  .site-nav .container.nav-shell {
    width: min(100% - 28px, 1320px);
  }

  .site-nav .nav-logo {
    width: 52px;
    height: 52px;
  }

  .site-nav .btn.nav-cta {
    min-height: 34px;
    padding: .4rem .825rem;
    font-size: .8125rem;
  }

  .site-nav .nav-actions {
    gap: .55rem;
  }

  .site-nav .mode-switch {
    gap: .3rem;
    padding: .2rem .28rem;
    margin-left: auto !important;
    margin-right: .65rem !important;
  }

  .site-nav .mode-switch .form-check-label {
    display: none;
  }
}

/* Activity-inspired section below countdown */
#sobre {
  position: relative;
  margin-top: -1px;
  padding-top: clamp(88px, 8vw, 128px) !important;
  padding-bottom: clamp(88px, 8vw, 128px) !important;
  overflow: hidden;
  background: #fff !important;
}

#sobre::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -120px;
  height: 160px;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, .46) 0%, rgba(255, 255, 255, .74) 58%, #fff 100%);
}

#sobre .section-inner {
  position: relative;
  z-index: 1;
}

#sobre .about-grid {
  grid-template-columns: minmax(360px, .95fr) minmax(0, 1.1fr) !important;
  gap: clamp(48px, 7vw, 96px) !important;
  align-items: center !important;
}

#sobre .about-img-stack {
  min-height: 570px !important;
}

#sobre .about-img-stack::before,
#sobre .about-img-stack::after {
  content: none !important;
}

#sobre .about-img-stack img {
  display: none !important;
}

#sobre .about-grid>div:last-child {
  position: relative;
}

#sobre .about-watermark {
  position: absolute;
  top: -92px;
  left: -8px;
  z-index: 0;
  color: rgba(75, 46, 131, .085);
  font-family: "Inter", "Nunito", sans-serif;
  font-size: clamp(78px, 10vw, 140px);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

#sobre .section-tag {
  color: var(--green) !important;
  font-size: 12px;
  letter-spacing: 2px;
}

#sobre .section-title {
  max-width: 780px;
  color: #111018 !important;
  font-family: "Inter", "Nunito", sans-serif !important;
  font-size: clamp(34px, 4vw, 58px) !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
}

#sobre .section-subtitle {
  max-width: 680px;
  color: rgba(17, 16, 24, .68) !important;
  font-family: "Inter", "Nunito", sans-serif;
  font-size: clamp(16px, 1.45vw, 20px) !important;
  line-height: 1.75 !important;
}

.festival-map-card {
  position: relative;
  min-height: clamp(600px, 52vw, 700px);
  display: grid;
  place-items: center;
}

.map-watermark {
  position: absolute;
  top: 20px;
  left: 6%;
  color: rgba(75, 46, 131, .055);
  font-family: "Inter", "Nunito", sans-serif;
  font-size: clamp(74px, 9vw, 128px);
  font-weight: 800;
  line-height: 1;
}

.map-shape {
  position: relative;
  width: auto;
  height: clamp(600px, 50vw, 700px);
  aspect-ratio: 642 / 1211;
  display: grid;
  place-items: center;
  border-radius: 32px;
  overflow: visible;
  background:
    radial-gradient(circle at 52% 48%, rgba(75, 46, 131, .06), transparent 44%),
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(255, 250, 241, .86));
  box-shadow:
    inset 0 0 0 1px rgba(75, 46, 131, .08),
    0 24px 60px rgba(17, 16, 24, .06);
}

@media (min-width: 1041px) {
  #sobre .about-img-stack {
    transform: translateX(-18px);
  }

  .map-shape {
    height: clamp(670px, 57vw, 780px);
  }
}

.map-shape::before {
  content: "";
  position: absolute;
  inset: 20px;
  border: 1px solid rgba(29, 122, 90, .14);
  border-radius: 28px;
}

#sobre .about-img-stack img.central-map-img {
  display: block !important;
  width: 152%;
  height: 152%;
  object-fit: contain;
  padding: 0;
  opacity: 1;
  filter: drop-shadow(0 18px 28px rgba(75, 46, 131, .1));
  mix-blend-mode: normal;
}

.map-pin {
  position: absolute;
  width: 30px;
  height: 30px;
  border: 3px solid #111018;
  border-radius: 50% 50% 50% 0;
  background: #fffaf1;
  transform: rotate(-45deg);
  box-shadow: 0 12px 26px rgba(17, 16, 24, .18);
}

.map-pin::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--gold);
}

.san-antonio-marker {
  position: absolute;
  left: 41.2%;
  top: 36.8%;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  transform: translate(-50%, -18px);
  color: #111018;
  font-family: "Inter", "Nunito", sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .2px;
  text-transform: uppercase;
  text-decoration: none;
  z-index: 4;
}

.san-antonio-marker .map-pin {
  position: relative;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-width: 2px;
  background: #fff;
  transform: rotate(-45deg);
  box-shadow:
    0 8px 18px rgba(17, 16, 24, .18),
    0 0 0 7px rgba(245, 154, 0, .14);
}

.san-antonio-marker .map-pin::before {
  content: "";
  position: absolute;
  inset: -11px;
  border: 1px solid rgba(245, 154, 0, .34);
  border-radius: 50%;
  animation: mapPinPulse 2.4s ease-in-out infinite;
}

.san-antonio-marker span:last-child {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  position: relative;
  min-width: 156px;
  padding: 9px 12px 10px;
  border: 1px solid rgba(75, 46, 131, .18);
  border-radius: 16px;
  background: rgba(255, 250, 241, .96);
  box-shadow:
    0 16px 34px rgba(17, 16, 24, .12),
    inset 0 1px 0 rgba(255, 255, 255, .7);
  text-align: center;
}

.san-antonio-marker span:last-child::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -13px;
  width: 1px;
  height: 13px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(75, 46, 131, .5), rgba(75, 46, 131, .08));
}

.san-antonio-marker strong {
  font-size: 11px;
  line-height: 1;
  letter-spacing: .6px;
}

.san-antonio-marker small {
  color: #4b2e83;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-transform: none;
}

.san-antonio-marker:hover span:last-child {
  border-color: rgba(245, 154, 0, .42);
  box-shadow: 0 16px 34px rgba(17, 16, 24, .14);
}

#sobre .about-stats {
  max-width: 760px;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(28px, 4vw, 52px) clamp(34px, 5vw, 70px) !important;
  margin-top: 52px !important;
}

#sobre .stat-card {
  min-height: auto !important;
  align-items: flex-start;
  padding: 0 0 0 76px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

#sobre .stat-card::before {
  left: 0;
  top: 4px;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(29, 122, 90, .42);
  border-radius: 18px;
  background: transparent;
}

#sobre .stat-card::after {
  right: auto;
  bottom: auto;
  left: 18px;
  top: 18px;
  width: 14px;
  height: 14px;
  border: 2px solid var(--stat-color, var(--gold));
  border-radius: 50%;
  background: transparent;
}

#sobre .stat-num {
  color: #111018 !important;
  font-family: "Inter", "Nunito", sans-serif !important;
  font-size: clamp(28px, 2.6vw, 38px) !important;
  font-weight: 800 !important;
}

#sobre .stat-lbl {
  margin-top: 10px !important;
  color: rgba(17, 16, 24, .62) !important;
  font-family: "Inter", "Nunito", sans-serif;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.65 !important;
}

#sobre .badge-inst {
  min-height: 38px;
  border-color: rgba(75, 46, 131, .14);
  background: rgba(75, 46, 131, .055);
  color: #4b2e83;
  font-family: "Inter", "Nunito", sans-serif;
  font-size: 12px;
  font-weight: 700;
  box-shadow: none;
}

@media (max-width: 1040px) {
  #sobre .about-grid {
    grid-template-columns: 1fr !important;
  }

  #sobre .about-img-stack {
    min-height: 560px !important;
    order: 2;
  }

  .festival-map-card {
    min-height: 560px;
  }
}

@media (max-width: 700px) {
  #sobre {
    padding-top: 78px !important;
  }

  #sobre .about-watermark {
    top: -48px;
    font-size: 62px;
  }

  #sobre .section-title {
    font-size: clamp(31px, 9vw, 42px) !important;
  }

  #sobre .about-stats {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  #sobre .about-img-stack,
  .festival-map-card {
    min-height: 500px !important;
  }

  .map-shape {
    height: min(500px, 100%);
  }
}

body.dark-mode #sobre {
  background: linear-gradient(180deg, #111018 0%, #171321 100%) !important;
}

body.dark-mode #sobre::before {
  background: linear-gradient(180deg, rgba(17, 16, 24, .44) 0%, rgba(17, 16, 24, .76) 58%, #111018 100%) !important;
}

body.dark-mode #countdown-bar::after {
  background: linear-gradient(180deg, rgba(17, 16, 24, .38) 0%, rgba(17, 16, 24, .68) 100%) !important;
}

body.dark-mode #sobre .about-watermark,
body.dark-mode #sobre .map-watermark {
  color: rgba(246, 242, 255, .075) !important;
}

body.dark-mode #sobre .section-title,
body.dark-mode #sobre .stat-num {
  color: #f6f2ff !important;
}

body.dark-mode #sobre .section-subtitle,
body.dark-mode #sobre .stat-lbl {
  color: rgba(246, 242, 255, .68) !important;
}

body.dark-mode #sobre .map-shape {
  background:
    radial-gradient(circle at 52% 48%, rgba(245, 154, 0, .09), transparent 44%),
    linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(75, 46, 131, .14)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .12),
    0 24px 60px rgba(0, 0, 0, .26) !important;
}

body.dark-mode #sobre .map-shape::before {
  border-color: rgba(255, 255, 255, .12) !important;
}

body.dark-mode #sobre .central-map-img {
  filter: drop-shadow(0 20px 34px rgba(0, 0, 0, .24)) saturate(.95) brightness(.92) !important;
}

body.dark-mode #sobre .san-antonio-marker {
  color: #f6f2ff !important;
}

body.dark-mode #sobre .san-antonio-marker span:last-child {
  border-color: rgba(255, 255, 255, .14) !important;
  background: rgba(17, 16, 24, .82) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22) !important;
}

body.dark-mode #sobre .san-antonio-marker small {
  color: var(--gold) !important;
}

body.dark-mode #sobre .map-pin {
  border-color: #f6f2ff !important;
  background: #171321 !important;
}

body.dark-mode #sobre .san-antonio-marker .map-pin {
  box-shadow:
    0 8px 18px rgba(0, 0, 0, .32),
    0 0 0 7px rgba(245, 154, 0, .18) !important;
}

body.dark-mode #sobre .san-antonio-marker span:last-child::before {
  background: linear-gradient(180deg, rgba(245, 154, 0, .52), rgba(245, 154, 0, .08)) !important;
}

@keyframes mapPinPulse {

  0%,
  100% {
    transform: scale(.72);
    opacity: .24;
  }

  50% {
    transform: scale(1.25);
    opacity: .55;
  }
}

/* Custom pointer cursor */
html,
body {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M7 4.5 23.8 18.2c1.1.9.4 2.7-1 2.7h-7.1l-3.2 6.8c-.5 1.1-2.2.9-2.4-.3L6.1 6.1C5.9 4.8 6.9 4 7 4.5Z' fill='white'/%3E%3Cpath d='M8.5 7.2 21.2 17.5c.5.4.2 1.2-.4 1.2h-6.5l-2.8 6-3-17.5Z' fill='%23070608'/%3E%3C/svg%3E") 7 5, auto;
}

a,
button,
[role="button"],
input[type="button"],
input[type="submit"],
input[type="checkbox"],
.hero-dot,
.hero-slide-btn {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M7 4.5 23.8 18.2c1.1.9.4 2.7-1 2.7h-7.1l-3.2 6.8c-.5 1.1-2.2.9-2.4-.3L6.1 6.1C5.9 4.8 6.9 4 7 4.5Z' fill='white'/%3E%3Cpath d='M8.5 7.2 21.2 17.5c.5.4.2 1.2-.4 1.2h-6.5l-2.8 6-3-17.5Z' fill='%23070608'/%3E%3C/svg%3E") 7 5, pointer;
}

input,
textarea,
select {
  cursor: auto;
}

/* Orange button system */
:root {
  --gold: #f7921e;
  --gold-2: #ffad3d;
  --button-orange: #f7921e;
  --button-orange-dark: #d87308;
}

.btn-p,
.btn-form,
.site-nav .btn.nav-cta,
nav.site-nav .nav-cta,
.footer-cta,
.nav-mobile-cta .nav-link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #f7921e 0%, #ffad3d 100%) !important;
  color: #111018 !important;
  font-family: "Inter", "Nunito", sans-serif !important;
  font-size: clamp(12px, 1vw, 14px) !important;
  font-weight: 800 !important;
  letter-spacing: .45px !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-shadow: none !important;
  box-shadow: 0 16px 34px rgba(247, 146, 30, .28) !important;
}

.btn-p {
  padding: 16px 32px !important;
}

.btn-form,
.site-nav .btn.nav-cta,
nav.site-nav .nav-cta,
.footer-cta {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.btn-p:hover,
.btn-form:hover,
.site-nav .btn.nav-cta:hover,
nav.site-nav .nav-cta:hover,
.footer-cta:hover,
.nav-mobile-cta .nav-link:hover {
  background: linear-gradient(135deg, #ffad3d 0%, #f7921e 100%) !important;
  color: #111018 !important;
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(247, 146, 30, .34) !important;
}

.btn-s {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-color: rgba(247, 146, 30, .55) !important;
  background: rgba(17, 16, 24, .34) !important;
  color: #fff !important;
  font-family: "Inter", "Nunito", sans-serif !important;
  font-size: clamp(12px, 1vw, 14px) !important;
  font-weight: 800 !important;
  letter-spacing: .45px !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-shadow: 0 8px 20px rgba(0, 0, 0, .28);
}

.btn-s:hover {
  border-color: #f7921e !important;
  background: #f7921e !important;
  color: #111018 !important;
  text-shadow: none !important;
}

body.dark-mode .btn-p,
body.dark-mode .btn-form,
body.dark-mode .site-nav .btn.nav-cta,
body.dark-mode nav.site-nav .nav-cta,
body.dark-mode .footer-cta,
body.dark-mode .nav-mobile-cta .nav-link {
  color: #111018 !important;
  box-shadow: 0 18px 42px rgba(247, 146, 30, .26) !important;
}

#historia {
  background:
    linear-gradient(120deg, rgba(33, 18, 54, 0.78), rgba(75, 46, 131, 0.64)),
    linear-gradient(180deg, rgba(16, 10, 28, 0.24), rgba(16, 10, 28, 0.48)),
    url("../img/stand6.jpg") center/cover !important;
}

body.dark-mode #historia {
  background:
    linear-gradient(120deg, rgba(17, 12, 29, 0.78), rgba(75, 46, 131, 0.6)),
    linear-gradient(180deg, rgba(10, 8, 18, 0.28), rgba(10, 8, 18, 0.52)),
    url("../img/stand6.jpg") center/cover !important;
}

#historia .history-link-btn,
#historia .history-link-btn:visited {
  color: #111018 !important;
  background: linear-gradient(135deg, #ffad3d 0%, #f7921e 100%) !important;
  border-color: rgba(247, 146, 30, .55) !important;
  text-shadow: none !important;
}

#historia .history-link-btn:hover,
#historia .history-link-btn:focus-visible {
  color: #111018 !important;
  background: linear-gradient(135deg, #ffc66b 0%, #f7921e 100%) !important;
}

#noticias .news-body a,
#noticias .news-body a:visited {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(247, 146, 30, .48);
  background: linear-gradient(135deg, #ffad3d 0%, #f7921e 100%) !important;
  color: #111018 !important;
  box-shadow: 0 12px 26px rgba(247, 146, 30, .18);
  text-shadow: none !important;
}

#noticias .news-body a:hover,
#noticias .news-body a:focus-visible {
  background: linear-gradient(135deg, #ffc66b 0%, #f7921e 100%) !important;
  color: #111018 !important;
  box-shadow: 0 16px 34px rgba(247, 146, 30, .25);
}

body.dark-mode #noticias .news-body a,
body.dark-mode #noticias .news-body a:visited,
body.dark-mode #noticias .news-body a:hover,
body.dark-mode #noticias .news-body a:focus-visible {
  color: #111018 !important;
}

#programa {
  position: relative;
  background:
    radial-gradient(circle at 16% 18%, rgba(247, 146, 30, .22), transparent 32%),
    linear-gradient(120deg, rgba(26, 14, 45, .88), rgba(75, 46, 131, .76) 48%, rgba(17, 12, 29, .9)),
    url("../img/hero-fuegos.jpg") center/cover !important;
}

#programa::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(17, 12, 29, .14), rgba(17, 12, 29, .48)),
    radial-gradient(circle at 78% 18%, rgba(247, 146, 30, .16), transparent 30%);
}

#programa .section-inner {
  position: relative;
  z-index: 1;
}

#programa .section-tag {
  color: #f7921e !important;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .14em;
}

#programa .section-title {
  max-width: 900px;
  color: #fff !important;
  font-size: clamp(2.25rem, 4.8vw, 4.6rem);
  font-weight: 800;
  letter-spacing: 0;
  line-height: .98;
}

#programa .section-subtitle {
  max-width: 720px;
  color: rgba(255, 255, 255, .82) !important;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  font-weight: 400;
  line-height: 1.7;
}

#programa .programa-grid {
  gap: clamp(22px, 3vw, 38px);
}

#programa .programa-timeline,
#programa .programa-info {
  border: 1px solid rgba(255, 255, 255, .16);
  background: linear-gradient(145deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .07));
  box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
  backdrop-filter: blur(16px);
}

#programa .programa-timeline {
  position: relative;
  padding: 20px 30px;
}

#programa .pt-item {
  position: relative;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 22px;
  padding: 20px 0 20px 32px;
  border-bottom-color: rgba(255, 255, 255, .12);
}

#programa .pt-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 24px;
  width: 14px;
  height: 14px;
  border: 3px solid rgba(247, 146, 30, .9);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 0 0 7px rgba(247, 146, 30, .12);
}

#programa .pt-highlight::before {
  width: 18px;
  height: 18px;
  border-color: #fff;
  background: #f7921e;
  box-shadow: 0 0 0 8px rgba(247, 146, 30, .25);
}

#programa .pt-hora {
  color: #f7921e !important;
  font-family: "Inter", sans-serif !important;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: .02em;
}

#programa .pt-desc {
  color: rgba(255, 255, 255, .86);
  font-size: .96rem;
  font-weight: 400;
  line-height: 1.65;
}

#programa .pt-desc strong {
  color: #fff;
  font-weight: 800;
}

#programa .pt-highlight {
  margin: 8px -14px;
  padding: 20px 14px 20px 52px;
  border-color: rgba(247, 146, 30, .5);
  background: linear-gradient(135deg, rgba(247, 146, 30, .24), rgba(75, 46, 131, .2));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
}

#programa .pt-highlight::before {
  left: 18px;
}

#programa .programa-info {
  gap: 16px;
  padding: 20px;
}

#programa .info-card {
  min-height: 178px;
  border-color: rgba(255, 255, 255, .14);
  background: linear-gradient(145deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .065));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}

#programa .info-card-icon {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(247, 146, 30, .34);
  background: rgba(247, 146, 30, .16);
  color: #f7921e;
  font-size: 1.35rem;
}

#programa .info-card-title {
  color: rgba(255, 255, 255, .68);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
}

#programa .info-card-val {
  color: #fff !important;
  font-family: "Inter", sans-serif !important;
  font-size: clamp(1.22rem, 2vw, 1.55rem);
  font-weight: 800;
  letter-spacing: 0;
}

#programa .info-card-sub {
  color: rgba(255, 255, 255, .68);
  font-size: .86rem;
}

body.dark-mode #programa {
  background:
    radial-gradient(circle at 16% 18%, rgba(247, 146, 30, .18), transparent 32%),
    linear-gradient(120deg, rgba(15, 10, 26, .9), rgba(75, 46, 131, .68) 50%, rgba(8, 7, 14, .94)),
    url("../img/hero-fuegos.jpg") center/cover !important;
}

@media (max-width: 720px) {
  #programa .pt-item {
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 12px;
    padding-left: 24px;
  }

  #programa .pt-highlight {
    padding-left: 44px;
  }

  #programa .pt-highlight::before {
    left: 14px;
  }
}

.sponsors-strip {
  position: relative;
  overflow: hidden;
  padding-top: clamp(72px, 7vw, 108px);
  padding-bottom: clamp(72px, 7vw, 108px);
  background:
    radial-gradient(circle at 14% 16%, rgba(247, 146, 30, .2), transparent 32%),
    radial-gradient(circle at 86% 10%, rgba(75, 46, 131, .42), transparent 34%),
    linear-gradient(135deg, #180d28 0%, #2b1748 48%, #100818 100%) !important;
}

.sponsors-strip::before {
  opacity: .25 !important;
  background-size: 64px 64px !important;
}

.sponsors-bg {
  width: 520px;
  height: 520px;
  background: rgba(247, 146, 30, .16) !important;
  filter: blur(96px);
}

.sponsors-head {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(300px, .58fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: end;
  margin-bottom: clamp(34px, 5vw, 56px) !important;
}

.sponsors-kicker {
  width: max-content;
  padding: 7px 14px !important;
  border-color: rgba(255, 218, 164, .28) !important;
  background: rgba(247, 146, 30, .12) !important;
  color: #f7921e !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
  letter-spacing: .14em;
}

.sponsors-head h2 {
  max-width: 790px;
  color: #fff !important;
  font-family: "Inter", sans-serif !important;
  font-size: clamp(2.2rem, 5vw, 4.65rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0;
  line-height: .98 !important;
}

.sponsors-head p {
  max-width: 520px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .72) !important;
  font-size: clamp(1rem, 1.25vw, 1.12rem) !important;
  font-weight: 400;
  line-height: 1.75 !important;
}

.sponsors-inner {
  max-width: min(100%, 1220px) !important;
  gap: clamp(18px, 2.6vw, 34px) !important;
}

.sponsor-block,
.sponsor-featured {
  min-height: clamp(280px, 26vw, 360px) !important;
  grid-template-columns: minmax(130px, .34fr) minmax(0, 1fr) !important;
  border-color: rgba(255, 255, 255, .14) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .045)),
    linear-gradient(135deg, rgba(247, 146, 30, .09), transparent 46%) !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .28) !important;
  backdrop-filter: blur(14px);
}

.sponsor-featured {
  border-color: rgba(247, 146, 30, .36) !important;
  background:
    linear-gradient(135deg, rgba(247, 146, 30, .15), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .055)) !important;
}

.sponsor-title {
  justify-content: center !important;
  gap: 18px !important;
}

.sponsor-title span,
.sponsor-featured .sponsor-title span {
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  border-color: rgba(247, 146, 30, .36) !important;
  background: rgba(247, 146, 30, .14) !important;
  color: #f7921e !important;
  font-size: 1.35rem !important;
  box-shadow: none !important;
}

.sponsor-title h3,
.sponsor-featured .sponsor-title h3 {
  color: #fff !important;
  font-family: "Inter", sans-serif !important;
  font-size: clamp(1.8rem, 3.2vw, 2.65rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0;
  line-height: 1.02 !important;
  text-shadow: none !important;
}

.sponsor-level {
  display: inline-flex !important;
  margin-bottom: 8px !important;
  color: #f7921e !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
}

.sponsor-logos,
.sponsor-featured .sponsor-logos {
  min-height: 260px !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 50% 40%, rgba(247, 146, 30, .08), transparent 36%),
    linear-gradient(180deg, #fff, #f7f4fb) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .2) !important;
}

.sponsor-logos::before,
.sponsor-featured .sponsor-logos::before {
  inset: 12px !important;
  border-color: rgba(75, 46, 131, .1) !important;
  border-radius: 20px !important;
}

.sponsor-logos::after,
.sponsor-featured .sponsor-logos::after {
  background: linear-gradient(135deg, #ffad3d 0%, #f7921e 100%) !important;
  color: #111018 !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  opacity: .95 !important;
}

.sponsor-logos img,
.sponsor-featured .sponsor-logos img {
  max-height: clamp(130px, 12vw, 210px) !important;
  filter: drop-shadow(0 12px 22px rgba(33, 18, 54, .14)) !important;
}

body.dark-mode .sponsors-strip {
  background:
    radial-gradient(circle at 14% 16%, rgba(247, 146, 30, .16), transparent 32%),
    radial-gradient(circle at 86% 10%, rgba(75, 46, 131, .34), transparent 34%),
    linear-gradient(135deg, #100818 0%, #211236 52%, #09050f 100%) !important;
}

body.dark-mode .sponsor-logos,
body.dark-mode .sponsor-featured .sponsor-logos {
  background:
    radial-gradient(circle at 50% 40%, rgba(247, 146, 30, .08), transparent 36%),
    linear-gradient(180deg, #fff, #f7f4fb) !important;
}

@media (max-width: 920px) {
  .sponsors-head {
    grid-template-columns: 1fr;
    text-align: left !important;
  }

  .sponsors-head p {
    margin-top: 0 !important;
  }

  .sponsors-inner {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  .sponsors-strip {
    padding: 58px 14px !important;
  }

  .sponsor-block,
  .sponsor-featured {
    min-height: 420px !important;
    grid-template-columns: 1fr !important;
    padding: 18px !important;
  }

  .sponsor-title {
    min-height: auto !important;
    align-items: flex-start !important;
    padding: 0 !important;
  }

  .sponsor-title h3,
  .sponsor-featured .sponsor-title h3 {
    font-size: 2rem !important;
  }

  .sponsor-logos,
  .sponsor-featured .sponsor-logos {
    min-height: 270px !important;
  }
}

.sponsors-strip {
  padding: clamp(54px, 6vw, 82px) 22px !important;
  background:
    radial-gradient(circle at 12% 16%, rgba(247, 146, 30, .12), transparent 28%),
    radial-gradient(circle at 88% 20%, rgba(75, 46, 131, .10), transparent 30%),
    linear-gradient(180deg, #fff 0%, #fbf8ff 100%) !important;
  color: #211236;
}

.sponsors-strip::before {
  opacity: .22 !important;
  background-image:
    linear-gradient(rgba(75, 46, 131, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(75, 46, 131, .045) 1px, transparent 1px) !important;
  background-size: 54px 54px !important;
}

.sponsors-bg {
  background: rgba(247, 146, 30, .14) !important;
  opacity: .9;
}

.sponsors-head {
  grid-template-columns: minmax(0, .82fr) minmax(280px, .48fr) !important;
  align-items: end;
  gap: clamp(18px, 3vw, 44px) !important;
  margin-bottom: clamp(24px, 4vw, 38px) !important;
}

.sponsors-kicker {
  border-color: rgba(247, 146, 30, .28) !important;
  background: rgba(247, 146, 30, .09) !important;
  color: #f7921e !important;
}

.sponsors-head h2 {
  max-width: 720px;
  color: #211236 !important;
  font-size: clamp(2rem, 4.2vw, 3.8rem) !important;
  line-height: 1.02 !important;
}

.sponsors-head p {
  color: rgba(33, 18, 54, .68) !important;
  font-size: clamp(.98rem, 1.1vw, 1.08rem) !important;
}

.sponsors-inner {
  max-width: min(100%, 1160px) !important;
  gap: clamp(16px, 2.2vw, 26px) !important;
}

.sponsor-block,
.sponsor-featured {
  min-height: clamp(230px, 20vw, 300px) !important;
  grid-template-columns: minmax(120px, .32fr) minmax(0, 1fr) !important;
  gap: clamp(14px, 2vw, 22px) !important;
  padding: clamp(16px, 2vw, 24px) !important;
  border: 1px solid rgba(75, 46, 131, .12) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .82)),
    linear-gradient(135deg, rgba(247, 146, 30, .07), transparent 44%) !important;
  box-shadow: 0 18px 44px rgba(33, 18, 54, .10) !important;
}

.sponsor-featured {
  grid-template-columns: 1fr !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  border-color: rgba(247, 146, 30, .28) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(255, 250, 242, .88)),
    linear-gradient(135deg, rgba(247, 146, 30, .10), transparent 44%) !important;
}

.sponsor-featured .sponsor-title {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
}

.sponsor-featured .sponsor-logos {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
}

.sponsor-title {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  align-self: start !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  min-height: auto !important;
  padding-top: 6px !important;
}

.sponsor-title span,
.sponsor-featured .sponsor-title span {
  width: 48px !important;
  height: 48px !important;
  border-radius: 15px !important;
  background: rgba(247, 146, 30, .11) !important;
}

.sponsor-title h3,
.sponsor-featured .sponsor-title h3 {
  color: #211236 !important;
  font-size: clamp(1.55rem, 2.6vw, 2.2rem) !important;
}

.sponsor-level {
  color: #f7921e !important;
}

.sponsor-logos,
.sponsor-featured .sponsor-logos {
  min-height: clamp(190px, 18vw, 250px) !important;
  border: 1px solid rgba(75, 46, 131, .11) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(247, 146, 30, .07), transparent 34%),
    linear-gradient(180deg, #fff, #faf8ff) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 14px 32px rgba(33, 18, 54, .08) !important;
}

.sponsor-logos::before,
.sponsor-featured .sponsor-logos::before {
  inset: 10px !important;
  border-radius: 16px !important;
}

.sponsor-logos::after,
.sponsor-featured .sponsor-logos::after {
  min-height: 30px !important;
  padding: 0 12px !important;
  font-size: .78rem !important;
}

.sponsor-logos img,
.sponsor-featured .sponsor-logos img {
  max-height: clamp(112px, 10vw, 170px) !important;
}

body.dark-mode .sponsors-strip {
  background:
    radial-gradient(circle at 12% 16%, rgba(247, 146, 30, .13), transparent 28%),
    radial-gradient(circle at 88% 20%, rgba(75, 46, 131, .18), transparent 30%),
    linear-gradient(180deg, #15101d 0%, #100818 100%) !important;
}

body.dark-mode .sponsors-head h2,
body.dark-mode .sponsor-title h3,
body.dark-mode .sponsor-featured .sponsor-title h3 {
  color: #fff !important;
}

body.dark-mode .sponsors-head p {
  color: rgba(246, 242, 255, .72) !important;
}

body.dark-mode .sponsor-block,
body.dark-mode .sponsor-featured {
  border-color: rgba(255, 255, 255, .12) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035)),
    linear-gradient(135deg, rgba(247, 146, 30, .08), transparent 44%) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .26) !important;
}

.sponsors-strip {
  padding-top: clamp(44px, 5vw, 68px) !important;
  padding-bottom: clamp(44px, 5vw, 68px) !important;
}

.sponsors-head {
  gap: clamp(16px, 2.4vw, 34px) !important;
  margin-bottom: clamp(20px, 3vw, 30px) !important;
}

.sponsors-kicker {
  padding: 6px 13px !important;
  margin-bottom: 10px !important;
}

.sponsors-head h2 {
  font-size: clamp(1.9rem, 3.8vw, 3.35rem) !important;
}

.sponsors-head p {
  font-size: clamp(.94rem, 1vw, 1rem) !important;
  line-height: 1.6 !important;
}

.sponsor-block,
.sponsor-featured {
  min-height: clamp(210px, 18vw, 260px) !important;
  padding: clamp(14px, 1.6vw, 20px) !important;
}

.sponsor-title span,
.sponsor-featured .sponsor-title span {
  width: 44px !important;
  height: 44px !important;
}

.sponsor-title h3,
.sponsor-featured .sponsor-title h3 {
  font-size: clamp(1.45rem, 2.25vw, 1.95rem) !important;
}

.sponsor-logos,
.sponsor-featured .sponsor-logos {
  min-height: clamp(170px, 15vw, 220px) !important;
}

.sponsor-logos img,
.sponsor-featured .sponsor-logos img {
  max-height: clamp(104px, 9vw, 150px) !important;
}

@media (max-width: 920px) {
  .sponsors-head {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

@media (max-width: 768px) {
  .sponsors-strip {
    padding: 38px 14px !important;
  }

  .sponsors-head {
    margin-bottom: 20px !important;
  }

  .sponsors-head h2 {
    font-size: clamp(1.85rem, 8.2vw, 2.45rem) !important;
  }

  .sponsor-block,
  .sponsor-featured {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 16px !important;
    border-radius: 22px !important;
  }

  .sponsor-title {
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center !important;
    margin-bottom: 0 !important;
    text-align: left !important;
  }

  .sponsor-title h3,
  .sponsor-featured .sponsor-title h3 {
    font-size: 1.65rem !important;
  }

  .sponsor-logos,
  .sponsor-featured .sponsor-logos {
    min-height: 168px !important;
  }

  .sponsor-logos img,
  .sponsor-featured .sponsor-logos img {
    max-height: 124px !important;
  }
}

.sponsor-block,
.sponsor-featured {
  grid-template-columns: 1fr !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: clamp(14px, 1.8vw, 18px) !important;
  min-height: clamp(292px, 25vw, 360px) !important;
  border-color: rgba(247, 146, 30, .24) !important;
  background:
    radial-gradient(circle at 16% 16%, rgba(247, 146, 30, .10), transparent 32%),
    linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(255, 251, 244, .88)) !important;
}

.sponsor-title,
.sponsor-featured .sponsor-title {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 18px !important;
  min-height: auto !important;
  padding: 0 !important;
}

.sponsor-title span,
.sponsor-featured .sponsor-title span {
  width: 54px !important;
  height: 54px !important;
  border-radius: 17px !important;
  border: 1px solid rgba(247, 146, 30, .32) !important;
  background: rgba(247, 146, 30, .12) !important;
  color: #f7921e !important;
}

.sponsor-level {
  display: block !important;
  margin: 0 0 4px !important;
  color: #f7921e !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.sponsor-title h3,
.sponsor-featured .sponsor-title h3 {
  margin: 0 !important;
  color: #211236 !important;
  font-size: clamp(2rem, 3vw, 2.55rem) !important;
  font-weight: 800 !important;
  line-height: .98 !important;
}

.sponsor-logos,
.sponsor-featured .sponsor-logos {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  min-height: clamp(176px, 15vw, 220px) !important;
  border-color: rgba(75, 46, 131, .13) !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(247, 146, 30, .06), transparent 38%),
    linear-gradient(180deg, #fff 0%, #faf8ff 100%) !important;
}

body.dark-mode .sponsor-block,
body.dark-mode .sponsor-featured {
  background:
    radial-gradient(circle at 16% 16%, rgba(247, 146, 30, .13), transparent 32%),
    linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035)) !important;
}

body.dark-mode .sponsor-title h3,
body.dark-mode .sponsor-featured .sponsor-title h3 {
  color: #fff !important;
}

body.dark-mode .sponsor-logos,
body.dark-mode .sponsor-featured .sponsor-logos {
  border-color: rgba(255, 255, 255, .18) !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(247, 146, 30, .07), transparent 38%),
    linear-gradient(180deg, #fff 0%, #f7f4fb 100%) !important;
}

@media (max-width: 768px) {

  .sponsor-block,
  .sponsor-featured {
    min-height: auto !important;
    padding: 16px !important;
  }

  .sponsor-title,
  .sponsor-featured .sponsor-title {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .sponsor-title span,
  .sponsor-featured .sponsor-title span {
    width: 48px !important;
    height: 48px !important;
    border-radius: 15px !important;
  }

  .sponsor-title h3,
  .sponsor-featured .sponsor-title h3 {
    font-size: 1.8rem !important;
  }

  .sponsor-level {
    font-size: .66rem !important;
    letter-spacing: .14em !important;
  }

  .sponsor-logos,
  .sponsor-featured .sponsor-logos {
    min-height: 176px !important;
  }
}

.sponsor-featured {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sponsor-featured::before,
.sponsor-featured::after {
  display: none !important;
}

.sponsor-featured .sponsor-title {
  padding: 0 2px !important;
}

body.dark-mode .sponsor-featured {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  .sponsor-featured {
    padding: 0 !important;
  }
}

.sponsors-inner {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 3vw, 42px) !important;
  align-items: stretch !important;
  width: min(100%, 1080px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.sponsor-block,
.sponsor-featured,
body.dark-mode .sponsor-block,
body.dark-mode .sponsor-featured {
  min-height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.sponsor-block::before,
.sponsor-block::after,
.sponsor-featured::before,
.sponsor-featured::after {
  display: none !important;
}

.sponsor-title,
.sponsor-featured .sponsor-title {
  grid-template-columns: 46px minmax(0, 1fr) !important;
  gap: 12px !important;
  padding: 0 8px !important;
  margin-bottom: 12px !important;
}

.sponsor-title span,
.sponsor-featured .sponsor-title span {
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
}

.sponsor-level {
  margin-bottom: 3px !important;
  font-size: .64rem !important;
  letter-spacing: .15em !important;
}

.sponsor-title h3,
.sponsor-featured .sponsor-title h3 {
  font-size: clamp(1.5rem, 2vw, 1.95rem) !important;
}

.sponsor-logos,
.sponsor-featured .sponsor-logos,
body.dark-mode .sponsor-logos,
body.dark-mode .sponsor-featured .sponsor-logos {
  min-height: clamp(78px, 7vw, 96px) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: 12px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .74), rgba(255, 255, 255, .34)) !important;
  box-shadow: none !important;
}

.sponsor-logos::before,
.sponsor-featured .sponsor-logos::before {
  display: none !important;
}

.sponsor-logos::after,
.sponsor-featured .sponsor-logos::after {
  display: none !important;
}

.sponsor-logos a,
.sponsor-featured .sponsor-logos a {
  position: relative !important;
  inset: auto !important;
  z-index: 3 !important;
  min-height: clamp(68px, 6vw, 84px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(75, 46, 131, .12) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .88) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) scale(1) !important;
  box-shadow: 0 12px 30px rgba(33, 18, 54, .045) !important;
  animation: sponsorLogoDrift 5.6s ease-in-out infinite !important;
}

.sponsor-logos a.active,
.sponsor-featured .sponsor-logos a.active {
  transform: translateY(0) scale(1) !important;
  border-color: rgba(75, 46, 131, .28) !important;
  box-shadow:
    0 0 0 1px rgba(75, 46, 131, .08) inset,
    0 16px 34px rgba(33, 18, 54, .08) !important;
}

.sponsor-logos a:nth-child(2),
.sponsor-featured .sponsor-logos a:nth-child(2) {
  animation-delay: .45s !important;
}

.sponsor-logos a:nth-child(3),
.sponsor-featured .sponsor-logos a:nth-child(3) {
  animation-delay: .9s !important;
}

.sponsor-logos img,
.sponsor-featured .sponsor-logos img {
  max-width: 78% !important;
  max-height: clamp(42px, 4vw, 58px) !important;
  filter: grayscale(1) saturate(.18) opacity(.70) !important;
}

.sponsor-logos:hover,
.sponsor-logos:focus-within,
.sponsor-logos:has(a:hover),
.sponsor-logos:has(a:focus-visible) {
  transform: none !important;
  box-shadow: none !important;
}

.sponsor-logos a:hover,
.sponsor-featured .sponsor-logos a:hover,
.sponsor-logos a:focus-visible,
.sponsor-featured .sponsor-logos a:focus-visible {
  border-color: rgba(247, 146, 30, .42) !important;
  transform: translateY(-3px) scale(1.015) !important;
  box-shadow: 0 18px 42px rgba(33, 18, 54, .10) !important;
}

.sponsor-logos a:hover img,
.sponsor-featured .sponsor-logos a:hover img {
  filter: grayscale(.12) saturate(.8) opacity(.88) drop-shadow(0 8px 14px rgba(33, 18, 54, .08)) !important;
}

@keyframes sponsorLogoDrift {

  0%,
  100% {
    transform: translateY(0) scale(1);
  }

  42% {
    transform: translateY(-5px) scale(1.012);
  }

  68% {
    transform: translateY(2px) scale(.995);
  }
}

@media (max-width: 768px) {
  .sponsors-inner {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .sponsor-title,
  .sponsor-featured .sponsor-title {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  .sponsor-title span,
  .sponsor-featured .sponsor-title span {
    width: 38px !important;
    height: 38px !important;
    border-radius: 13px !important;
  }

  .sponsor-title h3,
  .sponsor-featured .sponsor-title h3 {
    font-size: 1.45rem !important;
  }

  .sponsor-logos,
  .sponsor-featured .sponsor-logos,
  body.dark-mode .sponsor-logos,
  body.dark-mode .sponsor-featured .sponsor-logos {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 9px !important;
    min-height: 82px !important;
  }

  .sponsor-logos a,
  .sponsor-featured .sponsor-logos a {
    min-height: 70px !important;
    border-radius: 15px !important;
  }

  .sponsor-logos img,
  .sponsor-featured .sponsor-logos img {
    max-width: 84% !important;
    max-height: 48px !important;
  }
}

.sponsors-head {
  grid-template-columns: 1fr !important;
  text-align: left !important;
  justify-items: start !important;
}

.sponsors-head h2 {
  max-width: none !important;
  white-space: nowrap !important;
}

.sponsors-head p {
  max-width: 680px !important;
}

@media (max-width: 768px) {
  .sponsors-head h2 {
    white-space: normal !important;
  }
}

.sponsor-title span,
.sponsor-featured .sponsor-title span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  flex: 0 0 auto !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  aspect-ratio: 1 / 1 !important;
  background: rgba(247, 146, 30, .10) !important;
  border: 1px solid rgba(247, 146, 30, .24) !important;
}

.sponsor-title span i,
.sponsor-featured .sponsor-title span i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  font-size: 1.18rem !important;
  line-height: 1 !important;
  overflow: visible !important;
}

.sponsor-title span i::before,
.sponsor-featured .sponsor-title span i::before {
  display: block !important;
  line-height: 1 !important;
}

.sponsor-title .ai-user-group {
  color: #f7921e !important;
  font-size: 1.24rem !important;
}

.sponsor-featured .sponsor-title span {
  border-color: rgba(75, 46, 131, .22) !important;
  background: rgba(75, 46, 131, .08) !important;
}

.sponsor-featured .sponsor-title .ai-star-filled {
  color: #4b2e83 !important;
}

body.dark-mode .sponsor-featured .sponsor-title span {
  border-color: rgba(247, 146, 30, .35) !important;
  background: rgba(247, 146, 30, .13) !important;
}

body.dark-mode .sponsor-featured .sponsor-title .ai-star-filled {
  color: #f7921e !important;
}

@media (max-width: 768px) {

  .sponsor-title,
  .sponsor-featured .sponsor-title {
    grid-template-columns: 44px minmax(0, 1fr) !important;
  }

  .sponsor-title span,
  .sponsor-featured .sponsor-title span {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }

  .sponsor-title .ai-user-group {
    font-size: 1.18rem !important;
  }
}

.sponsor-block .sponsor-logos {
  animation: sponsorGroupFloat 7.2s ease-in-out infinite !important;
  transform-origin: center center;
}

.sponsor-featured .sponsor-logos {
  animation: sponsorGroupFloatAlt 7.2s ease-in-out infinite !important;
  animation-delay: .65s !important;
}

.sponsor-block .sponsor-logos a {
  animation: sponsorLogoDrift 5.6s ease-in-out infinite !important;
}

.sponsor-featured .sponsor-logos a {
  animation: sponsorLogoDriftAlt 5.6s ease-in-out infinite !important;
}

.sponsor-block .sponsor-logos a:nth-child(2),
.sponsor-featured .sponsor-logos a:nth-child(2) {
  animation-delay: .45s !important;
}

.sponsor-block .sponsor-logos a:nth-child(3),
.sponsor-featured .sponsor-logos a:nth-child(3) {
  animation-delay: .9s !important;
}

@keyframes sponsorGroupFloat {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-5px);
  }
}

@keyframes sponsorGroupFloatAlt {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(5px);
  }
}

@keyframes sponsorLogoDriftAlt {

  0%,
  100% {
    transform: translateY(0) scale(1);
  }

  42% {
    transform: translateY(5px) scale(1.012);
  }

  68% {
    transform: translateY(-2px) scale(.995);
  }
}

#expositores {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    linear-gradient(115deg, rgba(17, 16, 24, .90) 0%, rgba(33, 18, 54, .78) 42%, rgba(33, 18, 54, .50) 100%),
    url("../img/stand2.jpg") center center / cover no-repeat !important;
}

#expositores::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 18% 18%, rgba(247, 146, 30, .26), transparent 30%),
    linear-gradient(180deg, rgba(17, 16, 24, .18), rgba(17, 16, 24, .68));
  pointer-events: none;
}

#expositores .section-inner {
  position: relative;
  z-index: 1;
}

#expositores .section-tag {
  color: #f7921e !important;
}

#expositores .section-title {
  color: #fff !important;
  text-shadow: 0 14px 38px rgba(0, 0, 0, .34);
}

#expositores .section-subtitle {
  color: rgba(255, 255, 255, .82) !important;
  text-shadow: 0 10px 28px rgba(0, 0, 0, .24);
}

#expositores .expo-banner {
  border: 1px solid rgba(255, 255, 255, .18) !important;
  background:
    linear-gradient(135deg, rgba(33, 18, 54, .82), rgba(17, 16, 24, .64)) !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .28) !important;
  backdrop-filter: blur(8px);
}

#expositores .expo-banner::after {
  border-color: rgba(255, 255, 255, .18) !important;
}

#expositores .expo-spec {
  border-color: rgba(255, 255, 255, .18) !important;
  background: rgba(255, 255, 255, .10) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}

body.dark-mode #expositores {
  background:
    linear-gradient(115deg, rgba(8, 5, 15, .92) 0%, rgba(33, 18, 54, .80) 44%, rgba(33, 18, 54, .56) 100%),
    url("../img/stand2.jpg") center center / cover no-repeat !important;
}

@media (max-width: 768px) {
  #expositores {
    background-position: center top !important;
  }

  #expositores .expo-banner {
    backdrop-filter: blur(6px);
  }
}


@media (max-width: 700px) {

  .btn-p,
  .btn-s,
  .btn-form {
    min-height: 50px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    font-size: 12px !important;
    white-space: normal !important;
  }
}

/* Insurance landing header disposition */
.site-nav .nav-collapse {
  order: 1;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  min-width: 0;
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  margin-left: 2rem;
  margin-right: 1.25rem;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

.site-nav .mode-switch {
  order: 2;
  margin-left: auto !important;
  margin-right: 1rem !important;
}

.site-nav .btn.nav-cta {
  order: 3;
}

.site-nav .navbar-toggler.hamburger {
  order: 4;
  margin-left: 0 !important;
}

.site-nav .navbar-toggler.hamburger .navbar-toggler-icon {
  width: 22px;
  height: 2px;
  display: block;
  border-radius: 999px;
  background: #121519;
  box-shadow: 0 7px 0 #121519, 0 -7px 0 #121519;
}

body.dark-mode .site-nav .navbar-toggler.hamburger .navbar-toggler-icon {
  background: #f6f2ff;
  box-shadow: 0 7px 0 #f6f2ff, 0 -7px 0 #f6f2ff;
}

@media (min-width: 1041px) {
  .site-nav .nav-collapse {
    display: flex;
  }

  .site-nav .nav-mobile-cta {
    display: none;
  }

  .site-nav .navbar-nav.nav-links {
    width: auto;
    margin: 0;
  }
}

@media (max-width: 1040px) {
  .site-nav .nav-collapse {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    width: min(382px, calc(100vw - 16px)) !important;
    display: none;
    transform: translateX(-50%);
    border: 1px solid rgba(33, 18, 54, .1);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 1.25rem 3.5rem rgba(33, 18, 54, .16);
    backdrop-filter: blur(16px);
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .site-nav .nav-collapse.open {
    display: block;
  }

  .site-nav .navbar-nav.nav-links {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    gap: 0;
    margin: 0;
    padding: .65rem;
  }

  .site-nav .nav-item {
    display: block;
    width: 100%;
  }

  .site-nav .navbar-nav .nav-link {
    display: block;
    width: 100%;
  }

  .site-nav .navbar-nav .nav-link {
    padding: .78rem .9rem;
    border-radius: .7rem;
  }

  .site-nav .navbar-nav .nav-link:hover,
  .site-nav .navbar-nav .nav-link.active {
    background: rgba(245, 154, 0, .11);
  }

  body.dark-mode .site-nav .nav-collapse {
    border-color: rgba(255, 255, 255, .12);
    background: rgba(22, 17, 31, .98) !important;
  }
}

/* Around insurance style footer typography */
.site-footer,
.site-footer * {
  font-family: "Inter", sans-serif !important;
  letter-spacing: 0;
}

.site-footer .footer-desc,
.site-footer .footer-contact p,
.site-footer .footer-bottom,
.site-footer .footer-bottom span {
  font-size: .8125rem;
  font-weight: 400 !important;
  line-height: 1.65;
}

.site-footer .footer-col h4 {
  margin-bottom: 1rem;
  color: var(--navy);
  font-size: .9375rem;
  font-weight: 600 !important;
  line-height: 1.35;
}

.site-footer .footer-col a,
.site-footer .footer-contact a,
.site-footer .footer-bottom a {
  font-size: .875rem;
  font-weight: 400 !important;
  line-height: 1.45;
}

.site-footer .footer-cta {
  font-weight: 500 !important;
}

.site-footer .soc-btn {
  font-weight: 500 !important;
}

.site-footer .soc-btn i {
  font-size: 1rem;
  line-height: 1;
}

body.dark-mode .site-footer .footer-col h4 {
  color: #f6f2ff;
}

/* Footer stays dark in both light and dark page modes */
.site-footer {
  border-top-color: rgba(255, 255, 255, .1) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(245, 154, 0, .12), transparent 28%),
    linear-gradient(180deg, #171321 0%, #100f17 100%) !important;
  color: #f6f2ff !important;
}

.site-footer .footer-logo {
  width: 155px;
  height: auto;
  filter:
    drop-shadow(0 0 12px rgba(255, 255, 255, .28)) drop-shadow(0 10px 24px rgba(247, 146, 30, .2));
  transform: translateZ(0);
}

.site-footer .footer-col h4,
.site-footer .footer-bottom a {
  color: #f6f2ff !important;
}

.site-footer .footer-desc,
.site-footer .footer-contact p,
.site-footer .footer-bottom,
.site-footer .footer-bottom span {
  color: rgba(246, 242, 255, .66) !important;
}

.site-footer .footer-col a,
.site-footer .footer-contact a {
  color: rgba(246, 242, 255, .7) !important;
}

.site-footer .footer-col a:hover,
.site-footer .footer-contact a:hover {
  color: var(--gold) !important;
}

.site-footer .soc-btn {
  color: #f6f2ff !important;
  border-color: rgba(255, 255, 255, .12) !important;
  background: rgba(255, 255, 255, .08) !important;
}

.site-footer .soc-btn:hover {
  color: #111018 !important;
  background: var(--gold) !important;
}

.site-footer .footer-bottom {
  border-top-color: rgba(255, 255, 255, .12) !important;
}

.site-footer .footer-contact .footer-cta,
body.dark-mode .site-footer .footer-contact .footer-cta {
  color: #111018 !important;
  background: linear-gradient(135deg, #f7921e 0%, #ffad3d 100%) !important;
  border: 0 !important;
  font-weight: 700 !important;
  text-shadow: none !important;
  box-shadow: 0 16px 34px rgba(247, 146, 30, .28) !important;
}

.site-footer .footer-contact .footer-cta:hover,
body.dark-mode .site-footer .footer-contact .footer-cta:hover {
  color: #111018 !important;
  background: linear-gradient(135deg, #ffad3d 0%, #f7921e 100%) !important;
}

/* Pro hero slider finish */
#inicio {
  min-height: 720px;
  height: 100svh;
  padding-top: clamp(96px, 11vh, 122px);
  padding-bottom: clamp(96px, 12vh, 118px);
  background: #111018;
}

.hero-bg-slide {
  filter: saturate(1.24) contrast(1.1) brightness(.92);
  opacity: 0;
  transform: scale(1.045);
  transition: opacity 1.1s ease, transform 8s ease, filter 1.1s ease;
}

.hero-bg-slide.active {
  opacity: 1;
  transform: scale(1.105);
}

.hero-bg::before {
  content: none;
}

.hero-bottom-wave {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  z-index: 3;
  height: clamp(70px, 8.5vw, 128px);
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg width='1440' height='140' viewBox='0 0 1440 140' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0 140H1440V58C1368 44 1319 66 1253 61C1174 55 1144 24 1065 33C993 41 949 72 875 66C799 60 758 28 685 35C610 42 579 75 503 69C430 63 387 31 314 37C239 43 203 73 130 66C78 61 40 47 0 54V140Z' fill='white'/%3E%3C/svg%3E") bottom center / 100% 100% no-repeat;
  filter: drop-shadow(0 -12px 18px rgba(17, 16, 24, .08));
}

body.dark-mode .hero-bottom-wave {
  background: url("data:image/svg+xml,%3Csvg width='1440' height='140' viewBox='0 0 1440 140' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M0 140H1440V58C1368 44 1319 66 1253 61C1174 55 1144 24 1065 33C993 41 949 72 875 66C799 60 758 28 685 35C610 42 579 75 503 69C430 63 387 31 314 37C239 43 203 73 130 66C78 61 40 47 0 54V140Z' fill='%23111018'/%3E%3C/svg%3E") bottom center / 100% 100% no-repeat;
  filter: drop-shadow(0 -12px 18px rgba(0, 0, 0, .16));
}

/* Travel-style hero copy: no rectangular boxes, crisp animated text. */
.hero-info-panel {
  width: min(100%, 980px) !important;
  margin: 0 auto 22px !important;
  padding: 0 16px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  text-align: center !important;
  animation: heroCopyRise .8s cubic-bezier(.2, .8, .2, 1) both;
}

.hero-info-panel::before,
.hero-info-panel::after,
.hero-info-slider::before {
  content: none !important;
  display: none !important;
}

.hero-info-panel .hero-fecha {
  width: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffad3d !important;
  font-family: "Comic Sans MS", "Segoe Print", "Bradley Hand ITC", cursive !important;
  font-size: clamp(21px, 2.15vw, 34px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: .01em !important;
  text-shadow: 0 4px 18px rgba(0, 0, 0, .58) !important;
  animation: heroCopyRise .9s .1s cubic-bezier(.2, .8, .2, 1) both;
}

.hero-info-slider {
  width: min(100%, 900px) !important;
  height: clamp(48px, 4.8vw, 62px) !important;
  margin: 2px auto 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.hero-info-slider span {
  padding: 0 14px !important;
  color: #fff !important;
  font-family: "Inter", "Nunito", sans-serif !important;
  font-size: clamp(18px, 2.1vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-wrap: balance;
  text-shadow:
    0 4px 18px rgba(0, 0, 0, .68),
    0 1px 0 rgba(17, 16, 24, .5) !important;
}

.hero-info-slider .hero-info-location {
  max-width: 880px !important;
  line-height: 1.18 !important;
}

.hero-logo-wrap,
.hero-btns {
  animation: heroCopyRise .9s .18s cubic-bezier(.2, .8, .2, 1) both;
}

.hero-btns {
  gap: 14px !important;
}

.hero-btns .btn-p,
.hero-btns .btn-s {
  border-radius: 999px !important;
  text-shadow: none !important;
}

@keyframes heroCopyRise {
  from {
    opacity: 0;
    transform: translateY(22px);
    filter: blur(5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@media (max-width: 700px) {
  .hero-info-panel {
    width: min(100%, 360px) !important;
    margin-bottom: 16px !important;
    padding: 0 8px !important;
    gap: 6px !important;
  }

  .hero-info-panel .hero-fecha {
    font-size: clamp(17px, 5.4vw, 23px) !important;
    line-height: 1.16 !important;
  }

  .hero-info-slider {
    height: 58px !important;
  }

  .hero-info-slider span {
    padding: 0 4px !important;
    font-size: clamp(15px, 4.7vw, 20px) !important;
    line-height: 1.18 !important;
  }

  .hero-info-slider .hero-info-location {
    font-size: clamp(14px, 4.3vw, 18px) !important;
  }

  .hero-btns {
    width: min(100%, 340px) !important;
  }
}

/* Mobile hero final tuning: more air, less logo dominance, sharper copy. */
@media (max-width: 700px) {
  .hero-logo-wrap {
    width: min(78vw, 238px) !important;
    margin-bottom: 14px !important;
  }

  .hero-logo {
    width: 100% !important;
    max-width: 238px !important;
  }

  .hero-info-panel {
    width: min(100%, 350px) !important;
    margin-bottom: 14px !important;
    padding: 0 8px !important;
    gap: 5px !important;
  }

  .hero-info-panel .hero-fecha {
    font-size: clamp(15px, 4.35vw, 19px) !important;
    line-height: 1.18 !important;
    text-shadow:
      0 3px 14px rgba(0, 0, 0, .72),
      0 0 16px rgba(247, 146, 30, .2) !important;
  }

  .hero-info-slider {
    width: min(100%, 340px) !important;
    height: 54px !important;
  }

  .hero-info-slider span,
  .hero-info-slider .hero-info-location {
    color: rgba(255, 255, 255, .98) !important;
    font-size: clamp(14px, 4vw, 17px) !important;
    line-height: 1.2 !important;
    text-shadow:
      0 4px 18px rgba(0, 0, 0, .82),
      0 1px 0 rgba(17, 16, 24, .72) !important;
  }

  .hero-btns {
    gap: 10px !important;
  }

  .hero-btns .btn-p,
  .hero-btns .btn-s {
    min-height: 48px !important;
    font-size: 11px !important;
  }
}

/* Final hero copy polish: lighter, sharper and more elegant. */
.hero-content::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 48%;
  z-index: -1;
  width: min(920px, 92vw);
  height: min(420px, 58vh);
  pointer-events: none;

  filter: blur(2px);
}

.hero-info-panel {
  margin-bottom: 18px !important;
}

.hero-info-panel .hero-fecha {
  color: #ff9b28 !important;
  font-size: clamp(18px, 1.68vw, 27px) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
  text-shadow:
    0 3px 14px rgba(0, 0, 0, .62),
    0 0 18px rgba(247, 146, 30, .18) !important;
}

.hero-info-slider {
  width: min(100%, 780px) !important;
  height: clamp(52px, 4.7vw, 68px) !important;
}

.hero-info-slider span {
  max-width: 780px !important;
  margin: 0 auto !important;
  color: #fff !important;
  font-size: clamp(19px, 1.82vw, 30px) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  text-transform: none !important;
  text-shadow:
    0 4px 20px rgba(0, 0, 0, .78),
    0 1px 0 rgba(17, 16, 24, .65) !important;
}

.hero-info-slider .hero-info-location {
  font-size: clamp(20px, 1.92vw, 31px) !important;
}

.hero-logo-wrap {
  animation: heroLogoFloatIn 1s cubic-bezier(.2, .8, .2, 1) both;
}

.hero-info-panel {
  animation: heroTextFloatIn .9s .12s cubic-bezier(.2, .8, .2, 1) both !important;
}

.hero-btns {
  animation: heroTextFloatIn .9s .28s cubic-bezier(.2, .8, .2, 1) both !important;
}

@keyframes heroLogoFloatIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.94);
    filter: blur(5px);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes heroTextFloatIn {
  from {
    opacity: 0;
    transform: translateY(18px);
    filter: blur(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@media (max-width: 700px) {
  .hero-content::before {
    top: 50%;
    width: 112vw;
    height: 460px;
    background: radial-gradient(ellipse at 50% 46%, rgba(17, 16, 24, .62), rgba(17, 16, 24, .28) 48%, transparent 74%);
  }

  .hero-info-panel .hero-fecha {
    font-size: clamp(16px, 4.8vw, 21px) !important;
    line-height: 1.18 !important;
  }

  .hero-info-slider {
    width: min(100%, 350px) !important;
    height: 62px !important;
  }

  .hero-info-slider span,
  .hero-info-slider .hero-info-location {
    font-size: clamp(14px, 4.35vw, 18px) !important;
    line-height: 1.2 !important;
  }
}

.hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(17, 16, 24, .64) 0%, rgba(17, 16, 24, .18) 48%, rgba(17, 16, 24, .58) 100%),
    radial-gradient(circle at 50% 28%, rgba(247, 146, 30, .24), transparent 30rem);
}

.hero-overlay {
  background:
    radial-gradient(circle at 50% 32%, rgba(247, 146, 30, .22), rgba(75, 46, 131, .16) 18rem, transparent 34rem),
    linear-gradient(180deg, rgba(17, 16, 24, .1) 0%, rgba(17, 16, 24, .46) 66%, rgba(17, 16, 24, .82) 100%),
    linear-gradient(0deg, rgba(17, 16, 24, .08), rgba(17, 16, 24, .08));
}

#inicio::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  height: 190px !important;
  z-index: -2 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, rgba(75, 46, 131, 0) 0%, rgba(75, 46, 131, .26) 58%, rgba(75, 46, 131, .46) 100%) !important;
}

.hero-content {
  position: relative;
  z-index: 4;
  width: min(100%, 980px);
  max-width: 980px;
  padding-inline: 16px;
}

#inicio::after {
  content: "";
  position: absolute;
  top: -18%;
  right: -14%;
  width: min(760px, 72vw);
  height: min(760px, 72vw);
  z-index: 2;
  pointer-events: none;
  border-radius: 50% 0 50% 50%;
  background:
    radial-gradient(circle at 76% 22%, rgba(255, 214, 128, .58) 0%, rgba(247, 146, 30, .26) 17%, rgba(247, 146, 30, .09) 34%, transparent 58%),
    conic-gradient(from 218deg at 76% 22%, transparent 0deg, rgba(255, 220, 150, .24) 13deg, transparent 26deg, rgba(247, 146, 30, .15) 39deg, transparent 54deg);
  filter: blur(.4px);
  opacity: .86;
  mix-blend-mode: screen;
  transform: rotate(-8deg);
  animation: heroSunRay 9s ease-in-out infinite alternate;
}

@keyframes heroSunRay {
  from {
    opacity: .66;
    transform: rotate(-10deg) scale(.98);
  }

  to {
    opacity: .9;
    transform: rotate(-6deg) scale(1.03);
  }
}

.hero-logo {
  width: min(350px, 70vw);
  margin-bottom: 16px;
  filter:
    drop-shadow(0 28px 52px rgba(0, 0, 0, .48)) drop-shadow(0 0 34px rgba(247, 146, 30, .18));
}

.hero-logo-wrap {
  position: relative;
  z-index: 0;
  display: inline-block;
}

.hero-logo-wrap .hero-logo {
  display: block;
}

.hero-info-panel {
  position: relative;
  width: min(100%, 930px);
  margin: 0 auto 20px;
  padding: 7px;
  display: grid;
  grid-template-columns: minmax(270px, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: 9px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 28px;
  background:
    radial-gradient(circle at 10% 42%, rgba(247, 146, 30, .24), transparent 30%),
    radial-gradient(circle at 92% 78%, rgba(75, 46, 131, .42), transparent 36%),
    linear-gradient(135deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .055)),
    rgba(15, 10, 26, .48);
  box-shadow:
    0 24px 62px rgba(0, 0, 0, .27),
    inset 0 1px 0 rgba(255, 255, 255, .16);
  backdrop-filter: blur(18px) saturate(1.12);
}

.hero-info-panel::after {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .1), transparent);
  opacity: .55;
}

.hero-fecha {
  min-height: 42px;
  border-color: rgba(245, 154, 0, .5);
  background: rgba(245, 154, 0, .16);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);
}

.hero-info-panel .hero-fecha {
  width: 100%;
  min-height: 48px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid rgba(255, 218, 160, .32);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(247, 146, 30, .98), rgba(255, 184, 76, .9));
  color: #160d25;
  font-size: clamp(14px, 1.1vw, 16px);
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: .01em;
  text-shadow: none;
  box-shadow:
    0 14px 32px rgba(247, 146, 30, .25),
    inset 0 1px 0 rgba(255, 255, 255, .34);
}

.hero-info-slider {
  position: relative;
  width: 100%;
  height: 58px;
  margin-top: 0;
  overflow: hidden;
  border-radius: 22px;
  color: rgba(255, 255, 255, .94);
  font-size: clamp(13px, 1vw, 15px);
  font-weight: 750;
  line-height: 1.25;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .095), rgba(255, 255, 255, .045));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .09),
    inset 18px 0 42px rgba(247, 146, 30, .055);
}

.hero-info-slider span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  opacity: 0;
  transform: translateY(12px);
  animation: heroInfoFade 16s ease-in-out infinite;
  text-align: center;
  text-shadow: 0 9px 24px rgba(0, 0, 0, .34);
  white-space: normal;
}

.hero-info-slider .hero-info-location {
  max-width: 100%;
  line-height: 1.28;
}

.hero-info-slider span:nth-child(2) {
  animation-delay: 4s;
}

.hero-info-slider span:nth-child(3) {
  animation-delay: 8s;
}

.hero-info-slider span:nth-child(4) {
  animation-delay: 12s;
}

@keyframes heroInfoFade {

  0%,
  7% {
    opacity: 0;
    transform: translateY(12px);
  }

  12%,
  26% {
    opacity: 1;
    transform: translateY(0);
  }

  31%,
  100% {
    opacity: 0;
    transform: translateY(-12px);
  }
}

.hero-lugar {
  max-width: 820px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  color: rgba(255, 255, 255, .94);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .06)),
    rgba(17, 16, 24, .22);
  box-shadow:
    0 18px 48px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .16);
  text-shadow: 0 8px 28px rgba(0, 0, 0, .42);
  backdrop-filter: blur(14px) saturate(1.1);
  line-height: 1.35;
  text-align: center;
  white-space: normal;
}

.hero-badges {
  gap: 12px;
  margin-top: 14px;
  margin-bottom: 20px;
}

.hero-badges .badge {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 15px;
  border-color: rgba(255, 255, 255, .2);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .07));
  color: rgba(255, 255, 255, .92);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .05),
    0 12px 26px rgba(0, 0, 0, .16);
  backdrop-filter: blur(12px);
}

.hero-badges .badge:hover {
  border-color: rgba(247, 146, 30, .48);
  background:
    linear-gradient(135deg, rgba(247, 146, 30, .22), rgba(255, 255, 255, .08));
}

.hero-btns {
  gap: 12px;
}

.hero-btns .btn-p,
.hero-btns .btn-s {
  min-width: 220px;
  letter-spacing: .02em;
}

.hero-btns .btn-p {
  box-shadow:
    0 18px 42px rgba(247, 146, 30, .34),
    inset 0 1px 0 rgba(255, 255, 255, .28) !important;
}

.hero-btns .btn-s {
  border-color: rgba(255, 255, 255, .42) !important;
  background: rgba(255, 255, 255, .08) !important;
  box-shadow:
    0 16px 34px rgba(0, 0, 0, .2),
    inset 0 1px 0 rgba(255, 255, 255, .14);
  backdrop-filter: blur(14px);
}

.hero-slider-ui {
  position: absolute;
  top: 50%;
  right: clamp(24px, 4vw, 56px);
  bottom: auto;
  left: auto;
  z-index: 6;
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  transform: translateY(-50%);
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: rgba(17, 16, 24, .38);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .28);
  backdrop-filter: blur(16px);
}

.hero-slide-btn {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.hero-slide-btn:hover {
  color: #111018;
  background: var(--gold);
  transform: translateY(-1px);
}

.hero-dots {
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.hero-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .42);
  cursor: pointer;
  transition: width .22s ease, background .22s ease;
}

.hero-dot.active {
  width: 8px;
  height: 28px;
  background: var(--gold);
}

.hero-progress {
  position: absolute;
  left: 50%;
  bottom: clamp(44px, 6vh, 64px);
  z-index: 5;
  width: min(220px, 52vw) !important;
  height: 2px !important;
  overflow: hidden;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  display: none !important;
}

.hero-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: left center;
  background: linear-gradient(90deg, var(--gold), #ffd48a);
  animation: heroProgress 5.6s linear infinite;
}

@keyframes heroProgress {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

@media (max-width: 700px) {
  #inicio {
    height: auto;
    min-height: 900px;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 116px;
    padding-bottom: 190px;
  }

  .hero-content {
    width: min(100%, 390px);
    max-width: calc(100vw - 20px);
    padding-inline: 8px;
  }

  .hero-logo {
    width: min(320px, 86vw);
  }

  .hero-fecha,
  .hero-lugar,
  .hero-btns {
    width: min(100%, 360px);
  }

  .hero-lugar {
    padding: 11px 14px;
    border-radius: 22px;
    font-size: 14px;
  }

  .hero-badges {
    gap: 9px;
  }

  .hero-badges .badge {
    width: min(100%, 330px);
    min-height: 38px;
    padding: 9px 13px;
  }

  .hero-btns .btn-p,
  .hero-btns .btn-s {
    min-width: 0;
    width: 100%;
  }

  .hero-slider-ui {
    top: auto;
    right: auto;
    left: 50%;
    bottom: 82px;
    flex-direction: row;
    transform: translateX(-50%);
  }

  .hero-dots {
    flex-direction: row;
  }

  .hero-dot.active {
    width: 28px;
    height: 8px;
  }

  .hero-progress {
    display: block !important;
    bottom: 66px;
  }

  .hero-slide-btn {
    width: 34px;
    height: 34px;
  }
}

/* Hero spacing balance: desktop keeps the same air as mobile */
@media (min-width: 701px) {
  #inicio {
    height: auto !important;
    min-height: 860px !important;
    padding-top: clamp(132px, 15vh, 168px) !important;
    padding-bottom: clamp(132px, 15vh, 168px) !important;
    align-items: center !important;
  }

  .hero-content {
    transform: none !important;
  }

  .hero-logo {
    width: min(360px, 30vw) !important;
    margin-bottom: 18px !important;
  }

  .hero-lugar {
    margin-top: 14px !important;
    margin-bottom: 22px !important;
  }

  .hero-badges {
    margin-bottom: 28px !important;
  }

  #countdown-bar {
    margin-top: -104px !important;
    padding-top: 0 !important;
    padding-bottom: 72px !important;
  }

  #countdown-bar::before {
    content: none !important;
  }

  #countdown-bar .countdown-inner {
    position: relative;
    z-index: 1;
  }
}

/* Integrated countdown bridge */
#countdown-bar {
  isolation: isolate;
}

#countdown-bar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  bottom: -2px;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, .42) 0%, rgba(255, 255, 255, .72) 100%);
}

#countdown-bar .countdown-inner {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-color: rgba(245, 154, 0, .42) !important;
  background:
    radial-gradient(circle at 16% 0%, rgba(245, 154, 0, .24), transparent 34%),
    radial-gradient(circle at 86% 18%, rgba(255, 255, 255, .1), transparent 28%),
    linear-gradient(135deg, rgba(37, 18, 58, .96), rgba(72, 45, 128, .94) 52%, rgba(29, 19, 42, .96)) !important;
  box-shadow:
    0 28px 70px rgba(17, 16, 24, .34),
    0 0 0 1px rgba(255, 255, 255, .07) inset,
    0 18px 56px rgba(245, 154, 0, .11) !important;
  backdrop-filter: blur(18px) saturate(1.18);
}

#countdown-bar .countdown-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, .16), transparent),
    linear-gradient(180deg, rgba(255, 255, 255, .1), transparent 42%);
  opacity: .72;
}

#countdown-bar .countdown-inner::after {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  bottom: 0;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .8;
}

#countdown-bar .countdown-label,
#countdown-bar .countdown-units {
  position: relative;
  z-index: 1;
}

#countdown-bar .cu {
  border-color: rgba(255, 255, 255, .14) !important;
  background: rgba(255, 255, 255, .09) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
}

/* Refined countdown: cleaner bridge, less heavy block */
#countdown-bar .countdown-inner {
  width: min(100%, 980px) !important;
  min-height: 112px !important;
  gap: clamp(16px, 2.2vw, 30px) !important;
  padding: 18px clamp(20px, 3vw, 34px) !important;
  border-radius: 34px !important;
  border: 1px solid rgba(247, 146, 30, .42) !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(255, 218, 164, .18), transparent 31%),
    radial-gradient(circle at 88% 88%, rgba(255, 246, 226, .1), transparent 34%),
    linear-gradient(135deg, rgba(18, 18, 20, .98), rgba(32, 29, 26, .96) 52%, rgba(11, 12, 15, .98)) !important;
  box-shadow:
    0 22px 58px rgba(12, 13, 16, .34),
    0 10px 34px rgba(247, 146, 30, .12),
    inset 0 1px 0 rgba(255, 255, 255, .14) !important;
}

#countdown-bar .countdown-inner::before {
  background:
    linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, .13) 50%, transparent 100%),
    linear-gradient(180deg, rgba(255, 255, 255, .09), transparent 46%) !important;
  opacity: .85 !important;
}

#countdown-bar .countdown-label {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  color: rgba(255, 255, 255, .74) !important;
  font-family: "Inter", "Nunito", sans-serif;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2.3px !important;
  white-space: nowrap;
}


  #countdown-bar .countdown-label:first-child {
  color: #ffd48a !important;
}

#countdown-bar .countdown-units {
  align-items: stretch;
  gap: 0 !important;
  padding: 0 2px;
}

#countdown-bar .cu {
  position: relative;
  min-width: 92px !important;
  padding: 9px 18px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#countdown-bar .cu+.cu::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14%;
  bottom: 14%;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .22), transparent);
}

#countdown-bar .cu-num {
  color: #f7921e !important;
  font-family: "Inter", "Nunito", sans-serif !important;
  font-size: clamp(42px, 4vw, 56px) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: .92 !important;
  text-shadow: 0 10px 24px rgba(245, 154, 0, .16);
}

#countdown-bar .cu-lbl {
  margin-top: 8px !important;
  color: rgba(255, 255, 255, .58) !important;
  font-family: "Inter", "Nunito", sans-serif;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
}

@media (max-width: 700px) {
  #countdown-bar .countdown-inner {
    width: min(94%, 348px) !important;
    min-height: 0 !important;
    border-radius: 22px !important;
    padding: 14px 10px !important;
    gap: 9px !important;
  }

  #countdown-bar .countdown-label {
    width: auto !important;
    min-height: 30px;
    padding: 0 13px;
  }

  
  #countdown-bar .countdown-label:last-child {
    display: none !important;
  }

  #countdown-bar .countdown-units {
    width: 100%;
    justify-content: center;
  }

  #countdown-bar .cu {
    min-width: 62px !important;
    padding: 6px 6px 5px !important;
  }

  #countdown-bar .cu-num {
    font-size: 30px !important;
  }
}


/* Countdown doodles */
#countdown-bar .countdown-doodles {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  border-radius: inherit;
}

#countdown-bar .countdown-doodles span {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--s);
  aspect-ratio: 1;
  background-image: var(--img);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: .16;
  filter: brightness(0) invert(1) drop-shadow(0 0 12px rgba(247, 146, 30, .26));
  transform: translate(-50%, -50%) rotate(var(--r));
  animation: countdownDoodleFloat 7.5s ease-in-out infinite;
  animation-delay: var(--d);
}

#countdown-bar .countdown-doodles span:nth-child(4),
#countdown-bar .countdown-doodles span:nth-child(9) {
  animation-name: countdownDoodleSwim;
  opacity: .2;
}

#countdown-bar .countdown-label,
#countdown-bar .countdown-units {
  z-index: 2;
}

@keyframes countdownDoodleFloat {
  0%, 100% { transform: translate(-50%, -50%) rotate(var(--r)) scale(1); }
  50% { transform: translate(calc(-50% + 8px), calc(-50% - 7px)) rotate(calc(var(--r) + 5deg)) scale(1.04); }
}

@keyframes countdownDoodleSwim {
  0%, 100% { transform: translate(-50%, -50%) rotate(var(--r)); }
  45% { transform: translate(calc(-50% + 14px), calc(-50% - 4px)) rotate(calc(var(--r) - 3deg)); }
  70% { transform: translate(calc(-50% + 7px), calc(-50% + 4px)) rotate(calc(var(--r) + 4deg)); }
}

@media (max-width: 700px) {
  #countdown-bar .countdown-inner {
    border-color: rgba(247, 146, 30, .42) !important;
    background:
      radial-gradient(circle at 12% 10%, rgba(255, 218, 164, .18), transparent 31%),
      radial-gradient(circle at 88% 88%, rgba(255, 246, 226, .1), transparent 34%),
      linear-gradient(135deg, rgba(18, 18, 20, .98), rgba(32, 29, 26, .96) 52%, rgba(11, 12, 15, .98)) !important;
    box-shadow:
      0 20px 48px rgba(12, 13, 16, .34),
      0 8px 28px rgba(247, 146, 30, .12),
      inset 0 1px 0 rgba(255, 255, 255, .14) !important;
  }

  #countdown-bar .countdown-doodles span {
    opacity: .13;
    filter: brightness(0) invert(1) sepia(1) saturate(1.25) hue-rotate(330deg) drop-shadow(0 0 10px rgba(247, 146, 30, .34));
  }

  #countdown-bar .cu-num {
    color: #f7921e !important;
    text-shadow: 0 6px 18px rgba(247, 146, 30, .24) !important;
  }

  #countdown-bar .countdown-label:first-child {
    color: #ffcf8d !important;
  }
}
html {
  scroll-behavior: smooth;
}

.btn-scroll-top {
  position: fixed;
  right: clamp(18px, 2vw, 28px);
  bottom: clamp(18px, 2vw, 28px);
  z-index: 1040;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #3f4654;
  background: #fff;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 12px 30px rgba(17, 16, 24, .12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  text-decoration: none;
  transform: translateY(12px) scale(.92);
  transition: opacity .25s ease, visibility .25s ease, transform .25s ease, color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.btn-scroll-top.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.btn-scroll-top svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.btn-scroll-top .scroll-top-track {
  opacity: 0;
}

.btn-scroll-top .scroll-top-progress {
  color: #3f4654;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  stroke-width: 1.45px;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
  transition: stroke-dashoffset .12s linear, color .2s ease;
}

.btn-scroll-top i {
  position: relative;
  z-index: 1;
  font-size: 1.28rem;
  line-height: 1;
}

.btn-scroll-top:hover {
  color: #211236;
  background: #fff;
  box-shadow: 0 16px 38px rgba(33, 18, 54, .18);
  transform: translateY(-3px) scale(1);
}

body.dark-mode .btn-scroll-top {
  color: #f8f4ff;
  background: rgba(255, 255, 255, .08);
  border-color: transparent;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .34);
}

body.dark-mode .btn-scroll-top .scroll-top-track {
  color: rgba(255, 255, 255, .22);
}

body.dark-mode .btn-scroll-top .scroll-top-progress {
  color: #f7921e;
}

body.dark-mode .btn-scroll-top:hover {
  color: #fff;
  background: rgba(33, 18, 54, .96);
}

@media (max-width: 700px) {
  .btn-scroll-top {
    right: 16px;
    bottom: 16px;
    width: 44px;
    height: 44px;
  }

  .btn-scroll-top i {
    font-size: 1.2rem;
  }
}

@media (min-width: 992px) and (max-height: 780px) {
  #inicio {
    padding-top: 96px !important;
    padding-bottom: 84px !important;
  }

  .hero-logo {
    width: min(315px, 64vw) !important;
    margin-bottom: 12px !important;
  }

  .hero-fecha {
    min-height: 40px !important;
    margin-bottom: 12px !important;
  }

  .hero-lugar {
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 9px 17px !important;
  }

  .hero-badges {
    margin-top: 12px !important;
    margin-bottom: 16px !important;
  }

  .hero-badges .badge {
    min-height: 38px !important;
    padding: 8px 14px !important;
  }
}

@media (max-width: 700px) {
  .hero-info-panel {
    width: min(100%, 360px);
    grid-template-columns: 1fr;
    gap: 7px;
    margin-bottom: 16px;
    padding: 9px;
    border-radius: 24px;
  }

  .hero-info-panel .hero-fecha {
    min-height: 40px !important;
    padding: 8px 12px;
    font-size: 13px;
  }

  .hero-info-slider {
    height: 58px;
    margin-top: 0;
    font-size: 13px;
    border-radius: 18px;
  }

  .hero-info-slider span {
    padding: 0 12px;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }
}

@media (min-width: 992px) and (max-height: 780px) {
  .hero-info-panel {
    width: min(100%, 890px);
    margin-bottom: 14px;
    padding: 7px;
  }

  .hero-info-panel .hero-fecha {
    min-height: 38px !important;
    margin-bottom: 0 !important;
    padding: 7px 14px;
  }

  .hero-info-slider {
    height: 48px;
    margin-top: 0;
  }
}

/* Travel-inspired festival section test */
#sobre .about-grid {
  grid-template-columns: minmax(360px, .98fr) minmax(0, 1.02fr) !important;
  gap: clamp(44px, 6vw, 82px) !important;
}

#sobre .about-travel-collage {
  position: relative;
  min-height: clamp(540px, 48vw, 640px) !important;
  isolation: isolate;
  transform: none !important;
}

#sobre .about-travel-collage::before {
  content: "";
  position: absolute;
  left: -56px;
  top: 34%;
  width: 130px;
  height: 190px;
  z-index: 0;
  pointer-events: none;
  border-left: 3px dashed rgba(247, 146, 30, .55);
  border-radius: 70% 0 0 70%;
  transform: rotate(-14deg);
}

#sobre .about-travel-collage::after {
  content: "✦";
  position: absolute;
  left: -34px;
  top: 30%;
  z-index: 1;
  color: #f7921e;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1;
  transform: rotate(-18deg);
  text-shadow: 0 14px 28px rgba(247, 146, 30, .2);
}

#sobre .about-travel-collage img {
  display: block !important;
  position: absolute;
  object-fit: cover;
  box-shadow: 0 28px 70px rgba(33, 18, 54, .16);
}

#sobre .about-collage-main {
  top: 0;
  left: 0;
  width: min(82%, 560px);
  height: min(76%, 500px);
  border-radius: 42px;
}

#sobre .about-collage-card {
  right: 0;
  bottom: 18px;
  width: min(58%, 390px);
  height: 230px;
  z-index: 2;
  border: 12px solid #fff;
  border-radius: 34px;
}

#sobre .about-collage-small {
  left: 8%;
  bottom: 0;
  width: min(36%, 230px);
  height: 185px;
  z-index: 3;
  border: 10px solid #fff;
  border-radius: 30px;
}

.about-collage-badge {
  position: absolute;
  right: 7%;
  top: 26%;
  z-index: 4;
  width: 124px;
  height: 124px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  border: 10px solid #fff;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: #211236;
  box-shadow: 0 20px 42px rgba(33, 18, 54, .16);
  transform: rotate(-7deg);
}

.about-collage-badge span {
  color: #f7921e;
  font-size: 42px;
  font-weight: 900;
  line-height: .9;
}

.about-collage-badge strong {
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .02em;
}

#sobre .about-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 30px 0 0;
  border-top: 1px solid rgba(33, 18, 54, .12);
  border-bottom: 1px solid rgba(33, 18, 54, .12);
}

#sobre .about-feature {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 16px;
  padding: 26px 24px 26px 0;
}

#sobre .about-feature+.about-feature {
  padding-left: 24px;
  border-left: 1px solid rgba(33, 18, 54, .12);
}

.about-feature-icon {
  width: 58px;
  height: 58px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #fff;
  font-size: 27px;
  box-shadow: 0 16px 34px rgba(75, 46, 131, .2);
}

#sobre .about-feature h3 {
  margin: 0 0 10px;
  color: #111018;
  font-size: clamp(18px, 1.45vw, 23px);
  font-weight: 850;
  line-height: 1.18;
}

#sobre .about-feature p {
  margin: 0;
  color: rgba(17, 16, 24, .62);
  font-size: 15px;
  line-height: 1.65;
}

#sobre .about-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 30px !important;
}

#sobre .stat-card {
  min-height: 112px !important;
  padding: 17px 14px !important;
  border: 1px solid rgba(33, 18, 54, .1) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(33, 18, 54, .07) !important;
  text-align: center !important;
}

#sobre .stat-card::before,
#sobre .stat-card::after {
  content: none !important;
}

#sobre .stat-num {
  color: #4b2e83 !important;
  font-size: clamp(25px, 2.15vw, 34px) !important;
}

#sobre .stat-lbl {
  margin-top: 8px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

#sobre .about-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

#sobre .badge-inst {
  border-color: rgba(75, 46, 131, .16);
  background: rgba(75, 46, 131, .05);
}

body.dark-mode #sobre .about-feature-grid {
  border-color: rgba(255, 255, 255, .12);
}

body.dark-mode #sobre .about-feature+.about-feature {
  border-left-color: rgba(255, 255, 255, .12);
}

body.dark-mode #sobre .about-feature h3 {
  color: #f6f2ff;
}

body.dark-mode #sobre .about-feature p {
  color: rgba(246, 242, 255, .68);
}

body.dark-mode #sobre .stat-card {
  border-color: rgba(255, 255, 255, .1) !important;
  background: rgba(255, 255, 255, .06) !important;
}

#sobre .about-grid>div:last-child {
  max-width: 680px;
}

#sobre .about-watermark {
  top: -35px;
  font-size: clamp(66px, 8.5vw, 118px);
  z-index: 0 !important;
  color: rgba(75, 46, 131, .085) !important;
}

#sobre .section-tag {
  margin-bottom: 10px !important;
}

#sobre .section-title {
  margin-bottom: 16px !important;
  font-size: clamp(31px, 3.35vw, 50px) !important;
  line-height: 1.12 !important;
}

#sobre .section-subtitle {
  margin-bottom: 0 !important;
  font-size: clamp(15px, 1.18vw, 18px) !important;
  line-height: 1.62 !important;
}

#sobre .about-feature-grid {
  margin-top: 22px;
}

#sobre .about-feature {
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 13px;
  padding: 18px 18px 18px 0;
}

#sobre .about-feature+.about-feature {
  padding-left: 18px;
}

#sobre .about-feature-icon {
  width: 48px;
  height: 48px;
  font-size: 22px;
}

#sobre .about-feature h3 {
  margin-bottom: 6px;
  font-size: clamp(16px, 1.22vw, 20px);
}

#sobre .about-feature p {
  font-size: 14px;
  line-height: 1.48;
}

#sobre .about-stats {
  margin-top: 20px !important;
  gap: 10px !important;
}

#sobre .stat-card {
  min-height: 92px !important;
  padding: 14px 10px !important;
  border-radius: 18px !important;
}

#sobre .stat-num {
  font-size: clamp(22px, 1.9vw, 30px) !important;
}

#sobre .stat-lbl {
  margin-top: 6px !important;
  font-size: 11px !important;
  line-height: 1.28 !important;
}

#sobre .about-pill-row {
  margin-top: 16px;
  gap: 8px;
}

#sobre .about-pill-row .badge-inst {
  min-height: 38px;
  padding: 9px 13px;
  font-size: 13px;
}

#sobre {
  margin-top: -42px !important;
  padding-top: clamp(56px, 5.2vw, 82px) !important;
}

#sobre::after {
  content: "";
  position: absolute;
  right: max(-78px, -3vw);
  top: 50%;
  z-index: 0;
  width: min(480px, 36vw);
  height: min(820px, 80%);
  pointer-events: none;
  background: url("../img/central-map-chart-local.png") center / contain no-repeat;
  opacity: .14;
  filter: saturate(.72) contrast(1.22);
  transform: translateY(-50%) rotate(2deg);
}

@media (max-width: 700px) {
  #sobre {
    margin-top: -28px !important;
    padding-top: 54px !important;
  }

  #sobre::after {
    right: -112px;
    top: 58%;
    width: 360px;
    height: 620px;
    opacity: .09;
  }
}

/* Keep the festival watermark visible behind the countdown bridge. */
#countdown-bar::after {
  content: none !important;
  display: none !important;
}

#sobre::before {
  content: none !important;
  display: none !important;
}

#sobre .about-watermark {
  z-index: 0 !important;
  color: rgba(75, 46, 131, .105) !important;
}

body.dark-mode #countdown-bar::after {
  content: none !important;
  display: none !important;
}

body.dark-mode #sobre::before {
  content: none !important;
  display: none !important;
}

body.dark-mode #sobre .about-watermark {
  color: rgba(246, 242, 255, .095) !important;
}

#countdown-bar {
  background: transparent !important;
  padding-bottom: 0 !important;
  margin-bottom: -34px !important;
}

#sobre {
  margin-top: -29px !important;
  padding-top: clamp(44px, 4.5vw, 70px) !important;
}

@media (max-width: 900px) {
  #countdown-bar {
    padding-bottom: 0 !important;
    margin-bottom: -22px !important;
  }

  #sobre {
    margin-top: -29px !important;
    padding-top: 48px !important;
  }

  #sobre .about-watermark {
    top: 8px !important;
    left: -4px !important;
    font-size: clamp(48px, 16vw, 74px) !important;
    opacity: .9;
  }
}

#sobre .about-watermark {
  top: -45px !important;
}

@media (max-width: 700px) {
  #sobre .about-watermark {
    top: -12px !important;
    left: 0 !important;
    font-size: clamp(44px, 15vw, 66px) !important;
  }
}

#sobre .about-stats {
  align-items: stretch !important;
  justify-items: center !important;
}

#sobre .stat-card {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

#sobre .stat-num,
#sobre .stat-lbl {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

#sobre .stat-lbl {
  max-width: 108px;
  margin-left: auto !important;
  margin-right: auto !important;
}


@media (max-width: 1040px) {
  #sobre .about-grid {
    grid-template-columns: 1fr !important;
  }

  #sobre .about-travel-collage {
    width: min(100%, 680px);
    margin: 0 auto;
  }
}

@media (max-width: 700px) {
  #sobre .about-travel-collage {
    min-height: 500px !important;
  }

  #sobre .about-collage-main {
    width: 88%;
    height: 350px;
    border-radius: 30px;
  }

  #sobre .about-collage-card {
    width: 68%;
    height: 170px;
    border-width: 8px;
    border-radius: 24px;
  }

  #sobre .about-collage-small {
    width: 42%;
    height: 140px;
    border-width: 7px;
    border-radius: 22px;
  }

  .about-collage-badge {
    width: 96px;
    height: 96px;
    border-width: 8px;
  }

  .about-collage-badge span {
    font-size: 32px;
  }

  #sobre .about-feature-grid,
  #sobre .about-stats {
    grid-template-columns: 1fr !important;
  }

  #sobre .about-feature,
  #sobre .about-feature+.about-feature {
    padding: 20px 0;
    border-left: 0;
  }
}

/* Hero final refinement: clean animated copy without card treatment. */
.hero-info-panel,
.hero-info-panel .hero-fecha,
.hero-info-slider {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.hero-content::before {
  filter: none !important;
  opacity: .92 !important;
}

.hero-info-panel {
  width: min(100%, 860px) !important;
  max-width: 860px !important;
  min-height: 0 !important;
  padding: 0 14px !important;
  margin: 0 auto 18px !important;
  gap: 8px !important;
}

.hero-info-panel .hero-fecha {
  width: 100% !important;
  min-height: 0 !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 auto !important;
  color: #ff9b28 !important;
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(17px, 1.36vw, 23px) !important;
  font-weight: 700 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-shadow:
    0 2px 8px rgba(0, 0, 0, .72),
    0 0 10px rgba(247, 146, 30, .22) !important;
}

.hero-info-slider {
  width: min(100%, 820px) !important;
  height: clamp(50px, 4.2vw, 62px) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

.hero-info-slider span,
.hero-info-slider .hero-info-location {
  width: 100% !important;
  max-width: 820px !important;
  padding: 0 8px !important;
  color: rgba(255, 255, 255, .98) !important;
  font-size: clamp(18px, 1.68vw, 28px) !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
  letter-spacing: 0 !important;
  text-shadow:
    0 3px 10px rgba(0, 0, 0, .78),
    0 0 14px rgba(75, 46, 131, .34) !important;
}

@keyframes heroLogoFloatIn {
  from {
    opacity: 0;
    transform: translateY(16px) scale(.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes heroTextFloatIn {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroCopyRise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 700px) {
  .hero-info-panel {
    width: min(100%, 352px) !important;
    padding: 0 10px !important;
    margin-bottom: 14px !important;
    gap: 6px !important;
  }

  .hero-info-panel .hero-fecha {
    font-size: clamp(13px, 3.65vw, 16px) !important;
    line-height: 1.22 !important;
    text-shadow:
      0 2px 8px rgba(0, 0, 0, .78),
      0 0 10px rgba(247, 146, 30, .2) !important;
  }

  .hero-info-slider {
    width: min(100%, 342px) !important;
    height: 54px !important;
  }

  .hero-info-slider span,
  .hero-info-slider .hero-info-location {
    padding: 0 4px !important;
    font-size: clamp(14px, 3.95vw, 17px) !important;
    line-height: 1.2 !important;
  }
}

/* Countdown minimal neutral finish */
#countdown-bar .countdown-inner {
  border-color: rgba(255, 218, 164, .28) !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(255, 218, 164, .18), transparent 31%),
    radial-gradient(circle at 88% 88%, rgba(255, 246, 226, .1), transparent 34%),
    linear-gradient(135deg, rgba(18, 18, 20, .98), rgba(32, 29, 26, .96) 52%, rgba(11, 12, 15, .98)) !important;
  box-shadow:
    0 22px 58px rgba(12, 13, 16, .34),
    0 10px 34px rgba(255, 218, 164, .1),
    inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

#countdown-bar .countdown-doodles span {
  opacity: .14;
  filter: brightness(0) invert(1) sepia(.28) saturate(.85) hue-rotate(8deg) drop-shadow(0 0 12px rgba(255, 218, 164, .22));
}

#countdown-bar .countdown-label {
  background: rgba(255, 255, 255, .055) !important;
  border-color: rgba(255, 255, 255, .13) !important;
  color: rgba(255, 255, 255, .72) !important;
}

#countdown-bar .countdown-label:first-child,
#countdown-bar .cu-num {
  color: #f7921e !important;
}

#countdown-bar .cu-lbl {
  color: rgba(255, 255, 255, .62) !important;
}
/* Countdown branded wave finish */
#countdown-bar .countdown-inner {
  border-color: rgba(247, 146, 30, .34) !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(247, 146, 30, .16), transparent 30%),
    radial-gradient(circle at 88% 88%, rgba(255, 255, 255, .08), transparent 34%),
    linear-gradient(135deg, rgba(33, 18, 54, .82), rgba(33, 18, 54, .82)) !important;
  box-shadow:
    0 22px 58px rgba(33, 18, 54, .3),
    0 10px 34px rgba(247, 146, 30, .08),
    inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

#countdown-bar .countdown-doodles::before,
#countdown-bar .countdown-doodles::after {
  content: "";
  position: absolute;
  left: -8%;
  right: -8%;
  height: 46px;
  pointer-events: none;
  background-repeat: repeat-x;
  background-size: 180px 46px;
  opacity: .22;
  mix-blend-mode: screen;
  animation: countdownWaveDrift 12s linear infinite;
}

#countdown-bar .countdown-doodles::before {
  bottom: 8px;
  background-image: url("data:image/svg+xml,%3Csvg width='180' height='46' viewBox='0 0 180 46' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 25 C 30 7 60 43 90 25 S 150 7 180 25' fill='none' stroke='%23f7921e' stroke-width='2.5' stroke-linecap='round' opacity='.75'/%3E%3C/svg%3E");
}

#countdown-bar .countdown-doodles::after {
  bottom: 24px;
  opacity: .14;
  background-size: 220px 46px;
  animation-duration: 18s;
  animation-direction: reverse;
  background-image: url("data:image/svg+xml,%3Csvg width='220' height='46' viewBox='0 0 220 46' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 23 C 36 39 74 7 110 23 S 184 39 220 23' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' opacity='.7'/%3E%3C/svg%3E");
}

#countdown-bar .countdown-doodles span {
  opacity: .12;
  filter: brightness(0) invert(1) sepia(.35) saturate(.95) hue-rotate(338deg) drop-shadow(0 0 10px rgba(247, 146, 30, .18));
}

@keyframes countdownWaveDrift {
  from { transform: translateX(0); }
  to { transform: translateX(-180px); }
}

@media (max-width: 700px) {
  #countdown-bar .countdown-inner {
    background:
      radial-gradient(circle at 12% 10%, rgba(247, 146, 30, .18), transparent 30%),
      radial-gradient(circle at 88% 88%, rgba(255, 255, 255, .08), transparent 34%),
      linear-gradient(135deg, rgba(33, 18, 54, .82), rgba(33, 18, 54, .82)) !important;
  }

  #countdown-bar .countdown-doodles::before {
    bottom: 4px;
    opacity: .2;
  }

  #countdown-bar .countdown-doodles::after {
    bottom: 18px;
    opacity: .11;
  }
}

/* Mobile stat cards subtle highlight */
@media (max-width: 700px) {
  #sobre .stat-card {
    border: 1px solid rgba(247, 146, 30, .26) !important;
    background:
      radial-gradient(circle at 18% 0%, rgba(247, 146, 30, .13), transparent 46%),
      linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(255, 250, 244, .86)) !important;
    box-shadow: 0 10px 24px rgba(33, 18, 54, .07) !important;
  }

  #sobre .stat-card:nth-child(2) {
    border-color: rgba(75, 46, 131, .22) !important;
    background:
      radial-gradient(circle at 18% 0%, rgba(75, 46, 131, .11), transparent 46%),
      linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(248, 245, 255, .86)) !important;
  }

  #sobre .stat-card:nth-child(3) {
    border-color: rgba(29, 122, 90, .2) !important;
    background:
      radial-gradient(circle at 18% 0%, rgba(29, 122, 90, .1), transparent 46%),
      linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(246, 255, 250, .84)) !important;
  }

  #sobre .stat-card:nth-child(4) {
    border-color: rgba(247, 146, 30, .22) !important;
  }

  body.dark-mode #sobre .stat-card {
    border-color: rgba(247, 146, 30, .28) !important;
    background:
      radial-gradient(circle at 18% 0%, rgba(247, 146, 30, .16), transparent 46%),
      linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .045)) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18) !important;
  }
}

/* Mobile stat cards rings only */
@media (max-width: 700px) {
  #sobre .stat-card {
    position: relative !important;
    isolation: isolate;
    overflow: hidden !important;
  }

  #sobre .stat-card::before {
    content: "" !important;
    position: absolute !important;
    right: -24px;
    top: -28px;
    width: 82px;
    height: 82px;
    border: 12px solid rgba(255, 255, 255, .66);
    border-radius: 50%;
    box-shadow: 0 0 0 20px rgba(255, 255, 255, .18);
    pointer-events: none;
    z-index: -1;
    animation: aboutRingFloat 7s ease-in-out infinite alternate;
  }

  #sobre .stat-card::after,
  #sobre .badge-inst::before,
  #sobre .badge-inst::after {
    content: none !important;
  }

  body.dark-mode #sobre .stat-card::before {
    border-color: rgba(255, 255, 255, .13);
    box-shadow: 0 0 0 20px rgba(255, 255, 255, .025);
  }
}

@keyframes aboutRingFloat {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(-6px, 8px, 0) scale(1.04); }
}


/* PWA install suggestion */
.pwa-install-card {
  position: fixed;
  left: max(18px, env(safe-area-inset-left));
  right: max(18px, env(safe-area-inset-right));
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: 1100;
  max-width: 430px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 48px 12px 12px;
  border: 1px solid rgba(247, 146, 30, .28);
  border-radius: 22px;
  background:
    radial-gradient(circle at 10% 0%, rgba(247, 146, 30, .16), transparent 40%),
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 248, 239, .94));
  box-shadow: 0 20px 60px rgba(33, 18, 54, .18);
  opacity: 0;
  transform: translateY(18px) scale(.98);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}

.pwa-install-card.show {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.pwa-install-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  object-fit: cover;
  box-shadow: 0 10px 22px rgba(75, 46, 131, .16);
}

.pwa-install-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.pwa-install-copy strong {
  color: #211236;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0;
}

.pwa-install-copy span {
  color: rgba(33, 18, 54, .68);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
}

.pwa-install-action {
  min-height: 38px;
  border: 0;
  border-radius: 999px;
  padding: 0 16px;
  background: #f7921e;
  color: #160d22;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(247, 146, 30, .2);
}

.pwa-install-close {
  position: absolute;
  right: 12px;
  top: 10px;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 50%;
  background: rgba(33, 18, 54, .08);
  color: #211236;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

body.dark-mode .pwa-install-card {
  border-color: rgba(247, 146, 30, .34);
  background:
    radial-gradient(circle at 10% 0%, rgba(247, 146, 30, .18), transparent 42%),
    linear-gradient(135deg, rgba(33, 18, 54, .96), rgba(24, 14, 40, .94));
  box-shadow: 0 20px 60px rgba(0, 0, 0, .34);
}

body.dark-mode .pwa-install-copy strong {
  color: #fff;
}

body.dark-mode .pwa-install-copy span {
  color: rgba(255, 255, 255, .74);
}

body.dark-mode .pwa-install-close {
  background: rgba(255, 255, 255, .1);
  color: #fff;
}

@media (max-width: 520px) {
  .pwa-install-card {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 11px 42px 11px 11px;
    border-radius: 19px;
  }

  .pwa-install-icon {
    width: 42px;
    height: 42px;
  }

  .pwa-install-action {
    grid-column: 2;
    justify-self: start;
    min-height: 32px;
    margin-top: 5px;
    padding: 0 14px;
  }
}

/* About collage served piracaldo crop */
#sobre .about-collage-card {
  object-position: 50% 56% !important;
}

@media (max-width: 700px) {
  #sobre .about-collage-card {
    object-position: 50% 58% !important;
  }
}

/* Requested about collage card placement */
#sobre .about-collage-card {
  right: -16px !important;
  bottom: -120px !important;
  width: min(58%, 390px) !important;
  height: 371px !important;
  z-index: 2 !important;
  border: 12px solid #fff !important;
  border-radius: 34px !important;
}

/* Mobile fix for requested about collage card placement */
@media (max-width: 700px) {
  #sobre .about-travel-collage {
    min-height: 430px !important;
    padding-bottom: 0 !important;
  }

  #sobre .about-collage-card {
    right: 0 !important;
    bottom: 18px !important;
    width: min(62%, 245px) !important;
    height: 210px !important;
    border-width: 9px !important;
    border-radius: 26px !important;
    object-position: 50% 58% !important;
  }
}

@media (max-width: 420px) {
  #sobre .about-travel-collage {
    min-height: 385px !important;
  }

  #sobre .about-collage-card {
    width: min(64%, 220px) !important;
    height: 188px !important;
    bottom: 16px !important;
  }
}
