

      .hero-card {
        background: linear-gradient(120deg, #62d7f9 0%, #45b9e8 40%, #279dd6 100%);
        border-radius: 1.75rem;
        overflow: hidden;
      }

      .counter-number {
        font-size: clamp(1.8rem, 4.8vw, 2.7rem);
        font-weight: 800;
        line-height: 1;
      }

      .objective-list li {
        margin-bottom: 0.4rem;
      }

      .host-card {
        background: #fff;
        color: #1e2b38;
        border-radius: 1.5rem;
      }

      .logo-tile {
        min-height: 90px;
        border-radius: 0.9rem;
        background: #fff;
        border: 1px solid #e9ecef;
      }

      .contact-wrap {
        /* background: rgba(255, 255, 255, 0.04); */
        border-radius: 1.25rem;
      }

      .contact-title {
        font-size: clamp(2rem, 3.9vw, 2.8rem);
        font-weight: 700;
        letter-spacing: 0.2px;
      }

      .contact-subtitle {
        font-size: 0.74rem;
        line-height: 1.55;
        color: rgba(255, 255, 255, 0.88);
        max-width: 580px;
        margin-inline: auto;
      }

      .contact-row {
        margin-bottom: 0.55rem;
      }

      .contact-label {
        font-size: 0.86rem;
        font-weight: 500;
        color: #f4f9ff;
        margin-bottom: 0;
      }

      .contact-field {
        background: #f5f8fc;
        border: 0;
        border-radius: 0.42rem;
        min-height: 34px;
        font-size: 0.84rem;
        color: #15324d;
      }

      textarea.contact-field {
        min-height: 92px;
        resize: vertical;
      }

      .contact-submit {
        min-height: 32px;
        min-width: 170px;
        font-size: 0.8rem;
        font-weight: 700;
        border-radius: 0.42rem;
      }

      .form-control,
      .form-control:focus {
        border-color: rgba(255, 255, 255, 0.15);
        box-shadow: none;
      }

      footer {
        background: #0a4574;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
      }

      .site-footer {
        padding-top: 2.2rem;
        padding-bottom: 12rem;
        margin-top: 0;
      }

      .footer-title {
        font-weight: 700;
        font-size: clamp(1.05rem, 1.8vw, 1.5rem);
        margin-bottom: 1rem;
      }

      .org-badge {
        width: 58px;
        height: 58px;
        border-radius: 14px;
        background: linear-gradient(140deg, #2ab0df 0%, #2ab0df 52%, #d9e76a 52%, #d9e76a 100%);
        color: #ffffff;
        font-weight: 900;
        font-size: 1.2rem;
      }

      .org-badge::before {
        content: "";
        width: 34px;
        height: 34px;
        border-radius: 50%;
        background: #ffffff;
        opacity: 0.95;
      }

      .footer-meta {
        font-size: 0.78rem;
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.82);
        max-width: 270px;
      }

      .organizer-brand {
        font-weight: 900;
        font-size: 1.7rem;
        letter-spacing: 0.2px;
        line-height: 1;
        margin-bottom: 0.3rem;
      }

      .social-dot {
        width: 22px;
        height: 22px;
        border: 1px solid rgba(255, 255, 255, 0.8);
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 0.72rem;
        color: #fff;
        text-decoration: none;
      }

      .social-dot:hover {
        background: rgba(255, 255, 255, 0.15);
        color: #fff;
      }

      .subscribe-wrap .form-control {
        background: rgba(255, 255, 255, 0.96);
        border-color: transparent;
        min-height: 38px;
        max-width: 360px;
        font-size: 0.78rem;
        border-radius: 0.45rem;
      }

      .subscribe-wrap .btn {
        min-width: 120px;
        border-radius: 999px;
        padding-inline: 1.2rem;
        font-size: 0.82rem;
        font-weight: 700;
        line-height: 1.1;
      }

      .privacy-note {
        font-size: 0.68rem;
        color: rgba(255, 255, 255, 0.8);
      }

      .subscribe-row {
        max-width: 360px;
      }

      .footer-grid {
        min-height: 160px;
        row-gap: 1.75rem !important;
      }

      .organizer-name {
        letter-spacing: 0.2px;
        font-size: 0.8rem;
        text-transform: uppercase;
        opacity: 0.9;
      }

      .form-check-input[type="checkbox"] {
        border-color: rgba(255, 255, 255, 0.55);
        background-color: transparent;
      }

      .form-check-input[type="checkbox"]:checked {
        background-color: #39c2ee;
        border-color: #39c2ee;
      }

      .organizer-block {
        max-width: 340px;
      }

      .subscribe-wrap {
        max-width: 390px;
        margin-left: auto;
        padding-top: 0.15rem;
      }

      .subscribe-wrap .footer-title {
        margin-bottom: 0.85rem;
      }

      .social-dot i {
        font-size: 0.68rem;
      }

      @media (max-width: 575.98px) {
        .organizer-brand {
          font-size: 1.5rem;
        }
      }

      .hero-image,
      .objective-image {
        object-fit: cover;
        width: 100%;
        height: 100%;
      }

      @media (min-width: 992px) {
        .top-nav .container {
          position: relative;
        }

        .top-nav .navbar-collapse {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
        }

        .top-nav .navbar-nav {
          gap: 0.12rem;
        }
      }

      @media (max-width: 991.98px) {
        .nav-shell {
          border-radius: 10px;
          margin-top: 0.65rem;
          padding: 0;
        }

        .menu-link {
          font-size: 0.74rem;
          padding: 0.48rem 0.65rem !important;
        }
      }



      :root {
  --ihbf-blue: #1b75ba;
  --ihbf-blue-dark: #0a4574;
  --ihbf-cyan: #39c2ee;
  --ihbf-soft: #eaf6ff;
}

body {
  font-family: "Satoshi", "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background-color: var(--ihbf-blue);
  color: #fff;
}

a {text-decoration: none; transition: 0.5s ease}

.top-nav {
  background-color: transparent;
  backdrop-filter: blur(4px);
  z-index: 1030;
}

.top-nav .navbar {
  min-height: 62px;
}

h1.hero-title {
  font-family: 'Gitaluevo', sans-serif;
}

.brand-badge {
  font-weight: 800;
  letter-spacing: 0.3px;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.logo-navbar {
  max-height: 105px;
  width: auto;
}

.nav-shell {
  background: transparent;
  border: 0;
  border-radius: 999px;
  padding: 0;
}

.menu-link {
  color: #e6f6ff !important;
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.52px;
  padding: 0.34rem 0.7rem !important;
  border-radius: 999px;
}

.menu-link:hover,
.menu-link:focus,
.current-menu-item .menu-link,
.current-menu-ancestor .menu-link,
.menu-link.active,
.menu-link[aria-current="page"] {
  background: rgba(0, 0, 0, 0.34);
}

.lang-switch {
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 999px;
  padding: 0.14rem;
  background: rgba(8, 53, 94, 0.82);
}

.lang-switch .btn {
  border: 0;
  border-radius: 999px !important;
  font-size: 0.56rem;
  line-height: 1;
  padding: 0.22rem 0.44rem;
  font-weight: 800;
  color: #fff;
}

.lang-switch .btn.active {
  background: var(--ihbf-cyan);
  color: #fff;
}

.lang-switch .btn:not(.active) {
  background: transparent;
}

.glass-panel {
  /* background: rgba(255, 255, 255, 0.08); */
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 1.5rem;
}

.section-title-pill {
  background: linear-gradient(90deg, #46c7f0 0%, #1fb3e5 100%);
  border-radius: 0.9rem;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  position:relative;
  z-index: 1;
}

.section-title-wrapper::before {
  position:absolute;
  width: 100%;
  height: 1px;
  background-color: white;
  z-index: 0;
  content: ' ';
  top: 50%;

}

.general-hero {
  border-radius: 1.4rem;
  overflow: hidden;
  position: relative;
  min-height: 300px;
}

.general-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.general-hero-title {
  position: absolute;
  left: 1.2rem;
  bottom: 1.3rem;
  margin: 0;
  font-size: clamp(2.2rem, 6vw, 4.1rem);
  font-weight: 900;
  line-height: 0.95;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}

.info-card {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 1.2rem;
}

.info-item {
  display: flex;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
}

.info-icon {
  color: #56d6ff;
  font-size: 2rem;
  line-height: 1;
}

.info-label {
  font-size: 0.63rem;
  opacity: 0.9;
  margin-bottom: 0.1rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.info-value {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

.btn-map {
  width: 100%;
  border-radius: 0.55rem;
  font-size: 0.85rem;
  font-weight: 700;
  padding-block: 0.5rem;
  background: #0a4f86;
  border: 0;
  color: #fff;
}

.map-frame {
  border: 0;
  width: 100%;
  min-height: 315px;
  border-radius: 1rem;
}

.facility-grid {
  row-gap: 1.45rem;
}

.facility-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.facility-item i {
  color: #56d6ff;
  font-size: 2rem;
}

.facility-item span {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.2;
}

.join-card {
  border-radius: 1.25rem;
  overflow: hidden;
  position: relative;
  min-height: 330px;
}

.join-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.28);
}

.join-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.join-content {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 1.4rem;
}

.join-actions {
  width: min(300px, 100%);
}

.join-actions .btn {
  border-radius: 0.7rem;
  font-weight: 700;
  font-size: 0.86rem;
  background: #0a4f86;
  border: 0;
  color: #fff;
  padding-block: 0.7rem;
  width: 100%;
}

.contact-wrap {
  position: relative;
  z-index: 1;
  min-height: 300px;
}

.contact-wrap::before {
  content: '';
  background-image: url("../images/bg-contact.svg");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: contain;
  position: absolute;
  z-index: 0;
  top: 0; left:0; right:0;bottom:0;
  mix-blend-mode: multiply;
}

.connect-title {
  font-size: clamp(2rem, 4vw, 2.7rem);
  font-weight: 800;
}

.connect-sub {
  font-size: 0.78rem;
  max-width: 550px;
}

.connect-social {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #fff;
  color: #1b75ba;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  text-decoration: none;
}

@media (max-width: 767.98px) {
  .contact-title {
    font-size: 1.85rem;
  }

  .contact-subtitle {
    font-size: 0.72rem;
  }

  .contact-label {
    font-size: 0.84rem;
    margin-bottom: 0.25rem;
  }

  .contact-submit {
    width: 100%;
  }

  .hero-title {
    font-size: 2.2rem;
    line-height: 1.08;
  }

  .hero-card .row > * {
    min-height: auto;
  }

  .site-footer {
    padding-top: 2rem;
    padding-bottom: 5rem;
  }

  .subscribe-row {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.55rem !important;
  }

  .subscribe-wrap .btn {
    align-self: stretch;
  }

  .subscribe-wrap {
    max-width: none;
    margin-left: 0;
  }

  .general-hero {
    min-height: 220px;
  }

  .info-value {
    font-size: 0.88rem;
  }

  .facility-item span {
    font-size: 0.72rem;
  }

  .connect-social {
    width: 60px;
    height: 60px;
    font-size: 1.8rem;
  }
}
