@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');

    :root{
      --primary:#ff6b00;
      --secondary:#0b4cc9;
      --dark:#0f172a;
      --soft:#f7f7fb;
    }
    *{
          font-family:'Noto Sans', sans-serif;
        }
        
        h1,h2,h3,h4,h5,.section-title,.event-title{
          font-family:'Noto Sans', sans-serif;
          letter-spacing:-0.4px;
        }
    html{scroll-behavior:smooth;}
    body{background:#fff;}

    /* Navbar */
    .navbar{
      transition:all .25s ease;
      background:#fff;
      backdrop-filter: blur(10px);
    }
    .navbar.scrolled{
      background:#fff;
      box-shadow:0 10px 35px rgba(0,0,0,.2);
    }
    .navbar .nav-link{color:#333 !important; font-weight:600;}
    .navbar .nav-link:hover{opacity:1;}
    .brand-badge{
      color:#111;
      padding:8px 12px;
      border-radius:14px;
      margin-bottom:5px;
      font-weight:700;
      letter-spacing:.2px;
    }

    /* Hero */
    .hero{
      min-height:100vh;
      position:relative;
      display:flex;
      align-items:center;
      color:#fff;
      overflow:hidden;
      /*background:*/
      /*  linear-gradient(120deg, rgba(15,23,42,.92), rgba(11,76,201,.55)),*/
      /*  url('https://images.unsplash.com/photo-1520975869015-2138d1c09a56?auto=format&fit=crop&w=2000&q=80') center/cover no-repeat;*/
    }
    .hero::after{
      content:"";
      position:absolute;
      inset:-80px;
      /*background:*/
      /*  radial-gradient(circle at 20% 20%, rgba(255,107,0,.25), transparent 45%),*/
      /*  radial-gradient(circle at 80% 60%, rgba(255,183,3,.18), transparent 45%);*/
      /*filter: blur(0px);*/
      /*poNoto Sans-events:none;*/
    }
    .hero-content{position:relative; z-index:2;}
    .hero h1{
      font-size: clamp(2.0rem, 4.2vw, 3.4rem);
      font-weight:800;
      line-height:1.1;
    }
    .hero p{opacity:.95; max-width:720px;}
    .hero-card{
      background: rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.18);
      border-radius:20px;
      padding:18px;
      /*backdrop-filter: blur(14px);*/
      box-shadow:0 30px 60px rgb(0 0 0 / 0%);
      margin-top:70px;
    }
    .pill{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:10px 14px;
      border-radius:999px;
      background: rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.18);
      font-weight:600;
      margin:6px 6px 0 0;
    }
    .btn-main{
      background: linear-gradient(90deg, var(--primary), #ffb703);
      border:none;
      color:#111;
      font-weight:800;
      border-radius:14px;
      padding:12px 18px;
      box-shadow:0 18px 30px rgba(255,107,0,.25);
    }
    .btn-main:hover{transform:translateY(-2px);}
    .btn-outline-light{
      border-radius:14px;
      padding:12px 18px;
      font-weight:700;
    }

    /* Section */
    section{padding:40px 0;}
    .section-title{
      font-weight:800;
      color:var(--dark);
    }
    .subtext{color:#475569;}

    /* Feature cards */
    .cardx{
      border:1px solid rgba(15,23,42,.08);
      border-radius:22px;
      padding:22px;
      background:#fff;
      box-shadow:0 12px 35px rgba(2,8,23,.06);
      transition:all .25s ease;
      height:100%;
    }
    .cardx:hover{transform: translateY(-6px); box-shadow:0 18px 45px rgba(2,8,23,.10);}
    .icn{
      width:52px;height:52px;
      display:flex;
      align-items:center;
      justify-content:center;
      border-radius:18px;
      background: rgba(255,107,0,.12);
      color: var(--primary);
      font-size:20px;
    }

    /* Category cards */
    .cat{
      border-radius:24px;
      overflow:hidden;
      border:1px solid rgba(2,8,23,.10);
      background:#fff;
      box-shadow:0 12px 35px rgba(2,8,23,.08);
    }
    .cat .top{
      padding:22px;
      background: linear-gradient(135deg, rgba(11,76,201,.12), rgba(255,107,0,.12));
    }
    .badge-soft{
      background: rgba(11,76,201,.1);
      color: var(--secondary);
      padding:6px 10px;
      border-radius:999px;
      font-weight:700;
      font-size:12px;
    }
    .price{
      font-size:34px;
      font-weight:900;
      color:var(--dark);
      letter-spacing:-0.6px;
    }

    /* Timeline */
    .timeline{
      position:relative;
      padding-left:18px;
    }
    .timeline::before{
      content:"";
      position:absolute;
      left:7px; top:6px; bottom:6px;
      width:3px;
      background: rgba(11,76,201,.18);
      border-radius:99px;
    }
    .t-item{
      position:relative;
      padding:10px 12px 10px 24px;
      margin:10px 0;
      border-radius:18px;
      background:#fff;
      border:1px solid rgba(2,8,23,.08);
      box-shadow:0 10px 22px rgba(2,8,23,.06);
    }
    .t-item::before{
      content:"";
      position:absolute;
      left:-2px; top:18px;
      width:14px;height:14px;
      border-radius:50%;
      background: linear-gradient(90deg, var(--primary), #ffb703);
      border:3px solid #fff;
      box-shadow:0 10px 20px rgba(255,107,0,.25);
    }

    /* Banner strip */
    .strip{
      background: linear-gradient(90deg, rgba(255,107,0,.12), rgba(11,76,201,.10));
      border:1px solid rgba(2,8,23,.06);
      border-radius:26px;
      padding:20px;
    }

    /* Registration box */
    .reg-box{
      background: linear-gradient(135deg, rgba(255,107,0,.10), rgba(11,76,201,.10));
      border:1px solid rgba(2,8,23,.06);
      border-radius:26px;
      padding:26px;
    }
    .form-control, .form-select{
      border-radius:14px;
      padding:12px 14px;
      border:1px solid rgba(2,8,23,.12);
    }

    /* Footer */
    footer{
      background: #081225;
      color:#cbd5e1;
      padding:50px 0 25px;
    }
    footer a{color:#cbd5e1; text-decoration:none;}
    footer a:hover{color:#fff;}
    .mini{
      font-size:13px;
      opacity:.9;
    }

    /* Floating */
    .float-wa{
      position:fixed;
      right:18px;
      bottom:18px;
      z-index:50;
      width:54px;height:54px;
      border-radius:18px;
      display:flex;
      align-items:center;
      justify-content:center;
      background: #25D366;
      color:#fff;
      box-shadow:0 18px 35px rgba(0,0,0,.22);
      transition:.2s;
    }
    .float-wa:hover{transform:translateY(-3px); color:#fff;}

    /*banner-slider*/

.hero { min-height:100vh; color:#fff; }

.hero-slider {
  position:absolute;
  inset:0;
  z-index:0;
}

.hero-slider .carousel-item {
  height:100vh;
  background-size:cover;
  background-position:center;
}

.hero-overlay {
  position:absolute;
  inset:0;
  z-index:1;
  /*background:linear-gradient(120deg, rgb(15 23 42 / 58%), rgb(11 76 201 / 49%));*/
}

.hero-content { z-index:2; }


    /*banner-slider*/

    .carousel-control-prev,
.carousel-control-next {
  width:60px;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-size:100% 100%;
  filter: drop-shadow(0 0 10px rgba(0,0,0,.6));
}

.carousel-indicators [data-bs-target] {
  width:12px;
  height:12px;
  border-radius:50%;
}

/*event css*/

.marathon-section{
  min-height:60vh;
  display:grid;
  grid-template-columns:1fr;
  gap:60px;
  padding:50px 8%;
  align-items:center;
  background:linear-gradient(135deg,#0b132b,#1c2541 60%,#0b132b);
  color:#fff;
  font-family:'Noto Sans', sans-serif;
}

.event-overview {
    text-align: center;
    background: #0b132b;
    padding: 30px 0;
}

.event-title{
  font-size:56px;
  font-weight:700;
  margin-bottom:22px;
}
.event-title span{color:#ffb703;}

.event-desc{
  font-size:17px;
  line-height:1.9;
  color:#e5e7eb;
  max-width:680px;
  margin:0 auto 45px;
}

.event-details{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.detail-box{
  background:rgba(255,255,255,0.08);
  border-radius:18px;
  padding:22px 15px;
  backdrop-filter:blur(6px);
  box-shadow:0 10px 30px rgba(0,0,0,0.5);
}

.detail-box h3{
  color:#ffb703;
  font-size:18px;
}

.detail-box span{
  font-size:14px;
  color:#d1d5db;
}

.countdown-wrapper{
  background:rgba(255,255,255,0.07);
  border-radius:26px;
  padding:55px 45px;
  text-align:center;
  box-shadow:0 25px 60px rgba(0,0,0,0.6);
}

.countdown-wrapper h2{
  font-size:38px;
  margin-bottom:35px;
  color:#ffb703;
}

.countdown{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.time-box{
  background:#0b132b;
  border-radius:20px;
  padding:28px 10px;
  box-shadow:inset 0 0 25px rgba(255,183,3,0.35);
}

.time-box h3{
  font-size:44px;
  margin:0;
  color:#ffb703;
}

.time-box span{
  font-size:13px;
  letter-spacing:1px;
  color:#fde68a;
}

.cta-btn{
  margin-top:45px;
  display:inline-block;
  padding:15px 42px;
  border-radius:40px;
  background:linear-gradient(135deg,#ffb703,#ffd166);
  color:#000;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 12px 35px rgba(255,183,3,0.5);
  transition:0.3s;
}

.cta-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 45px rgba(255,183,3,0.7);
}

@media(max-width:992px){
  .marathon-section{grid-template-columns:1fr;}
}

@media(max-width:576px){
  .event-title{font-size:38px;}
  .countdown{grid-template-columns:1fr 1fr;}
}

/* ===============================
   OUR VISION & OUR MISSION
================================ */

#vision-mission{
  background: linear-gradient(135deg,#0b132b,#1c2541 60%,#0b132b);
  padding:80px 0;
  color:#fff;
}

#vision-mission .section-title{
  font-size:42px;
  font-weight:700;
  color:#fff;
}

#vision-mission .subtext{
  max-width:720px;
  margin:auto;
  color:#cbd5f5;
  font-size:16px;
  line-height:1.8;
}

/* Card */
.vm-card{
  background:rgba(255,255,255,0.07);
  border-radius:22px;
  padding:25px;
  height:100%;
  backdrop-filter:blur(8px);
  box-shadow:0 20px 55px rgba(0,0,0,0.45);
  transition:all .35s ease;
}

.vm-card:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 70px rgba(0,0,0,0.65);
}

/* Image */
.vm-card img{
  width:100%;
  height:260px;
  object-fit:cover;
  border-radius:18px;
  margin-bottom:18px;
}

/* Icon */
.vm-icon{
  width:48px;
  height:48px;
  border-radius:50%;
  background:linear-gradient(135deg,#ffb703,#ffd166);
  color:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  box-shadow:0 8px 20px rgba(255,183,3,0.45);
}

/* Heading */
.vm-card h4{
  font-size:22px;
  font-weight:600;
  color:#fff;
}

/* Text */
.vm-card .mini{
  font-size:15px;
  line-height:1.9;
  color:#e5e7eb;
  margin-top:10px;
}

/* Responsive */
@media(max-width:768px){
  #vision-mission .section-title{
    font-size:34px;
  }
  .vm-card img{
    height:220px;
  }
}

/* ===============================
   EVENT AMBASSADOR
================================ */

#event-ambassador{
  background:#0b132b;
  color:#fff;
}

.ambassador-badge{
  background:rgba(255,183,3,0.15);
  color:#ffb703;
  padding:8px 14px;
  border-radius:30px;
  font-weight:600;
  display:inline-block;
}

.ambassador-points{
  list-style:none;
  padding:0;
}

.ambassador-points li{
  margin-bottom:12px;
  font-size:15px;
  color:#e5e7eb;
}

.ambassador-points i{
  color:#ffb703;
  margin-right:8px;
}

.ambassador-img-wrapper{
  position:relative;
  display:inline-block;
  padding:12px;
  border-radius:24px;
  background:linear-gradient(135deg,#ffb703,#ffd166);
}

.ambassador-img-wrapper img{
  border-radius:20px;
  max-width:100%;
}

/* Responsive */
@media(max-width:991px){
  #event-ambassador{
    text-align:center;
  }
  .ambassador-points{
    text-align:left;
    display:inline-block;
  }
}


/*event sponser and partner css*/

/* ===============================
   SPONSORS & PARTNERS SECTION
================================ */

.sponsor-card, .partner-card{
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 15px 40px rgba(0,0,0,0.45);
  transition:all .3s ease;
}

.sponsor-card:hover, .partner-card:hover{
  transform:translateY(-6px);
  box-shadow:0 25px 60px rgba(0,0,0,0.6);
}

.sponsor-card img, .partner-card img{
  max-width:100%;
  max-height:70px;
  object-fit:contain;
}

#sponsors .section-title, #partners .section-title{
  font-size:36px;
  font-weight:700;
}

#sponsors .subtext, #partners .subtext{
  font-size:15px;
  color:#cbd5f5;
}

@media(max-width:768px){
  .sponsor-card, .partner-card{
    padding:15px;
  }
  #sponsors .section-title, #partners .section-title{
    font-size:28px;
  }
}


/*event sponser and partner css*/

/*global active partner city*/

/* ===============================
   GLOBAL ACTIVE PARTNER CITY
================================ */

#global-partners{
  background: linear-gradient(135deg,#081029,#0b132b 60%,#081029);
  color:#fff;
  font-family:'Noto Sans', sans-serif;
}

#global-partners .partner-badge{
  display:inline-block;
  background:rgba(255,183,3,0.15);
  color:#ffb703;
  padding:8px 16px;
  border-radius:30px;
  font-weight:600;
}

#global-partners .section-title{
  font-size:42px;
  font-weight:700;
  margin-bottom:20px;
}

#global-partners .subtext{
  font-size:16px;
  line-height:1.8;
  color:#cbd5f5;
  margin-bottom:30px;
}

.partner-stats .stat-card{
  background:rgba(255,255,255,0.05);
  border-radius:22px;
  padding:25px;
  text-align:center;
  box-shadow:0 20px 50px rgba(0,0,0,0.45);
  transition:all .3s ease;
}

.partner-stats .stat-card:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 70px rgba(0,0,0,0.6);
}

