
    :root {
      --green-dark:   #2E7D32;
      --green-mid:    #388E3C;
      --green-light:  #4CAF50;
      --navy:         #1A2B5F;
      --navy-light:   #243474;
      --orange:       #F57C00;
      --orange-light: #FB8C00;
      --orange-pale:  #FFF3E0;
      --white:        #FFFFFF;
      --off-white:    #F9F9F6;
      --text-dark:    #1C1C1C;
      --text-muted:   #5A5A5A;
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }

    body {
      font-family: 'Lato', sans-serif;
      color: var(--text-dark);
      background: var(--white);
      overflow-x: hidden;
    }

    h1,h2,h3,h4,h5 { font-family: 'Montserrat', sans-serif; }

    /* ── NAVBAR ── */
    .navbar {
      background: var(--off-white) !important;
      padding: 12px 0;
      box-shadow: 0 2px 12px rgba(0,0,0,0.25);
      position: sticky;
      top: 0;
      z-index: 1000;
    }
    .navbar-brand img { height: 52px; }
    .navbar-nav .nav-link {
      color: #1e1c1ce0 !important;
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 0.82rem;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      padding: 6px 14px !important;
      transition: color 0.2s;
    }
    .navbar-nav .nav-link:hover { color: var(--orange) !important; }
    .navbar-toggler { border-color: rgba(255,255,255,0.4); }
    .navbar-toggler-icon { filter: invert(1); }
    .btn-register-nav {
      background: var(--orange);
      color: var(--white) !important;
      border-radius: 4px;
      padding: 7px 18px !important;
      margin-left: 8px;
    }
    .btn-register-nav:hover { background: var(--orange-light); }

    /* ── HERO ── */
    .hero {
      background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 45%, var(--green-dark) 100%);
      min-height: 92vh;
      display: flex;
      align-items: center;
      position: relative;
      overflow: hidden;
    }
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 60% 70% at 80% 50%, rgba(245,124,0,0.12) 0%, transparent 65%),
        url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='1.5' fill='rgba(255,255,255,0.06)'/%3E%3C/svg%3E") repeat;
      pointer-events: none;
    }
    .hero-badge {
      display: inline-block;
      background: var(--orange);
      color: var(--white);
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.72rem;
      letter-spacing: 2px;
      text-transform: uppercase;
      padding: 6px 16px;
      border-radius: 2px;
      margin-bottom: 22px;
    }
    .hero h1 {
      font-size: clamp(2.4rem, 5vw, 4rem);
      font-weight: 900;
      color: var(--white);
      line-height: 1.12;
      margin-bottom: 10px;
    }
    .hero h1 span { color: var(--orange); }
    .hero .subtitle {
      font-size: 1.05rem;
      color: rgba(255,255,255,0.75);
      font-style: italic;
      margin-bottom: 22px;
      font-weight: 300;
    }
    .hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 18px;
      margin-bottom: 36px;
    }
    .hero-meta-item {
      display: flex;
      align-items: center;
      gap: 8px;
      color: rgba(255,255,255,0.85);
      font-size: 0.95rem;
    }
    .hero-meta-item i { color: var(--orange); font-size: 1rem; }
    .btn-hero-primary {
      background: var(--orange);
      color: var(--white);
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.9rem;
      letter-spacing: 0.5px;
      padding: 14px 34px;
      border: none;
      border-radius: 4px;
      text-decoration: none;
      display: inline-block;
      transition: background 0.2s, transform 0.15s;
    }
    .btn-hero-primary:hover { background: var(--orange-light); color: var(--white); transform: translateY(-2px); }
    .btn-hero-secondary {
      background: transparent;
      color: var(--white);
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 0.9rem;
      padding: 13px 30px;
      border: 2px solid rgba(255,255,255,0.45);
      border-radius: 4px;
      text-decoration: none;
      display: inline-block;
      transition: border-color 0.2s, color 0.2s;
    }
    .btn-hero-secondary:hover { border-color: var(--orange); color: var(--orange); }

    .hero-tagline-strip {
      margin-top: 48px;
      font-family: 'Lato', sans-serif;
      font-size: 0.82rem;
      font-weight: 300;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: rgba(255,255,255,0.45);
    }
    .hero-tagline-strip span { color: var(--orange); font-weight: 700; }

    /* Hero right – running circles */
    .hero-visual {
      position: relative;
      height: 420px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .circle-ring {
      position: absolute;
      border-radius: 50%;
      border: 1.5px solid rgba(255,255,255,0.08);
    }
    .ring-1 { width: 320px; height: 320px; }
    .ring-2 { width: 230px; height: 230px; border-color: rgba(245,124,0,0.15); }
    .ring-3 { width: 150px; height: 150px; border-color: rgba(76,175,80,0.2); }
    .hero-stat-bubble {
      position: absolute;
      background: rgba(255,255,255,0.08);
      backdrop-filter: blur(6px);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 12px;
      padding: 14px 20px;
      text-align: center;
      color: var(--white);
    }
    .bubble-val {
      font-family: 'Montserrat', sans-serif;
      font-size: 1.8rem;
      font-weight: 900;
      color: var(--orange);
      line-height: 1;
    }
    .bubble-lbl { font-size: 0.7rem; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,0.65); margin-top: 4px; }
    .bubble-1 { top: 30px;  right: 0;    width: 120px; }
    .bubble-2 { bottom: 50px; left: 10px; width: 130px; }
    .bubble-3 { top: 50%;  right: -20px; transform: translateY(-50%); width: 110px; }

    /* ── SECTION COMMON ── */
    .section-pad { padding: 80px 0; }
    .section-pad-sm { padding: 60px 0; }
    .section-label {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--orange);
      margin-bottom: 10px;
    }
    .section-title {
      font-size: clamp(1.7rem, 3vw, 2.4rem);
      font-weight: 900;
      color: var(--navy);
      line-height: 1.2;
      margin-bottom: 16px;
    }
    .section-title span { color: var(--green-dark); }
    .section-desc {
      font-size: 1rem;
      color: var(--text-muted);
      line-height: 1.75;
      max-width: 640px;
    }
    .divider-accent {
      width: 52px; height: 4px;
      background: linear-gradient(90deg, var(--orange), var(--green-light));
      border-radius: 2px;
      margin-bottom: 20px;
    }

    /* ── ABOUT ── */
    .about-section { background: var(--off-white); }
    .about-card {
      background: var(--white);
      border-radius: 10px;
      padding: 36px;
      border-left: 5px solid var(--green-dark);
      box-shadow: 0 4px 20px rgba(0,0,0,0.06);
      height: 100%;
    }
    .about-card .icon-circle {
      width: 52px; height: 52px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--green-dark), var(--green-light));
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 18px;
    }
    .about-card .icon-circle i { color: var(--white); font-size: 1.25rem; }
    .about-card h4 {
      font-size: 1.1rem; font-weight: 800; color: var(--navy); margin-bottom: 12px;
    }
    .about-card p { font-size: 0.93rem; color: var(--text-muted); line-height: 1.7; }

    /* ── CATEGORIES ── */
    .categories-section { background: var(--white); }
    .cat-card {
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 6px 24px rgba(0,0,0,0.09);
      transition: transform 0.25s, box-shadow 0.25s;
    }
    .cat-card:hover { transform: translateY(-6px); box-shadow: 0 14px 36px rgba(0,0,0,0.14); }
    .cat-header {
      padding: 28px 28px 22px;
      position: relative;
    }
    .cat-km {
      font-family: 'Montserrat', sans-serif;
      font-size: 3.2rem;
      font-weight: 900;
      line-height: 1;
      color: var(--white);
      opacity: 0.22;
      position: absolute;
      right: 22px;
      top: 16px;
    }
    .cat-badge {
      display: inline-block;
      background: rgba(255,255,255,0.22);
      color: var(--white);
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      padding: 4px 12px;
      border-radius: 20px;
      margin-bottom: 10px;
    }
    .cat-header h3 {
      font-size: 1.4rem;
      font-weight: 900;
      color: var(--white);
      margin: 0;
    }
    .cat-body {
      background: var(--white);
      padding: 22px 28px 28px;
    }
    .cat-price {
      font-family: 'Montserrat', sans-serif;
      font-size: 1.6rem;
      font-weight: 900;
      color: var(--navy);
      margin-bottom: 14px;
    }
    .cat-price small { font-size: 0.7rem; color: var(--text-muted); font-weight: 400; }
    .cat-desc { font-size: 0.9rem; color: var(--text-muted); line-height: 1.65; margin-bottom: 20px; }
    .cat-card.fun    .cat-header { background: linear-gradient(135deg, var(--green-dark), var(--green-light)); }
    .cat-card.challenge .cat-header { background: linear-gradient(135deg, var(--navy), var(--navy-light)); }
    .cat-card.charity .cat-header { background: linear-gradient(135deg, #B85E00, var(--orange)); }
    .btn-cat {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.82rem;
      letter-spacing: 0.5px;
      padding: 10px 24px;
      border-radius: 4px;
      text-decoration: none;
      display: inline-block;
      transition: all 0.2s;
    }
    .btn-cat-green  { background: var(--green-dark); color: var(--white); }
    .btn-cat-green:hover  { background: var(--green-mid); color: var(--white); }
    .btn-cat-navy   { background: var(--navy); color: var(--white); }
    .btn-cat-navy:hover   { background: var(--navy-light); color: var(--white); }
    .btn-cat-orange { background: var(--orange); color: var(--white); }
    .btn-cat-orange:hover { background: var(--orange-light); color: var(--white); }

    /* ── FACILITIES ── */
    .facilities-section { background: var(--navy); }
    .facilities-section .section-title { color: var(--white); }
    .facilities-section .section-desc { color: rgba(255,255,255,0.65); }
    .facility-item {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      margin-bottom: 22px;
    }
    .facility-icon {
      width: 42px; height: 42px; min-width: 42px;
      border-radius: 8px;
      background: rgba(245,124,0,0.15);
      border: 1px solid rgba(245,124,0,0.3);
      display: flex; align-items: center; justify-content: center;
    }
    .facility-icon i { color: var(--orange); font-size: 1rem; }
    .facility-text { font-size: 0.93rem; color: rgba(255,255,255,0.82); line-height: 1.55; }
    .facility-text strong { color: var(--white); display: block; margin-bottom: 2px; }

    /* ── DIRECTOR ── */
    .director-section { background: var(--off-white); }
    .director-card {
      background: var(--white);
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 6px 28px rgba(0,0,0,0.08);
      display: flex;
      flex-wrap: wrap;
    }
    .director-accent {
      width: 8px;
      background: linear-gradient(180deg, var(--green-dark), var(--orange));
      min-height: 100%;
    }
    .director-content { padding: 40px 40px 40px 32px; flex: 1; }
    .director-content .role-tag {
      display: inline-block;
      background: var(--orange-pale);
      color: var(--orange);
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.72rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      padding: 5px 14px;
      border-radius: 20px;
      margin-bottom: 12px;
    }
    .director-content h3 { font-size: 1.5rem; font-weight: 900; color: var(--navy); margin-bottom: 6px; }
    .director-content .cert { font-size: 0.88rem; color: var(--green-dark); font-weight: 600; margin-bottom: 16px; }
    .director-content p { font-size: 0.94rem; color: var(--text-muted); line-height: 1.75; }
    .stat-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--off-white);
      border: 1px solid #e0e0e0;
      border-radius: 30px;
      padding: 8px 18px;
      margin: 6px 6px 0 0;
      font-size: 0.88rem;
      color: var(--navy);
    }
    .stat-pill i { color: var(--orange); }

    /* ── VIRTUAL RUN + SUSTAINABILITY ── */
    .virtual-section { background: var(--white); }
    .highlight-box {
      border-radius: 12px;
      padding: 38px;
      height: 100%;
    }
    .highlight-box.green { background: linear-gradient(135deg, #E8F5E9, #F1F8E9); border-left: 5px solid var(--green-dark); }
    .highlight-box.orange { background: linear-gradient(135deg, #FFF3E0, #FFF8F1); border-left: 5px solid var(--orange); }
    .highlight-box h4 { font-size: 1.15rem; font-weight: 800; color: var(--navy); margin-bottom: 14px; }
    .highlight-box p, .highlight-box li { font-size: 0.93rem; color: var(--text-muted); line-height: 1.7; }
    .highlight-box ul { padding-left: 0; list-style: none; }
    .highlight-box ul li { padding: 5px 0; }
    .highlight-box ul li::before { content: '✓ '; color: var(--green-dark); font-weight: 700; }

    /* ── EXPO / REGISTRATION INFO ── */
    .info-section { background: linear-gradient(135deg, var(--navy), var(--navy-light)); }
    .info-card {
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 10px;
      padding: 28px;
      text-align: center;
      transition: background 0.2s;
    }
    .info-card:hover { background: rgba(255,255,255,0.1); }
    .info-card i { font-size: 2rem; color: var(--orange); margin-bottom: 12px; display: block; }
    .info-card h5 { font-size: 0.85rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,0.55); margin-bottom: 8px; }
    .info-card p { font-size: 1rem; font-weight: 600; color: var(--white); margin: 0; }
    .info-card p small { display: block; font-size: 0.78rem; font-weight: 400; color: rgba(255,255,255,0.55); margin-top: 2px; }

    /* ── CTA ── */
    .cta-section {
      background: linear-gradient(135deg, var(--green-dark) 0%, var(--navy) 100%);
      padding: 90px 0;
      text-align: center;
    }
    .cta-section h2 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; color: var(--white); margin-bottom: 14px; }
    .cta-section p { font-size: 1.05rem; color: rgba(255,255,255,0.75); max-width: 560px; margin: 0 auto 36px; }
    .btn-cta {
      background: var(--orange);
      color: var(--white);
      font-family: 'Montserrat', sans-serif;
      font-weight: 800;
      font-size: 1rem;
      letter-spacing: 0.5px;
      padding: 16px 44px;
      border-radius: 4px;
      text-decoration: none;
      display: inline-block;
      transition: background 0.2s, transform 0.15s;
      border: none;
    }
    .btn-cta:hover { background: var(--orange-light); color: var(--white); transform: translateY(-3px); }
    .cta-note { margin-top: 18px; font-size: 0.82rem; color: rgba(255,255,255,0.45); }

    /* ── CONTACT ── */
    .contact-section { background: var(--off-white); }
    .contact-item {
      display: flex;
      align-items: center;
      gap: 16px;
      background: var(--white);
      border-radius: 10px;
      padding: 22px 26px;
      box-shadow: 0 3px 14px rgba(0,0,0,0.06);
      text-decoration: none;
      color: inherit;
      transition: box-shadow 0.2s;
    }
    .contact-item:hover { box-shadow: 0 6px 22px rgba(0,0,0,0.11); color: inherit; }
    .contact-item .ci-icon {
      width: 48px; height: 48px; min-width: 48px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--green-dark), var(--green-light));
      display: flex; align-items: center; justify-content: center;
    }
    .contact-item .ci-icon i { color: var(--white); font-size: 1.1rem; }
    .contact-item .ci-text label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--text-muted); display: block; margin-bottom: 2px; }
    .contact-item .ci-text span { font-size: 0.97rem; font-weight: 600; color: var(--navy); }

    /* ── FOOTER ── */
    footer {
      background: #0F1A3A;
      padding: 36px 0 24px;
    }
    .footer-logo img { height: 44px; filter: brightness(0) invert(1); opacity: 0.85; }
    .footer-tagline { font-size: 0.8rem; color: rgba(255,255,255,0.4); margin-top: 8px; font-style: italic; }
    .footer-links a { display: block; color: rgba(255,255,255,0.55); font-size: 0.85rem; margin-bottom: 8px; text-decoration: none; transition: color 0.2s; }
    .footer-links a:hover { color: var(--orange); }
    .footer-col-title { font-family: 'Montserrat', sans-serif; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: rgba(255,255,255,0.3); margin-bottom: 14px; }
    .footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); margin-top: 28px; padding-top: 20px; font-size: 0.78rem; color: rgba(255,255,255,0.3); text-align: center; }

    /* ── SCROLL ANIMATIONS ── */
    .fade-up { opacity: 0; transform: translateY(28px); transition: opacity 0.65s ease, transform 0.65s ease; }
    .fade-up.visible { opacity: 1; transform: translateY(0); }

    @media (max-width: 768px) {
      .hero { min-height: auto; padding: 80px 0 60px; }
      .hero-visual { display: none; }
      .director-content { padding: 28px 24px; }
    }
    
    .hero_image
    {
        width:300px;
        height:300px;
    }
  