html.lenis, html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

html,body{ font-family: "Archivo", sans-serif;}
h1,h2,h3,h4,h5,p{ margin: 0;}
a{ text-decoration: none;}
ul{ margin: 0px; padding: 0px;}
li{ margin: 0px; padding: 0px; list-style: none;}



.navbar{ position:fixed;top:0px;left:0px;width:100%;padding:10px 0px;z-index:2;}
.sec-hero{ background: url(../images/bg-sky.jpeg) no-repeat 50% 0%; padding: 150px 0px 0px 0px;}
.container1{ width: 1440px;max-width: 1440px;}
.container2{ width: 1120px;max-width: 1120px;}
.navbar-brand{width:260px;display:block;}
.navbar .nav-link{ font-size: 14px; line-height: 30px; font-weight:600;color:#fff; text-transform: uppercase;margin-left: 40px;}
.banner-wrap{ padding: 50px 0px;}


.text1{ font-size:90px; line-height: 90px; font-weight: 900; color:#fff;text-transform: uppercase;}
.text2{ font-size:20px; line-height: 28px; font-weight: 500; color:#fff; }
.text3{ font-size:18px; line-height: 26px; font-weight: 600; color:#fff; }
.text4{ font-size:18px; line-height: 24px; font-weight: 500; color:#fff; }
.text5{ font-size:40px; line-height: 50px; font-weight: 600; color:#fff; }
.text6{ font-size:15px; line-height: 20px; font-weight: 600; color:rgba(0,0,0,0.5); text-transform: uppercase; }
.text7{ font-size:20px; line-height: 24px; font-weight: 600; color:#000; }
.text8{ font-size:80px; line-height: 80px; font-weight: 600;     
      background: linear-gradient(180deg, #cccbce 0%, #5a5a5b 90%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;   }
.text9{font-size:45px;line-height:50px;font-weight: 300;color:rgba(0,0,0,0.1);}
.text10{ font-size:15px; line-height: 20px; font-weight: 600; color:#fff; }
.text11{ font-size:15px; line-height: 20px; font-weight: 400; color:#fff; }
.text12{font-size: 18px;line-height: 26px;font-weight: 600;color: #222222;text-transform: uppercase;height: 55px;}
.text13{font-size: 18px;line-height: 26px;font-weight: 400;color: #222222;}
.text14{ font-size:16px; line-height: 22px; font-weight: 500; color:#fff; }


.txt-wht1{color:rgba(255,255,255,0.6);}
.txt-wht2{color:rgba(255,255,255,0.75);}
.txt-wht3{color:#fff;}
.txt-blk1{color:rgba(0,0,0,0.75);}
.txt-blk2{color:#222222;}
.txt-blk3{color:rgba(34,34,34,0.75);}
.txt-blk4{color:rgba(34,34,34,0.50);}
.txt-red{color:#e42313;}

.txt-cntr{text-align: center;}
.txt-rgt{ text-align: right;}
.txt-uppr{text-transform: uppercase;}
.wdt1{width:480px;}
.wdt2{width: 920px;}
.wdt3{width: 300px;}
.wdt4{width: 360px;}
.wdt5{width: 200px;}
.wdt6{width: 180px;}
.wdt7{width: 700px; margin: 0 auto;}

.mrg-btm1{ margin-bottom: 30px;}
.mrg-btm2{ margin-bottom: 50px;}
.mrg-btm3{ margin-bottom: 15px;}
.mrg-btm4{ margin-bottom: 5px;}
.mrg-btm5{margin-bottom: -10px;}
 
.mrg-tp1{ margin-top: 50px;}
.mrg-tp2{margin-top: -390px;}

.pdg-tp1{ padding-top: 20px;}

.d-flx{ display: flex; flex-wrap: wrap; gap:50px;}
.d-flx2{display: flex; flex-wrap: wrap; gap:50px;justify-content: center;}
 
.jcb{ justify-content: space-between;}
.jcc{ justify-content: center;}
.gtr1{ --bs-gutter-y: 30px;}
.ovr{ overflow: hidden;}
.pstn-rltv{ position: relative;}

.line1{ width: 1px; height: 100%; background: #e3e3e3;}

.link1{position: relative; z-index: 1;}
.link1,.btn-submit,.btn-submit:hover{ font-size:15px; line-height: 20px; font-weight: 800; color:#000; background: #fff; border-radius:20px;padding:10px 50px 10px 10px;display: inline-block; position: relative; }
.link1 span,.btn-submit span{display: block;width: 30px; height: 30px;background: #e42313 url(../images/icon-white-arrow.svg)  no-repeat center center/10px;
  border-radius: 20px;position: absolute;right:10px;top: 5px;transform: rotate(220deg);transition: transform 0.5s ease;}

.link2{ font-size:15px; line-height: 20px; font-weight: 800; color:#000; background: #fff; border-radius:20px;padding:10px 15px 10px 40px;display: inline-block; position: relative; }
.link2 span{display: block;width: 30px; height: 30px;background: #e42313 url(../images/icon-white-arrow.svg)  no-repeat center center/10px;
  border-radius: 20px;position: absolute;left:0px;top: 5px;transform: rotate(220deg);transition: transform 0.5s ease;}

.link3{ font-size:15px; line-height: 20px; font-weight: 800; color:#e42313; background: #fff; border-radius:20px;padding:10px 50px 10px 10px;display: inline-block; position: relative; }
.link3 span{display: block;width: 30px; height: 30px;background: #000 url(../images/icon-white-arrow.svg)  no-repeat center center/10px;
  border-radius: 20px;position: absolute;right:10px;top: 5px;transform: rotate(220deg);transition: transform 0.5s ease;}

.link4{ font-size:15px; line-height: 20px; font-weight: 800; color:#fff; background: #000; border-radius:20px;padding:10px 50px 10px 10px;display: inline-block; position: relative; }
.link4 span{display: block;width: 30px; height: 30px;background: #e42313 url(../images/icon-white-arrow.svg)  no-repeat center center/10px;
  border-radius: 20px;position: absolute;right:10px;top: 5px;transform: rotate(220deg); transition: transform 0.5s ease;}

.link5{ font-size:15px; line-height: 20px; font-weight: 800; color:#000; background: #fff; border-radius:20px;padding:10px 50px 10px 10px;display: inline-block; position: relative; margin-left: 40px;}
.link5 span{display: block;width: 30px; height: 30px;background: #e42313 url(../images/icon-white-arrow.svg)  no-repeat center center/10px;
  border-radius: 20px;position: absolute;right:10px;top: 5px;transform: rotate(220deg);transition: transform 0.5s ease;}

.btn-submit1,.btn-submit1:hover{ font-size:15px; line-height: 20px; font-weight: 800; color:#fff; background: #000; border-radius:20px;padding:10px 50px 10px 10px;display: inline-block; position: relative; }
.btn-submit1 span{display: block;width: 30px; height: 30px;background: #e42313 url(../images/icon-white-arrow.svg)  no-repeat center center/10px;
  border-radius: 20px;position: absolute;right:10px;top: 5px;transform: rotate(220deg); transition: transform 0.5s ease;}



.link1:hover span,.link2:hover span,.link3:hover span,.link4:hover span,.btn-submit:hover span,.btn-submit1:hover span{transform: rotate(270deg);}


.link6{ color:#fff; border-bottom: 1px solid #fff;}









.pdg1{ padding: 150px 0px;}  
.pdg2{ padding: 0px;}
.pdg3{ padding-top: 150px;}
.pdg4{ padding: 50px 0px;}
.sec-2{ background: #e42313;}
.sec-2a{ background: #fff; border-radius:20px;}
.sec-2b{  padding:50px; display: flex; flex-direction: column; /*justify-content: space-between;*/height: 100%;}
.bg-exp-01{background:url(../images/exp-01.webp)no-repeat 0px 0px/cover;}
.brdr-rds{ border-top-right-radius: 20px;border-bottom-right-radius: 20px;}
.sec-3{ background: #fff;}
.sec-3a {background: #f8f7f7;border-radius:15px;padding: 30px;height: 100%;min-height: 250px;
      display: flex;flex-direction: column;justify-content: space-between; }
.sec-3b {background: #e8261a;border-radius: 16px;padding:30px;height: 100%;min-height: 250px;
      display: flex;flex-direction: column;justify-content: space-between;}

.sec-4{ background: #feefef;}
.ul1 li{ background: url(../images/icon-square.svg) no-repeat 0px 9px; background-size: 5px; 
font-size:16px; line-height: 22px; font-weight: 500; color:rgba(34,34,34,0.75);margin-bottom: 5px;
padding-left: 20px;}
.ul2 li{ background: url(../images/icon-circle-grey.svg) no-repeat 0px 8px;background-size: 4px;
  font-size: 16px;line-height: 20px;font-weight: 500;color: rgba(34,34,34,0.75); margin-bottom: 8px;
  padding-left: 15px;}
.sticky-col {position: sticky;top: 150px;align-self: start;}
.day-block { padding: 26px 0; }
.day-block + .day-block { border-top: 1px solid  #898282; }
.sec-5{background: url(../images/bg-join.webp) no-repeat; background-size:cover; }
.sec-5a{background: #ebe4de;padding: 30px;width: 380px;border-radius: 10px;}
#eventTabs{justify-content: flex-end;}
#eventTabs .nav-item{ margin-left: 30px;}
.nav-pills .nav-link{border:1px solid #222222;color:#222222;background:#fff;border-radius:30px;font-weight:600;font-size:13px;padding:10px 20px; transition:all .5s ease;}
.nav-pills .nav-link:hover{background:#222222;color:#fff;border:1px solid #222222;}
.nav-pills .nav-link.active{background:#222222;color:#fff;border:1px solid #222222;}
.event-card{border-radius:20px;overflow:hidden;position:relative; }
.event-card img,.event-card video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease;}
.event-card:hover img{transform:scale(1.05);}
.event-card--static:hover img{transform:none;}
.video-card {
  position: relative;
}
.video-card video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.video-card .play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, .55);
  cursor: pointer;
  transition: background .2s, opacity .2s;
}
.video-card .play-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 12px 0 12px 20px;
  border-color: transparent transparent transparent #fff;
}
.video-card .play-btn:hover {
  background: rgba(0, 0, 0, .75);
}
/* hide the button while playing */
.video-card.playing .play-btn {
  opacity: 0;
  pointer-events: none;
}






.owl-carousel{ z-index: 0 !important;}
.owl-carousel .owl-stage{display:flex;}
.owl-carousel .owl-item{display:flex;}
.tab-pane{display:none;}
.tab-pane.show.active{display:block;} 
.accordion-button,.accordion-button:focus,.accordion-button:not(.collapsed){font-size:18px; line-height: 26px; font-weight: 600; color:#222222;  padding: 0;}
.accordion-button:focus,.accordion-button:not(.collapsed){ background: none; box-shadow: none;}
.accordion-flush > .accordion-item{ padding:20px 0px; border-bottom:1px solid #e2e2e2;}
.accordion-body{ padding:20px 0px 0px 0px;}
.sec-8{background: url(../images/bg-contact.webp) no-repeat center center; background-size:100%; }
footer{background: #e42313; padding: 15px 0px;}
.sec-9{background-color: #fdefee;}
.sec-9a{background: #fff;border: none;border-radius:15px; padding:30px;height: 100%;
      box-shadow: 0 1px 3px rgba(0,0,0,.06);}
.banner1{background: url(../images/bg-join.webp) no-repeat; background-size:cover;height:683px; }
.banner2{background: url(../images/bg-certificate.webp) no-repeat center center; background-size:cover;height:683px;}
.sec-10{background: url(../images/bg-certificate.webp) no-repeat center center; background-size:cover;}
.sec-11{background: #fdefee; }
.sec-11a{background: #fff;  padding: 30px;  border-radius: 20px; height: 100%;}




      .guide-photo {
      width: 150px;
      height: 150px;
      border-radius: 50%;
      object-fit: cover;
      margin:0px auto 30px auto;
      display: block;
    }
    .guide-intro {
      font-size: .85rem;
      color: #555;
      line-height: 1.5;
    }




    .topbar{
      background:var(--brand);
      color:#fff;
      padding:18px 28px;
    }
    .brand-logo{
      font-weight:800;
      font-size:1.45rem;
      letter-spacing:.5px;
      color:#fff;
      display:flex;align-items:center;gap:10px;
    }
    .brand-logo .x{color:var(--accent);font-weight:800;}
    .topbar nav a{
      color:#fff;text-decoration:none;font-weight:600;font-size:.85rem;
      letter-spacing:.5px;margin-left:26px;opacity:.92;
    }
    .topbar nav a:hover{opacity:1;}
    .bg_forms{ background: url(../images/bg-contact.webp)no-repeat 0px 0px/cover;}
    .page-card{
      max-width:880px;
      margin:36px auto;
      border:none;
      border-radius:16px;
      box-shadow:0 12px 40px rgba(15,23,42,.10);
      overflow:hidden;
      background:#fff;
    }
    .form-head{
      background:#e42313;
      text-align:center;
      padding:20px;
    }
    .form-head h2{margin:0;font-weight:800;color:#111;letter-spacing:.3px;}
    .form-head .underline{
      width:60px;height:4px;background:var(--accent);
      margin:14px auto 0;border-radius:2px;
    }
    .nav-tabs{border-bottom:1px solid #ececec;padding:0 24px;margin-top:18px;}
    .nav-tabs .nav-link{      
       font-size: 18px;line-height: 26px;font-weight: 600;color: #222222;text-transform: uppercase;
  padding: 0; border:none;border-bottom:3px solid transparent;padding: 15px;
    }
    .nav-tabs .nav-link.active{
     font-size: 18px;line-height: 26px;font-weight: 600;color: #222222;text-transform: uppercase;
  padding: 0;border:none;border-bottom:3px solid #e42313;padding: 15px;
    }
    .tab-body{padding:32px 36px 40px;}
    .section-title{font-size: 20px; line-height: 24px; font-weight: 600;color: #222222; margin-bottom:20px;}
    .form-label{font-size: 15px; line-height: 20px;font-weight: 600;color: rgba(34,34,34,0.50);
  text-transform: uppercase;}
    .form-control{
      border-radius:10px;border:1px solid #e4e4e7;padding:11px 14px;
      background:#fafafa;
    }
    .form-control:focus{
      border-color:var(--brand);box-shadow:0 0 0 3px rgba(230,34,20,.12);background:#fff;
    }
    
    .radio-pill{
      display:inline-flex;gap:18px;background:#fafafa;border:1px solid #e4e4e7;
      border-radius:10px;padding:11px 18px;
    }
    .form-check-input:checked{background-color:var(--brand);border-color:var(--brand);}
    footer{text-align:center;color:#9ca3af;font-size:.8rem;padding:24px;}
/*
.stack-card-wrap{
  position:relative;
}

.stack-card{
  position:sticky;
  top:120px;
  transform-origin:top center;
  margin-bottom:40px;
  box-shadow: 0 -10px 30px rgba(0,0,0,0.08);
}
.card-1{
  top:120px;
}

.card-2{
  top:200px;
}

.card-3{
  top:280px;
}
*/
.card-1,.card-2,.card-3, .card-4, .card-5{
  margin-bottom: 30px;
}

 

.carousel-vertical-dots {
  position: relative;
}

/* Vertical dot container, pinned to the right edge, centered */
.carousel-indicators-vertical {
  position: absolute;
  z-index:1;
  top: 50%;
  right: 24px;
  left: auto;
  bottom: auto;
  transform: translateY(-50%);
  flex-direction: column;
  margin: 0;
  gap: 14px;
}

/* Base (inactive) dot — small, plain, grey */
.carousel-indicators-vertical [data-bs-target] {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #fff;
  border: none;
  opacity: 1;
  text-indent: 0;
  margin: 0;
  transition: all .3s ease;
}

/* Active dot — solid centre with an outer ring */
.carousel-indicators-vertical [data-bs-target].active {
  width: 8px;
  height: 8px;
  background-color: #fff;
  box-shadow: 0 0 0 4px transparent;
  outline: 1px solid #fff;
  outline-offset: 4px;
}

.events-nav{
  display: inline-flex;
  gap: 12px;
  justify-content: flex-end;
}

.events-nav .owl-prev,
.events-nav .owl-next{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #e42313 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transition: background .3s ease;
  box-shadow: none;
  border: 0px;
}

.events-nav .owl-prev:hover,
.events-nav .owl-next:hover{
  background: #000 !important;
}

.events-nav .owl-arrow{
  width: 20px;
  height: 20px;
  display: block;
}
.events-nav .owl-next-arrow{ background: url(../images/icon-white-right-arrow.svg) no-repeat center center/13px; }
.events-nav .owl-prev-arrow{ background: url(../images/icon-white-left-arrow.svg) no-repeat center center/13px; }



    .fh-card {
      position: relative;
      border-radius: 15px;
      overflow: hidden;
      aspect-ratio: 16 / 9;
    }

    .fh-card img,.fh-cta-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
    }

    .fh-card:hover img {
      transform: scale(1.05);
    }

    .fh-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 45%);
    }

    .fh-caption {
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 1;
      padding: 30px;
      color: #fff;
    }

   
    
    .fh-cta-card {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding:30px;
}

/* image as the background layer */
.fh-cta-card .fh-cta-bg {
  position: absolute;
  inset: 0;  
  z-index: 0;
}
.fh-cta-card .link4{ align-self: flex-start;}


    .fh-cta-text {
      position: relative;
      z-index: 1;     
      max-width: 60%;
    }




.hide-web{ display: none;}
.show-web{ display: block;}

@media (max-width:1440px) {
.container,.container1,.container2{ width: 95%; max-width: 95%;}

}

@media (max-width:1280px) {

.navbar .nav-link{font-size: 14px;margin-left: 10px;}
.text1 {font-size: 80px;line-height: 80px;}
.mrg-tp2 {margin-top: -275px;}
.pdg1,.pdg3{ padding: 100px 0px;} 
.text8{ font-size: 60px; line-height: 60px;}
}

@media (max-width:1024px) {
.navbar .nav-link{font-size: 12px;margin-left: 5px;}
.wdt1 {width: 400px;}
.navbar-brand{ width:200px;}
.banner1,.banner2{height: 585px;}
}

@media (min-width: 992px) {
 .letter-c {
  display: inline-block;
  will-change: transform;
}
.sec-2a{
    min-height: 350px;
  }
  .nav-roll{
  display: inline-block;
  position: relative;
  overflow: hidden;
  height: 20px;            /* matches .nav-link line-height */
  line-height: 20px;
  vertical-align: middle;
}
.nav-roll-text{
  display: block;
  height: 20px;
  line-height: 20px;
  transition: transform .4s cubic-bezier(.6,0,.2,1);
}
/* both copies move up together on hover */
.nav-link:hover .nav-roll-text{
  transform: translateY(-20px);
}
.nav-link.active-link .nav-roll-text{
  border-bottom:1px solid #fff;
}
}
@media (max-width: 992px) {
.hide-web{ display: block;}
.show-web{ display: none;}  
.sticky-col { position: static;  }
.navbar-brand {width: 260px;}
footer .navbar-brand{width:250px; display: inline-block; margin-bottom: 10px;}
.mrg-tp2{ margin-top: 0px;}
.pdg1{ padding: 80px 0px;}
.pdg3{ padding : 80px 0px;}
.navbar-toggler{border:0px; padding: 0px;}
.navbar-toggler:focus {box-shadow: none;}
#navbar{background: #e42313;}
.navbar-toggler img{height: 25px;}
.navbar .nav-link{ margin-left: 0px; font-size: 16px;padding: 10px 0px;}
.navbar-collapse{ padding: 30px 0px;}

footer,footer .txt-rgt{ text-align: center;}
.text2{ font-size: 18px; line-height: 26px;}
.text1 {font-size: 60px;line-height: 65px;}
.mrg-tb-btm1{ margin-bottom: 30px;}
.mrg-tb-btm2{ margin-bottom: 0px;}
.wdt2,.wdt7{ width: auto;}
.text5 {font-size: 30px;line-height: 40px;}
.brdr-rds{padding: 0px 12px; border-top-right-radius: 0px;border-bottom-left-radius: 20px;border-bottom-right-radius: 20px;}
.text8 {font-size:40px;line-height: 40px;}
#eventTabs .nav-item{ margin-left: 0px; margin-right: 20px; }
#eventTabs {justify-content: flex-start;}
.stack-card{ position:static; margin-bottom: 30px;} 
.link5{ margin-left: 0px;margin-top: 20px;}
.sec-8{ background-size: cover ;}
.sec-6 .mrg-btm2{ margin-bottom: 0px;}
.banner1,.banner2{ height: 534px;}
.wdt5,.wdt6{ width: 140px;}
.events-nav .owl-prev, .events-nav .owl-next {width: 35px;height: 35px;}
.events-nav .owl-arrow {width: 15px;height: 15px;}
.events-nav .owl-prev-arrow {background: url(../images/icon-white-left-arrow.svg) no-repeat center center/10px;}
.events-nav .owl-next-arrow {background: url(../images/icon-white-right-arrow.svg) no-repeat center center/10px;}
.img-build{ background: url(../images/building.png)no-repeat center 100%/120%; padding-bottom:250px;}
.nav-roll-text:nth-child(2){ display: none;}
.fh-cta-text{ max-width: 100%;}
}


@media (max-width:640px) {
.img-build{ background: url(../images/building.png)no-repeat center 100%/200%; padding-bottom:335px;}
.fh-cta-text{ max-width:75%;}
}
@media (max-width:575px) {
.text1 {font-size:50px;line-height: 50px;}
.text5 {font-size: 30px;line-height: 40px;}
.text8 {font-size:35px;line-height: 35px;}
.wdt1,.sec-5a{ width: auto;}
.sec-hero { padding: 60px 0px 0px 0px;}
.mrg-mb-btm1{ margin-bottom: 30px;}
.mrg-mb-btm2{ margin-bottom: 0px;}
.mrg-mb-btm3{ margin-bottom: 15px;}
.pdg1{ padding: 50px 0px;}
.pdg3{ padding: 50px 0px;}
.hide-mob{ display:none;}
.accordion-button, .accordion-button:focus, .accordion-button:not(.collapsed){ font-size: 14px; line-height: 20px; }
.ul1 li{ font-size: 16px;}
.banner1,.banner2{ height: 480px;}
.img-build{ background: url(../images/building.png)no-repeat center 100%/200%; padding-bottom: 225px;}

}

@media (max-width:480px) {
.fh-cta-text{max-width: 100%;}
.fh-caption{ padding:20px;}
}
@media (max-width:390px) {
.wdt3{ width: auto;}
.text1 {font-size: 35px;line-height: 40px;}
.navbar-brand {width: 195px;}
}













/* 
@media (max-width: 991px){
  .stack-card{
    position: static;
    margin-bottom: 30px;
  }
  .sec-2a{ min-height: 0; }
}
@media (prefers-reduced-motion: reduce){
  .stack-card{ position: static; }
  .sec-2a{ animation: none; }
}
  */