.partner-stats .stat-card h3{
  font-size:28px;
  font-weight:700;
  color:#ffb703;
  margin-bottom:6px;
}

.partner-stats .stat-card span{
  font-size:14px;
  color:#cbd5f5;
}

.partner-img-wrapper img{
  max-width:100%;
  border-radius:18px;
  box-shadow:0 20px 60px rgba(0,0,0,0.7);
}

/* Button */
#global-partners .btn-main{
  background:linear-gradient(135deg,#ffb703,#ffd166);
  color:#081029;
  padding:14px 40px;
  border-radius:40px;
  font-weight:600;
  box-shadow:0 12px 35px rgba(255,183,3,0.5);
  transition:0.3s;
}

#global-partners .btn-main:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 45px rgba(255,183,3,0.7);
}

/* Responsive */
@media(max-width:991px){
  #global-partners .section-title{
    font-size:34px;
  }
  .partner-stats .stat-card h3{
    font-size:24px;
  }
}

@media(max-width:576px){
  .partner-stats .stat-card h3{
    font-size:20px;
  }
}


/*global active partner city*/

/*map and detail css*/

/* ===============================
   CONTACT & MAP SECTION
================================ */

#contact-location{
  background:linear-gradient(135deg, #ffba0d, #ff7001);
  padding:90px 0;
  color:#fff;
  font-family:'Noto Sans', sans-serif;
}

