:root{
  --bg-left:#f0f6fc;
  --text:#1f2937;
  --muted:#6b7280;
  --brand:#1f5f97;
  --line:#f2c14e;
}

body{    overflow-x: hidden;}
html{    overflow-x: hidden;}
/* GLOBAL FONT (Inter) */
/* Global fonts */
body{
  font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:16px;
  line-height:1.44;
}

/* HERO wrapper */
.lp2-hero{
  position: relative;
  min-height: 100vh;
  padding: 26px 0 36px;
  overflow: hidden;
  color:#fff;
}

/* Background + overlay */
.lp2-hero-bg{
  position:absolute;
  inset:0;
  background: url("img/heroright.jpg") center/cover no-repeat;
  transform: scale(1.02);
}
.lp2-hero-overlay{
  position:absolute;
  inset:0;
  background: rgba(11, 32, 52, .75);
}

/* Header */
.lp2-topbar{ padding: 6px 0 10px; }
.lp2-logo img{ height: 85px; width:auto; display:block; }

/* Content */
.lp2-hero-content{
  max-width: 1125px;
  padding-top: 70px;
}

.lp2-hero-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 54px;
  line-height: 1.05;
  margin: 0 0 14px;
  letter-spacing: -0.2px;
}

.lp2-highlight{
  color: #79b6ff;
  font-weight: 700;
}

.lp2-hero-sub{
  font-size: 12px;
  color: rgba(255,255,255,.78);
  max-width: 720px;
  margin: 0 auto 22px;
}

/* Cards row */
.lp2-cards{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  padding: 12px;
}

.lp2-card{
  display:flex;
  gap: 10px;
  background: rgba(255,255,255,.92);
  border-radius: 10px;
  overflow:hidden;
  color:#111827;
  border: 1px solid rgba(17,24,39,.08);
}

.lp2-card img{
  width: 150px;
  height: 115px;
  object-fit: cover;
  flex: 0 0 auto;
}

.lp2-card-body{ padding: 10px 10px 8px 0; text-align:left; }

.lp2-card-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.15;
  margin-bottom: 4px;
}

.lp2-card-text{
  font-size: 14px;
  color:#4b5563;
  line-height: 1.35;
}

/* Stats bar */
.lp2-stats{
  margin-top: 16px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  padding: 14px 12px;
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  text-align:left;
}

.lp2-stat{
  padding: 8px 10px;
  border-left: 1px solid rgba(255,255,255,.14);
}
.lp2-stat:first-child{ border-left: 0; }

.lp2-stat .k{
  font-size: 12px;
  color: rgba(255,255,255,.78);
  margin-bottom: 6px;
}
.lp2-stat .v{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 24px;
  color:#fff;
}

/* Responsive */
@media (max-width: 992px){
  .lp2-hero-content{ padding-top: 50px; }
  .lp2-hero-title{ font-size: 40px; }
  .lp2-cards{ grid-template-columns: 1fr; }
  .lp2-stats{ grid-template-columns: 1fr 1fr; }
}

@media (max-width: 576px){
  .lp2-hero-title{ font-size: 32px; }
  .lp2-hero-sub{ font-size: 12px; }
  .lp2-stats{ grid-template-columns: 1fr; }
}


/* section 2 */

.lp2-form-sec{
  padding: 70px 0;
  background: #fff;
}

.lp2-form-box{
  background: #eaf2fb;
  border: 1px solid rgba(17,24,39,.10);
  border-radius: 10px;
  padding: 36px 36px 28px;
  overflow: hidden;
}

/* Optional doodle background feel */
.lp2-form-box::after{
content: "";
    position: absolute;
    inset: 0;
    background-image: url(img/formbg.png);
    background-repeat: no-repeat;
    background-position: right 18px top 12px;
    background-size: 457px auto;
    /* opacity: .18; */
    pointer-events: none;
}

.lp2-form-badge{
  font-size: 11px;
  letter-spacing: .10em;
}

.lp2-form-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 34px;
  line-height: 1.05;
  color:#111827;
}

.lp2-label{
  font-size: 12px;
  font-weight: 500;
  color:#111827;
}

.lp2-input{
  border-radius: 8px;
  border: 1px solid rgba(17,24,39,.12);
  height: 42px;
  font-size: 13px;
}

.lp2-input::placeholder{ color: #9ca3af; }

.lp2-form-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 14px;
  color:#111827;
}

