@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
:root{
    --navy:#132a52;
    --navy-dark:#0e1f3d;
    --orange:#f5a623;
    --green:#6fa84c;
    --purple:#5b3e96;
    --blue:#2f8fcb;
    --text-muted:#6b7280;
  }
  body{
    font-family:'Poppins',sans-serif;
    color:#2b2b2b;
  }
  h1,h2,h3,.brand-font{
    font-family:'Playfair Display',serif;
  }
  a{text-decoration:none;}

  /* Top bar */
  .topbar{
    background:var(--navy);
    color:#e9edf5;
    font-size:.85rem;
    padding:.5rem 0;
  }
  .topbar a{color:#e9edf5;}
  .topbar .social-icon{
    width:26px;height:26px;
    background:rgba(255,255,255,.15);
    border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    color:#fff;
    margin-left:6px;
    font-size:.75rem;
  }

  /* Navbar */
  .navbar-custom{
    padding:.2rem 0;
    background:#fff;
  }
  .navbar-custom .nav-link{
    color:#1c2b45;
    font-weight:500;
    margin:0 .7rem;
    font-size:.95rem;
  }
  .navbar-custom .nav-link.active{
    color:var(--navy);
    font-weight:600;
    border-bottom:2px solid var(--navy);
  }
  .logo-text{
    font-family:'Playfair Display',serif;
    font-weight:700;
    font-size:1.4rem;
    color:var(--navy);
    line-height:1.1;
  }
  .logo-text small{
    display:block;
    font-family:'Poppins',sans-serif;
    font-size:.55rem;
    letter-spacing:2px;
    font-weight:600;
    color:var(--purple);
  }
  .logo-mark{
    width:46px;height:46px;
    background:linear-gradient(135deg,var(--purple),var(--blue));
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:1.3rem;
  }
  .btn-orange{
    background:var(--orange);
    color:#fff;
    border:none;
    font-weight:600;
    padding:.6rem 1.4rem;
    border-radius:50px;
  }
  .btn-orange:hover{background:#e0951a;color:#fff;}
  .btn-outline-navy{
    border:1.5px solid var(--navy);
    color:var(--navy);
    font-weight:600;
    padding:.55rem 1.4rem;
    border-radius:50px;
    background:#fff;
  }
  .btn-outline-navy:hover{background:var(--navy);color:#fff;}

  /* Hero */
  .hero-wrap{
      padding-bottom: 81px;
    background:url(../img/banner1.png) center no-repeat;
      background-size: cover;
    position: relative;
    
    min-height: 1100px;
    display: flex;
    align-items: center;
  }
  .hero-overlay {
    display: none;
}

@media (max-width: 767px) {
  .navbar-brand img{width: 90px}
  .navbar-custom {
    padding: 0;}
    .hero-overlay {
        display: block;
        position: absolute;
        inset: 0;
        background:rgb(2 73 135 / 61%);
        z-index: 1;
    }
.hero-content h1, .hero-content p, .hero-content h1 .green, .hero-content h1 .purple{color: #fff !important}
    .hero-content {
        position: relative;
        z-index: 3;
    }
}
.hero-wrap02{
      padding-bottom: 81px;
    background:url(../img/banner2.png) center no-repeat !important;
      background-size: cover;
    position: relative;
    
    min-height: 1100px;
    display: flex;
    align-items: center;
  }
  .hero-bg-img2 {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
  .hero-bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
  
  .hero-content{
    position:relative;
    z-index:3;
  }
  .hero-content h1{
    font-weight:800;
    font-size:2.9rem;
    line-height:1.15;
    color:#1c2b45;
  }
  .hero-content h1 .green{color:var(--green);}
  .hero-content h1 .purple{color:var(--purple);}
  .hero-wave img{width: 100%}
  .hero-wave{
    text-align: center;
    position:absolute;
    left:0; right:0; bottom:-15px;
    width:100%;
    line-height:0;
    z-index:2;
  }
  .hero-dots span{
    display:inline-block;
    width:8px;height:8px;
    border-radius:50%;
    background:#c9d3e0;
    margin-right:6px;
  }
  .hero-dots span.active{background:var(--blue); width:22px; border-radius:5px;}

  /* Features */
  .feature-icon{
    width:64px;height:64px;
    border-radius:20px;
    display:flex;align-items:center;justify-content:center;
    color:#fff;
    font-size:1.5rem;
    margin:0 auto 1rem;
    position:relative;
  }
  .feature-icon-wrap{
    width:80px;height:80px;
    border-radius:26px;
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 1rem;
  }
  .feature-icon-wrap .feature-icon{
    margin:0;
  }
  .feature-title{
    color:var(--blue);
    font-weight:600;
    font-size:1.05rem;
  }
  .feature-title.f-green{color:var(--green);}
  .feature-title.f-purple{color:var(--purple);}
  .feature-title.f-orange{color:var(--orange);}
  .feature-text{
    color:var(--text-muted);
    font-size:.87rem;
  }
  .feature-col{
    position:relative;
  }
  .feature-col+.feature-col::before{
    content:"";
    position:absolute;
    left:0;
    top:8%;
    bottom:8%;
    width:1px;
    background:#e5e7eb;
  }
  @media (max-width:991px){
    .feature-col+.feature-col::before{display:none;}
  }

  /* Section headers */
  .section-title{
    font-weight:700;
    font-size:2.1rem;
    color:#1c2b45;
  }
  .section-title .accent{color:var(--green);}
  .section-sub{
    color:var(--text-muted);
    font-size:.95rem;
  }
  .doodle{color:var(--blue); font-size:1.1rem;}

  /* Program cards */
  .program-card{
    border-radius:16px;
    padding:1.6rem;
    height:100%;
    border:1px solid rgba(0,0,0,.04);
  }
  .program-card.blue{background:#eef6fd;}
  .program-card.green{background:#f2f8ec;}
  .program-card.purple{background:#f2eefa;}
  .program-card.orange{background:#fdf3e2;}
  .program-card.yellow{background:#fde2e2;}
  .program-icon{
    width:56px;height:56px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    color:#fff;
    font-size:1.3rem;
    flex-shrink:0;
  }
  .program-header{
    display:flex;
    align-items:center;
    gap:.9rem;
    margin-bottom:1.1rem;
  }
  .program-card h5{
    font-family:'Playfair Display',serif;
    font-weight:700;
    margin-bottom:0;
    color:#1c2b45;
  }
  .program-age{
    font-size:.8rem;
    font-weight:600;
  }
  .program-text{
    font-size:.85rem;
    color:var(--text-muted);
    margin:.8rem 0 1rem;
  }
  .learn-more{
    font-weight:600;
    font-size:.85rem;
  }

  /* Facilities */
  .facility-img{
    width:100%;
    height:190px;
    object-fit:cover;
    border-radius:12px;
  }
  .facility-badge{
    width:28px;height:28px;
    border-radius:6px;
    display:inline-flex;align-items:center;justify-content:center;
    color:#fff;
    font-size:.75rem;
    margin-right:.5rem;
  }
  .facility-label{
    font-weight:600;
    font-size:.9rem;
    color:#1c2b45;
  }
  .btn-navy-pill{
    background:var(--navy);
    color:#fff;
    font-weight:600;
    padding:.65rem 1.8rem;
    border-radius:50px;
    border:none;
  }
  .btn-navy-pill:hover{background:var(--navy-dark); color:#fff;}

  /* Testimonials */
  .testimonial-card{
    border-radius:14px;
    padding:1.5rem;
    height:100%;
  }
  .testimonial-card.tc1{background:#eef6fd;}
  .testimonial-card.tc2{background:#f2f8ec;}
  .testimonial-card.tc3{background:#f2eefa;}
  .quote-icon{
    font-size:1.4rem;
    opacity:.5;
  }
  .testimonial-text{
    font-size:.9rem;
    color:#374151;
  }
  .testimonial-avatar{
    width:44px;height:44px;
    border-radius:50%;
    object-fit:cover;
  }
  .stars{color:var(--orange); font-size:.8rem;}

  /* CTA banner */
  .cta-banner{
    background:var(--navy);
    border-radius:18px;
    overflow:hidden;
    position:relative;
  }
  .cta-banner h3{
    color:#fff;
    font-weight:700;
    font-size:1.8rem;
  }
  .cta-banner p{
    color:#c9d3e0;
    font-size:.9rem;
  }
  .cta-img{
    width:100%;
    height:220px;
    object-fit:cover;
  }

  /* Footer */
  footer{
    background:var(--navy-dark);
    color:#c9d3e0;
    font-size:.9rem;
  }
  footer h6{
    color:#fff;
    font-weight:600;
    margin-bottom:1rem;
    font-size:1rem;
  }
  footer a i{top: 3px; position: relative;}
  footer a{
    display: flex;
    color:#c9d3e0;
  
    margin-bottom:.5rem;
    font-size:.87rem;
  }
  footer a:hover{color:var(--orange);}
  .footer-social{
    width:34px;height:34px;
    border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    color:#fff;
    margin-right:.5rem;
  }
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    font-size:.8rem;
    color:#8a97ad;
  }

  @media (max-width:767px){
    .hero-wrap{min-height: auto}
    .hero-content h1{font-size:2.1rem;}
    .hero-img{height:340px;}
      .hero-wave{display: none;}
    .section-title{font-size:1.6rem;}
  }

    .welcome-title{
    font-family:'Playfair Display',serif;
    font-weight:800;
    font-size:2.2rem;
    color:var(--navy);
    display:flex;
    align-items:center;
    gap:.6rem;
    margin-bottom:.8rem;
  }
  .welcome-leaf{
    color:var(--green);
    font-size:1.4rem;
  }
  .welcome-underline{
    width:70px;
    height:3px;
    background:var(--green);
    margin-bottom:1.8rem;
    border-radius:2px;
  }

  .welcome-text{
    color:#374151;
    font-size:.97rem;
    line-height:1.85;
    margin-bottom:1.4rem;
  }
  .welcome-text strong{
    font-weight:600;
    color:#1c2b45;
  }

  .welcome-img-wrap{
    position:relative;
  }
  .welcome-img{
    width:100%;
    height:400px;
    object-fit:cover;
    border-radius:14px;
    display:block;
  }

  .manager-card{
    position:absolute;
    right:24px;
    bottom:-30px;
    background:var(--purple);
    border-radius:14px;
    padding:.9rem 1.4rem;
    display:flex;
    align-items:center;
    gap:1rem;
    box-shadow:0 10px 25px rgba(91,62,150,.25);
    max-width:90%;
  }
  .manager-avatar{
    width:48px;
    height:48px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid rgba(255,255,255,.6);
  }
  .manager-role{
    color:#d9d1ec;
    font-size:.8rem;
  }
  .manager-name{
    font-family:'Playfair Display',serif;
    font-weight:700;
    color:#fff;
    font-size:1.15rem;
  }

  @media (max-width:991px){
    .welcome-img{height:320px;}
    .manager-card{
      position:static;
      margin-top:1rem;
      max-width:100%;
    }
  }


   .mission-vision-section{
    font-family:'Poppins',sans-serif;
  }

  .mv-card{
    position:relative;
    overflow:hidden;
    border-radius:16px;
    padding:2.2rem 2rem;
    height:100%;
    min-height:340px;
  }
  .mv-green{background:#f4f9ee;}
  .mv-purple{background:#f2f1fa;}

  .mv-icon{
    width:56px;height:56px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    color:#fff;
    font-size:1.3rem;
    margin-bottom:.9rem;
  }
  .mv-title{
    font-family:'Playfair Display',serif;
    font-weight:700;
    font-size:1.8rem;
    margin-bottom:.5rem;
  }
  .mv-underline{
    width:50px;
    height:3px;
    border-radius:2px;
    opacity:.5;
    margin-bottom:1.3rem;
  }
  .mv-text{
    color:#4b5563;
    font-size:.92rem;
    line-height:1.8;
    max-width:90%;
    position:relative;
    z-index:2;
  }
  .mv-lead{
    font-weight:600;
    color:var(--navy);
    font-size:.95rem;
    margin-bottom:1.2rem;
    position:relative;
    z-index:2;
  }

  .mv-list{
    list-style:none;
    padding:0;
    margin:0;
    position:relative;
    z-index:2;
  }
  .mv-list li{
    display:flex;
    align-items:flex-start;
    gap:.9rem;
    margin-bottom:1.1rem;
  }
  .mv-list li span:last-child{
    color:#374151;
    font-size:.92rem;
    line-height:1.6;
    padding-top:.15rem;
  }
  .mv-num{
    flex-shrink:0;
    width:26px;height:26px;
    border-radius:50%;
    color:#fff;
    font-size:.78rem;
    font-weight:600;
    display:flex;align-items:center;justify-content:center;
  }

  /* Decorative dot trail in bottom corner */
  .mv-dots{
    position:absolute;
    right:10px;
    bottom:10px;
   width: 200px;
    height: 250px;
    z-index:1;
  }
  .mv-dots i{
    position:absolute;
    font-size:1.9rem;
  }
  .mv-dots-green i{color:rgba(111,168,76,.18);}
  .mv-dots-purple i{color:rgba(91,62,150,.15);}

  .mv-dots i:nth-child(1){right:110px; bottom:10px;}
  .mv-dots i:nth-child(2){right:90px;  bottom:30px;}
  .mv-dots i:nth-child(3){right:70px;  bottom:50px;}
  .mv-dots i:nth-child(4){right:50px;  bottom:70px;}
  .mv-dots i:nth-child(5){right:30px;  bottom:90px;}
  .mv-dots i:nth-child(6){right:10px;  bottom:110px;}

  @media (max-width:767px){
    .mv-card{padding:1.8rem 1.4rem;}
    .mv-text{max-width:100%;}
  }

  /* =========================================
   OUR VALUES SECTION
   ========================================= */

.our-values-section {
    width: 100%;
    background: #ffffff;
    padding: 35px 25px 60px;
    font-family: Arial, Helvetica, sans-serif;
    overflow: hidden;
}


/* =========================================
   HEADING
   ========================================= */

.values-heading {
    margin-bottom: 68px;
}

.values-heading h2 {
    position: relative;
    display: inline-block;
    margin: 0;
    color: #123f7a;
    font-size: 48px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -1px;
}

.heading-leaf {
    position: absolute;
    color: #acd38f;
    font-size: 42px;
    font-weight: 300;
    line-height: 1;
}

.heading-leaf-left {
    left: -48px;
    top: -5px;
    transform: rotate(-25deg);
}

.heading-leaf-right {
    right: -48px;
    top: -5px;
    transform: rotate(25deg);
}

.heading-line {
    width: 110px;
    height: 4px;
    margin: 27px auto 0;
    background: #6eaa37;
    border-radius: 5px;
}


/* =========================================
   VALUES ROW
   ========================================= */

.values-row {
    max-width: 1510px;
    margin: 0 auto;
}


/* =========================================
   VALUE COLUMN
   ========================================= */

.value-column {
    position: relative;
    padding-left: 25px;
    padding-right: 25px;
}


/* Vertical separator */
.value-column:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 255px;
    background: #e6ebef;
}


/* =========================================
   VALUE ITEM
   ========================================= */

.value-item {
    text-align: center;
    min-height: 255px;
}


/* =========================================
   ICON
   ========================================= */

.value-icon {
    width: 65px;
    height: 70px;
    margin: 0 auto 8px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.value-icon img {
    width:50px;
    display: block;
}


/* =========================================
   TITLE
   ========================================= */

.value-item h3 {
    margin: 0 0 20px;
font-family: 'Poppins', serif;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 600;
}


/* =========================================
   DESCRIPTION
   ========================================= */




/* =========================================
   COLORS
   ========================================= */

.child-focused {
    color: #147dcc;
}

.safety-first {
    color: #6cad3b;
}

.respect {
    color: #5a50a3;
}

.excellence {
    color: #f3a21b;
}

.partnership {
    color: #31aaa5;
}

.integrity {
    color: #ed3c7b;
}


/* Description should stay gray */
.value-item p {
    color: #5c6570;
}


/* =========================================
   LARGE TABLET
   ========================================= */

@media (max-width: 1199px) {

    .our-values-section {
        padding-left: 15px;
        padding-right: 15px;
    }

    .values-heading h2 {
        font-size: 42px;
    }

    .value-column {
        padding-left: 15px;
        padding-right: 15px;
    }

    .value-item h3 {
        font-size: 22px;
    }

    .value-item p {
        font-size: 16px;
        line-height: 1.7;
    }

    .value-icon {
        margin-bottom: 14px;
    }

    .value-column:not(:last-child)::after {
        height: 225px;
    }
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 991px) {

    .values-row {
        max-width: 800px;
    }

    .value-column {
        margin-bottom: 45px;
    }

    /*
       3 columns per row
    */

    .value-column:nth-child(3)::after {
        display: none;
    }

    .value-column:nth-child(6)::after {
        display: none;
    }

    .value-column:nth-child(4)::after {
        display: block;
    }

    .value-item {
        min-height: 220px;
    }

    .value-column:not(:last-child)::after {
        height: 220px;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .our-values-section {
        padding: 30px 10px 35px;
    }

    .values-heading {
        margin-bottom: 55px;
    }

    .values-heading h2 {
        font-size: 34px;
        letter-spacing: 0;
    }

    .heading-leaf {
        font-size: 30px;
    }

    .heading-leaf-left {
        left: -34px;
    }

    .heading-leaf-right {
        right: -34px;
    }

    .heading-line {
        width: 85px;
        height: 3px;
        margin-top: 22px;
    }


    /*
       2 columns on mobile
    */

    .value-column {
        padding-left: 12px;
        padding-right: 12px;
        margin-bottom: 40px;
    }

    .value-column:nth-child(2)::after,
    .value-column:nth-child(4)::after,
    .value-column:nth-child(6)::after {
        display: none;
    }

    .value-column:nth-child(odd)::after {
        display: block;
        height: 205px;
    }

    .value-item {
        min-height: 205px;
    }

    .value-icon {
        width: 52px;
        height: 58px;
        margin-bottom: 12px;
    }

    .value-icon svg {
        width: 47px;
        height: 47px;
    }

    .value-item h3 {
        font-size: 19px;
        margin-bottom: 11px;
    }

    .value-item p {
        max-width: 190px;
        font-size: 14px;
        line-height: 1.6;
    }
}


/* =========================================
   SMALL MOBILE
   ========================================= */

@media (max-width: 480px) {

    .values-heading h2 {
        font-size: 30px;
    }

    .heading-leaf {
        display: none;
    }

    .value-column {
        padding-left: 8px;
        padding-right: 8px;
    }

    .value-item h3 {
        font-size: 18px;
    }

    .value-item p {
        font-size: 13px;
        line-height: 1.55;
    }

    .value-column:nth-child(odd)::after {
        height: 195px;
    }
}

/* =====================================================
   PROGRAMS HERO BANNER
   ===================================================== */

.programs-hero {
    position: relative;
    width: 100%;
    min-height: 590px;
    background: #fcfaf3;
    overflow: hidden;
    padding: 45px 0 50px;
}


/* =====================================================
   MAIN ROW
   ===================================================== */

.programs-hero-row {
    min-height: 490px;
    margin: 0;
}


/* =====================================================
   LEFT CONTENT
   ===================================================== */

.programs-content {
    position: relative;
    z-index: 5;
    padding-left: clamp(50px, 7vw, 115px);
    padding-right: 30px;
}


/* =====================================================
   TITLE
   ===================================================== */

.programs-title-wrap {
    position: relative;
    display: inline-block;
}

.programs-title-wrap h1 {
    margin: 0;
   font-size: 2.9rem;
    line-height: 1.05;
    font-weight: 700;
    color: #62aa39;
}

.programs-title-wrap h1 span {
    color: #123f78;
}


/* Small green leaf before title */

.title-leaf-left {
    position: absolute;
    left: -42px;
    top: 20px;

    color: #70ae3e;
    font-size: 32px;
    line-height: 1;

    transform: rotate(-25deg);
}


/* =====================================================
   DECORATIVE DIVIDER
   ===================================================== */

.programs-divider {
    display: flex;
    align-items: center;
    gap: 20px;

    width: 310px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.programs-divider span {
    display: block;
    height: 2px;
    background: #cfe3b6;
}

.programs-divider span:first-child {
    width: 170px;
}

.programs-divider span:last-child {
    width: 55px;
}

.programs-divider i {
    flex-shrink: 0;

    color: #b9d993;
    font-size: 18px;
    font-style: normal;

    transform: rotate(180deg);
}


/* =====================================================
   SUB TITLE
   ===================================================== */

.programs-content h4 {
    margin: 0 0 25px;

    color: #55479c;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
}


/* =====================================================
   DESCRIPTION
   ===================================================== */

.programs-content p {
    max-width: 560px;
    margin: 0;

    color: #4f5968;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 19px;
    line-height: 1.7;
    font-weight: 400;
}


/* =====================================================
   IMAGE AREA
   ===================================================== */

.programs-image-column {
    position: relative;
    height: 100%;
    padding: 0;
}

.programs-image-wrapper {
    position: relative;

    width: 100%;
    height: 500px;

    display: flex;
    align-items: center;
}


/* =====================================================
   GREEN ORGANIC SHAPE BEHIND IMAGE
   ===================================================== */

.programs-image-shape {
    position: absolute;

    width: 91%;
    height: 88%;

    right: 1%;
    top: 8%;

    background: #b5d3c9;

    border-radius:
        45% 55% 45% 55% /
        25% 28% 72% 75%;

    transform: rotate(-2deg);
}


/* =====================================================
   IMAGE
   ===================================================== */

.programs-image {
    position: relative;
    z-index: 2;

    width: 91%;
    height: 88%;

    margin-left: 2%;

    overflow: hidden;

    border-radius:
        32% 10% 28% 18% /
        22% 18% 28% 30%;

    transform: rotate(1deg);

    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}


/* Image itself */

.programs-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;
}


/* =====================================================
   WHITE ORGANIC BORDER
   ===================================================== */

.programs-image::after {
    content: "";

    position: absolute;
    z-index: 3;

    inset: 9px;

    border: 2px solid rgba(255, 255, 255, 0.8);

    border-radius:
        32% 10% 28% 18% /
        22% 18% 28% 30%;

    pointer-events: none;
}


/* =====================================================
   DECORATIVE DOTS
   ===================================================== */

.program-dots {
    position: absolute;

    z-index: 4;

    right: 1%;
    top: 4%;

    width: 180px;
    height: 130px;
}

.program-dots span {
    position: absolute;

    display: block;

    width: 20px;
    height: 20px;

    border-radius: 50%;

    background: #e9f0d9;
}

.program-dots span:nth-child(1) {
    top: 0;
    left: 25px;
}

.program-dots span:nth-child(2) {
    top: 5px;
    left: 75px;
}

.program-dots span:nth-child(3) {
    top: 15px;
    left: 125px;
}

.program-dots span:nth-child(4) {
    top: 55px;
    left: 165px;

    width: 32px;
    height: 32px;
}

.program-dots span:nth-child(5) {
    top: 95px;
    left: 145px;

    width: 42px;
    height: 42px;
}


/* =====================================================
   LARGE DESKTOP
   ===================================================== */

@media (min-width: 1400px) {

    .programs-content {
        padding-left: 7vw;
    }

    

    .programs-image,
    .programs-image-shape {
        width: 92%;
    }
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 991px) {

    .programs-hero {
        padding: 55px 0;
    }

    .programs-hero-row {
        min-height: auto;
    }

    .programs-content {
        padding: 0 40px 45px;
        text-align: center;
    }

    .programs-title-wrap {
        margin: 0 auto;
    }

    .title-leaf-left {
        left: -35px;
    }

    .programs-divider {
        margin-left: auto;
        margin-right: auto;
    }

    .programs-content p {
        margin-left: auto;
        margin-right: auto;
    }

    .programs-image-column {
        min-height: 450px;
    }

    .programs-image-wrapper {
        height: 450px;
    }

    .programs-image-shape {
        width: 90%;
        right: 5%;
    }

    .programs-image {
        width: 90%;
        margin-left: 5%;
    }

    .program-dots {
        right: 2%;
    }
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 767px) {

    .programs-hero {
      min-height: auto;
        padding: 45px 0 35px;
    }

    .programs-content {
        padding: 0 25px 35px;
    }

    .programs-title-wrap h1 {
        font-size: 46px;
        letter-spacing: -2px;
    }

    .title-leaf-left {
        left: -30px;
        top: 15px;
        font-size: 25px;
    }

    .programs-divider {
        width: 230px;
        gap: 12px;
        margin-top: 25px;
        margin-bottom: 28px;
    }

    .programs-divider span:first-child {
        width: 120px;
    }

    .programs-divider span:last-child {
        width: 40px;
    }

    .programs-content h4 {
        font-size: 18px;
        margin-bottom: 18px;
    }

    .programs-content p {
        font-size: 16px;
        line-height: 1.65;
    }


    /* Image */

    .programs-image-column {
        min-height: 330px;
    }

    .programs-image-wrapper {
        height: 330px;
    }

    .programs-image-shape {
        width: 94%;
        height: 85%;
        right: 3%;
        top: 8%;
    }

    .programs-image {
        width: 94%;
        height: 85%;
        margin-left: 3%;
    }

    .program-dots {
        right: 0;
        top: 0;
        transform: scale(.7);
        transform-origin: top right;
    }
}


/* =====================================================
   SMALL MOBILE
   ===================================================== */

@media (max-width: 480px) {

    .programs-title-wrap h1 {
        font-size: 39px;
    }

    .title-leaf-left {
        display: none;
    }

    .programs-content {
        padding-left: 20px;
        padding-right: 20px;
    }

    .programs-content h4 {
        font-size: 17px;
    }

    .programs-content p {
        font-size: 15px;
    }

    .programs-image-column {
        min-height: 280px;
    }

    .programs-image-wrapper {
        height: 280px;
    }
    .programs-image-wrapper img{width: 100%;}

    .program-dots {
        display: none;
    }
}


.programs-section{
    padding:70px 20px 90px;
  }
 
  .programs-title{
    font-weight:700;
    font-size:2.6rem;
    color:var(--navy);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
  }
 
  .programs-title .leaf{
    font-size:1.6rem;
    color:#7cb342;
  }
 
  .programs-subtitle{
    text-align:center;
    color:#6b7280;
    font-size:1.05rem;
    margin-top:10px;
    margin-bottom:50px;
  }
 
  .program-card{
    position:relative;
    background:#fff;
    border-radius:var(--card-radius);
    padding:55px 24px 28px;
    height:100%;
    border:1px solid rgba(0,0,0,0.06);
    transition:transform .25s ease, box-shadow .25s ease;
  }
 
  .program-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 30px rgba(0,0,0,0.08);
  }
 
  .program-icon{
    position:absolute;
    top:-26px;
    left:24px;
    width:56px;
    height:56px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:1.4rem;
    box-shadow:0 6px 14px rgba(0,0,0,0.18);
  }
 
  .program-photo{
    width:100%;
    object-fit:cover;
    border-radius:12px;
    margin-bottom:20px;
  }
 
  .program-name{
    font-family:'poppins', serif;
    font-weight:600;
    color:var(--navy);
    font-size:1.5rem;
    margin-bottom:4px;
  }
 
  .program-age{
    font-weight:600;
    font-size:0.95rem;
    margin-bottom:14px;
  }
 
  .program-desc{
    font-size:0.92rem;
    line-height:1.5;
    margin-bottom:16px;
  }
 
  .program-features{
    list-style:none;
    padding:0;
    margin:0 0 22px;
  }
 
  .program-features li{
    display:flex;
    align-items:flex-start;
    gap:8px;
    font-size:0.9rem;
    margin-bottom:10px;
    color:#374151;
  }
 
  .program-features li i{
    font-size:1.05rem;
    line-height:1.3;
    flex-shrink:0;
  }
 
  .explore-link{
    font-weight:600;
    font-size:0.95rem;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:6px;
  }
 
  .explore-link i{
    transition:transform .2s ease;
  }
 
  .explore-link:hover i{
    transform:translateX(4px);
  }
  :root{
    --navy:#1c3a6b;
    --text-body:#4b5563;
    --card-radius:18px;
  }
  /* ---- Per-card color themes ---- */
  .theme-blue   .program-icon{background:#2f7fd4;}
  .theme-blue   .program-age, .theme-blue .explore-link, .theme-blue .program-features li i{color:#2f7fd4;}
  .theme-blue   .program-card{background:#f4f9fe;}
 
  .theme-green  .program-icon{background:#6ba82e;}
  .theme-green  .program-age, .theme-green .explore-link, .theme-green .program-features li i{color:#6ba82e;}
  .theme-green  .program-card{background:#f6f9f0;}
 
  .theme-purple .program-icon{background:#5b3b8c;}
  .theme-purple .program-age, .theme-purple .explore-link, .theme-purple .program-features li i{color:#5b3b8c;}
  .theme-purple .program-card{background:#f7f5fb;}
 
  .theme-orange .program-icon{background:#e8791b;}
  .theme-orange .program-age, .theme-orange .explore-link, .theme-orange .program-features li i{color:#e8791b;}
  .theme-orange .program-card{background:#fdf6ee;}
 
  .theme-teal   .program-icon{background:#1e9a8a;}
  .theme-teal   .program-age, .theme-teal .explore-link, .theme-teal .program-features li i{color:#1e9a8a;}
  .theme-teal   .program-card{background:#f2faf8;}
 
  @media (max-width: 767px){
    .programs-title{font-size:2rem;}
  }
  /* custom 5-column breakpoint for large screens (Bootstrap has no col-2.4 by default) */
  @media (min-width: 1200px){
    .col-xl-2dot4{
      flex:0 0 20%;
      max-width:20%;
    }
  }

   :root{
    --navy:#1c3a6b;
    --text-body:#5b6472;
    --olive:#5b7a2e;
  }
 
  body{
    font-family:'Poppins', sans-serif;
    color:var(--text-body);
    background:#fff;
  }
 
  .areas-section{
    background:#f2f4ef;
    border-radius:28px;
    padding:60px 50px;
    margin:40px auto;
    max-width:1300px;
  }
 
  /* ---- Left column ---- */
  .areas-heading{
    font-weight:800;
    font-size:2.7rem;
    line-height:1.15;
    color:var(--navy);
    margin-bottom:22px;
  }
 
  .areas-desc{
    font-size:1.02rem;
    line-height:1.7;
    color:var(--text-body);
    max-width:400px;
    margin-bottom:34px;
  }
 
  .curriculum-btn{
    background:var(--olive);
    color:#fff;
    border:none;
    border-radius:14px;
    padding:20px 26px;
    font-weight:500;
    font-size:1rem;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    text-decoration:none;
    line-height:1.4;
    transition:background .2s ease, transform .2s ease;
  }
 
  .curriculum-btn:hover{
    background:#4c6626;
    color:#fff;
    transform:translateY(-2px);
  }
 
  .curriculum-btn i{
    background:rgba(255,255,255,0.18);
    width:34px;
    height:34px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }
 
  .left-col-wrap{
    position:relative;
  }
 
  .decor-dots{
    position:absolute;
    right:-10px;
    bottom:-270px;
    width:180px;
    height:180px;
    opacity:0.7;
    pointer-events:none;
  }
 
  /* ---- Right grid ---- */
  .area-item{
    padding:0 26px 34px;
    border-right:1px solid #e0e2dc;
  }
 
  .area-item.no-border{
    border-right:none;
  }
 
  .area-item-inner{
    border-bottom:1px solid #e0e2dc;
    padding-bottom:30px;
    height:100%;
  }
 
  .area-item.row-last .area-item-inner{
    border-bottom:none;
    padding-bottom:0;
  }
 
  .area-icon{
    width:54px;
    height:54px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:1.3rem;
    margin-bottom:16px;
  }
 
  .area-title{
    font-family: Poppins;
    font-weight:600;
    font-size:1.1rem;
    line-height:1.3;
    margin-bottom:12px;
  }
 
  .area-text{
    font-size:0.95rem;
    line-height:1.6;
    color:var(--text-body);
    max-width:230px;
  }
 
  /* theme colors */
  .icon-blue{background:#2f80d0;}
  .title-blue{color:#2f80d0;}
 
  .icon-green{background:#6fae2e;}
  .title-green{color:#6fae2e;}
 
  .icon-purple{background:#5b3b8c;}
  .title-purple{color:#5b3b8c;}
 
  .icon-pink{background:#e02e7a;}
  .title-pink{color:#e02e7a;}
 
  .icon-orange{background:#e89a1b;}
  .title-orange{color:#e89a1b;}
 
  .icon-teal{background:#1e9a8a;}
  .title-teal{color:#1e9a8a;}
 
  @media (max-width: 991px){
    .areas-section{padding:40px 24px;}
    .area-item{border-right:none;}
    .area-item-inner{border-bottom:1px solid #e0e2dc;padding-bottom:26px;margin-bottom:26px;}
    .area-item.row-last .area-item-inner{border-bottom:1px solid #e0e2dc;padding-bottom:26px;margin-bottom:0;}
    .area-item:last-child .area-item-inner{border-bottom:none;margin-bottom:0;padding-bottom:0;}
    .areas-heading{font-size:2.1rem;}
  }

  .hero-wrap2{
    max-width:1300px;
    margin:40px auto;
    padding:0 16px;
  }
 
  .hero-banner{
    background:#eef1fb;
    border-radius:26px;
    overflow:hidden;
    position:relative;
  }
 
  .hero-left{
    padding:60px 20px 60px 60px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    height:100%;
    position:relative;
    z-index:2;
  }
 
  .hero-title{
    font-weight:800;
    font-size:2.6rem;
    line-height:1.25;
    color:var(--navy);
    margin-bottom:22px;
  }
 
  .hero-title .accent{
    color:var(--leaf-green);
  }
 
  .hero-desc{
    font-size:1.05rem;
    color:#5b6472;
    line-height:1.6;
    max-width:420px;
    margin-bottom:34px;
  }
 
  .enroll-btn{
     background:#d8930f;
    color:#fff;
    color:#fff;
    border:none;
    border-radius:50px;
    padding:16px 12px 16px 28px;
    font-weight:600;
    font-size:1.05rem;
    display:inline-flex;
    align-items:center;
    gap:18px;
    text-decoration:none;
    width:fit-content;
    transition:background .2s ease, transform .2s ease;
  }
 
  .enroll-btn:hover{
    background:#d8930f;
    color:#fff;
    transform:translateY(-2px);
  }
 
  .enroll-btn i{
    background:rgba(255,255,255,0.25);
    width:36px;
    height:36px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }
 
  .hero-leaf{
        position: absolute;
    left: 44%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 103px;
    opacity: 0.9;
    z-index: 111;
  }
 
  .hero-right{
    position:relative;
    z-index:2;
    height:100%;
    min-height:380px;
  }
 
  .hero-img{
    width:100%;
    height:100%;
    min-height:380px;
    object-fit:cover;
    border-radius:200px 26px 26px 26px;
    display:block;
  }
 
  @media (max-width: 991px){
    .hero-left{
      padding:40px 30px;
      text-align:left;
    }
    .hero-title{font-size:2rem;}
    .hero-leaf{display:none;}
    .hero-img{
      border-radius:26px;
      min-height:280px;
    }
    .hero-right{min-height:280px;}
  }





   :root{
    --navy:#1c3a6b;
    --text-body:#5b6472;
    --blue:#2f7fd4;
    --green:#1F7A44;
  }
 
 
  .plans-section{
    padding:60px 20px 0px;
    max-width:1400px;
    margin:0 auto;
  }
 
  .plans-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:2.5rem;
    color:var(--navy);
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin-bottom:34px;
  }
 
  .plans-title .leaf{
    color:#8fbf5a;
    font-size:1.4rem;
  }
 
  /* Toggle */
  .plan-toggle{
    display:flex;
    justify-content:center;
    gap:14px;
    margin-bottom:46px;
    flex-wrap:wrap;
  }
 
  .toggle-btn{
    border-radius:50px;
    padding:14px 26px;
    font-weight:600;
    font-size:1rem;
    display:inline-flex;
    align-items:center;
    gap:10px;
    border:1.5px solid var(--blue);
    background:#fff;
    color:var(--navy);
    cursor:pointer;
    transition:all .2s ease;
  }
 
  .toggle-btn.active{
    background:var(--blue);
    color:#fff;
    border-color:var(--blue);
  }
 
  .toggle-btn i{font-size:0.95rem;}
 
  /* Plan cards */
  .plan-card{
    border-radius:20px;
    border:1px solid #e3e8f0;
    overflow:hidden;
    height:100%;
    background:#fff;
    position:relative;
  }
 
  .plan-card.monthly{border-color:#cfe0f7;}
  .plan-card.payments{border-color:#dce6c8;}
 
  .plan-header{
    text-align:center;
    padding:30px 24px 22px;
  }
 
  .plan-header.monthly-bg{background:#eaf2fc;}
  .plan-header.payments-bg{background:#f2f6e8;}
 
  .plan-name{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:1.6rem;
    color:var(--navy);
    margin-bottom:6px;
  }
 
  .plan-subtitle{
    font-size:0.95rem;
    font-weight:500;
  }
 
  .plan-subtitle.blue-text{color:var(--blue);}
  .plan-subtitle.green-text{color:var(--green);}
 
  .best-value-badge{
    position:absolute;
    top:22px;
    right:22px;
    background:var(--green);
    color:#fff;
    font-size:0.8rem;
    font-weight:600;
    padding:6px 16px;
    border-radius:50px;
  }
 
  .plan-table-head{
    display:flex;
    justify-content:space-between;
    padding:14px 28px;
    font-weight:600;
    font-size:0.88rem;
    color:var(--navy);
  }
 
  .plan-table-head.monthly-head{background:#dfeafb;}
  .plan-table-head.payments-head{background:#e7efd6;}
 
  .plan-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 28px;
    border-bottom:1px solid #f0f2f5;
  }
 
  .plan-row:last-child{border-bottom:none;}
 
  .row-program{
    display:flex;
    align-items:center;
    gap:14px;
    flex:1.4;
  }
 
  .row-icon{
    width:42px;
    height:42px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:1.1rem;
    flex-shrink:0;
  }
 
  .row-program-name{
    font-weight:600;
    color:var(--navy);
    font-size:1.02rem;
  }
 
  .row-age{
    flex:1;
    text-align:center;
    font-size:0.92rem;
    color:#7c8592;
  }
 
  .row-fee{
    flex:1;
    text-align:right;
    font-weight:700;
    color:var(--navy);
    font-size:1.02rem;
  }
 
  .row-fee.green{color:#5a8a24;}
 
  .row-per-payment{
    flex:1;
    text-align:right;
    font-weight:600;
    color:#374151;
    font-size:0.98rem;
  }
 
  .icon-blue{background:#2f7fd4;}
  .icon-green{background:#6fae2e;}
  .icon-purple{background:#5b3b8c;}
  .icon-orange{background:#e8971b;}
  .icon-teal{background:#1e9a8a;}
 
  .plans-footnote{
    text-align:center;
    margin-top:36px;
    font-size:0.98rem;
    color:var(--text-body);
  }
 
  .plans-footnote i{
    color:var(--blue);
    margin-right:6px;
  }
 
  .plans-footnote .fee-highlight{
    color:var(--blue);
    font-weight:700;
  }
 
  @media (max-width: 767px){
    .plans-title{font-size:1.9rem;}
    .row-age{display:none;}
    .plan-table-head span:nth-child(2){display:none;}
  }




  .page-wrap{
    max-width:1300px;
    margin:0 auto;
    padding:20px 16px 70px;
  }
 
  /* ---------- What's Included ---------- */
  .included-block{
    background:#f3f6fa;
    border-radius:22px;
    padding:50px 30px;
    margin-bottom:46px;
  }
 
  .included-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:2.2rem;
    color:var(--navy);
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin-bottom:40px;
  }
 
  .included-title .leaf{
    color:#8fbf5a;
    font-size:1.2rem;
  }
 
  .included-item{
    text-align:center;
    margin-bottom:10px;
  }
 
  .included-icon{
    width:76px;
    height:76px;
    border-radius:50%;
    background:#fff;
    border:1.5px solid #dce9d0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.6rem;
    color:var(--leaf-green);
    margin:0 auto 16px;
  }
 
  .included-label{
    font-weight:500;
    font-size:0.98rem;
    color:#2b3648;
    line-height:1.4;
    max-width:160px;
    margin:0 auto;
  }
 
  /* ---------- Notes + Image ---------- */
  .notes-card{
    background:#f3f6fa;
    border-radius:22px;
    padding:40px 34px;
    height:100%;
  }
 
  .notes-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:1.6rem;
    color:var(--navy);
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:26px;
  }
 
  .notes-title i{
    color:var(--leaf-green);
    font-size:1.2rem;
  }
 
  .notes-list{
    list-style:none;
    padding:0;
    margin:0;
  }
 
  .notes-list li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:20px;
    font-size:1.02rem;
    color:#374151;
    line-height:1.5;
  }
 
  .notes-list li:last-child{margin-bottom:0;}
 
  .notes-list li i{
    color:var(--leaf-green);
    font-size:1.15rem;
    margin-top:3px;
    flex-shrink:0;
  }
 
  .notes-image-wrap{
    position:relative;
    border-radius:22px;
    overflow:hidden;
    height:100%;
    min-height:340px;
  }
 
  .notes-image{
    width:100%;
    height:100%;
    min-height:340px;
    object-fit:cover;
    display:block;
  }
 
  .invest-overlay{
    position:absolute;
    right:30px;
    top: auto;
    bottom:0;

    width:47%;
    background:rgba(255,255,255,0.88);
    backdrop-filter:blur(3px);
    padding:26px 24px;
    text-align:center;
    border-radius:16px 16px 0 0px;
  }
 
  .invest-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:1.3rem;
    color:var(--navy);
    line-height:1.3;
    margin-bottom:14px;
  }
 
  .invest-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-bottom:14px;
  }
 
  .invest-divider .line{
    height:1px;
    width:36px;
    background:#a9c77a;
  }
 
  .invest-divider i{
    color:var(--leaf-green);
    font-size:0.8rem;
  }
 
  .invest-text{
    font-size:0.9rem;
    color:#4b5563;
    line-height:1.55;
  }
 
  /* ---------- Bottom CTA row ---------- */
  .cta-row{
    margin-top:46px;
  }
 
  .enroll-cta{
    background:var(--navy);
    border-radius:20px;
    padding:30px 36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    height:100%;
    flex-wrap:wrap;
  }
 
  .enroll-left{
    display:flex;
    align-items:center;
    gap:20px;
  }
 
  .enroll-icon{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#fff;
    color:var(--navy);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    flex-shrink:0;
  }
 
  .enroll-title{
   
    font-weight:700;
    font-size:1.35rem;
    color:#fff;
    margin-bottom:4px;
  }
 
  .enroll-sub{
    font-size:0.95rem;
    color:#c9d3e6;
  }
 
  .register-btn{
    background:var(--amber);
    color:#fff;
    border:none;
    border-radius:50px;
    padding:15px 12px 15px 26px;
    font-weight:600;
    font-size:1.02rem;
    display:inline-flex;
    align-items:center;
    gap:16px;
    text-decoration:none;
    transition:background .2s ease, transform .2s ease;
  }
 
  .register-btn:hover{
    background:#d8930f;
    color:#fff;
    transform:translateY(-2px);
  }
 
  .register-btn i{
    background:rgba(255,255,255,0.25);
    width:32px;
    height:32px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
  }
 
  .questions-card{
    border:1px solid #e6e9f0;
    border-radius:20px;
    padding:30px 28px;
    height:100%;
    display:flex;
    align-items:center;
    gap:20px;
  }
 
  .questions-icon{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#ece9fb;
    color:#5b3b8c;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    flex-shrink:0;
  }
 
  .questions-title{
   
    font-weight:700;
    font-size:1.15rem;
    color:var(--navy);
    margin-bottom:4px;
  }
 
  .questions-sub{
    font-size:0.95rem;
    color:var(--text-body);
  }
 
  .questions-sub a{
    color:var(--blue,#2f7fd4);
    font-weight:600;
    text-decoration:none;
  }
 
  @media (max-width: 767px){
    .included-title{font-size:1.7rem;}
    .invest-overlay{
      position:static;
      width:100%;
      transform:none;
      border-radius:0;
    }
    .notes-image-wrap{display:flex;flex-direction:column;}
  }

   :root{
    --navy:#1c3a6b;
    --text-body:#5b6472;
    --leaf-green:#6fae2e;
    --amber:#eda427;
  }




  .register-hero{
    position:relative;
    max-width:1500px;
    margin:0 auto;
    padding-bottom:70px;
  }
 
  .hero-photo-band{
    position:relative;
    height:630px;
    border-radius:0 0 0 0;
    overflow:hidden;
  }
 
  .hero-photo-band img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
 
  .hero-photo-band::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(100deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.9) 32%, rgba(255,255,255,0.25) 55%, rgba(255,255,255,0.15) 100%);
  }
 
  /* text content */
  .hero-text{
    position:absolute;
    top:0;
    left:0;
    height:100%;
    width:60%;
    z-index:3;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:0 0 0 60px;
  }
 
  .hero-logo{
    font-size:2.4rem;
    color:#8fb9e0;
    margin-bottom:18px;
  }
 
  .hero-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:2.9rem;
    line-height:1.2;
    margin-bottom:22px;
  }
 
  .hero-title .line1{color:var(--navy);}
  .hero-title .line2{color:var(--green);}
 
  .hero-lead{
    font-weight:600;
    font-size:1.15rem;
    color:var(--blue);
    margin-bottom:14px;
  }
 
  .hero-sub{
    font-size:1rem;
    color:var(--text-body);
    max-width:340px;
    line-height:1.6;
  }
 
  /* carousel dots */
  .hero-dots{
    display: none;
    position:absolute;
    left:45%;
    bottom:26px;
    display:flex;
    gap:8px;
    z-index:3;
  }
 
  .hero-dots span{
    width:9px;
    height:9px;
    border-radius:50%;
    background:rgba(255,255,255,0.7);
  }
 
  .hero-dots span.active{
    width:26px;
    border-radius:6px;
    background:var(--blue);
  }
 
  /* decorative waves */
  .wave-svg{
    position:absolute;
    left:0;
    bottom:-2px;
    width:55%;
    z-index:2;
    pointer-events:none;
  }
 
  .leaf-decor{
    position:absolute;
    right:-30px;
    bottom:-40px;
    width:220px;
    z-index:1;
    pointer-events:none;
  }
 
  /* ---- Register form card ---- */
  .register-card{
    position:absolute;
    right:0px;
    top:-15%;

    width:340px;
    background:#fff;
    border-radius:22px;
    box-shadow:0 25px 50px rgba(20,40,80,0.18);
    padding:32px 26px 26px;
    z-index:4;
  }
 
  .register-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:1.5rem;
    color:var(--navy);
    text-align:center;
    margin-bottom:10px;
  }
 
  .register-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-bottom:14px;
  }
 
  .register-divider i.arrow{color:var(--green); font-size:0.85rem;}
  .register-divider i.heart{color:var(--amber); font-size:0.75rem;}
  .register-divider .dash{
    height:1px;
    width:40px;
    background:#a9c77a;
  }
 
  .register-note{
    text-align:center;
    font-size:0.88rem;
    color:#6b7280;
    line-height:1.5;
    margin-bottom:20px;
  }
 
  .form-field{
    position:relative;
    margin-bottom:14px;
  }
 
  .form-field i{
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    color:#93a3bd;
    font-size:0.9rem;
  }
 
  .form-field select{
    appearance:none;
    -webkit-appearance:none;
  }
 
  .form-field .chevron{
    left:auto;
    right:14px;
  }
 
  .form-field input,
  .form-field select{
    width:100%;
    border:1.3px solid #e2e6ee;
    border-radius:10px;
    padding:12px 14px 12px 40px;
    font-size:0.92rem;
    color:#374151;
    background:#fff;
  }
 
  .form-field input::placeholder{color:#9aa4b2;}
 
  .form-field input:focus,
  .form-field select:focus{
    outline:none;
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(47,127,212,0.12);
  }
 
  .submit-btn{
    width:100%;
    background:var(--amber);
    color:#fff;
    border:none;
    border-radius:50px;
    padding:15px;
    font-weight:600;
    font-size:1rem;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:6px;
    transition:background .2s ease;
  }
 
  .submit-btn:hover{background:#d67d10;}
 
  .submit-btn i{
    background:rgba(255,255,255,0.25);
    width:28px;
    height:28px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.8rem;
  }
 
  .secure-note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:0.82rem;
    color:#6b7280;
    margin-top:14px;
  }
 
  .secure-note i{color:#9aa4b2;}
 
  @media (max-width: 1199px){
    .register-card{
      position:static;
      transform:none;
      width:100%;
      margin:30px auto 0;
    }
    .hero-photo-band{height:420px;}
    .hero-text{width:100%; padding:0 24px;}
    .hero-title{font-size:2.1rem;}
    .leaf-decor, .wave-svg{display:none;}
    .register-hero{padding-bottom:0;}
  }

  .steps-section{
    margin:8% auto 0 auto;
    padding:50px 16px;
  }
 
  .step-card{
    position:relative;
    border-radius:18px;
    padding:32px 26px;
    height:100%;
  }
 
  .step-badges{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:34px;
  }
 
  .step-number{
    width:42px;
    height:42px;
    border-radius:50%;
    color:#fff;
    font-weight:700;
    font-size:1.1rem;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }
 
  .step-icon{
    width:56px;
    height:56px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.3rem;
    flex-shrink:0;
    box-shadow:0 4px 10px rgba(0,0,0,0.06);
  }
 
  .step-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:1.45rem;
    margin-bottom:14px;
  }
 
  .step-text{
    font-size:0.98rem;
    line-height:1.6;
    color:var(--text-body);
    max-width:280px;
  }
 
  /* connector line between cards (desktop only) */
  .step-col{
    position:relative;
  }
 
  .step-col:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50px;
    right:-16px;
    width:32px;
    height:2px;
    background:#cfd6e0;
    z-index:2;
  }
 
  /* theme colors */
  .step-1{background:#f2f5fb;}
  .step-1 .step-number{background:#173d73;}
  .step-1 .step-icon i{color:#173d73;}
  .step-1 .step-title{color:#173d73;}
 
  .step-2{background:#eef8ee;}
  .step-2 .step-number{background:#1f8a4c;}
  .step-2 .step-icon i{color:#1f8a4c;}
  .step-2 .step-title{color:#1f8a4c;}
 
  .step-3{background:#f4f0fb;}
  .step-3 .step-number{background:#5b3b8c;}
  .step-3 .step-icon i{color:#5b3b8c;}
  .step-3 .step-title{color:#5b3b8c;}
 
  .step-4{background:#fdf3e8;}
  .step-4 .step-number{background:#e8791b;}
  .step-4 .step-icon i{color:#e8791b;}
  .step-4 .step-title{color:#e8791b;}
 
  @media (max-width: 991px){
    .step-col::after{display:none;}
    .step-col{margin-bottom:20px;}
  }



  .docs-section{
    margin:0 auto;
    padding:50px 16px;
  }
 
  /* ---- Left card ---- */
  .docs-card{
    background:#fbfcfe;
    border:1px solid #eef0f4;
    border-radius:22px;
    padding:38px 34px;
    height:100%;
  }
 
  .docs-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:1.9rem;
    color:var(--navy);
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
  }
 
  .docs-title i{
    color:var(--green);
    font-size:1.5rem;
  }
 
  .docs-intro{
    font-size:1rem;
    color:var(--text-body);
    margin-bottom:24px;
  }
 
  .docs-body{
    display:flex;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
  }
 
  .docs-list{
    list-style:none;
    padding:0;
    margin:0;
    flex:1 1 300px;
  }
 
  .docs-list li{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:22px;
    font-size:1.02rem;
    font-weight:500;
    color:#2b3648;
  }
 
  .docs-list li:last-child{margin-bottom:0;}
 
  .check-badge{
    width:24px;
    height:24px;
    border-radius:50%;
    background:var(--green);
    color:#fff;
    font-size:0.75rem;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }
 
  .docs-illustration{
    flex:0 0 180px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
  }
 
  .docs-illustration img{
    max-width:180px;
    width:100%;
    height:auto;
  }
 
  /* ---- Right card ---- */
  .seats-card{
    background:linear-gradient(135deg, #ece7fb 0%, #ddd4f6 100%);
    border-radius:22px;
    padding:40px;
    height:100%;
    position:relative;
    overflow:hidden;
  }
 
  .seats-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:2.2rem;
    color:var(--navy);
    line-height:1.2;
    margin-bottom:18px;
  }
 
  .seats-icon{
    color:var(--green);
    font-size:1.2rem;
    margin-bottom:14px;
  }
 
  .seats-text{
    font-size:1rem;
    color:#4b5563;
    line-height:1.6;
    max-width:320px;
    margin-bottom:30px;
  }
 
  .reserve-btn{
    background:var(--purple);
    color:#fff;
    border:none;
    border-radius:50px;
    padding:16px 12px 16px 30px;
    font-weight:600;
    font-size:1.02rem;
    display:inline-flex;
    align-items:center;
    gap:20px;
    text-decoration:none;
    transition:background .2s ease, transform .2s ease;
  }
 
  .reserve-btn:hover{
    background:#5a34ab;
    color:#fff;
    transform:translateY(-2px);
  }
 
  .reserve-btn i{
    background:rgba(255,255,255,0.25);
    width:32px;
    height:32px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
  }
 
  .seats-photo-wrap{
    position:absolute;
    right:40px;
    bottom:21%;
    top:0px;
    width:230px;
    border-radius:20px;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    justify-content:center;
  }

 
 
  .dot{
    position:absolute;
    border-radius:50%;
    background:rgb(255 255 255 / 19%);
  }
 
  .dot-1{width:16px;height:16px;top:24px;right:70px;}
  .dot-2{width: 212px;
    height: 212px;
    bottom: 30px;
    right: 20px;}
 
  @media (max-width: 991px){
    .steps-section {
    margin:0% auto 0 auto;
    padding: 30px 16px;
}
.docs-section {
    margin: 0 auto;
    padding:0px 16px;
}
    .seats-photo-wrap{
      position:static;
      width:200px;
      margin:24px auto 0;
      
    }
    .seats-card{padding:34px 26px;}
    .seats-title{font-size:1.8rem;}
    .docs-illustration{display:none;}
  }


.faq-section{
    margin:0 auto;
    padding:50px 16px 20px;
  }
 
  .faq-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:2.4rem;
    color:var(--navy);
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    margin-bottom:46px;
  }
 
  .faq-title .arrow-line{
    display:flex;
    align-items:center;
    color:var(--green);
    font-size:1.4rem;
  }
 
  .faq-title .arrow-line::before,
  .faq-title .arrow-line::after{
    content:"";
    display:block;
    height:2px;
    width:70px;
    background:var(--green);
  }
 
  .faq-title .arrow-line.left::before{display:none;}
  .faq-title .arrow-line.left i{margin-right:2px;}
  .faq-title .arrow-line.right::after{display:none;}
  .faq-title .arrow-line.right i{margin-left:2px;}
 
  /* Accordion items */
  .faq-item{
    border:1.4px solid #e3e7ee;
    border-radius:14px;
    margin-bottom:20px;
    overflow:hidden;
    background:#fff;
  }
 
  .faq-question{
    width:100%;
    background:#fff;
    border:none;
    text-align:left;
    padding:22px 26px;
    font-size:1.08rem;
    font-weight:500;
    color:#2b3648;
    display:flex;
    align-items:center;
    justify-content:space-between;
    cursor:pointer;
  }
 
  .faq-question:focus{
    outline:none;
  }
 
  .faq-question .chevron{
    color:var(--blue);
    font-size:1rem;
    transition:transform .25s ease;
    flex-shrink:0;
    margin-left:16px;
  }
 
  .faq-question[aria-expanded="true"] .chevron{
    transform:rotate(180deg);
  }
 
  .faq-question[aria-expanded="true"]{
    color:var(--navy);
    font-weight:600;
  }
 
  .faq-answer-body{
    padding:0 26px 22px;
    font-size:0.98rem;
    line-height:1.65;
    color:var(--text-body);
  }
 
  @media (max-width: 767px){
    .faq-title{font-size:1.7rem; gap:12px;}
    .faq-title .arrow-line::before,
    .faq-title .arrow-line::after{width:34px;}
    .faq-question{font-size:0.98rem; padding:18px 18px;}
    .faq-answer-body{padding:0 18px 18px;}
  }




  .welcome-wrap{
    max-width:1300px;
    margin:40px auto;
    padding:0 16px;
  }
 
  .welcome-bar{
    background:linear-gradient(90deg, #eef6ea 0%, #f3f8ef 100%);
    border-radius:24px;
    padding:26px 30px;
    display:flex;
    align-items:center;
    gap:28px;
    flex-wrap:wrap;
  }
 
  .welcome-illustration{
   
    border-radius:18px;
    background:#fff;
    flex-shrink:0;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
  }
 
 
 
  .welcome-content{
    flex:1 1 420px;
    min-width:260px;
  }
 
  .welcome-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:1.5rem;
    color:var(--navy);
    margin-bottom:6px;
  }
 
  .welcome-sub{
    font-size:0.98rem;
    color:var(--text-body);
    margin-bottom:14px;
  }
 
  .welcome-meta{
    display:flex;
    align-items:center;
    gap:22px;
    flex-wrap:wrap;
    font-size:0.92rem;
    color:#2b3648;
  }
 
  .welcome-meta .meta-item{
    display:flex;
    align-items:center;
    gap:10px;
  }
 
  .welcome-meta .meta-icon{
    width:28px;
    height:28px;
    border-radius:50%;
    background:#fff;
    color:var(--navy);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.78rem;
    flex-shrink:0;
  }
 
  .welcome-meta .divider{
    width:1px;
    height:20px;
    background:#d7ded0;
  }
 
  .contact-btn{
    background:var(--amber);
    color:#fff;
    border:none;
    border-radius:50px;
    padding:14px 10px 14px 26px;
    font-weight:600;
    font-size:1rem;
    display:inline-flex;
    align-items:center;
    gap:16px;
    text-decoration:none;
    flex-shrink:0;
    margin-left:auto;
    transition:background .2s ease, transform .2s ease;
  }
 
  .contact-btn:hover{
    background:#d67d10;
    color:#fff;
    transform:translateY(-2px);
  }
 
  .contact-btn i{
    background:rgba(255,255,255,0.25);
    width:30px;
    height:30px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.85rem;
  }
 
  @media (max-width: 767px){
    .hero-wrap{min-height: auto;}
    .welcome-bar{padding:24px;}
    .welcome-title{font-size:1.25rem;}
    .contact-btn{margin-left:0;width:100%;justify-content:center;}
  }



  .gallery-hero{
    position:relative;
    display: flex;
    margin:0 auto;
    height:525px;
    overflow:hidden;
    background-image:url('../img/gallery-bg.png');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }
 
  .gallery-content{
    position:relative;
    z-index:2;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    
    max-width:600px;
  }
 
  .gallery-title{
   
    font-weight:800;
    margin-bottom:18px;
    line-height:1.1;
  }
 
  .gallery-title .our{color:var(--navy);}
  .gallery-title .gallery{color:var(--green);}
 
  .gallery-divider{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:22px;
  }
 
  .gallery-divider .dash{
    height:1px;
    width:64px;
    background:#9fb0c9;
  }
 
  .gallery-divider i.arrow{
    color:#9fb0c9;
    font-size:0.8rem;
  }
 
  .gallery-divider i.heart{
    color:#9fb0c9;
    font-size:0.9rem;
  }
 
  .gallery-tagline{
    font-weight:600;
    font-size:1.15rem;
    color:var(--purple);
    margin-bottom:14px;
  }
 
  .gallery-desc{
    font-size:1.02rem;
    color:var(--text-body);
    line-height:1.6;
    max-width:380px;
  }
 
  @media (max-width: 767px){
    .gallery-hero{height:auto; min-height:340px; padding:50px 0; background-position:60% center;}
    .gallery-content{padding-left:28px; padding-right:24px;}
    .gallery-title{font-size:2.4rem;}
  }



  .gallery-wrap{
    max-width:1400px;
    margin:0 auto;
    padding:40px 16px 60px;
  }
 
  /* ---- Filter tabs ---- */
  .filter-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-bottom:34px;
  }
 
  .filter-tab{
    border:1.5px solid #dfe3ea;
    background:#fff;
    color:#2b3648;
    border-radius:50px;
    padding:12px 22px;
    font-weight:500;
    font-size:0.98rem;
    display:inline-flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    transition:all .2s ease;
  }
 
  .filter-tab i{
    color:var(--green);
    font-size:0.95rem;
  }
 
  .filter-tab.active{
    background:var(--green);
    border-color:var(--green);
    color:#fff;
  }
 
  .filter-tab.active i{
    color:#fff;
  }
 
  .filter-tab:hover:not(.active){
    border-color:var(--green);
  }
 
  /* ---- Photo grid ---- */
  .photo-grid{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:24px;
    margin-bottom:50px;
  }
 
  .photo-item{
    border-radius:18px;
    overflow:hidden;
   
  }
 
  .photo-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
  }
 
  .photo-item:hover img{
    transform:scale(1.05);
  }
 
  .photo-item.hidden{
    display:none;
  }
 
  /* ---- Bottom CTA ---- */
  .join-bar{
    background:#f5f6fa;
    border-radius:22px;
    padding:34px 40px;
    display:flex;
    align-items:center;
    gap:26px;
    flex-wrap:wrap;
    position:relative;
    overflow:hidden;
  }
 
  .join-icon{
    width:64px;
    height:64px;
    border-radius:50%;
    background:var(--purple);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    flex-shrink:0;
  }
 
  .join-text{
    flex:1 1 380px;
  }
 
  .join-title{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:1.7rem;
    color:var(--navy);
    margin-bottom:8px;
  }
 
  .join-sub{
    font-size:0.98rem;
    color:var(--text-body);
    line-height:1.5;
    max-width:420px;
  }
 
  .register-btn{
    background:var(--amber);
    color:#fff;
    border:none;
    border-radius:50px;
    padding:15px 12px 15px 28px;
    font-weight:600;
    font-size:1.02rem;
    display:inline-flex;
    align-items:center;
    gap:18px;
    text-decoration:none;
    margin-left:auto;
    transition:background .2s ease, transform .2s ease;
  }
 
  .register-btn:hover{
    background:#d67d10;
    color:#fff;
    transform:translateY(-2px);
  }
 
  .register-btn i{
    background:rgba(255,255,255,0.25);
    width:30px;
    height:30px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.85rem;
  }
 
  .join-leaf{
    position:absolute;
    right:24px;
    bottom:-6px;
    width:70px;
    opacity:0.5;
    pointer-events:none;
  }
 
  @media (max-width: 991px){
    .photo-grid{grid-template-columns:repeat(2, 1fr);}
  }
 
  @media (max-width: 575px){
    .photo-grid{grid-template-columns:1fr;}
    .photo-item{height:220px;}
    .register-btn{margin-left:0; width:100%; justify-content:center;}
  }



  .calendar-hero{
    position:relative;
    margin:0 auto;
    background:#f4f1fb;
    overflow:hidden;
    display:flex;
    align-items:center;
  }
 
  .side-circle{
    position:absolute;
    left:-60px;
    bottom:-60px;
    width:150px;
    height:150px;
    border-radius:50%;
    background:#eae4f8;
    z-index:0;
  }
 
  .calendar-content-row{
    position:relative;
    z-index:2;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
     gap:30px;
  }
 
  .calendar-text{
    max-width:560px;
    padding:40px 0;
  }
 
  .calendar-title{
  
    font-weight:800;
    line-height:1.1;
    margin-bottom:20px;
  }
 
  .calendar-title .annual{color:var(--navy);}
  .calendar-title .calendar{color:var(--green);}
 
  .calendar-years{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:26px;
  }
 
  .calendar-years .dash{
    height:1px;
    width:44px;
    background:#9fb0c9;
  }
 
  .calendar-years i{
    color:#9fb0c9;
    font-size:0.9rem;
  }
 
  .calendar-years .years-text{
    font-family:'Merriweather', serif;
    font-weight:700;
    font-size:1.5rem;
    color:var(--navy);
  }
 
  .calendar-desc p{
    font-size:1.02rem;
    color:var(--text-body);
    line-height:1.6;
    margin-bottom:6px;
  }
 
  .calendar-illustration{
    flex:0 0 auto;
    max-width:670px;
    width:100%;
    padding:30px 0;
  }
 
  .calendar-illustration img{
    width:100%;
    height:auto;
    border-radius:24px;
    display:block;
  }
 
  @media (max-width: 991px){
    .calendar-content-row{
      padding:40px 28px;
      justify-content:center;
      text-align:center;
    }
    .calendar-years{justify-content:center;}
    .calendar-title{font-size:2.3rem;}
    .calendar-illustration{max-width:320px;}
    .side-circle{display:none;}
  }




.banner{
  
    margin:0 auto;
    background:linear-gradient(90deg,#EFEEFB 0%, #F3F1FC 45%, #EDEBFA 100%);
    border-radius:26px;
    padding:28px 40px;
    display:flex;
    align-items:center;
    gap:28px;
    box-shadow:0 10px 30px rgba(90,70,180,.08);
  }
  .art{
    width:150px;
    height:150px;
    flex:0 0 auto;
  }
  .text-block{
    flex:1 1 auto;
    min-width:220px;
  }
  .headline{
    color:#173D8C;
    font-weight:800;
    font-size:2.1rem;
    margin:0 0 8px;
    letter-spacing:.2px;
  }
  .subtext{
    color:#6B7086;
    font-size:1.02rem;
    line-height:1.5;
    margin:0;
    max-width:480px;
  }
  .btn-register{
    flex:0 0 auto;
    background:linear-gradient(135deg,#8B6FE0,#7A4FD4);
    color:#fff;
    border:none;
    border-radius:50px;
    padding:16px 14px 16px 30px;
    font-weight:600;
    font-size:1.05rem;
    display:flex;
    align-items:center;
    gap:14px;
    box-shadow:0 10px 22px rgba(122,79,212,.35);
    text-decoration:none;
    white-space:nowrap;
  }
  .btn-register:hover{ color:#fff; opacity:.95; }
  .btn-register .arrow{
    width:34px; height:34px;
    background:rgba(255,255,255,.25);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:1.05rem;
  }
 
  @media (max-width:768px){
    .banner{ flex-wrap:wrap; justify-content:center; text-align:center; padding:26px; }
    .text-block{ text-align:center; }
    .subtext{ margin:0 auto; }
    .headline{ font-size:1.5rem; }
    .art{ width:110px; height:110px; }
  }
  

  
  .lang-switch{.contact-section{
    font-family:'Poppins',sans-serif;
  }

  /* Form card */
  .contact-form-card{
    position:relative;
    overflow:hidden;
    background:#fff;
    border:1px solid #eef1f5;
    border-radius:18px;
    padding:2.2rem;
    height:100%;
    box-shadow:0 15px 40px rgba(19,42,82,.06);
  }
  .cf-blob{
    position:absolute;
    border-radius:50%;
    z-index:1;
  }
  .cf-blob-1{
    width:160px;height:160px;
    background:rgba(245,166,35,.08);
    top:-60px; right:-60px;
  }
  .cf-blob-2{
    width:120px;height:120px;
    background:rgba(111,168,76,.08);
    bottom:-40px; left:-40px;
  }
  .cf-title{
    font-family:'Playfair Display',serif;
    font-weight:700;
    color:#1c2b45;
    position:relative;
    z-index:2;
  }
  .cf-sub{
    color:#6b7280;
    font-size:.88rem;
    margin-bottom:1.5rem;
    position:relative;
    z-index:2;
  }
  .cf-label{
    font-size:.82rem;
    font-weight:600;
    color:#1c2b45;
    margin-bottom:.35rem;
  }
  .cf-input{
    border:1.5px solid #e5e9f0;
    border-radius:10px;
    padding:.65rem .9rem;
    font-size:.9rem;
  }
  .cf-input:focus{
    border-color:var(--blue);
    box-shadow:0 0 0 .2rem rgba(47,143,203,.15);
  }

  /* Map */
  .contact-map-wrap{
    position:relative;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(19,42,82,.08);
  }
  .contact-map{
    width:100%;
    height:220px;
    border:0;
    display:block;
    filter:grayscale(15%);
  }
  .map-pin-badge{
    position:absolute;
    bottom:14px;
    left:14px;
    width:42px;height:42px;
    background:var(--navy);
    border-radius:50%;
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:1rem;
    box-shadow:0 6px 16px rgba(0,0,0,.25);
  }

  /* Info cards */
  .ci-card{
    border-radius:14px;
    padding:1.2rem 1rem;
    height:100%;
    min-height:130px;
  }
  .ci-blue{background:#eef6fd;}
  .ci-green{background:#f2f8ec;}
  .ci-purple{background:#f2eefa;}
  .ci-orange{background:#fdf3e2;}

  .ci-icon{
    width:42px;height:42px;
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    color:#fff;
    font-size:1rem;
    margin-bottom:.7rem;
  }
  .ci-label{
    font-size:.75rem;
    color:#6b7280;
    margin-bottom:.2rem;
  }
  .ci-value{
    font-weight:600;
    font-size:.87rem;
    color:#1c2b45;
    line-height:1.4;
  }

  @media (max-width:767px){
    .contact-form-card{padding:1.6rem;}
  }
    display:flex;
    align-items:center;
    gap:4px;
    margin-left:16px;
    padding-left:16px;
    border-left:1px solid rgba(255,255,255,.25);
  }
  .lang-switch button{
    background:transparent;
    border:none;
    color:#cfd9ea;
    font-size:.85rem;
    font-weight:600;
    padding:3px 8px;
    cursor:pointer;
    font-family:inherit;
    border-radius:6px;
  }
  .lang-switch button.active{
    color:#fff;
    background:rgba(255,255,255,.15);
  }
  .lang-switch .divider{ color:rgba(255,255,255,.4); }


  .leaf{position: absolute; left: -120px; top:30px;}
  .icon1{position: absolute; left: 1%; top:30px;}
  .icon1 img,  .icon2 img{width: 80%}
  .icon2{position: absolute; left: 50%; top:30px;}



  .contact-section{
    font-family:'Poppins',sans-serif;
  }

  /* Form card */
  .contact-form-card{
    position:relative;
    overflow:hidden;
    background:#fff;
    border:1px solid #eef1f5;
    border-radius:18px;
    padding:2.2rem;
    height:100%;
    box-shadow:0 15px 40px rgba(19,42,82,.06);
  }
  .cf-blob{
    position:absolute;
    border-radius:50%;
    z-index:1;
  }
  .cf-blob-1{
    width:160px;height:160px;
    background:rgba(245,166,35,.08);
    top:-60px; right:-60px;
  }
  .cf-blob-2{
    width:120px;height:120px;
    background:rgba(111,168,76,.08);
    bottom:-40px; left:-40px;
  }
  .cf-title{
    font-family:'Playfair Display',serif;
    font-weight:700;
    color:#1c2b45;
    position:relative;
    z-index:2;
  }
  .cf-sub{
    color:#6b7280;
    font-size:.88rem;
    margin-bottom:1.5rem;
    position:relative;
    z-index:2;
  }
  .cf-label{
    font-size:.82rem;
    font-weight:600;
    color:#1c2b45;
    margin-bottom:.35rem;
  }
  .cf-input{
    border:1.5px solid #e5e9f0;
    border-radius:10px;
    padding:.65rem .9rem;
    font-size:.9rem;
  }
  .cf-input:focus{
    border-color:var(--blue);
    box-shadow:0 0 0 .2rem rgba(47,143,203,.15);
  }

  /* Map */
  .contact-map-wrap{
    position:relative;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(19,42,82,.08);
  }
  .contact-map{
    width:100%;
    height:249px;
    border:0;
    display:block;
    filter:grayscale(15%);
  }
  .map-pin-badge{
    position:absolute;
    bottom:14px;
    left:14px;
    width:42px;height:42px;
    background:var(--navy);
    border-radius:50%;
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:1rem;
    box-shadow:0 6px 16px rgba(0,0,0,.25);
  }

  /* Info cards */
  .ci-card{
    border-radius:14px;
    padding:1.2rem 1rem;
    height:100%;
    min-height:130px;
  }
  .ci-blue{background:#eef6fd;}
  .ci-green{background:#f2f8ec;}
  .ci-purple{background:#f2eefa;}
  .ci-orange{background:#fdf3e2;}

  .ci-icon{
    width:42px;height:42px;
    border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    color:#fff;
    font-size:1rem;
    margin-bottom:.7rem;
  }
  .ci-label{
    font-size:.75rem;
    color:#6b7280;
    margin-bottom:.2rem;
  }
  .ci-value{
    font-weight:600;
    font-size:.87rem;
    color:#1c2b45;
    line-height:1.4;
  }

  @media (max-width:767px){
    .contact-form-card{padding:1.6rem;}
  }

    .branch-card-sm{
    background:#fff;
    border-radius:16px;
    padding:1.2rem;
    border:1px solid #eef1f5;
    box-shadow:0 12px 30px rgba(19,42,82,.06);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .branch-card-sm:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 36px rgba(19,42,82,.1);
  }

  .branch-sm-header{
    display:flex;
    align-items:flex-start;
    gap:.8rem;
    margin-bottom:.8rem;
  }
  .branch-sm-icon{
    width:42px;height:42px;
    border-radius:12px;
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:1rem;
    flex-shrink:0;
  }
  .branch-sm-tag{
    display:inline-block;
    font-size:.65rem;
    font-weight:600;
    padding:.18rem .55rem;
    border-radius:20px;
    margin-bottom:.25rem;
  }
  .branch-sm-title{
    font-family:'Playfair Display',serif;
    font-weight:700;
    font-size:1.1rem;
    color:#1c2b45;
    margin:0;
  }
  .branch-sm-directions{
    width:32px;height:32px;
    border:1.5px solid currentColor;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:.82rem;
    flex-shrink:0;
    transition:background .2s ease, color .2s ease;
  }
  .branch-sm-directions:hover{background:currentColor;}
  .branch-sm-directions:hover i{color:#fff;}

  .contact-map-wrap-sm{
    position:relative;
    border-radius:12px;
    overflow:hidden;
  }
  .contact-map-sm{
    width:100%;
    height:150px;
    border:0;
    display:block;
    filter:grayscale(10%);
  }
  .map-pin-badge-sm{
    position:absolute;
    bottom:10px;
    left:10px;
    width:32px;height:32px;
    border-radius:50%;
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:.8rem;
    box-shadow:0 5px 14px rgba(0,0,0,.25);
  }

  .branch-sm-footer{
    display:flex;
    flex-wrap:wrap;
    gap:.6rem 1.2rem;
    padding-top:.6rem;
    border-top:1px dashed #e5e9f0;
    font-size:.8rem;
    color:#4b5563;
  }
  .branch-sm-footer i{margin-right:.3rem;}

  @media (max-width:575px){
    .branch-sm-footer{flex-direction:column; gap:.4rem;}
  }


  .facility-video {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(15, 23, 42, 0.12);
  background: #000;
}

.facility-video video {
  display: block;
  width: 100%;
  aspect-ratio: 9 / 16;
  object-fit: cover;
}

@media (max-width: 991px) {
  .facility-video {
    margin-top: 20px;
  }
}
.footer-whatsapp-location {
  color: #fff;
  font-size: 13px;
  margin-top: 8px;
}