.contact-card{
  background:rgba(255,255,255,0.05);
  border-radius:26px;
  padding:45px 35px;
  box-shadow:0 25px 60px rgba(0,0,0,0.6);
}

.contact-card .section-title{
  font-size:38px;
  font-weight:700;
  margin-bottom:15px;
}

.contact-card .subtext{
  font-size:15px;
  line-height:1.8;
  color:#000;
  margin-bottom:35px;
}

.contact-list{
  list-style:none;
  padding:0;
  margin:0 0 35px;
}

.contact-list li{
  display:flex;
  gap:18px;
  align-items:flex-start;
  margin-bottom:22px;
}

.contact-list i{
  font-size:22px;
  color:#000;
  min-width:30px;
}

.contact-list strong{
  display:block;
  font-size:15px;
  color:#000;
}

.contact-list span{
  font-size:14px;
  color:#000;
}

/* Button */
.btn-direction{
  display:inline-block;
  padding:14px 38px;
  border-radius:40px;
  background:linear-gradient(135deg,#ffb703,#ffd166);
  color:#081029;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 12px 35px rgba(255,183,3,0.5);
  transition:.3s;
}

.btn-direction:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 45px rgba(255,183,3,0.7);
}

/* MAP */
.map-wrapper {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 2px 35px rgba(0,0,0,0.7);
}