.lp2-form-note{
  margin-top: 10px;
  font-size: 11px;
  color:#6b7280;
}

/* Right pills */
.lp2-form-pills{
  position:absolute;
  right: 22px;
  bottom: 18px;
  display:flex;
  flex-direction:column;
  gap: 10px;
  align-items:flex-end;
  z-index: 2;
}

.lp2-pill{
  background:#ffe9a8;
  border: 1px solid rgba(17,24,39,.12);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 600;
  color:#111827;
  white-space: nowrap;
  box-shadow: 0 6px 18px rgba(0,0,0,.10);
}

/* slight rotations like screenshot */
.lp2-pill-1{ transform: rotate(-3deg); }
.lp2-pill-2{ transform: rotate(2deg); background:#ffe9a8; }
.lp2-pill-3{ transform: rotate(-2deg); }
.lp2-pill-4{
  transform: rotate(-8deg);
  position:absolute;
  left: -181px;
  bottom: 5px;
  background:#ffe9a8;
}

/* Responsive */
@media (max-width: 992px){
  .lp2-form-box{ padding: 26px 18px; }
  .lp2-form-title{ font-size: 28px; }
  .lp2-form-box::after{ background-size: 220px auto; }
}

@media (max-width: 768px){
  .lp2-form-pills{ display:none !important; }
}


/* Section 3 - Quiz Card (minimal css) */
/* Section 3 - Must Check */
.lp2-must-sec{
  padding: 70px 0;
  background: #fff;
  position: relative;
  overflow: hidden;
}

/* optional line-art bg (replace image or remove) */
.lp2-must-sec::after{
  content:"";
  position:absolute;
  right: -40px;
  bottom: -30px;
  width: 520px;
  height: 320px;
  background: url("img/bg1.png") right bottom / contain no-repeat;
  /* opacity: .18; */
  pointer-events:none;
}

.lp2-must-badge{
  font-size: 11px;
  letter-spacing: .10em;
}

.lp2-must-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.08;
  color:#111827;
  margin: 0;
}

.lp2-must-hi{ color:#111827; font-weight:700; }

.lp2-must-pills{
  margin-top: 18px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap: 14px 16px;
}

.lp2-must-pill{
  display:flex;
  align-items:center;
  gap: 10px;
  background:#fff;
  border:1px solid rgba(17,24,39,.12);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 12px;
  color:#111827;
}

.lp2-must-dot{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background:#f6d36b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 11px;
  color:#111827;
  flex: 0 0 auto;
}

.lp2-must-note{
  margin-top: 24px;
  max-width: 560px;
  background: #f3f4f6;
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 10px;
  padding: 14px 16px;
  font-size: 12px;
  color:#111827;
}

.lp2-must-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 13px;
  color:#111827;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Responsive */
@media (max-width: 992px){
  .lp2-must-title{ font-size: 30px; }
  .lp2-must-sec::after{ width: 360px; height: 220px; opacity:.14; }
}
@media (max-width: 576px){
  .lp2-must-title{ font-size: 26px; }
  .lp2-must-pill{ width: 100%; justify-content:center; }
}


/* section 4 */

/* Section 4 - What You'll Discover */
/* Availability Section */
.avail-sec{
  padding: 70px 0;
  background: #fff;
}

.avail-badge{
  font-size: 11px;
  letter-spacing: .10em;
}

.avail-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 36px;
  line-height: 1.08;
  color:#111827;
}

.avail-list li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  font-size: 15px;
  color:#374151;
  margin-bottom: 10px;
}

.avail-list .ok{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background:#f6d36b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 15px;
  color:#111827;
  flex: 0 0 auto;
  margin-top: 2px;
}

.avail-note{
  background:#eaf2fb;
  border: 1px solid rgba(17,24,39,.10);
  border-radius: 12px;
  padding: 16px;
}

.avail-note-title{
  font-weight: 600;
font-size: 20px;
    margin-bottom: 10px;
    color: #111827;
    font-family: 'Crimson Pro';
}

.avail-bad li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  font-size: 15px;
  color:#374151;
  margin-bottom: 10px;
}

.avail-bad .bad{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background:#fff;
  border: 1px solid rgba(239,68,68,.35);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 12px;
  color:#ef4444;
  flex: 0 0 auto;
  margin-top: 2px;
}

