@font-face {
  font-family: PlusJakartaSans-ExtraBold;
  src: url(https://5553274.fs1.hubspotusercontent-na1.net/hubfs/5553274/Summer%20camp%2026/fonts/PlusJakartaSans-ExtraBold.ttf);
}

@font-face {
  font-family: PlusJakartaSans-Medium;
  src: url(https://5553274.fs1.hubspotusercontent-na1.net/hubfs/5553274/Summer%20camp%2026/fonts/PlusJakartaSans-Medium.ttf);
}

@font-face {
  font-family: PlusJakartaSans-Bold;
  src: url(https://5553274.fs1.hubspotusercontent-na1.net/hubfs/5553274/Summer%20camp%2026/fonts/PlusJakartaSans-Bold.ttf);
}

@font-face {
  font-family: PlusJakartaSans-SemiBold;
  src: url(https://5553274.fs1.hubspotusercontent-na1.net/hubfs/5553274/Summer%20camp%2026/fonts/PlusJakartaSans-SemiBold.ttf);
}

@font-face {
  font-family: PlusJakartaSans-ExtraBold;
  src: url(https://5553274.fs1.hubspotusercontent-na1.net/hubfs/5553274/Summer%20camp%2026/fonts/PlusJakartaSans-ExtraBold.ttf);
}
.mobile,span.why-tag.mobile{
  display:none!important;
}

.bold,.cd-mini-lbl,.faq-q,.week-date,.week-tag ,.sb-row,.stat-label,.stat-value,.section12 .main-title{
  font-family: PlusJakartaSans-Bold;
}

p,.faq-a{
  font-family: PlusJakartaSans-Medium;
}
.feature-list li,.bonus-row{
  font-family: PlusJakartaSans-SemiBold;
}

h2,h2.section-title .accent,h4,.why-card.solution .why-tag,.why-card.problem .why-tag,h3,h3 span,.cd-mini-num,.price-badge,.price-amount,.bonus-tag,.bonus-row span,h2.section-title span,.reviewer,.wa-bar p,.wa-btn,.ch-num {
  font-family: PlusJakartaSans-ExtraBold;
}
.pkg-wrap .cta-btn{
  background:white!important;
  color:#0D0000;
}
:root {
  --new-darkgreen:#002D34;
  --new-lightgreen:#5D999F;
  --pink:       #FF2D78;
  --pink-light: #FF6BA8;
  --pink-pale:  #FFE8F1;
  --yellow:     #FFD600;
  --yellow-lt:  #FFF8DC;
  --sky:        #3BBFFF;
  --sky-lt:     #E0F5FF;
  --green:      #00C47A;
  --green-lt:   #E0FFF3;
  --cream:      #FFFBF2;
  --dark:       #1A0A2E;
  --mid:        #4A3760;
  --soft:       #8B7AAA;
  --border:     #EDE5F8;
  --white:      #FFFFFF;
  --r-card:     24px;
  --r-pill:     100px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Plus Jakarta Sans';background:#FFFBF2;overflow-x:hidden;}

/* ─── IMAGE PLACEHOLDER ────────────────────────────────── */
.img-ph{
  border-radius:20px;overflow:hidden;position:relative;
  background:linear-gradient(135deg,#F5EFF8 0%,#EDE4F6 100%);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;
}
.img-ph::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 20% 80%,rgba(255,45,120,.07) 0%,transparent 55%),
    radial-gradient(circle at 80% 20%,rgba(59,191,255,.07) 0%,transparent 55%);
}
.img-ph .ph-icon{
  width:48px;height:48px;background:rgba(255,45,120,.12);border-radius:50%;
  display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
}
.img-ph .ph-label{
  font-size:12px;font-weight:700;color:var(--soft);
  letter-spacing:.06em;text-transform:uppercase;position:relative;z-index:1;
}

.img-ph.warm .bg-video{
  opacity:unset!important;
}


/* .img-ph.warm{background:linear-gradient(135deg,#FFF5DC 0%,#FFE4B5 100%);}
.img-ph.warm::before{background:radial-gradient(circle at 25% 75%,rgba(255,180,0,.1) 0%,transparent 55%),radial-gradient(circle at 75% 25%,rgba(255,45,120,.06) 0%,transparent 55%);} */
.img-ph.cool{background:linear-gradient(135deg,#E8F7FF 0%,#D0EFFF 100%);}
.img-ph.cool::before{background:radial-gradient(circle at 20% 80%,rgba(59,191,255,.12) 0%,transparent 55%),radial-gradient(circle at 80% 20%,rgba(0,196,122,.07) 0%,transparent 55%);}
.img-ph.fresh{background:linear-gradient(135deg,#E8FFF5 0%,#D0FFE8 100%);}

/* ─── BLOBS ─────────────────────────────────────────────── */
.blob{position:absolute;border-radius:50%;opacity:.8;pointer-events:none;animation: gentleFloat 6s ease-in-out infinite;}
.blob-1{width:18%;height:200px;  top:-30px;left:-60px;z-index:3}

/* ─── HERO ─────────────────────────────────────────────── */
.hero{
  background-image: linear-gradient(181deg, #3d757c2b, #08363dd1);
  position:relative;overflow:hidden;padding: 3% 3% 14% 0%;
  /*   background:#B2EDD1; */
}
.ch-info p
{
  margin-bottom:0px;
}
.hero-inner{
  margin: 7% auto auto 6%;
  display:grid;grid-template-columns:1fr 1fr;
  align-items:center;position:relative;z-index:1;
}
@media(max-width:860px){.hero-inner{grid-template-columns:repeat(1,1fr);text-align:center;}}


.bg-video {
  height: 100%;
  left: 0;
  object-fit: cover;
  opacity: .3;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
.badge-top{
  font-family: PlusJakartaSans-ExtraBold;
  display:inline-flex;align-items:center;gap:8px;
  background:#A5D9DF;border:2px solid #FFFFFF;
  color:#1A0A2E;font-weight:800;font-size:12px;
  letter-spacing:.07em;text-transform:uppercase;
  padding:7px 16px;border-radius:var(--r-pill);margin-bottom:24px;
}

.hero h1{
  font-size:clamp(40px,5.5vw,72px);font-weight:800;line-height:1.08;
  color:#07444E;
  font-family: PlusJakartaSans-ExtraBold;
  text-shadow: -2px -2px 0 #8CD8FA, 0px -2px 0 #8CD8FA, 2px -2px 0 #8CD8FA, 2px 0px 0 #8CD8FA, 2px 2px 0 #8CD8FA, 0px 2px 0 #8CD8FA, -2px 2px 0 #8CD8FA, -2px 0px 0 #8CD8FA;
}
.hero .italic-block {
  color: #07444E;
  font-family: PlusJakartaSans-ExtraBold; 
  font-size: 32px;
  -webkit-text-stroke-width: 2px;
  text-shadow: -2px -2px 0 #8CD8FA, 0px -2px 0 #8CD8FA, 2px -2px 0 #8CD8FA, 2px 0px 0 #8CD8FA, 2px 2px 0 #8CD8FA, 0px 2px 0 #8CD8FA, -2px 2px 0 #8CD8FA, -2px 0px 0 #8CD8FA;
}
.hero-sub{
  font-family: PlusJakartaSans-Medium;
  font-size:17px;line-height:1.75;color:#07444E;font-weight:500;
  max-width:480px;margin-bottom:32px;
}
@media(max-width:860px){.hero-sub{margin-left:auto;margin-right:auto;}}

.chapter-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px;}
@media(max-width:860px){.chapter-pills{justify-content:center;}}
.cpill{
  display:flex;align-items:center;gap:7px;padding:9px 18px;font-family: PlusJakartaSans-Bold;
  border-radius:var(--r-pill);font-weight:700;font-size:12px;border:2px solid;
  transition:transform .2s,box-shadow .2s;cursor:default;background: #7db3bb75;
  color: #1A0A2E;
}
.cpill:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.1);}
.cpill-1{;border-color:#FFAAC8;}
.cpill-2{border-color:#FFDD74;}
.cpill-3{border-color:#96DDFF;}
.cpill-4{border-color:#8FFFD5;}

.hero-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px;}
@media(max-width:860px){.hero-meta{justify-content:center;}}
.meta-chip{
  display:flex;align-items:center;gap:7px;background:#7db3bb75;font-family: PlusJakartaSans-SemiBold;
  padding:9px 16px;border-radius:var(--r-pill);font-size:12px;font-weight:600;
  color:var(--dark);
  box-shadow: 0 2px 10px rgb(0 0 0 / 28%);
}
.dot{width:9px;height:9px;border-radius:50%;}
.dot-pink{background:var(--pink);}
.dot-sky{background:var(--sky);}
.dot-green{background:var(--green);}

.seats-bar{
  border-radius:16px;padding:16px 20px;
  box-shadow: 0 2px 10px rgb(0 0 0 / 28%);max-width:560px;margin-bottom:28px;background: #7db3bb75;
}
@media(max-width:860px){.seats-bar{margin-left:auto;margin-right:auto;}}
.sb-row{display:flex;justify-content:space-between;font-size:14px;font-weight:700;color:white;margin-bottom:10px;}
.sb-row .hl{color:#fff;}
.progress-track{background:#F0EBF8;border-radius:100px;height:11px;overflow:hidden;}
.progress-fill{
  height:100%;width:75.7%;
  background:linear-gradient(90deg,#B2EDD1);
  border-radius:100px;position:relative;
}

.cta-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:#002D34;color:var(--white);
  font-family: PlusJakartaSans-ExtraBold;font-size:17px;font-weight:800;
  padding:2% 8%;border-radius:var(--r-pill);border:none;cursor:pointer;
  text-decoration:none;
  transition:transform .2s,box-shadow .2s;
}
.cta-btn:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 14px 36px rgba(255,45,120,.5),inset 0 -2px 0 rgba(0,0,0,.15);}
.cta-arrow{transition:transform .2s;}
.cta-btn:hover .cta-arrow{transform:translateX(4px);}

.countdown-row{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items:center;gap:14px;    z-index: 1;
  position: relative;
  background:var(--dark);border-radius:18px;padding:3%;margin-top:20px;
}
.cd-label{font-size:18px;font-weight:800;color:var(--pink-light);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;display: inline-flex;font-family: PlusJakartaSans-ExtraBold;}
.cd-units{display:flex;gap:4%;align-items:center;}
.cd-unit{text-align:center;width:100%}
.cd-num{
  display:block;font-size:32px;font-weight:800;color:var(--yellow);font-family: PlusJakartaSans-ExtraBold;
  background:rgba(255,255,255,.08);border-radius:10px;padding:6px 8px;min-width:42px;line-height:1;
}
.cd-lbl{font-size:16px;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;display:block;font-family: PlusJakartaSans-Bold;}
.cd-sep{font-size:28px;font-weight:800;color:var(--soft);line-height:1;}

/* hero right */
.hero-right{position:relative;display:flex;flex-direction:column;gap:16px;}
.hero-img-main .img-ph{width:100%;min-height:550px;border-radius:20px;}
.hero-img-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.hero-img-sm .img-ph{width:100%;min-height:140px;border-radius:16px;}
.stat-card{
  position:absolute;bottom:108px;left:-36px;
  background:var(--white);border-radius:16px;padding:14px 18px;
  box-shadow:0 8px 32px rgba(0,0,0,.12);
  display:flex;align-items:center;gap:12px;min-width:160px;
  animation: gentleFloat 6s ease-in-out infinite;
  z-index:1;
}
.stat-icon{width:40px;height:40px;border-radius:12px;background:var(--pink-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.stat-card h5{font-size:18px;font-weight:800;color:var(--dark);line-height:1;font-family: PlusJakartaSans-ExtraBold;}
.stat-card p{font-size:11px;font-weight:600;color:var(--soft);font-family: PlusJakartaSans-SemiBold;}
.schol-badge{
  position:absolute;top:16px;right:-20px;
  background:linear-gradient(135deg,var(--dark),#2D1A45);
  border-radius:16px;padding:12px 16px;
  box-shadow:0 6px 24px rgba(0,0,0,.2);text-align:center;
  animation: gentleFloat 6s ease-in-out infinite;
  z-index:1;font-family: PlusJakartaSans-ExtraBold;
}
.why-layout {gap:2%}
.schol-badge .num{font-size:22px;font-weight:800;color:var(--yellow);line-height:1;font-family: PlusJakartaSans-ExtraBold;}
.schol-badge .lbl{font-size:10px;font-weight:700;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.08em;font-family: PlusJakartaSans-Bold;}
@media(max-width:860px){.stat-card,.schol-badge{display:none;}}
.hero-wave{position:absolute;left:0;right:0;line-height:0;}
.hero-wave svg{display:block;width:100%;}

/* ─── SHARED SECTION ─────────────────────────────────────── */
.section{padding:3%;background:#FFFBF2}
.section-label{
  font-family: PlusJakartaSans-ExtraBold;
  display:inline-flex;align-items:center;gap:8px;justify-content:center;
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--new-darkgreen);margin-bottom:12px;
}
.section-label::before,.section-label::after{content:'';display:block;height:2px;width:24px;background:#002D34;border-radius:2px;}
h2.section-title{font-size:clamp(28px,4vw,46px);font-weight:800;line-height:1.14;color:var(--dark);margin-bottom:14px;}
h2.section-title .accent{color:var(--new-lightgreen);}
.section-sub{font-size:16px;color:var(--mid);line-height:1.75;font-weight:500}

/* ─── WHY ─────────────────────────────────────────────────── */

.why-card{border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;padding:0px}
.why-card-img{aspect-ratio:16/9;flex-shrink:0;align-self:center}
.img-ph{width:100%;height:100%;min-height:180px;border-radius:0;}
.why-card-body{padding:28px 28px 32px;flex:1;}
.why-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:100px;margin-bottom:14px;}
.why-card.problem{background:var(--white);}
.why-card.problem .why-tag{background:rgba(255,45,120,.1);color:var(--pink);}
.why-card.solution{background:linear-gradient(145deg,#5E9CA3 0%,#002D34 100%);color:var(--white);}
.why-card.solution .why-tag{background:rgba(255,255,255,.18);color:var(--white);}
.why-card-body h4{font-size:20px;font-weight:800;margin-bottom:10px;line-height:1.3;}
.why-card-body p{font-size:14px;line-height:1.78;font-weight:500;opacity:.88;}
.why-card.problem h4,.why-card.problem p{color:var(--dark);}
.why-icon-strip{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.why-card.problem .why-icon-strip{background:rgba(255,45,120,.1);}
.why-card.solution .why-icon-strip{background:rgba(255,255,255,.18);}

/* ─── CURRICULUM ──────────────────────────────────────────── */
/* .curriculum-wrap{background:linear-gradient(180deg,#FFF5FB 0%,#F5F0FF 100%);padding:80px 0;} */
.curriculum-inner{max-width:1160px;margin:0 auto;padding:0 24px;}
.grade-tabs{display:flex;gap:10px;margin:36px 0 28px;flex-wrap:wrap;}
.grade-tab{
  padding:11px 24px;border-radius:var(--r-pill);font-weight:800;font-size:14px;
  border:2.5px solid var(--border);background:#3E8699;color:#fff;
  cursor:pointer;transition:all .22s;font-family: PlusJakartaSans-ExtraBold;
  display:flex;align-items:center;gap:8px;
}
.grade-tab.active,.grade-tab:hover{background:#002D34;color:var(--white);border-color:#E9D286;transform:translateY(-2px);box-shadow:0 6px 18px rgba(255,45,120,.35);}
.timing-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px;}
.timing-chip{background:#3e8699;border:2px solid var(--border);border-radius:14px;padding:12px 18px;font-size:13px;font-weight:700;color:#fff;font-family: PlusJakartaSans-Bold;}
.timing-chip span{font-family: PlusJakartaSans-ExtraBold;display:block;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;font-weight:800;}

.chapter-list{display:flex;flex-direction:column;gap:14px;}
.chapter-item{background:#3e8699;border-radius:20px;border:2px solid var(--border);overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.chapter-item:hover{border-color:#EDE5F8;box-shadow:0 4px 20px rgba(255,45,120,.08);}
.chapter-header{display:flex;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;user-select:none;}
.ch-num{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0;}
.ch-1{background:var(--pink-pale);}
.ch-2{background:var(--yellow-lt);}
.ch-3{background:var(--sky-lt);}
.ch-4{background:var(--green-lt);}
.ch-info{flex:1;}
.ch-info h4{font-size:16px;font-weight:800;margin-bottom:3px;display:flex;align-items:center;gap:8px;}
.ch-info p{font-size:13px;color:var(--soft);font-weight:600;}
.ch-toggle{
  width:30px;height:30px;border-radius:50%;
  background:var(--pink-pale);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:transform .25s,background .2s;
}
.chapter-item.open .ch-toggle{transform:rotate(45deg);background:#5E8995;color:var(--white);}
.chapter-body{display:none;padding:0 24px 24px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.chapter-item.open .chapter-body{display:grid;}
.week-card{border-radius:16px;padding:18px;border:1.5px solid var(--border);background: #FAFAFA33;}
.week-date{font-size:11px;font-weight:700;color:var(--pink);letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;}
.week-card h5{font-size:15px;font-weight:800;margin-bottom:6px;color:#E2E2E2;font-family: PlusJakartaSans-ExtraBold;}
.week-card p{font-size:13px;color:var(--soft);font-weight:500;line-height:1.55;}
.week-tag{display:inline-block;margin-top:10px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:100px;text-transform:uppercase;letter-spacing:.06em;}
.tag-pink{background:var(--pink-pale);}
.tag-yellow{background:var(--yellow-lt);color:#7A5C00;}
.tag-sky{background:var(--sky-lt);color:#007EB5;}
.tag-green{background:var(--green-lt);color:#007A4A;}
.week-card p{
  margin-bottom:0px;
}
.schol-banner{
  width: 80%;
  margin: auto;
  background:var(--dark);border-radius:28px;padding:48px;
  display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;
  position:relative;overflow:hidden;
}
@media(max-width:700px){.schol-banner{grid-template-columns:1fr;}}
.schol-banner::before{
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='2' fill='%23FF2D78' fill-opacity='0.08'/%3E%3C/svg%3E");
}
.schol-banner-left{position:relative;z-index:1;}
.schol-banner-left h3{font-size:26px;font-weight:800;color:var(--white);margin-bottom:8px;line-height:1.3;}
.schol-banner-left h3 span{color:var(--yellow);}
.schol-banner-left p{font-size:14px;color:rgba(255,255,255,.65);font-weight:500;line-height:1.7;}
.schol-banner-right{display:flex;flex-direction:column;align-items:center;gap:20px;position:relative;z-index:1;}
.cd-mini{display:flex;gap:8px;align-items:center;}
.cd-mini-unit{text-align:center;}
.cd-mini-num{display:block;font-size:32px;font-weight:800;color:var(--yellow);background:rgba(255,255,255,.08);border-radius:12px;padding:8px 10px;min-width:54px;line-height:1;}
.cd-mini-lbl{font-size:9px;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;display:block;}
.cd-sep-mini{font-size:24px;font-weight:800;color:rgba(255,255,255,.3);line-height:1;padding-top:4px;}

/* ─── HOW TO JOIN ────────────────────────────────────────── */
.how-wrap{background:#FFFBF2;padding:3%;}
.how-inner{margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
@media(max-width:860px){.how-inner{grid-template-columns:1fr;}}
.how-img{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.how-img-main{grid-column:1/-1;}
.how-img-main .img-ph{width:100%;min-height:200px;}
.how-img-sm .img-ph{width:100%;min-height:130px;}
.steps-list{display:flex;flex-direction:column;gap:28px;margin-top:40px;}
.step-item{display:flex;gap:20px;align-items:flex-start;position:relative;}
.step-item:not(:last-child)::after{
  content:'';position:absolute;left:24px;top:50px;width:2px;height:calc(100% + 4px);
  background:var(--border);
}
.step-num-circle{
  width:50px;height:50px;border-radius:50%;
  background:#002D34;color:var(--white);font-size:18px;font-weight:800;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  position:relative;z-index:1;
}
.step-body h4{font-size:17px;font-weight:800;margin-bottom:6px;}
.step-body p{font-size:14px;color:var(--mid);line-height:1.7;font-weight:500;}

/* ─── PACKAGE ─────────────────────────────────────────────── */
.pkg-wrap{background-image: linear-gradient(181deg, #3d757c, #08363d);padding:12% 3%;}
.pkg-inner{max-width:1160px;margin:0 auto;}
.pkg-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:3%;}
@media(max-width:760px){.pkg-grid{grid-template-columns:1fr;}}
.price-card{
  background-color: rgb(255 255 255 / 13%);border-radius:28px;padding:5%;
  border:3px solid #AEDF79;position:relative;overflow:hidden;
}
.price-card::before{content:'';position:absolute;width:200px;height:200px;border-radius:50%;background:#5FA4B1;right:-60px;top:-60px;pointer-events:none;background-color: rgb(255 255 255 / 13%);}
.price-badge{display:inline-block;color:var(--white);font-size:12px;font-weight:800;padding:5px 14px;border-radius:100px;letter-spacing:.07em;text-transform:uppercase;margin-bottom: 10px;
  background: #5D999F;}
.price-amount{font-size:56px;font-weight:800;color:#fff;line-height:1;margin-bottom:5px;}
.price-sub{font-size:14px;color:var(--mid);font-weight:600;margin:5% 0;}
.feature-list{list-style:none;display:flex;flex-direction:column;gap:13px;padding: 0px;}
.feature-list li{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:600;color:var(--dark);line-height:1.5;}
.feat-check{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--pink-pale);color:var(--pink);display:flex;align-items:center;justify-content:center;margin-top:1px;}
.bonus-card{
  background:linear-gradient(145deg,#002D34 0%,#25698C 100%);
  border-radius:28px;padding:5%;color:var(--white);position:relative;overflow:hidden;
}
.bonus-tag{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--yellow);color:var(--dark);font-size:11px;font-weight:800;
  padding:5px 14px;border-radius:100px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:20px;
}
.bonus-card h4{font-size:21px;font-weight:800;margin-bottom:12px;line-height:1.3;position:relative;}
.bonus-card p{font-size:14px;color:rgba(255,255,255,.7);line-height:1.75;font-weight:500;position:relative;margin-bottom:5%;}
.bonus-warn{font-size:12px;color:rgba(255,180,180,.8);font-weight:700;margin-bottom:22px;position:relative;}
.bonus-rows{display:flex;flex-direction:column;gap:9px;position:relative;}
.bonus-row{
  display:flex;justify-content:space-between;align-items:center;
  background:rgba(255,255,255,.07);border-radius:11px;padding:10px 14px;
  font-size:15px;font-weight:600;
}
.bonus-row span:last-child{color:var(--yellow);font-weight:800;}

/* ─── FAQs ────────────────────────────────────────────────── */
.faq-list{display:flex;flex-direction:column;gap:12px;margin-top:2%;}
.faq-item{background:var(--white);border-radius:18px;border:2px solid #EDE5F8;overflow:hidden;transition:border-color .2s;}
.faq-item:hover{border-color:#EDE5F8;}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;cursor:pointer;font-size:15px;font-weight:700;color:var(--dark);gap:16px;}
.faq-icon{width:28px;height:28px;border-radius:50%;background:#FFE8F1;color:#002D34;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .25s,background .2s;}
.faq-item.open .faq-icon{transform:rotate(45deg);background:#002d34;color:var(--white);}
.faq-a{display:none;padding:0 24px 20px;font-size:14px;color:var(--mid);line-height:1.78;font-weight:500;}
.faq-item.open .faq-a{display:block;}

/* ─── REVIEWS ─────────────────────────────────────────────── */
.reviews-bg{background-image: linear-gradient(181deg, #3d757c, #08363d);padding:3%;}
.reviews-inner{margin:0 auto;}
.reviews-inner .section-label{color:#fff;}
.reviews-inner .section-label::before,.reviews-inner .section-label::after{background:#fff;}
.reviews-grid{
  display:flex;gap:18px;margin-top:44px;
}
.review-card{
  background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.1);
  border-radius:20px;padding:24px;
  transition:transform .25s,background .25s;display:flex;flex-direction:column;gap:14px;
  width:50%;
}
.review-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.09);}
.review-avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg, #FFE8F1, #CDE7EB););
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.review-top{display:flex;align-items:center;gap:12px;}
.stars{color:var(--yellow);font-size:13px;letter-spacing:2px;margin-bottom:2px;}
.reviewer{font-size:12px;font-weight:800;color:rgba(255,255,255,.5);}
.review-text{font-size:13px;color:rgba(255,255,255,.78);line-height:1.72;font-weight:500;flex:1;}

/* ─── FINAL CTA ───────────────────────────────────────────── */
.final-cta{   
  overflow: hidden;
  padding: 5%;
  text-align: center;
  background-image: url(https://5553274.fs1.hubspotusercontent-na1.net/hubfs/5553274/Summer%20camp%2026/BG.png);
  background-position: center;
}
.final-inner{position:relative;z-index:1;}
.final-cta h2{font-size:clamp(28px,4.5vw,50px);font-weight:800;color:#5D999F;margin-bottom:12px;line-height:1.15;}
.final-cta p{font-size:17px;color:#002D34;font-weight:500;}
.cta-btn-white{font-family: PlusJakartaSans-ExtraBold;
  display:inline-flex;align-items:center;gap:10px;background:#002D34;color:#fff;
  font-size:17px;font-weight:800;
  padding:17px 40px;border-radius:var(--r-pill);border:none;cursor:pointer;
  text-decoration:none;box-shadow:0 8px 28px rgba(0,0,0,.18);transition:transform .2s,box-shadow .2s;
}
.cta-btn-white:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 14px 36px rgba(0,0,0,.22);}
.final-cd{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:28px;font-size:13px;font-weight:700;color:rgba(255,255,255,.65);}
.final-cd span{color:var(--white);font-weight:800;}


.wa-btn:hover{transform:scale(1.04);}


.ch-info h4,.ch-info p,.week-date,.week-card p{
  color:#fff;
}

.wa-bar{background:#0E9646;padding:20px 24px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background-image:url(https://5553274.fs1.hubspotusercontent-na1.net/hubfs/5553274/Summer%20camp%2026/whatsappbg.png);}
.wa-bar p{font-size:15px;font-weight:700;color:var(--white);margin-bottom:0px;}
.wa-btn{
  display:inline-flex;align-items:center;gap:8px;background:var(--white);color:#00A63C;
  font-size:14px;font-weight:800;
  padding:10px 22px;border-radius:var(--r-pill);text-decoration:none;transition:transform .2s;
}
.wa-btn:hover{transform:scale(1.04);}

.how-wrap .bg-video {
  height: 75%;
  left: 0;
  object-fit: cover;
  /*     opacity: .3; */
  pointer-events: none;
  position: relative;
  top: 0;
  width: 100%;
  z-index: 0;
}
.curriculum-wrap .section-label,.curriculum-wrap h2.section-title,.curriculum-wrap h2.section-title .accent,.curriculum-wrap .section-sub,.pkg-wrap .section-label,.pkg-wrap h2.section-title,.pkg-wrap h2.section-title .accent,.pkg-wrap .section-sub,.price-sub,.feature-list li{
  color:#FFFFFF!important; 
}
.curriculum-wrap {
  position: relative;
  overflow: hidden; 
  background-image: linear-gradient(181deg, #3D757C, #08363D);
}

.curriculum-wrap .bg-video {
  position: absolute; /* Changed from relative */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* Changed to 100% to cover the entire container */
  object-fit: cover; /* Ensures the video fills the space without stretching */
  pointer-events: none;
  z-index: 0; /* Keeps it at the very bottom layer */
}

/* 3. Bring your content layer to the front */
.curriculum-wrap .curriculum-inner {
  position: relative;
  z-index: 1; /* Places the text and cards above the video */
}
.section12 .modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(5px);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  padding: 20px;
}

.section12 .modal-overlay.visible {
  display: flex;
}

.section12 .modal-content-container {
  background-color: #ffffff;
  width: 100%;
  max-width: 800px;
  border-radius: 15px;
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

/* --- Dark Header Section --- */
.section12 .form-header-black {
  background-color: #1E5158;
  color: #fff;;
  text-align: center;
  padding: 35px 20px;
  border-radius: 15px 15px 0 0;
}

.section12 .form-header-black h1 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}

.section12 .form-header-black p {
  font-size: 14px;
  color: #fff;
  margin-bottom: 15px;
}

.section12 .free-badge {
  background-color: #ffcc00;
  color: #000000;
  font-weight: 800;
  font-size: 14px;
  padding: 4px 24px;
  border-radius: 20px;
  display: inline-block;
}

/* --- Form Body & Sections --- */
.section12 .form-body-wrapper {
  padding: 30px;
}

.section12 .section-heading {
  font-size: 18px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 15px;
  display: block;
}

.section12 .form-group-section {
  margin-bottom: 25px;
}

/* --- Input Fields & Selects --- */
.section12 .form-control, 
.section12 .form-select {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 14px;
  margin-bottom: 5px;
  background-color: #ffffff;
  color: #1f2937;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.section12 .form-control:focus, 
.section12 .form-select:focus {
  outline: none;
  border-color: #8c4448;
  box-shadow: 0 0 0 3px rgba(140, 68, 72, 0.1);
}

.section12 .error-message {
  color: #dc2626;
  font-size: 12px;
}

/* --- Student Card Style --- */
.section12 .student-card-box {
  background-color: #FFFBF2; /* Light blue tint from screenshot */
  padding: 20px;
  border-radius: 10px;
  border: 1px solid #e0e7ff;
  margin-bottom: 15px;
}

.section12 .student-label {
  font-size: 13px;
  font-weight: 700;
  color: #1e293b;
  text-transform: uppercase;
  margin-bottom: 12px;
  display: block;
}

/* --- Dashed "Add Student" Buttons --- */
.section12 .dashed-add-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px;
  border: 1.5px dashed #1A0A2E;
  background: transparent;
  border-radius: 8px;
  color: #5D999F;
  font-weight: 600;
  cursor: pointer;
  margin-bottom: 10px;
  transition: all 0.2s;
}

.section12 .dashed-add-btn:hover {
  background-color: #eff6ff;
  border-color: #2563eb;
}

/* --- Footer & Submit --- */
.section12 .btn-submit-full {
  width: 100%;
  background: #002D34;
  color: #ffffff;
  padding: 16px;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
  letter-spacing: 1px;
  margin:auto;
  display:block;
}

.section12 .btn-submit-full:hover {
  background-color: #222222;
}

.section12 .form-check-label {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.4;
}

/* --- Custom Close Button --- */
.section12 .close-modal-btn {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(255,255,255,0.1);
  border: none;
  color: #ffffff;
  font-size: 24px;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

.section12 .close-modal-btn:hover {
  background: rgba(255,255,255,0.2);
}

/* Scrollbar Styling */
.section12 .modal-content-container::-webkit-scrollbar {
  width: 6px;
}
.section12 .modal-content-container::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
}
.section12 .main-title{
  font-size:32px;
}

.how-wrap .margin{
  margin-top:3%;
  text-align:center;
}

@media(max-width:768px){
  img.img-fluid.student750 {
    position: absolute;
    left: 5%!important;
    top: 5%!important;
    width:unset!important;
  }
  .hero-right {
    margin-top:4%;
  }
  .price-card1 .price-amount {
    font-size: 15px!important;
  }
  .bonus-row .width{
    width:60%!important;
  }
  .hero-img-main .img-ph {
    border-radius: 20px;
    min-height: 330px;
  }
  h3 {
    font-size: 18px!important;
  }
  h4 {
    font-size: 16px!important;
  }
  .hero-inner{
    gap:unset;
  }
  .why-card-body {
    padding: 4%;
  }
  p{
    font-size:12px!important;
  }
  h2{
    font-size:24px!important;
  }
  .hero h1,.pkg-grid {
    font-size: 32px;
  }
  .hero-sub,.cd-label  {
    font-size: 14px;
  }
  .cd-num,.cd-mini-num,.step-num-circle,.faq-q {
    font-size:14px;
  }
  .cd-lbl,.feature-list li,.faq-a{
    font-size:12px;
  }
  .cta-btn{
    padding: 3% 10%;
  }
  .schol-banner {
    padding:3%;
  }
  .step-num-circle{
    width:40px;
    height:40px;
  }
  .step-item:not(:last-child):after {
    left:18px;
    top:38px;
  }
  .steps-list{
    gap:unset;
  }

}


@media(max-width:767px){
  .hero-inner {
    margin:0px;
    padding:5%;
  }
  .cpill{
    width: 100%;
    text-align: center;
    justify-content: center;
    padding: 5%;
  }
  .chapter-pills {
    grid-template-columns: repeat(2, 1fr);
    display: grid;
  }
  .price-card1{
    padding:5%!important;
  }
  .wa-bar p{
    text-align:center;
  }
  .curriculum-wrap{
    margin-top:9%;
  }
  .liveinteractive {
    position: absolute;
    top: 82%!important;
    right: 0!important;
    width: 34%!important;
    /* z-index: 10; */
    /* pointer-events: none; */
    display: block !important;
  }
  .blob-1 {
    width: 34%;
    height: 200px;
    top: 0px;
    left: -19px;
  }
  img.img-fluid.student750{
    display:none;
  }
  .hero .italic-block{
    font-size:22px;
  }
  .hero h1{
    font-size:62px;
  }
  .preserver-deco {
    width: 60px;
    top: 50px;
    right: 2%;
  }
  .reviews-grid{
    display:flex!important;
  }
  .reviews-bg.relative-container {
    padding-top: 26%!important;
    padding-bottom: 18%!important;
  }
  .curriculum-wrap, .pkg-wrap {
    padding: 27% 3%!important;
  }
  ul {
    padding-left: 0px;
  }
  .price-badge{
    padding:0px;
    margin-bottom:0px;
  }
  .price-card {
    padding:1% 3%;
  }
  /*   .price-sub{
  margin-bottom:0px;
} */
  .price-amount {
    font-size: 28px;
  }
  .col-sm-5.why-card img {
    display: none;
  }
  .hero-inner {
    grid-template-columns: repeat(1, 1fr);
    text-align: center;
  }
  .badge-top,.hero-sub,.hero-meta{
    margin-bottom: 3%;
  }
  .hero-img-main .img-ph{
    margin-top:5%;
    min-height: 208px;
  }
  .countdown-row {
    grid-template-columns: repeat(1, 1fr);
  }
  .cd-label 
  {
    justify-content: center;
  }
  .cd-label br{
    display:none;
  }
  .cd-label svg {
    display: none !important;
  }
  .countdown-row,.cd-num{
    background:unset;
  }
  .cd-unit{
    background:var(--dark);
    background: var(--dark);
    border-radius: 10px;
    padding: 1%;
  }
  .mobile,span.why-tag.mobile{
    display:block!important;
  }
  span.why-tag.mobile {
    width: fit-content;
  }
  p.hero-sub.mobile{
    color:#fff;
    margin-top:3%;
  }

  span.why-tag.desktop,.desktop,.hero .flamingo-deco{
    display:none!important;
  }
  .cta-btn {
    border-radius: 8px;
    padding: 3%;
    justify-content: center;
    width: 90%;
    margin: auto;
    text-align: center;
    display: block;
    border-radius:100px;
  }

  .why-layout {
    padding: 5%;
  }
  .section-sub{
    margin-bottom:0px;
  }
  .section{
    margin-top:5%;
  }
  .why-card.problem {
    background-color: #fff;

  }
  .why-card.solution{
    background-color:#FF2D78;
    margin-top:4%;
  }
  .why-card.problem h4, .why-card.problem p{
    color:black;
  }
  .why-icon-strip {
    display: none;
  }
  .timing-row{
    display:none;
  }
  .grade-tabs {
    flex-wrap: nowrap; 
    overflow-x: auto; 
    scrollbar-width: thin; 
    justify-content: flex-start !important; 
    padding-left: 15px; 
    padding-right: 15px;
    padding-bottom: 10px; 
    padding-top:1%;
    scrollbar-width: thin; 
    scrollbar-color: #fff transparent!important;
  }

  .grade-tabs::-webkit-scrollbar {
    height: 10px;
  }

  .grade-tabs::-webkit-scrollbar-track {
    background: transparent!important;
  }

  .grade-tabs::-webkit-scrollbar-thumb {
    background: #fff!important;
    border-radius: 10px;
  }

  .grade-tab {
    flex-shrink: 0; 
  }
  .how-wrap .col-sm-6.col-5.align-self-center {
    display: none;
  }
  .how-wrap .col-sm-6.col-5 {
    width: 100%;
  }
  .how-wrap-text{
    text-align:center;
  }
  .schol-banner{
    width:100%;
    text-align:center;
    padding:10%;
  }

  .margin p {
    display: none;
  }
  .reviews-grid {
    display: flex!important;
    flex-wrap: nowrap!important;
    overflow-x: auto!important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    gap: 16px;
    padding-bottom: 15px;
    scrollbar-width: thin; 
    scrollbar-color: #fff transparent;
  }

  .reviews-grid::-webkit-scrollbar {
    height: 6px;
  }

  .reviews-grid::-webkit-scrollbar-track {
    background: transparent;
  }

  .reviews-grid::-webkit-scrollbar-thumb {
    background: #d1d1d1;
    border-radius: 10px;
  }

  .review-card {
    flex-shrink: 0;
    width: 300px;
    max-width: 85vw; 
  }
  .hero-inner .bg-video {
    height: 75%;
    left: 0;
    object-fit: cover;
    /*     opacity: .3; */
    pointer-events: none;
    position: relative;
    top: 0;
    width: 100%;
    z-index: 0;
  }

}



/* 1. Make the parent relative so the absolute child stays anchored to it */
.why-card.solution {
  position: relative; 
}

/* 2. Position the arrow wrapper outside the card */
.live-arrow-wrapper {
  position: absolute;
  top: 40%; /* Adjust this percentage to move it up or down along the seam */
  right: -160px; /* Pulls the element outside the right edge of the card */
  width: 140px;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 10;
}

/* 3. Style the graphic and text */
.arrow-graphic {
  width: 60px; /* Adjust based on your actual arrow asset */
  margin-bottom: 5px;
}

.live-text-block {
  text-align: center;
  /* You will likely want to apply a handwritten font-family here */
  color: #1a4a4f; /* Matches the dark text in your design */
}

.live-heading {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.live-subheading {
  font-size: 0.9rem;
  font-weight: 600;
}

/* 4. Crucial: Mobile responsiveness */
/* Elements pulled outside via negative margins/right properties will cause horizontal scrolling on phones. */
@media (max-width: 991px) {
  .desktop-only {
    display: none !important; 
  }
}



.how-wrap .section-label:after, .how-wrap .section-label:before {
  background:#002D34;
}

.how-wrap-text{
  text-align:center;
}

/* 1. Make the outer wrapper relative to contain the absolute video */
.pkg-wrap {
  position: relative;
  overflow: hidden; 
}

/* 2. Pin the video to the edges and drop it to the back */
.pkg-wrap .bg-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  z-index: 0;
}

/* 3. Pull all the content to the front so it's clickable and readable */
.pkg-inner {
  position: relative;
  z-index: 1;
}

.bonus-row .width{
  width:70%;
}


.price-card1 {
  background-color: hsla(0, 0%, 100%, .13);
  border: 3px solid #aedf79;
  border-radius: 15px;
  overflow: hidden;
  padding: 1%;
  position: relative;
  margin-top: 3%;
}


.price-card1 .price-amount {
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  margin-bottom:0px;
  justify-content: space-between;
  display: flex;
  margin: 0 3%;
}


.price-card1 .bonus {

  background: black;
  color: white;
  width: fit-content;
  padding: 0.5% 3%;
  border-radius: 30px;
  text-transform: uppercase;
  font-family: PlusJakartaSans-ExtraBold;
  align-self: center;
}

.price-card1 .star{
  margin: 0 0 2% 0;
  display:flex;
}
.price-card1 .starimg{
  position: relative;
  left: 2%;
}

.price-card1.bonus:before {
  background: #5fa4b1;
  background-color: hsla(0, 0%, 100%, .13);
  border-radius: 50%;
  content: "";
  height: 200px;
  pointer-events: none;
  position: absolute;
  right: -60px;
  top: -60px;
  width: 200px;
  clip-path: inset(60px 60px 0 0);
}
.price-card1.bonus{
  background:#2D6256;
  overflow:visible!important;
}

.price-card1 img.img-fluid.starblocks {
  position: absolute;
  bottom: -35px; /* Adjust this to push it further down */
  right: -6%;  /* Adjust this to push it further right */
  z-index: 10;

  /* Resetting your old values to prevent conflicts */
  left: auto;
  top: 55%;
}


/* 1. The Main Container */
.registration-tracker {
  background-color: #235060;
  border-radius: 12px;
  margin: 3% auto auto;
  max-width: 800px;
  padding: 3% 5%;
  width: 100%;
}
/* 2. The Text Layout */
.tracker-stats {
  display: flex;
  justify-content: space-between;
  color: #ffffff;
  font-size: 15px;
  margin-bottom: 12px;
  font-weight: 600;
}

.stat-group {
  display: flex;
  gap: 30px; /* Creates the exact spacing between the label and the number */
}

/* 3. The Progress Bar Track (Background) */
.tracker-bar-bg {
  background-color: #f4ecf5; /* Light pink/white track color */
  height: 10px;
  border-radius: 10px;
  width: 100%;
  overflow: hidden; /* Ensures the fill doesn't bleed outside the rounded corners */
}

/* 4. The Progress Bar Fill */
.tracker-bar-fill {
  /* Uses a slight gradient to match the vibrant green/cyan in the design */
  background: linear-gradient(90deg, #74f5bd 0%, #00fa9a 100%);
  height: 100%;
  border-radius: 10px;
  transition: width 0.4s ease-in-out; /* Smooth slide if updated dynamically */
}

/* 5. Mobile Responsiveness */
@media (max-width: 576px) {
  .tracker-stats {
    flex-direction: column;
    gap: 8px;
  }
  .stat-group {
    justify-content: space-between; /* Pushes label to left and number to right on phones */
    gap: 0; 
  }
}



.pkg-inner.content-front {
  position: relative;
  z-index: 5; 
}


/* 3. Bottom Wave Styling */
.wave-bottom {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  z-index: 2; /* Sits above the background video */
}
.wave-bottom svg {
  display: block;
  width: calc(100% + 1.3px)!important;
  height: 110px!important; /* Adjust thickness of the bottom wave */
}

/* 4. Flamingo / Swan Positioning */
.flamingo-deco {
  position: absolute;
  bottom: 4%; /* Tweak this value to move it up or down the crest of the wave */
  left: 8%;   /* Keeps it tucked to the left side */
  width: 90px;  /* Adjust size as needed */
  z-index: 3;   /* Higher than the wave (2) so the legs overlap the white area */
  pointer-events: none;
  animation: gentleFloat 4s ease-in-out infinite;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
  /*   .reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr)
} */
  .review-card{
    width:100%;
  }

  .flamingo-deco {
    width: 60px; /* Make it smaller on phones */
    bottom: 20px;
    left: 2%;
  }
}

/* Ensure your wave-top still has these rules to sit at the top of the section */
.wave-top {
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg); /* This keeps the white part facing the ceiling */
  z-index: 2; 
}
.wave-top svg {
  display: block;
  width: calc(100% + 1.3px)!important;
  height: 100p!important; /* Increase this to make the waves taller/steeper */
}

/* Position the Life Preserver */
.preserver-deco {
  position: absolute;
  top: 40px;   /* Adjust this to float it higher or lower on the wave */
  right: 5%;   /* Keeps it tucked to the right side */
  width: 90px; /* Adjust size based on your actual image */
  z-index: 5;  /* Ensures it sits on top of the wave */
  pointer-events: none;
  animation: gentleFloat 6s ease-in-out infinite;
}

/* Mobile sizing for the preserver */
@media (max-width: 768px) {
  .reviews-bg.relative-container {
    padding-top: 14%;
    padding-bottom: 14%;
  }
  .faq-list {
    max-width: 600px;
  }
  .preserver-deco {
    width: 60px;
    top: 20px;
    right: 2%;
  }
}

.curriculum-wrap{
  padding:12% 3%;
}

.faq-section-wrapper {
  position: relative;
  /* CRITICAL: Prevents the leaf from causing horizontal scrollbars */
  overflow: hidden; 
}

/* 2. Position the Leaf */
.faq-leaf-deco {
  pointer-events: none;
  position: absolute;
  right: -2%;
  top: auto;
  width: 14%;
  z-index: 1;
  animation: gentleFloat 6s ease-in-out infinite;
}

.faq-list{
  max-width:800px;
  margin:auto;
}

.reviews-bg .bg-video {
  height: 75%;
  left: 0;
  object-fit: cover;
  /*     opacity: .3; */
  pointer-events: none;
  position: relative;
  top: 0;
  width: 100%;
  z-index: 0;
}

.reviews-inner{
  position: relative;
  overflow: hidden; 
}

.reviews-bg .bg-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures the video fills the box without distorting/stretching */
  pointer-events: none; /* Prevents the video from swallowing clicks meant for the page */
  z-index: 0; /* Drops it to the very bottom layer */
}
.reviews-bg.relative-container {
  position: relative;
  overflow: hidden; 
  padding-top: 8%; 
  padding-bottom: 8%; 
}

.why-layout .col-sm-5.why-card.solution {
  position: relative;
  overflow: visible !important; 
}

.liveinteractive {
  position: absolute;
  top: 45%;
  right: -19%;
  width: 24%;
  z-index: 10;
  pointer-events: none;
}
.preserver-deco1 {
  position: absolute;
  top: 40px;
  left: 5%;
  width: 90px;
  z-index: 5;
  pointer-events: none;
  animation: gentleFloat 6s ease-in-out infinite;
}
/* Base styling shared by all clouds */
.cloud-deco {
  position: absolute;
  z-index: 3; /* Keeps them above the video but behind your main text/cards */
  pointer-events: none; /* Ensures they don't block mouse clicks */
}

/* Cloud 1: Top Left (Just below the sun) */
.cloud-1 {
  top: 10%; 
  left: 18%;
  width: 45px; 
  animation-duration: 3s;
  animation-delay: 0s;
}

/* Cloud 2: Middle Left (Lower and slightly further left) */
.cloud-2 {
  top: 20%; 
  left: 15%;
  width: 60px;
  animation-duration: 2s;
  animation-delay: 0s;
}

/* Cloud 3: Top Right */
.cloud-3 {
  top: 10%; 
  right: 15%;
  width: 55px;
  animation-duration: 2s;
  animation-delay: 0s;
}
.cloud-4 {
  top: 25%; 
  right: 15%;
  width: 55px;
  animation-duration: 1s;
  animation-delay: 0s;
}

/* Mobile Adjustments */
@media (max-width: 768px) {

  .reviews-inner {
    margin-top: 7%;
  }
  .price-card1 .bonus {
    font-size: 12px;
  }
  .curriculum-wrap,.pkg-wrap {
    padding: 19% 3%;
  }

  .cloud-1 { width: 30px; left: 5%; }
  .cloud-2 { width: 40px; left: 2%; }
  .cloud-3 { width: 35px; right: 5%; }
  .price-card1 .starimg {
    position: relative;
    left: 2%;
    width: 4%;
  }
  .pkg-wrap  h3 {
    font-size: 14px !important;
  }
  .price-card1 img.img-fluid.starblocks{
    display:none!important;
  }
  .curriculum-inner {
    max-width: unset;
    margin: 0 ; 
    padding: 0 ; 
  }

}

.curriculum-wrap .section-label::before,.curriculum-wrap .section-label::after,.pkg-wrap .section-label::before,.pkg-wrap .section-label::after{
  background: #fff;
}
@keyframes gentleFloat {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-15px); }
  100% { transform: translateY(0px); }
}

.cloud-deco {
  position: absolute;
  z-index: 3;
  pointer-events: none;
  animation: gentleFloat 6s ease-in-out infinite;
}

.wave-top, .wave-bottom {
  position: absolute;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  z-index: 2;
  height: 120px; 
}

.wave-top {
  top: -2px;
  transform: rotate(180deg);
}

.wave-bottom {
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  z-index: 2;
  height: 120px; 
}

.wave-animation {
  display: flex;
  width: 200%; 
  position: absolute;
  bottom: 0;
}

.wave-animation svg {
  width: 50%; 
  height: 120px; 
  flex-shrink: 0;
}

.flow-right {
  left: -100%; 
  animation: waveScrollRight 15s linear infinite;
}

@keyframes waveScrollRight {
  0% { transform: translateX(0); }
  100% { transform: translateX(50%); }
}
.wave-animation {
  display: flex;
  width: 200%; 
  position: absolute;
  bottom: 0;
}

.wave-animation svg {
  width: 50%; 
  height: 120px; 
  flex-shrink: 0;
}

.flow-left {
  animation: waveScrollLeft 15s linear infinite;
}

.flow-right.slow-wave {
  left: -100%; 
  animation: waveScrollRight 22s linear infinite;
}

.flow-right.fast-wave {
  left: -100%; 
  animation: waveScrollRight 14s linear infinite;
}

@keyframes waveScrollLeft {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes waveScrollRight {
  0% { transform: translateX(0); }
  100% { transform: translateX(50%); }
}
.hero .flamingo-deco {
  position: absolute;
  bottom: 7%;
  left: 2%;
  width: 90px;
  z-index: 3;
  pointer-events: none;
  animation: gentleFloat 4s ease-in-out infinite;
}

img.img-fluid.student750 {
  position: absolute;
  left: -5%;
  top: 22%;
  width: 7%;
}


/* 1. Base Flexbox Setup (Centers the bottom row) */

/* 2. For Tablets (768px to 1023px) - 2 Cards Per Row */
@media (min-width: 768px) and (max-width: 1023px) {
  .review-card {
    /* Math: 50% width minus half the 24px gap */
    flex: 0 0 calc(33.333% - 16px);
    max-width: calc(33.333% - 16px);
  }
  .reviews-grid {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center; 
    gap: 24px; 
  }

}
/* 
@media (max-width: 767px) {
.chapter-pills {
display: flex;
flex-wrap: nowrap;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
gap: 12px;
padding-bottom: 5px;
scrollbar-width: none; 
}

.chapter-pills::-webkit-scrollbar {
display: none; 
}

.cpill {
flex: 0 0 auto; 
white-space: nowrap; 
}
} */