.map-wrapper iframe{
  width:100%;
  height:420px;
  border:0;
}

/* Responsive */
@media(max-width:991px){
  .contact-card .section-title{
    font-size:32px;
  }
  .map-wrapper iframe{
    height:360px;
  }
}

/*banner logo css*/

.brand-badge{
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  /*background: rgba(255,255,255,0.15);*/
  border-radius: 50px;
}

.brand-logo{
      height: 60px;
    width: auto;
}

/*banner logo css*/

/*3 LOGO CSS*/

.logo-combine{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin-bottom: 30px;
  padding: 14px 25px;
  background: rgba(255,255,255);
  border-radius: 14px;
  backdrop-filter: blur(6px);
}

.logo-combine img{
  height: 120px;
  width: auto;
  transition: all 0.3s ease;
  filter: grayscale(100%);
  opacity: 0.85;
}

.logo-combine img:hover{
  filter: grayscale(0%);
  transform: scale(1.08);
  opacity: 1;
}

/* Mobile */
@media(max-width:768px){
  .logo-combine{
    flex-wrap: wrap;
    gap: 20px;
  }
  .logo-combine img{
    height: 45px;
  }
}

.icn-img{
    width: 40px;
    height: 40px;
    object-fit: contain;
}

/*3 LOGO CSS*/
/*map and detail css*/