.avail-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 14px;
  color:#111827;
}

/* Right Image */
.avail-img{
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(17,24,39,.10);
}

.avail-img img{
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  display:block;
}

/* Responsive */
@media (max-width: 992px){
  .avail-title{ font-size: 28px; }
  .avail-img img{ min-height: 300px; }
}


/* Section 5 - About */
.sec5{ padding: 90px 0; background:#fff; }
.sec5-badge{ font-size:11px; letter-spacing:.10em; }
.sec5-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight:600;
  line-height:1.05;
}
.sec5-sub{ font-size:14px; color:var(--muted); max-width:720px; margin:0 auto; }

.sec5-card{
  border-radius: 8px;
  padding: 22px;
}
.sec5-card.top{ background:#fff7e6; }
.sec5-card.bottom{ background:#eef6ff; }

.sec5-label{
      font-size: 14px;
    letter-spacing: .10em;
    color: #000000;
    font-weight: 800;
}
.sec5-hr{     height: 2px;
    background: rgb(17 24 39 / 43%);
    margin: 10px 0 16px;}

.sec5-avatar{
  /* width: 70px; */
  /* height: 90px; */
  border-radius: 10px;
  object-fit: cover;
}

.sec5-card-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight:600;
  margin:0 0 6px;
  font-size: 18px;
}
.sec5-card-text{ font-size: 13px; color:#6b7280; line-height: 1.5; }

.sec5-link{
  font-size: 13px;
  font-weight: 600;
  text-decoration:none;
  color:#111827;
}
.sec5-link .sec5-arrow{
  width: 22px;
  height: 22px;
  border:1px solid rgba(17,24,39,.25);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 12px;
  margin-left: 8px;
}

.sec5-img{
  border-radius: 12px;
  overflow:hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.10);
}
.sec5-img img{ width:100%; height:100%; object-fit:cover; display:block; }

@media (max-width: 992px){
  .sec5{ padding: 70px 0; }
}


/* section 6 */
/* Program-Wise Approach */
.prog-sec{
  padding: 70px 0;
  background: #fff;
}

.prog-wrap{
  background: #fff7e6;
  border-radius: 12px;
  border: 1px solid rgba(17,24,39,.08);
  padding: 60px 26px;
  position: relative;
  overflow: hidden;
}

/* optional doodle bg (replace or remove) */
.prog-wrap::after{
  content:"";
  position:absolute;
  right: -40px;
  top: -30px;
  width: 520px;
  height: 320px;
  background: url("assets/lp2/doodles.png") right top / contain no-repeat;
  opacity: .18;
  pointer-events:none;
}

.prog-badge{
  font-size: 11px;
  letter-spacing: .10em;
}

.prog-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.08;
  color:#111827;
}

/* Cards */
.prog-card{
  background:#fff;
  border: 1px solid rgba(17,24,39,.10);
  border-radius: 12px;
  padding: 14px;
  display:flex;
  gap: 14px;
  align-items:center;
}

.prog-img{
  width: 180px;
  height: 120px;
  border-radius: 10px;
  object-fit: cover;
  flex: 0 0 auto;
}

.prog-card-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 4px;
  color:#111827;
}

.prog-card-text{
  font-size: 14px;
  color:#6b7280;
  line-height: 1.45;
}

/* Button */
.prog-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 13px;
  color:#111827;
}

/* Responsive */
@media (max-width: 992px){
  .prog-wrap{ padding: 50px 16px; }
  .prog-title{ font-size: 30px; }
  .prog-wrap::after{ width: 340px; height: 220px; opacity: .14; }
  .prog-card{ flex-direction: column; align-items:flex-start; }
  .prog-img{ width: 100%; height: 140px; }
}

/* Serving Families + Map */
.serve-sec{
  padding: 70px 0;
  background: #fff;
}

.serve-badge{
  font-size: 11px;
  letter-spacing: .10em;
}

.serve-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.05;
  color:#111827;
}

.serve-list li{
  display:flex;
  align-items:center;
  gap: 10px;
  font-size: 15px;
  color:#374151;
  margin-bottom: 10px;
}

.serve-pin{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #f6d36b;
  display:inline-block;
  flex: 0 0 auto;
}

.serve-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 14px;
  color:#111827;
}

.serve-map{
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(17,24,39,.10);
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  min-height: 420px;
}

.serve-map iframe{
  width: 100%;
  height: 485px;
  border: 0;
  display:block;
}

@media (max-width: 992px){
  .serve-title{ font-size: 30px; }
  .serve-map, .serve-map iframe{ height: 320px; min-height: 320px; }
}


/* Packs Section */
.packs-sec{
  padding: 70px 0;
  background:#fff;
}

.pack-card{
  border-radius: 12px;
  border: 1px solid rgba(17,24,39,.08);
  padding: 26px;
  min-height: 240px;
  height: 310px;
}

.pack-cream{ background: #fff7e6; }
.pack-blue{ background: #eef6ff; }

.pack-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 30px;
  margin: 0 0 14px;
  color:#111827;
}

.pack-pills{
  display:flex;
  flex-wrap:wrap;
  gap: 12px 12px;
}

.pack-pill{
  display:flex;
  align-items:center;
  gap: 10px;
  background:#fff;
  border: 1px solid rgba(17,24,39,.10);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 14px;
  color:#111827;
}

.pack-dot{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background:#f6d36b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 11px;
  color:#111827;
  flex: 0 0 auto;
}

/* Button */
.pack-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 14px;
  color:#111827;
}

/* Responsive */
@media (max-width: 992px){
  .pack-card{ padding: 18px; }
  .pack-title{ font-size: 20px; }
}



/* Dark Problems Section */
.problems-sec{
  position: relative;
  padding: 50px 0;
  border-radius: 12px;     /* screenshot like rounded container feel */
  overflow: hidden;
}

/* background image */
.problems-bg{
  position:absolute;
  inset:0;
  background: url("img/ctabg.jpg") center/cover no-repeat;
  transform: scale(1.02);
}

/* dark overlay */
.problems-overlay{
  position:absolute;
  inset:0;
  background: rgba(10, 25, 40, .78);
}

.problems-badge{
  font-size: 11px;
  letter-spacing: .10em;
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.06);
}

.problems-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.08;
  color:#fff;
}

.problems-list{
  list-style: none;
  padding-left: 0;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 14px;
}
.problems-list li{
  margin-bottom: 10px;
}
.problems-list li::before{
  content:"•";
  margin-right: 10px;
  color: rgba(255,255,255,.55);
}

/* CTA button */
.problems-btn{
     background: #f6d36b;
    border: 1px solid #e8bf4a;
    border-radius: 999px;
    padding: 12px 18px;
    font-weight: 600;
    font-size: 13px;
    color: #111827;
    position: absolute;
    display: flex;
    bottom: 0;
    right: 0;
}

/* Responsive */
@media (max-width: 992px){
  .problems-title{ font-size: 30px; }
  .problems-sec{ padding: 55px 0; border-radius: 10px; }
  .problems-btn{ margin-top: 18px; }
}


/* FAQ Section */
.faq-sec{ padding: 70px 0; background:#fff; }

.faq-badge{ font-size:11px; letter-spacing:.10em; }

.faq-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight:600;
  font-size: 40px;
  line-height: 1.05;
  color:#111827;
}

.faq-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 14px;
  color:#111827;
}

/* Right list */
.faq-list{
  border-top: 1px solid rgba(17,24,39,.25);
}

.faq-item{
  border-bottom: 1px solid rgba(17,24,39,.25);
}

.faq-q{
  width: 100%;
  background: transparent;
  border: 0;
  padding: 18px 0;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  text-align:left;
  font-size: 16px;
  font-weight: 500;
  color:#111827;
}

.faq-ico{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(17,24,39,.35);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 16px;
  color:#111827;
  flex: 0 0 auto;
}

/* Answer */

.faq-a p{
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color:#4b5563;
}

/* Smooth accordion */
.faq-a{
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, opacity .25s ease;
  opacity: 0;
}

.faq-item.is-open .faq-a{
  max-height: 300px;   /* enough for content */
  opacity: 1;
  padding-bottom: 10px;
}


/* Responsive */
@media (max-width: 992px){
  .faq-title{ font-size: 30px; }
}



/* section 7 */

/* Section 7 - Curriculum Timeline */
/* FINAL CTA Timeline (sec7) */
.sec7{
  padding: 70px 0;
  background: #fff;
}