.carousel-item {
    height: 500px;
    background-size: cover;
    background-position: center;
}

/* sliding speed slow */
.carousel-item-next,
.carousel-item-prev,
.carousel-item.active {
    transition: transform 1.5s ease-in-out, opacity 1.5s ease-in-out;
}

/* smooth zoom animation */
.carousel-item.active {
    animation: smoothZoom 8s ease-in-out forwards;
}

@keyframes smoothZoom {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.12);
    }
}


  .policy-section {
    display: none; /* ðŸ”´ IMPORTANT */
    padding: 60px 0;
    background: #f8f9fa;
  }

.contact-buttons{
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

/* common button */
.contact-btn{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  background: #fff;
  color:#333;
  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}
.contact-btn:hover {color:#333;}

/* icon size */
.contact-btn i{
  font-size: 18px;
}


/* ===============================
   LOGO INFORMATION SECTION
================================ */

.logo-section{
  padding:80px 8%;
  background:linear-gradient(135deg,#0b132b,#1c2541 60%,#0b132b);
  color:#fff;
}

/* Each row */
.logo-row{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:40px;
  align-items:center;
  background:rgba(255,255,255,0.06);
  border-radius:26px;
  padding:35px 40px;
  margin-bottom:35px;
  box-shadow:0 20px 60px rgba(0,0,0,0.5);
  transition:.4s ease;
}

.logo-row:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,0.1);
  box-shadow:0 30px 80px rgba(0,0,0,0.7);
}

/* Logo box */
.logo-box{
  background:#fff;
  border-radius:20px;
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  height:140px;
}

.logo-box img{
  max-width:100%;
  max-height:90px;
  object-fit:contain;
}

/* Content */
.logo-content h3{
  font-family:'Outfit',sans-serif;
  font-size:26px;
  font-weight:700;
  margin-bottom:12px;
  color:#ffb703;
}

.logo-content p{
  font-size:15.5px;
  line-height:1.8;
  color:#e5e7eb;
  max-width:720px;
}

/* Responsive */
@media(max-width:991px){
  .logo-row{
    grid-template-columns:1fr;
    text-align:center;
  }

  .logo-box{
    margin:auto;
  }

  .logo-content p{
    margin:auto;
  }
}


/* ===============================
   RACE CARD – TIMES STYLE
================================ */

.race-card-section{
  background:#0b132b;
  padding:90px 0;
}

.race-card{
  position:relative;
  background:linear-gradient(135deg,#111827,#0b132b);
  border-radius:22px;
  padding:35px 30px;
  color:#fff;
  box-shadow:0 30px 80px rgba(0,0,0,.65);
  transition:.4s;
}

.race-card:hover{
  transform:translateY(-8px);
  box-shadow:0 45px 100px rgba(0,0,0,.85);
}

/* Badge */
.race-badge{
  position:absolute;
  top:18px;
  right:18px;
  background:#ffb703;
  color:#000;
  font-size:12px;
  font-weight:700;
  padding:6px 14px;
  border-radius:20px;
}

/* Distance */
.race-distance{
  text-align:center;
  font-size:64px;
  font-weight:800;
  margin-bottom:25px;
}

/* Info grid */
.race-info-grid{
  display:grid;
  grid-template-columns:1fr auto;
  row-gap:10px;
  font-size:15px;
}

.race-info-grid strong{
  font-weight:700;
}

.old-price{
  text-decoration:line-through;
  color:#9ca3af;
  font-size:14px;
  margin-left:6px;
}

hr{
  border-color:rgba(255,255,255,.2);
  margin:18px 0;
}

/* Bullet points */
.race-points{
  list-style:none;
  padding:0;
  margin-bottom:22px;
}

.race-points li{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14.5px;
  margin-bottom:10px;
  color:#e5e7eb;
}

.race-points i{
  color:#ffb703;
}

/* Button */
.race-register-btn{
  display:block;
  text-align:center;
  background:#fff;
  color:#000;
  padding:14px;
  border-radius:12px;
  font-weight:600;
  text-decoration:none;
  transition:.3s;
}

.race-register-btn:hover{
  background:#ffb703;
  color:#000;
}

/* Responsive */
@media(max-width:768px){
  .race-distance{
    font-size:52px;
  }
}

.timed_event {
    background: #dff5f1;
    color: #333;
    padding: 5px;
    border-radius: 20px;
    margin-bottom: 20px;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
}

/* ===============================
   ORGANIZER CARD SECTION
================================ */

.logo-section{
  padding:50px 0;
  background:#f8fafc;
}

.organizer-card{
  background:#fff;
  border-radius:24px;
  padding:15px 30px;
  text-align:center;
  height:100%;
  box-shadow:0 20px 60px rgba(0,0,0,.08);
  transition:.4s ease;
}

.organizer-card:hover{
  transform:translateY(-10px);
  box-shadow:0 35px 80px rgba(0,0,0,.15);
}

/* Logo */
.organizer-logo{
  border-radius:18px;
  margin-bottom:25px;
}

.organizer-logo img{
  max-height:80px;
  max-width:100%;
  object-fit:contain;
}

/* Title */
.organizer-card h4{
  font-size:20px;
  font-weight:700;
  margin-bottom:12px;
  color:#0b132b;
}

/* Text */
.organizer-card p{
  font-size:15px;
  color:#6b7280;
  line-height:1.7;
}

/* Responsive */
@media(max-width:768px){
  .organizer-card{
    padding:30px 22px;
  }
}

/* ===============================
   FOOTER CONTACT STRIP
================================ */

.footer-contact-strip{
  padding:40px 0;
}

.contact-strip-wrapper{
  background:linear-gradient(135deg, #156155eb, #156155);
  border-radius:22px;
  padding:45px 50px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:40px;
  box-shadow:0 25px 60px rgba(0,0,0,.15);
  flex-wrap:wrap;
}

/* Left */
.contact-strip-left h2{
  color:#fff;
  font-size:32px;
  font-weight:700;
  margin-bottom:8px;
}

.contact-strip-left p{
  color:#e0f2fe;
  font-size:15px;
  margin:0;
}

/* Right */
.contact-strip-right{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}

/* Contact Box */
.contact-box{
  display:flex;
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.15);
  padding:12px 20px;
  border-radius:50px;
  color:#fff;
  text-decoration:none;
  font-weight:500;
  transition:.3s;
  backdrop-filter:blur(8px);
}

.contact-box:hover{
  background:#fff;
  color:#0b84b7;
  transform:translateY(-3px);
}

/* Icon */
.icon-circle{
  width:40px;
  height:40px;
  border-radius:50%;
  background:linear-gradient(90deg, var(--primary), #ffb703);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#000;
  font-size:16px;
}

/* WhatsApp Special */
.contact-box.whatsapp .icon-circle{
  background:#25D366;
  color:#fff;
}

/* Responsive */
@media(max-width:768px){

  .contact-strip-wrapper{
    text-align:center;
    padding:35px 25px;
  }

  .contact-strip-left h2{
    font-size:24px;
  }

  .contact-strip-right{
    justify-content:center;
  }

}

.main-footer{
  background:#081225;
  color:#cbd5e1;
  padding:70px 0 30px;
}

.footer-logo{
  height:55px;
}

.footer-title{
  color:#fff;
  font-weight:600;
  margin-bottom:15px;
}

.footer-text{
  font-size:14px;
  line-height:1.7;
  color:#94a3b8;
}

.footer-links{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-links li{
  margin-bottom:10px;
}

.footer-links a{
  text-decoration:none;
  color:#94a3b8;
  font-size:14px;
  transition:.3s;
}

.footer-links a:hover{
  color:#fff;
  padding-left:4px;
}

.footer-social a{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#1e293b;
  border-radius:50%;
  color:#fff;
  margin-right:8px;
  transition:.3s;
}

.footer-social a:hover{
  background:#ffb703;
  color:#000;
}

.footer-divider {
    border-color: rgb(80 77 77 / 71%);
    margin: 15px 0;
}

.footer-bottom{
  text-align:center;
  font-size:13px;
  color:#64748b;
}

/* ===============================
   MINIMAL LANDING FOOTER
================================ */

.minimal-footer{
  background:#fff;
  padding:25px 0;
  text-align:center;
  font-size:14px;
}

.footer-top{
  margin-bottom:10px;
}

.footer-top a{
  margin:0 15px;
  text-decoration:none;
  color:#374151;
  font-weight:500;
  transition:.3s;
}

.footer-top a:hover{
  color:#0b132b;
  text-decoration:underline;
}

.footer-bottom {
    color: #333;
    font-size: 14px;
}

/* HERO SECTION */
.hero-clean{
  position:relative;
  min-height:75vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
}

/* Carousel container */
.hero-carousel,
.hero-carousel .carousel-inner,
.hero-carousel .carousel-item{
  position:absolute;
  inset:0;
  height:100%;
}

/* Background image */
.hero-carousel .carousel-item{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* Overlay */
.hero-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:2;
}

/* Content */
.hero-wrapper{
  position:relative;
  z-index:3;
}

/* LEFT */
.hero-title{
  font-size:52px;
  /*padding-top:40px;*/
  font-weight:800;
  line-height:1.1;
  color:#fff;
}

.hero-title span{
  color:#ffb703;
}

.hero-meta{
  margin-top:25px;
  font-size:18px;
  font-weight:600;
}

.hero-meta i{
  margin-right:8px;
  color:#ffb703;
}

/* RIGHT BOX */
.hero-right-box{
  /*background:#ffffff;*/
  /*background:linear-gradient(45deg, #156155, transparent);*/
  color:#fff;
  padding:30px;
  border-radius:12px;
}

.hero-right-box h2,.hero-right-box h3,.hero-right-box h4,.hero-right-box h5{
  font-weight:700;
  margin-bottom:15px;
}

.hero-right-box ul{
  list-style:none;
  padding:0;
  margin-bottom:20px;
}

.hero-right-box ul li{
  margin-bottom:10px;
  font-size:18px;
}

.hero-right-box ul li i{
  color:#ffb703;
  margin-right:8px;
}

/* Buttons */
.hero-buttons{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.btn-main{
  background:#ffb703;
  border:none;
  color:#000;
  padding:10px 22px;
  border-radius:6px;
  font-weight:600;
}

.btn-main:hover{
  background:#ff9800;
}

.btn-outline-light{
  border:1px solid #fff;
  color:#fff;
  border-radius:6px;
  padding:10px 22px;
}

/* Responsive */
@media(max-width:992px){
  .hero-title{
    font-size:36px;
    padding-top:50px;
  }

  .hero-right-box{
    margin-top:25px;
  }
}
.hero-right-box ul {
  list-style: none;
  padding-left: 0;
}

.hero-right-box ul li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 8px;
}

.hero-right-box ul li::before {
  content: "\f00c"; /* Font Awesome check icon */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  color: #ffb703; /* apna theme color */
}

.race-points ul {padding-left:0px;}
.race-points ul li:before {
    content: "\f058";
    font-family: 'FontAwesome';
    color: #ffb703;
}
.info-icon{
    margin-left:6px;
    color:#0d6efd;
    cursor:pointer;
    font-size:14px;
}
.info-icon:hover{
    color:#084298;
}