.sec7-box{
  background: #fff7e6;
  border-radius: 12px;
  border: 1px solid rgba(17,24,39,.08);
  padding: 70px 24px;
  position: relative;
  overflow: hidden;
}

/* optional doodles bg (remove if you don't want) */
.sec7-box::after{
  content:"";
  position:absolute;
  inset:0;
  background: url("img/ctabg.png") center/cover no-repeat;
  /* opacity: .10; */
  pointer-events:none;
}

.sec7-badge{ font-size:11px; letter-spacing:.10em; }

.sec7-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight:600;
  font-size: 44px;
  line-height: 1.05;
  color:#111827;
}

/* timeline */
.sec7-timeline{
  margin-top: 52px;
  position: relative;
  height: 140px;
}

.sec7-dots-line{
  position: relative;
  height: 2px;
  margin: 0 auto;
  width: 78%;
  background: transparent;
}

/* dotted line */
.sec7-dots-line::after{
  content:"";
  position:absolute;
  inset:0;
  background-image: radial-gradient(circle, rgba(31,95,151,.65) 1.2px, transparent 1.6px);
  background-size: 7px 2px;
  background-repeat: repeat-x;
  opacity: .9;
}

.sec7-dot{
  position:absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: #1f5f97;
  box-shadow: 0 0 0 4px #eaf2fb;
}

/* text under dots */
.sec7-steps{
  position: relative;
  width: 78%;
  margin: 18px auto 0;
  height: 90px;
}

.sec7-step{
  position:absolute;
  top: 0;
  transform: translateX(-50%);
  text-align: center;
}

.sec7-step .k{
  font-size: 14px;
  color:#111827;
}

.sec7-step .v{
  font-size: 14px;
  font-weight: 900;
  color:#111827;
}

/* mobile stacked */
.sec7-mob-item{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 12px 14px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(17,24,39,.08);
  border-radius: 12px;
  margin-bottom: 12px;
}

.sec7-mob-dot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background:#1f5f97;
  box-shadow: 0 0 0 4px #eaf2fb;
  margin-top: 4px;
  flex: 0 0 auto;
}

.sec7-mob-item .k{ font-size: 12px; color:#111827; }
.sec7-mob-item .v{ font-size: 12px; font-weight: 700; color:#111827; }

@media (max-width: 992px){
  .sec7-box{ padding: 55px 16px; }
  .sec7-title{ font-size: 30px; }
}


/* Section 8 - Teachers Slider (scoped) */
/* Section 8 - Teachers Slider */
.teachers-sec{ padding: 90px 0; background:#fff; }
.teachers-badge{ font-size:11px; letter-spacing:.10em; }
.teachers-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight:600;
  line-height:1.05;
}

.teachers-pill{
  background:#fff;
  border:1px solid rgba(17,24,39,.08);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 12px;
  display:flex;
  align-items:center;
  gap:10px;
}

.teachers-dot{
  width: 18px; height: 18px;
  border-radius:999px;
  background:#f6d36b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 11px;
  color:#111827;
}

.teacher-card img{
  width:100%;
  height: 400px;
  object-fit: cover;
  border-radius: 12px;
  display:block;
}

.teacher-name{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight:600;
  margin-top: 14px;
  margin-bottom: 2px;
  font-size: 16px;
}

.teacher-role{
  font-size: 10px;
  letter-spacing: .12em;
  color:#6b7280;
  text-transform: uppercase;
}

.teachers-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 14px;
  color:#111827;
}

/* ✅ Custom slider layout */
.teachers-slider{ position: relative; margin-top: 22px; }
.teachers-track{
  display:flex;
  gap: 24px;
  transition: transform .5s ease;
  will-change: transform;
}
.teachers-slide{
  flex: 0 0 calc((100% - 72px)/4); /* 4 cards, 3 gaps => 72px */
}

/* arrows bottom-right like screenshot */
.teachers-arrows{
  position:absolute;
  right: 0;
  bottom: -44px;
  display:flex;
  gap: 10px;
}
.teachers-arrows button{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border:1px solid rgba(17,24,39,.18);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Responsive */
@media (max-width: 992px){
  .teachers-sec{ padding: 70px 0; }
  .teacher-card img{ height: 260px; }
  .teachers-slide{ flex: 0 0 calc((100% - 24px)/2); } /* 2 cards */
  .teachers-arrows{ position: static; justify-content:center; margin-top: 16px; }
}

@media (max-width: 576px){
  .teachers-slide{ flex: 0 0 100%; } /* 1 card */
  .teachers-track{ gap: 16px; }
}

/* Section 9 - Gallery */
.gallery-sec{
  padding: 90px 0;
  background: #eef6ff;
}

.gallery-badge{ font-size:11px; letter-spacing:.10em; }

.gallery-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight:600;
  line-height:1.05;
}

/* ✅ FIX: viewport ko overflow hidden mat do (arrows cut ho rahe the) */
.gallery-viewport{
  overflow: visible;
}

/* ✅ FIX: overflow hidden slider pe lagao, so only extra cards hide honge */
.gallery-slider{
  position: relative;
  margin-top: 22px;
  overflow: hidden;
  padding-bottom: 55px; /* arrows ke liye space */
}

.gallery-track{
  display:flex;
  gap: 22px;
  transition: transform .5s ease;
  will-change: transform;
}

/* EXACT: 4 cards visible */
.gallery-slide{
  flex: 0 0 calc((100% - 66px)/4); /* gap 22*3 = 66 */
}

.gallery-card{
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.gallery-card img{
  width:100%;
  height: 300px;
  object-fit: cover;
  display:block;
}

.gallery-meta{
  display:flex;
  align-items:center;
  justify-content: space-between;
  margin-top: 10px;
}

.gallery-label{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight:600;
  font-size: 20px;
  color:#111827;
}

.gallery-mini{
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border:1px solid rgba(17,24,39,.18);
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#111827;
  font-size: 12px;
}

.gallery-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 14px;
  color:#111827;
}

/* ✅ arrows bottom-right visible */
.gallery-arrows{
  position:absolute;
  right: 0;
  bottom: 0;           /* ✅ -44 ki jagah 0 */
  display:flex;
  gap: 10px;
  z-index: 10;         /* ✅ always on top */
}

.gallery-arrows button{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border:1px solid rgba(17,24,39,.18);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Responsive */
@media (max-width: 992px){
  .gallery-sec{ padding: 70px 0; }
  .gallery-slide{ flex: 0 0 calc((100% - 22px)/2); } /* 2 visible */
  .gallery-slider{ padding-bottom: 0; overflow: visible; }
  .gallery-arrows{ position: static; justify-content:center; margin-top: 16px; }
}

@media (max-width: 576px){
  .gallery-slide{ flex: 0 0 100%; } /* 1 visible */
  .gallery-track{ gap: 16px; }
}


/* section 10 */

/* Safety Section */
.sec-safety{ padding: 90px 0; background:#fff; }
.safety-badge{ font-size:11px; letter-spacing:.10em; }

.safety-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight:600;
  line-height:1.05;
  font-size: 44px;
  margin: 0;
}

.safety-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 14px;
  color:#111827;
}

.safety-stat{
  padding-top: 10px;
}

.safety-label{
  font-size: 12px;
  color:#111827;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(17,24,39,.45); /* top line like screenshot */
}

.safety-num{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 44px;
  margin-top: 10px;
  color:#111827;
}

@media (max-width: 992px){
  .sec-safety{ padding: 70px 0; }
  .safety-title{ font-size: 34px; }
  .safety-num{ font-size: 38px; }
}


/* section 11 */

/* Activities Section */
.act-sec{
  padding: 90px 0;
  background: #eef6ff;
}

.act-badge{ font-size:11px; letter-spacing:.10em; }

.act-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight:600;
  line-height:1.05;
}

/* viewport hides extra cards */
.act-viewport{ overflow: hidden; }

.activities-slider{
  position: relative;
  margin-top: 22px;
  padding-bottom: 55px; /* arrows space */
}

.activities-track{
  display:flex;
  gap: 22px;
  transition: transform .5s ease;
  will-change: transform;
}

/* 4 visible */
.activities-slide{
  flex: 0 0 calc((100% - 66px)/4);
}

.act-card{
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  background:#111;
}

.act-card img{
  width:100%;
  height: 400px;
  object-fit: cover;
  display:block;
}

/* caption bottom-left */
.act-caption{
  position:absolute;
  left: 14px;
  bottom: 12px;
  color:#fff;
  font-family:"Crimson Pro", Georgia, serif;
  font-weight: 600;
  font-size: 20px;
  text-shadow: 0 2px 10px rgba(0,0,0,.55);
}

/* button */
.act-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 14px;
  color:#111827;
}

/* arrows bottom-right */
.act-arrows{
  position:absolute;
  right: 0;
  bottom: 0;
  display:flex;
  gap: 10px;
  z-index: 10;
}
.act-arrows button{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border:1px solid rgba(17,24,39,.18);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Responsive */
@media (max-width: 992px){
  .act-sec{ padding: 70px 0; }
  .activities-slide{ flex: 0 0 calc((100% - 22px)/2); } /* 2 visible */
  .act-card img{ height: 240px; }
}

@media (max-width: 576px){
  .activities-slide{ flex: 0 0 100%; } /* 1 visible */
  .activities-track{ gap: 16px; }
  .act-card img{ height: 240px; }
}

/* section 12 */

/* Admissions Journey */
.adm-sec{ padding: 90px 0; background:#fff; }
.adm-badge{ font-size:11px; letter-spacing:.10em; }
.adm-title{
  font-family:"Crimson Pro", Georgia, serif;
  font-weight:600;
  line-height:1.05;
}

/* LEFT steps (timeline) */
.adm-steps{ position: relative; padding-left: 26px; }
.adm-steps::before{
content: "";
    position: absolute;
    left: 30px;
    top: 30px;
    height: 300px;
    bottom: 8px;
    width: 3px;
    background: rgba(31, 95, 151, .25);
    border-radius: 2px;
}

.adm-step{
  position: relative;
  padding: 16px 0 16px 18px;
  cursor: default;
}
.adm-dot{
  position:absolute;
  left: -2px;
  top: 22px;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: #cfe0f3;
  border: 2px solid #eef6ff;
}
.adm-step-title{
  font-size: 20px;
  color:#6b7280;
  font-weight: 500;
}

.adm-step.is-active .adm-dot{
  background:#1f5f97;
}
.adm-step.is-active .adm-step-title{
  color:#111827;
  font-weight: 600;
}

/* Sticky Image */
.adm-sticky{
  position: sticky;
  top: 90px;
}
.adm-frame{
  background: #eef6ff;
  border-radius: 14px;
  padding: 18px;
  border: 1px solid rgba(17,24,39,.08);
}
.adm-frame img{
  width: 100%;
  height: auto;
  border-radius: 10px;
  display:block;
}

/* Button */
.adm-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 14px;
  color:#111827;
}

/* Responsive */
@media (max-width: 992px){
  .adm-sec{ padding: 70px 0; }
  .adm-sticky{ position: relative; top: 0; }
}

/* section 13 */

/* Testimonials */
.testi-sec{ padding: 90px 0; background:#fff; }
.testi-badge{ font-size:11px; letter-spacing:.10em; }
.testi-title{ font-family:"Crimson Pro", Georgia, serif; font-weight:600; line-height:1.05; }

.testi-viewport{ overflow:hidden; }
.testi-slider{ position:relative; margin-top: 18px; padding-bottom: 55px; }
.testi-track{ display:flex; gap: 26px; transition: transform .5s ease; will-change: transform; }

/* 3 visible desktop */
.testi-slide{ flex: 0 0 calc((100% - 52px)/3); }

.testi-card{
  display:flex;
  align-items:flex-start;
  gap: 16px;
  padding: 8px 6px;
}
.testi-img{
  width: 150px;
  height: 150px;
  border-radius: 10px;
  object-fit: cover;
  flex: 0 0 auto;
}
.testi-quote{
  font-size: 12px;
  color:#111827;
  line-height: 1.55;
}
.testi-name{
  margin-top: 10px;
  font-size: 11px;
  color: #6b7280;
}

.testi-btn{
  background:#f6d36b;
  border:1px solid #e8bf4a;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 14px;
  color:#111827;
}

.testi-arrows{
  position:absolute;
  right: 0;
  bottom: 0;
  display:flex;
  gap: 10px;
  z-index: 10;
}
.testi-arrows button{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border:1px solid rgba(17,24,39,.18);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

@media (max-width: 992px){
  .testi-sec{ padding: 70px 0; }
  .testi-slide{ flex: 0 0 100%; } /* mobile/tablet me 1 visible like screenshot style */
  .testi-slider{ padding-bottom: 0; }
  .testi-arrows{ position: static; justify-content:center; margin-top: 12px; }
}


