:root {
  --purple: #5d16b8;
  --purple2: #8425d9;
  --deep: #081238;
  --pink: #ef3d8f;
  --yellow: #ffc52d;
  --orange: #ff7b00;
  --teal: #24c3ca;
  --blue: #1b66c9;
  --soft: #fbf8ff;
  --muted: #65708a;
  --shadow: 0 18px 45px rgba(61, 22, 117, .14);
  --radius: 24px
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth
}

body {
  margin: 0;
  font-family: Nunito, system-ui, -apple-system, Segoe UI, sans-serif;
  color: var(--deep);
  background: #fff;
  overflow-x: hidden
}

a {
  text-decoration: none
}

img {
  max-width: 100%;
  display: block
}

.container-wide {
  width: min(100% - 70px, 1440px);
  margin-inline: auto
}

.section {
  padding: 72px 0
}

.section-sm {
  padding: 38px 0
}

.btn {
  font-weight: 900;
  border: 0;
  transition: .25s ease
}

.btn:hover {
  transform: translateY(-3px)
}

.btn-main {
  background: linear-gradient(135deg, var(--purple), var(--purple2));
  color: #fff !important;
  border-radius: 13px;
  padding: 13px 28px;
  box-shadow: 0 12px 22px rgba(93, 22, 184, .26)
}

.btn-soft {
  background: #fff;
  color: var(--purple) !important;
  border: 1px solid #eadffe;
  border-radius: 13px;
  padding: 13px 28px;
  box-shadow: 0 12px 28px rgba(36, 13, 80, .08)
}

.btn-pink {
  background: linear-gradient(135deg, #ff4e9a, #e73186);
  color: #fff !important;
  border-radius: 999px;
  padding: 12px 27px;
  box-shadow: 0 14px 26px rgba(239, 61, 143, .23)
}

.btn-yellow {
  background: var(--yellow);
  color: #4c235e !important;
  border-radius: 999px;
  padding: 12px 26px;
  box-shadow: 0 14px 22px rgba(255, 197, 45, .25)
}

.page-loader {
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 9999;
  display: grid;
  place-items: center;
  transition: .45s ease
}

.page-loader.hide {
  opacity: 0;
  visibility: hidden
}

.loader-box {
  text-align: center;
  font-weight: 900;
  color: var(--purple)
}

.loader-box img {
  width: 92px;
  margin: auto;
  animation: bounce 1.2s infinite
}

.admission-top {
  height: 55px;
  background: linear-gradient(90deg, #6517b8, #8e188d);
  color: #fff;
  position: relative;
  z-index: 80
}

.admission-top .container-wide {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  position: relative
}

.top-msg {
  font-family: "Playfair Display", serif;
  font-size: 1.22rem
}

.admission-top p {
  margin: 0;
  font-weight: 700;
  font-size: .92rem
}

.top-apply {
  background: #fff;
  color: var(--purple);
  border-radius: 999px;
  padding: 7px 18px;
  font-weight: 900
}

.admission-top button {
  position: absolute;
  right: 0;
  background: transparent;
  color: #fff;
  border: 0;
  font-size: 1.2rem
}

.main-nav {
  background: #fff;
  height: 92px;
  box-shadow: 0 10px 30px rgba(38, 16, 76, .06);
  position: sticky;
  top: 0;
  z-index: 70
}

.main-nav .container-wide {
  display: flex;
  align-items: center
}

.navbar-brand img {
  height: 72px;
  width: auto
}

.navbar-nav .nav-link {
  color: #101631 !important;
  font-weight: 900;
  padding: 14px 8px !important;
  position: relative
}

.navbar-nav .nav-link:after {
  content: "";
  position: absolute;
  left: 8px;
  bottom: 2px;
  width: 0;
  height: 3px;
  border-radius: 8px;
  background: var(--purple);
  transition: .25s
}

.navbar-nav .nav-link.active:after,
.navbar-nav .nav-link:hover:after {
  width: 36px
}

.nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, var(--purple), var(--purple2));
  color: #fff;
  border-radius: 12px;
  padding: 15px 25px;
  font-weight: 900;
  box-shadow: 0 12px 22px rgba(93, 22, 184, .25)
}

.hero {
  position: relative;
  min-height: 650px;
  background: linear-gradient(180deg, #fafdff 0%, #e5f7ff 77%, #fff 100%);
  overflow: hidden;
  padding: 52px 0 118px
}

.hero:after {
  content: "";
  position: absolute;
  left: -6%;
  right: -6%;
  bottom: -32px;
  height: 104px;
  background: radial-gradient(110px 52px at 4% 45%, #fff 97%, transparent), radial-gradient(150px 70px at 18% 55%, #fff 97%, transparent), radial-gradient(170px 82px at 44% 52%, #fff 97%, transparent), radial-gradient(160px 72px at 70% 50%, #fff 97%, transparent), radial-gradient(130px 64px at 94% 52%, #fff 97%, transparent);
  z-index: 2
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right
}

.hero-bg:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, .96) 12%, rgba(255, 255, 255, .62) 38%, rgba(255, 255, 255, 0) 62%)
}

.hero-inner {
  position: relative;
  z-index: 4
}

.hero-copy {
  max-width: 560px
}

.label {
  display: inline-flex;
  background: var(--purple);
  color: #fff;
  border-radius: 999px;
  padding: 9px 22px;
  font-size: .85rem;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .02em;
  margin-bottom: 18px
}

.hero h1 {
  font-family: "Playfair Display", serif;
  font-size: clamp(3rem, 5.2vw, 5.85rem);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 900;
  color: #081238;
  margin: 0
}

.hero h1 span {
  color: #9b2b9d
}

.hero p {
  font-weight: 800;
  line-height: 1.75;
  color: #27304f;
  font-size: 1.06rem;
  max-width: 520px;
  margin: 24px 0
}

.hero-actions {
  display: flex;
  gap: 18px;
  flex-wrap: wrap
}

.oxford-badge {
  position: absolute;
  right: 5%;
  top: 70px;
  width: 150px;
  height: 150px;
  border: 2px dashed #c795eb;
  border-radius: 50%;
  background: rgba(255, 255, 255, .82);
  display: grid;
  place-items: center;
  text-align: center;
  font-family: "Playfair Display", serif;
  font-weight: 800;
  color: #0e1644;
  font-size: 1.2rem;
  box-shadow: 0 12px 30px rgba(75, 31, 135, .12)
}

.quick-strip {
  position: absolute;
  left: 50%;
  bottom: 34px;
  transform: translateX(-50%);
  z-index: 5;
  width: min(1110px, 82%);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: #fff;
  border: 1px solid #e8edf8;
  border-radius: 18px;
  box-shadow: var(--shadow);
  overflow: hidden
}

.quick-item {
  display: flex;
  gap: 18px;
  align-items: center;
  padding: 22px 28px;
  border-right: 1px solid #dfe5f2
}

.quick-item:last-child {
  border-right: 0
}

.quick-item i {
  font-size: 2.35rem;
  color: var(--yellow);
  min-width: 44px
}

.quick-item:nth-child(2) i,
.quick-item:nth-child(3) i {
  color: var(--blue)
}

.quick-item:nth-child(4) i {
  color: var(--pink)
}

.quick-item span {
  font-size: .93rem;
  line-height: 1.25;
  font-weight: 800
}

.quick-item b {
  font-weight: 900
}

.floating {
  position: absolute;
  z-index: 3;
  pointer-events: none
}

.plane {
  right: 52%;
  top: 18%;
  font-size: 3rem;
  color: #52b5ee;
  animation: plane 7s infinite ease-in-out
}

.star-one {
  right: 43%;
  top: 28%;
  color: #ffc52d;
  font-size: 1.8rem;
  animation: twinkle 2s infinite
}

.star-two {
  right: 13%;
  top: 39%;
  color: #ef3d8f;
  font-size: 1.4rem;
  animation: twinkle 2.4s infinite
}

.feature-section {
  background: #fff
}

.feature-card {
  background: #fff;
  border: 1px solid #eee6ff;
  border-radius: 24px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  box-shadow: var(--shadow);
  padding: 25px 12px
}

.feature-card article {
  text-align: center;
  padding: 8px 18px;
  border-right: 1px solid #e5e1ee
}

.feature-card article:last-child {
  border-right: 0
}

.icon {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  margin: 0 auto 14px;
  font-size: 1.75rem
}

.purple {
  background: var(--purple)
}

.pink {
  background: var(--pink)
}

.orange {
  background: var(--orange)
}

.teal {
  background: var(--teal)
}

.feature-card h3 {
  font-size: 1rem;
  font-weight: 900;
  margin-bottom: 8px
}

.feature-card p {
  font-weight: 800;
  color: #6b7287;
  font-size: .86rem;
  margin: 0
}

.why {
  position: relative;
  background: #fff;
  overflow: hidden
}

.shape {
  position: absolute;
  background: #f0e8ff;
  border-radius: 50%;
  z-index: 0
}

.shape-a {
  width: 260px;
  height: 260px;
  left: -150px;
  bottom: 20px
}

.shape-b {
  width: 310px;
  height: 310px;
  right: -170px;
  top: 16%
}

.why .container-wide {
  position: relative;
  z-index: 2
}

.why h2,
.section-title h2,
.curriculum h2 {
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 900;
  letter-spacing: -.02em
}

.why h2 span,
.section-title h2 span,
.curriculum h2 span {
  color: var(--purple)
}

.check-list {
  list-style: none;
  margin: 26px 0;
  padding: 0
}

.check-list li {
  display: flex;
  gap: 11px;
  font-weight: 800;
  color: #33405c;
  margin: 13px 0
}

.check-list li:before {
  content: "\f058";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--purple)
}

.why-panda {
  width: 270px;
  margin: auto;
  filter: drop-shadow(0 24px 30px rgba(68, 25, 123, .18));
  animation: float 5s infinite
}

.stats-panel {
  background: linear-gradient(135deg, #7923d0, #43119f);
  border-radius: 24px;
  color: #fff;
  padding: 30px;
  box-shadow: var(--shadow)
}

.stats-panel h4 {
  text-align: center;
  font-weight: 900;
  margin-bottom: 18px
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr)
}

.stats-grid div {
  text-align: center;
  padding: 22px 8px;
  border-right: 1px solid rgba(255, 255, 255, .18);
  border-bottom: 1px solid rgba(255, 255, 255, .18)
}

.stats-grid div:nth-child(3n) {
  border-right: 0
}

.stats-grid div:nth-child(n+4) {
  border-bottom: 0
}

.stats-grid i {
  font-size: 1.7rem
}

.stats-grid strong {
  display: block;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.05;
  margin-top: 8px
}

.stats-grid p {
  font-weight: 800;
  color: rgba(255, 255, 255, .88);
  margin: 6px 0 0;
  line-height: 1.2
}

.programs {
  background: linear-gradient(180deg, #fff, #fbf8ff)
}

.section-title {
  text-align: center;
  margin-bottom: 35px
}

.section-title p {
  font-weight: 800;
  color: #69738a;
  margin: 4px 0 0
}

.program-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px
}

.program-grid article {
  background: #fff;
  border: 1px solid #efe8ff;
  border-radius: 18px;
  padding: 18px;
  text-align: center;
  box-shadow: 0 14px 34px rgba(61, 22, 117, .08);
  transition: .25s
}

.program-grid article:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow)
}

.img-wrap {
  height: 138px;
  background: linear-gradient(180deg, #fff2f8, #fff8ec);
  border-radius: 15px;
  display: grid;
  place-items: center;
  margin-bottom: 12px;
  overflow: hidden
}

.img-wrap img {
  height: 140px;
  width: 217px;
  object-fit: contain;
}

.program-grid h3 {
  font-weight: 900;
  font-size: 1.1rem
}

.program-grid p {
  color: #626b82;
  font-weight: 800;
  font-size: .9rem
}

.program-grid a {
  width: 125px;
  height: 34px;
  background: var(--purple);
  display: inline-grid;
  place-items: center;
  color: #fff;
  border-radius: 15%;
}

.curriculum {
  background: #fff
}

.mini-title {
  font-weight: 900;
  text-transform: uppercase;
  color: var(--pink);
  font-size: .8rem;
  letter-spacing: .08em
}

.curriculum p {
  font-weight: 800;
  color: #626b81;
  line-height: 1.78
}

.benefits {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px
}

.benefits span {
  background: #fff;
  border: 1px solid #eadfff;
  border-radius: 13px;
  padding: 13px;
  font-weight: 900;
  color: #4c247c
}

.benefits i {
  color: var(--pink);
  margin-right: 6px
}

.curriculum-card {
  display: grid;
  /* grid-template-columns: 230px 1fr; */
  gap: 24px;
  align-items: center;
  background: #fff;
  border: 1px solid #efe8ff;
  border-radius: 24px;
  padding: 25px;
  box-shadow: var(--shadow)
}

.curriculum-card img {
  height: 400px;
  width: 730px;
  object-fit: cover;
  border-radius: 20px
}

.curriculum-card h3 {
  font-family: "Playfair Display", serif;
  color: var(--purple);
  font-weight: 900
}

.curriculum-card h4 {
  font-weight: 900
}

.curriculum-card ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  padding: 0;
  margin: 15px 0 0;
  list-style: none
}

.curriculum-card li {
  background: #f8f2ff;
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 900;
  font-size: .85rem;
  color: #5d16b8
}

.gallery {
  background: #fff
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px
}

.gallery-grid img {
  width: 100%;
  height: 205px;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(61, 22, 117, .13);
  transition: .25s
}

.gallery-grid img:hover {
  transform: scale(1.035)
}

.testimonials {
  position: relative;
  background: linear-gradient(110deg, #6218bc, #f23e91);
  border-radius: 0 0 0 90px;
  overflow: hidden;
  color: #fff
}

.testimonials .container-wide {
  position: relative;
  z-index: 2
}

.light h2 {
  color: #fff
}

.light h2 span {
  color: var(--yellow)
}

.testimonial-panda {
  position: absolute;
  right: 65px;
  top: -21px;
  width: 219px;
  z-index: 1;
  filter: drop-shadow(0 18px 26px rgba(33, 9, 67, .25));
  animation: float 5s infinite
}

.quote-card {
  height: 100%;
  background: #fff;
  border-radius: 18px;
  color: #1d2444;
  padding: 27px;
  box-shadow: var(--shadow);
  position: relative
}

.quote-card .avatar img {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 10px
}

.quote-card i {
  position: absolute;
  right: 25px;
  top: 22px;
  color: #d4c1f2;
  font-size: 2rem
}

.quote-card p {
  font-weight: 800;
  color: #555e75;
  line-height: 1.65
}

.quote-card h4 {
  font-size: 1rem;
  font-weight: 900;
  color: var(--pink);
  margin: 0
}

.quote-card small {
  font-weight: 800;
  color: #606b82
}

.stars {
  color: #ffb800;
  letter-spacing: 4px;
  margin-top: 8px
}

.blog {
  background: #fff;
  position: relative;
  overflow: hidden
}

.blog-panda {
  position: absolute;
  z-index: 99;
  right: 300px;
  top: -11px;
  width: 257px;
  filter: drop-shadow(0 18px 28px rgba(61, 22, 117, .18));
  animation: float 5.3s infinite;
}

.blog-grid {

  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  position: relative;
  z-index: 2
}

.blog-grid article {
  background: #fff;
  border-radius: 17px;
  padding: 14px;
  box-shadow: 0 14px 34px rgba(61, 22, 117, .1);
  border: 1px solid #f0e9ff;
  transition: .25s
}

.blog-grid article:hover {
  transform: translateY(-7px)
}

.blog-grid img {
  height: 145px;
  width: 100%;
  object-fit: cover;
  border-radius: 13px
}

.blog-grid span {
  display: inline-block;
  background: #f3eaff;
  color: var(--purple);
  font-weight: 900;
  border-radius: 999px;
  padding: 6px 11px;
  margin-top: -16px;
  position: relative
}

.blog-grid h3 {
  font-size: 1.04rem;
  font-weight: 900;
  margin: 13px 0
}

.blog-grid a {
  font-weight: 900;
  color: var(--purple)
}

.cta {
  background: linear-gradient(110deg, #6118ba, #ed398c);
  border-radius: 25px;
  padding: 34px 38px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  gap: 25px;
  align-items: center;
  box-shadow: var(--shadow)
}

.cta span {
  background: #fff;
  color: #6b19bd;
  border-radius: 999px;
  padding: 7px 18px;
  font-weight: 900
}

.cta h2 {
  font-family: "Playfair Display", serif;
  font-weight: 900;
  margin: 12px 0 5px
}

.cta p {
  font-weight: 800;
  color: rgba(255, 255, 255, .9);
  margin: 0
}

.affiliation-box {
  background: #fff;
  border-radius: 17px;
  border: 1px solid #efe8ff;
  box-shadow: var(--shadow);
  padding: 15px
}

.affiliation-box img {
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 10px
}

.footer {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #45119c, #731dc9);
  padding: 62px 0 22px;
  color: #fff
}

.footer-panda {
  position: absolute;
  right: -7px;
  bottom: 17px;
  width: 250px;
  opacity: .95;
}

.footer-logo {
  height: 74px;
  background: #fff;
  border-radius: 14px;
  padding: 6px;
  margin-bottom: 15px
}

.footer p,
.footer li,
.footer a {
  color: rgba(255, 255, 255, .88);
  font-weight: 700
}

.footer h4 {
  font-weight: 900;
  font-size: 1.12rem;
  margin-bottom: 17px
}

.footer ul {
  list-style: none;
  padding: 0
}

.footer li {
  margin-bottom: 8px
}

.contact li {
  display: flex;
  gap: 10px
}

.social a {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .15);
  margin-right: 8px
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .16);
  margin-top: 35px;
  padding-top: 18px;
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
  font-size: .9rem
}

.footer-bottom p {
  margin: 0
}

#backTop {
  display: none;
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: var(--purple);
  color: #fff;
  z-index: 60;
  box-shadow: var(--shadow)
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-12px)
  }
}

@keyframes bounce {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-14px)
  }
}

@keyframes twinkle {

  0%,
  100% {
    opacity: .85;
    transform: scale(1)
  }

  50% {
    opacity: .35;
    transform: scale(1.5)
  }
}

@keyframes plane {

  0%,
  100% {
    transform: translate(0, 0) rotate(-10deg)
  }

  50% {
    transform: translate(-35px, 22px) rotate(12deg)
  }
}

@media(max-width:1199px) {
  .feature-card {
    grid-template-columns: repeat(3, 1fr)
  }

  .feature-card article:nth-child(3n) {
    border-right: 0
  }

  .program-grid {
    grid-template-columns: repeat(3, 1fr)
  }

  .gallery-grid,
  .blog-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .hero {
    min-height: 620px
  }

  .quick-strip {
    width: 90%
  }
}

@media(max-width:991px) {
  .container-wide {
    width: min(100% - 32px, 1440px)
  }

  .admission-top p {
    display: none
  }

  .main-nav {
    height: auto;
    padding: 10px 0
  }

  .navbar-brand img {
    height: 58px
  }

  .hero {
    padding-top: 35px;
    min-height: auto
  }

  .hero-bg {
    opacity: .36
  }

  .hero-bg:before {
    background: rgba(255, 255, 255, .7)
  }

  .oxford-badge {
    display: none
  }

  .quick-strip {
    position: relative;
    bottom: auto;
    left: auto;
    transform: none;
    margin: 30px auto 0;
    grid-template-columns: repeat(2, 1fr)
  }

  .feature-card {
    grid-template-columns: repeat(2, 1fr)
  }

  .feature-card article:nth-child(2n) {
    border-right: 0
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .stats-grid div:nth-child(3n) {
    border-right: 1px solid rgba(255, 255, 255, .18)
  }

  .stats-grid div:nth-child(2n) {
    border-right: 0
  }

  .stats-grid div:nth-child(n+5) {
    border-bottom: 0
  }

  .curriculum-card {
    grid-template-columns: 1fr
  }

  .curriculum-card img {
    width: 100%;
    height: 320px
  }

  .testimonial-panda,
  .blog-panda,
  .footer-panda {
    display: none
  }

  .cta {
    display: block
  }

  .cta>div:last-child {
    margin-top: 22px
  }
}

@media(max-width:767px) {
  .section {
    padding: 55px 0
  }

  .admission-top .container-wide {
    justify-content: flex-start
  }

  .top-apply {
    display: none
  }

  .hero h1 {
    font-size: 3.05rem
  }

  .hero-actions .btn {
    width: 100%
  }

  .quick-strip {
    grid-template-columns: 1fr
  }

  .quick-item {
    border-right: 0;
    border-bottom: 1px solid #dfe5f2
  }

  .quick-item:last-child {
    border-bottom: 0
  }

  .feature-card {
    grid-template-columns: 1fr
  }

  .feature-card article {
    border-right: 0 !important;
    border-bottom: 1px solid #e5e1ee
  }

  .feature-card article:last-child {
    border-bottom: 0
  }

  .program-grid,
  .gallery-grid,
  .blog-grid {
    grid-template-columns: 1fr
  }

  .benefits {
    grid-template-columns: 1fr
  }

  .stats-grid {
    grid-template-columns: 1fr
  }

  .stats-grid div {
    border-right: 0 !important
  }

  .stats-grid div:nth-child(n) {
    border-bottom: 1px solid rgba(255, 255, 255, .18)
  }

  .stats-grid div:last-child {
    border-bottom: 0
  }

  .footer-bottom {
    display: block
  }

  .navbar-collapse {
    padding: 12px 0
  }

  .blog-grid article {
    max-width: 390px;
    margin: auto
  }
}

/* =========================
   Alignment + Responsive Polish
   ========================= */
:root {
  --nav-h: 92px;
}

.container-wide {
  width: min(100% - 48px, 1320px)
}

.section {
  padding: 40px 0
}

.section-sm {
  padding: 44px 0
}

.main-nav {
  top: 0
}

.navbar>.container-wide {
  gap: 22px
}

.navbar-brand {
  flex: 0 0 auto
}

.navbar-brand img {
  height: 94px;
  object-fit: contain
}

.navbar-collapse {
  flex-grow: 1
}

.navbar-nav {
  width: 100%;
  justify-content: flex-end
}

.navbar-nav .nav-link {
  font-size: .98rem;
  white-space: nowrap
}

.nav-cta {
  white-space: nowrap;
  min-width: 142px;
  justify-content: center
}

.hero {
  min-height: 580px;
  padding: 50px 0 75px;
}

.hero-bg img {
  object-position: center center
}

.hero-inner {
  min-height: 420px;
  display: flex;
  align-items: center
}

.hero-copy {
  padding-top: 10px
}

.hero p {
  max-width: 500px
}

.oxford-badge {
  right: 0.7%;
  top: 0px;
}

.quick-strip {
  bottom: 42px;
  width: min(1040px, 78vw);
  align-items: stretch
}

.quick-item {
  min-height: 88px;
  justify-content: center
}

.quick-item span {
  display: block
}

.feature-section {
  padding-top: 2px
}

.feature-card {
  max-width: 1320px;
  margin: 0 auto;
  align-items: stretch
}

.feature-card article {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 164px
}

.feature-card h3 {
  min-height: 43px;
  display: flex;
  align-items: center;
  justify-content: center
}

.why .row {
  min-height: 355px
}

.why h2 {
  margin-bottom: 6px
}

.why-panda {
  max-height: 337px;
  width: 311px;
  object-fit: contain
}

.stats-panel {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center
}

.program-grid {
  align-items: stretch
}

.program-grid article {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 278px
}

.program-grid p {
  min-height: 46px
}

.gallery-grid a {
  display: block;
  border-radius: 18px;
  overflow: hidden
}

.gallery-grid img {
  height: 210px
}

.testimonials {
  border-radius: 0 0 0 70px
}

.testimonials .section-title {
  margin-bottom: 30px
}

.quote-card {
  min-height: 278px
}

.quote-card p {
  min-height: 93px
}

.blog-grid article {
  display: flex;
  flex-direction: column
}

.blog-grid h3 {
  min-height: 50px
}

.blog-grid a {
  margin-top: auto
}

.affiliation-box {
  overflow: hidden
}

.footer {
  padding-bottom: 18px
}

.footer .row {
  position: relative;
  z-index: 2
}

.footer-panda {
  z-index: 1
}

.footer-logo {
  max-width: 180px;
  height: auto
}

.contact li {
  align-items: flex-start
}

@media (min-width:1400px) {
  .hero {
    min-height: 690px
  }

  .hero-inner {
    min-height: 455px
  }

  .hero h1 {
    font-size: 4.25rem
  }

  .quick-strip {
    width: 1080px
  }

  .hero-copy {
    max-width: 550px
  }
}

@media (max-width:1299px) {
  .container-wide {
    width: min(100% - 40px, 1180px)
  }

  .navbar-nav {
    gap: .35rem !important
  }

  .navbar-nav .nav-link {
    font-size: .9rem;
    padding-inline: 5px !important
  }

  .nav-cta {
    padding: 13px 18px;
    min-width: 128px
  }

  .hero h1 {
    font-size: clamp(3.4rem, 5.4vw, 4.85rem)
  }

  .hero-copy {
    max-width: 480px
  }

  .quick-strip {
    width: min(1000px, 86vw)
  }

  .quick-item {
    padding: 20px 22px
  }

  .quick-item i {
    font-size: 2rem
  }

  .feature-card article {
    padding-inline: 12px
  }

  .program-grid {
    gap: 18px
  }
}

@media (max-width:1199px) {
  .navbar-brand img {
    height: 64px
  }

  .main-nav {
    height: 82px
  }

  .navbar-nav .nav-link {
    font-size: .86rem
  }

  .nav-cta {
    padding: 12px 15px;
    min-width: auto
  }

  .hero {
    min-height: 610px;
    padding-bottom: 125px
  }

  .hero-inner {
    min-height: 370px
  }

  .hero-bg img {
    object-position: 58% center
  }

  .hero-copy {
    max-width: 450px
  }

  .hero h1 {
    font-size: 4.05rem
  }

  .hero p {
    font-size: .98rem;
    max-width: 440px
  }

  .oxford-badge {
    width: 125px;
    height: 125px;
    font-size: 1rem;
    right: 3.5%;
    top: 78px
  }

  .quick-strip {
    width: 90vw
  }

  .quick-item {
    padding: 18px 18px;
    gap: 14px
  }

  .quick-item span {
    font-size: .85rem
  }

  .feature-card {
    grid-template-columns: repeat(3, 1fr)
  }

  .feature-card article {
    border-bottom: 1px solid #e5e1ee
  }

  .feature-card article:nth-child(n+4) {
    border-bottom: 0
  }

  .feature-card article:nth-child(3n) {
    border-right: 0
  }

  .program-grid {
    grid-template-columns: repeat(3, 1fr);
    max-width: 900px;
    margin: 0 auto
  }

  .program-grid article:nth-child(4),
  .program-grid article:nth-child(5) {
    transform: translateX(50%)
  }

  .blog-panda {
    display: none
  }
}

@media (max-width:991px) {
  body {
    padding-top: 0
  }

  .container-wide {
    width: min(100% - 32px, 900px)
  }

  .admission-top {
    height: auto;
    min-height: 48px
  }

  .admission-top .container-wide {
    justify-content: flex-start;
    padding: 9px 40px 9px 0;
    gap: 14px
  }

  .top-msg {
    font-size: 1rem
  }

  .main-nav {
    height: auto;
    padding: 8px 0
  }

  .navbar-brand img {
    height: 58px
  }

  .navbar-toggler {
    border: 0;
    background: #f7efff;
    border-radius: 12px;
    padding: 10px
  }

  .navbar-toggler:focus {
    box-shadow: 0 0 0 .18rem rgba(93, 22, 184, .15)
  }

  .navbar-collapse {
    background: #fff;
    border: 1px solid #eee6ff;
    border-radius: 18px;
    margin-top: 10px;
    padding: 12px 16px;
    box-shadow: 0 16px 38px rgba(61, 22, 117, .1)
  }

  .navbar-nav {
    align-items: stretch !important
  }

  .navbar-nav .nav-link {
    padding: 12px 6px !important
  }

  .nav-cta {
    display: flex;
    margin-top: 8px
  }

  .hero {
    padding: 40px 0 48px;
    min-height: auto
  }

  .hero-bg {
    opacity: .32
  }

  .hero-bg img {
    object-position: 66% center
  }

  .hero-bg:before {
    background: linear-gradient(90deg, rgb(255 255 255 / 0%) 0%, rgb(255 255 255 / 3%) 60%, rgb(255 255 255 / 0%) 100%);
  }

  .hero-inner {
    min-height: 390px
  }

  .hero-copy {
    max-width: 600px
  }

  .hero h1 {
    font-size: clamp(3.2rem, 9vw, 4.6rem)
  }

  .plane,
  .star-one,
  .star-two,
  .oxford-badge {
    display: none
  }

  .quick-strip {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    margin: 20px auto 0;
    grid-template-columns: repeat(2, 1fr)
  }

  .quick-item {
    justify-content: flex-start
  }

  .feature-section {
    padding-top: 42px
  }

  .feature-card {
    grid-template-columns: repeat(2, 1fr)
  }

  .feature-card article:nth-child(n) {
    border-right: 1px solid #e5e1ee;
    border-bottom: 1px solid #e5e1ee
  }

  .feature-card article:nth-child(2n) {
    border-right: 0
  }

  .feature-card article:nth-child(n+5) {
    border-bottom: 0
  }

  .why .row {
    min-height: 0
  }

  .why .col-lg-2 {
    order: 2
  }

  .why .col-lg-5:first-child {
    order: 1
  }

  .why .col-lg-5:last-child {
    order: 3
  }

  .why-panda {
    width: 210px;
    margin: 5px auto 15px
  }

  .stats-panel {
    max-width: 620px;
    margin: 0 auto
  }

  .program-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 650px
  }

  .program-grid article:nth-child(4),
  .program-grid article:nth-child(5) {
    transform: none
  }

  .program-grid article:last-child {
    grid-column: 1/-1;
    max-width: 300px;
    margin: 0 auto;
    width: 100%
  }

  .curriculum-card {
    grid-template-columns: 100% 1fr
  }

  .curriculum-card img {
    height: 245px;
    width: 100%
  }

  .gallery-grid,
  .blog-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .testimonial-panda {
    display: none
  }

  .testimonials {
    border-radius: 0 0 0 45px
  }

  .quote-card {
    min-height: auto
  }

  .quote-card p {
    min-height: 0
  }

  .cta {
    align-items: flex-start
  }

  .footer-panda {
    display: none
  }
}

@media (max-width:767px) {
  .container-wide {
    width: min(100% - 24px, 640px)
  }

  .section {
    padding: 25px 0
  }

  .section-sm {
    padding: 34px 0
  }

  .admission-top .container-wide {
    padding-right: 34px
  }

  .top-msg {
    font-size: .92rem
  }

  .admission-top button {
    right: 0
  }

  .main-nav {
    padding: 6px 0
  }

  .hero {
    padding: 32px 0 40px
  }

  .hero-bg {
    opacity: .24
  }

  .hero-bg img {
    object-position: 74% center
  }

  .hero-inner {
    min-height: auto;
    display: block
  }

  .label {
    font-size: .75rem;
    padding: 8px 16px
  }

  .hero h1 {
    font-size: clamp(2.8rem, 12vw, 3.55rem);
    line-height: 1
  }

  .hero p {
    font-size: .95rem;
    line-height: 1.65
  }

  .hero-actions {
    gap: 12px
  }

  .hero-actions .btn {
    width: auto;
    min-width: 185px
  }

  .quick-strip {
    grid-template-columns: 1fr;
    border-radius: 16px
  }

  .quick-item {
    min-height: auto;
    border-right: 0 !important;
    border-bottom: 1px solid #dfe5f2 !important
  }

  .quick-item:last-child {
    border-bottom: 0 !important
  }

  .feature-card {
    grid-template-columns: 1fr;
    border-radius: 20px
  }

  .feature-card article:nth-child(n) {
    border-right: 0;
    border-bottom: 1px solid #e5e1ee
  }

  .feature-card article:last-child {
    border-bottom: 0
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .stats-grid div:nth-child(n) {
    border-right: 1px solid rgba(255, 255, 255, .18) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important
  }

  .stats-grid div:nth-child(2n) {
    border-right: 0 !important
  }

  .stats-grid div:nth-child(n+5) {
    border-bottom: 0 !important
  }

  .program-grid {
    grid-template-columns: 1fr;
    max-width: 340px
  }

  .program-grid article:last-child {
    grid-column: auto;
    max-width: none
  }

  .curriculum-card {
    grid-template-columns: 1fr;
    padding: 18px
  }

  .curriculum-card img {
    width: 100%;
    height: 300px
  }

  .curriculum-card ul,
  .benefits {
    grid-template-columns: 1fr
  }

  .gallery-grid,
  .blog-grid {
    grid-template-columns: 1fr;
    max-width: 430px;
    margin: 0 auto
  }

  .gallery-grid img {
    height: 230px
  }

  .testimonials {
    border-radius: 0 0 0 30px
  }

  .cta {
    padding: 26px 22px;
    border-radius: 20px
  }

  .cta .btn {
    display: inline-flex;
    margin-top: 10px;
    margin-left: 0 !important
  }

  .footer {
    text-align: left
  }

  .footer-bottom {
    display: block
  }

  .footer-bottom p+p {
    margin-top: 8px
  }
}

@media (max-width:480px) {
  .container-wide {
    width: min(100% - 20px, 420px)
  }

  .navbar-brand img {
    height: 50px
  }

  .hero h1 {
    font-size: 2.45rem
  }

  .hero-actions .btn {
    width: 100%;
    justify-content: center
  }

  .quick-item {
    padding: 17px 16px
  }

  .feature-card article {
    min-height: 0
  }

  .stats-grid {
    grid-template-columns: 1fr
  }

  .stats-grid div:nth-child(n) {
    border-right: 0 !important
  }

  .stats-grid div:nth-child(5) {
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important
  }

  .curriculum-card img {
    height: 245px
  }

  .gallery-grid img {
    height: 190px
  }

  .blog-grid img {
    height: 135px
  }

  .footer-logo {
    max-width: 150px
  }

  .btn-main,
  .btn-soft,
  .btn-yellow,
  .btn-pink {
    padding: 12px 18px
  }
}

/* Final mobile alignment and testimonial carousel fixes */
.testimonial-carousel {
  position: relative;
  padding: 0 54px 44px;
  max-width: 1240px;
  margin: 0 auto
}

.testimonial-slide {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.testimonial-carousel .carousel-indicators {
  bottom: 0;
  margin-bottom: 0
}

.testimonial-carousel .carousel-indicators button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  opacity: .45;
  border: 0
}

.testimonial-carousel .carousel-indicators .active {
  opacity: 1;
  background: var(--yellow)
}

.testimonial-carousel .carousel-control-prev,
.testimonial-carousel .carousel-control-next {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .16)
}

.testimonial-carousel .carousel-control-prev {
  left: 0
}

.testimonial-carousel .carousel-control-next {
  right: 0
}

.testimonial-carousel .carousel-control-prev-icon,
.testimonial-carousel .carousel-control-next-icon {
  filter: invert(24%) sepia(92%) saturate(2692%) hue-rotate(257deg) brightness(86%) contrast(101%);
  width: 18px;
  height: 18px
}

.testimonial-carousel .quote-card {
  height: 100%
}


.btn-yellow:hover {
  background: #ffffff;
  color: #000000 !important;
}

@media (max-width:991px) {
  .main-nav {
    z-index: 1040;
    background: #fff
  }

  .main-nav>.container-wide {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 66px
  }

  .navbar-brand {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center
  }

  .navbar-brand img {
    height: 54px;
    width: auto;
    max-width: 188px;
    object-fit: contain
  }

  .navbar-toggler {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    margin-left: auto;
    background: #f5edff;
    border: 1px solid #e5d7ff;
    border-radius: 16px;
    box-shadow: 0 10px 22px rgba(93, 22, 184, .12)
  }

  .navbar-toggler-icon {
    width: 26px;
    height: 26px;
    background-size: 100% 100%
  }

  .navbar-collapse {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: min(285px, calc(100vw - 28px));
    margin-top: 0;
    background: #fff;
    border: 1px solid #eadffe;
    border-radius: 22px;
    padding: 18px;
    box-shadow: 0 18px 48px rgba(18, 10, 46, .18);
    z-index: 1060;
    max-height: calc(100vh - 135px);
    overflow-y: auto
  }

  .navbar-collapse.collapsing {
    height: auto;
    transition: opacity .2s ease, transform .2s ease
  }

  .navbar-collapse.show {
    display: block
  }

  .navbar-nav {
    width: 100%;
    gap: 0 !important;
    align-items: stretch !important
  }

  .navbar-nav .nav-item {
    width: 100%
  }

  .navbar-nav .nav-link {
    display: block;
    width: 100%;
    padding: 12px 10px !important;
    border-radius: 12px;
    font-size: 1rem
  }

  .navbar-nav .nav-link:hover,
  .navbar-nav .nav-link.active {
    background: #f6efff
  }

  .nav-cta {
    width: 100%;
    margin-top: 12px;
    text-align: center;
    justify-content: center;
    padding: 13px 18px
  }

  .admission-top {
    z-index: 1050
  }

  .admission-top .container-wide {
    min-height: 48px
  }

  .top-msg {
    white-space: normal;
    line-height: 1.2
  }

  .admission-top p {
    display: none
  }

  .hero {
    clear: both
  }

  .testimonial-carousel {
    padding: 0 42px 44px
  }

  .testimonial-slide {
    grid-template-columns: 1fr
  }

  .testimonial-slide .quote-card {
    max-width: 620px;
    margin: 0 auto
  }

  .testimonial-panda {
    display: none !important
  }
}

@media (max-width:767px) {
  .admission-top .container-wide {
    padding-left: 0;
    padding-right: 34px
  }

  .main-nav>.container-wide {
    min-height: 62px
  }

  .navbar-brand img {
    height: 48px;
    max-width: 165px
  }

  .navbar-toggler {
    width: 50px;
    height: 50px;
    border-radius: 15px
  }

  .navbar-collapse {
    top: calc(100% + 7px);
    right: 0;
    width: min(270px, calc(100vw - 24px));
    padding: 16px;
    border-radius: 20px
  }

  .hero {
    padding-top: 28px
  }

  .testimonial-carousel {
    padding: 0 0 42px
  }

  .testimonial-carousel .carousel-control-prev,
  .testimonial-carousel .carousel-control-next {
    top: auto;
    bottom: -4px;
    transform: none;
    width: 34px;
    height: 34px
  }

  .testimonial-carousel .carousel-control-prev {
    left: calc(50% - 82px)
  }

  .testimonial-carousel .carousel-control-next {
    right: calc(50% - 82px)
  }

  .testimonial-carousel .carousel-indicators {
    bottom: 7px
  }

  .quote-card {
    padding: 24px 20px
  }

  .testimonials .section-title {
    padding: 0 42px
  }
}

@media (max-width:480px) {
  .top-msg {
    font-size: .88rem
  }

  .navbar-brand img {
           height: 70px;
        max-width: 176px;
  }

  .navbar-toggler {
    width: 48px;
    height: 48px
  }

  .navbar-collapse {
    width: min(258px, calc(100vw - 20px))
  }

  .nav-cta {
    font-size: .96rem
  }

  .testimonials .section-title {
    padding: 0
  }

  .testimonial-slide .quote-card {
    max-width: 100%
  }
}

@media (max-width: 480px) {
  .stats-grid {
    grid-template-columns: 1fr 1fr;
  }
}


html,
body {
  overflow-x: hidden !important;
  max-width: 100%;
  width: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.backTop .fa-arrow-up {
  padding: 13px !important;
}

article a {
  display: inline-block;
  margin: 0px auto 0;
}

article {
  text-align: center;
}







@media (max-width: 768px) {
  .about-floating-card {
    position: relative;
    bottom: 0;
    left: 0;
    margin-top: 15px;
    max-width: 100%;
  }

  .stats-grid strong {
    display: block;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.05;
    margin-top: 8px;
  }

  .admission-top .container-wide {
    padding-left: 0;
    padding-right: 34px;
    justify-content: center;
  }

  .program-grid a {}
}


.overflow-safe-section {
  overflow-x: hidden;
  width: 100%;
}

/* Premium inner pages */
.inner-page {
  background: linear-gradient(180deg, #fff 0, #f5fbff 42%, #fff 100%)
}

.inner-hero {
  position: relative;
  overflow: hidden;
  padding: 155px 0 85px;
  background: radial-gradient(circle at 85% 5%, rgba(239, 61, 143, .2), transparent 28%), radial-gradient(circle at 15% 10%, rgba(36, 195, 202, .22), transparent 32%), linear-gradient(135deg, #fbf8ff, #eafaff)
}

.inner-hero:before {
  content: "";
  position: absolute;
  right: -80px;
  top: 25px;
  width: 360px;
  height: 360px;
  background: url('../images/panda-blocks.png') center/contain no-repeat;
  opacity: .16;
  animation: floaty 6s ease-in-out infinite
}

.inner-hero .container-wide {
  position: relative;
  z-index: 1
}

.inner-hero h1 {
  max-width: 930px;
  font: 900 clamp(42px, 6vw, 82px)/.98 'Playfair Display', serif;
  color: var(--purple);
  letter-spacing: -1px
}

.inner-hero p {
  max-width: 760px;
  font-size: 20px;
  color: #3c4562;
  margin: 24px 0 0
}

.inner-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 30px
}

.inner-section {
  padding: 78px 0
}

.soft-bg {
  background: linear-gradient(135deg, #eefbff, #fbf8ff)
}

.inner-heading {
  font: 900 clamp(34px, 4vw, 58px)/1.02 'Playfair Display', serif;
  color: var(--purple)
}

.premium-grid {
  display: grid;
  gap: 24px
}

.premium-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.premium-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr))
}

.premium-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(93, 22, 184, .1);
  border-radius: 30px;
  padding: 34px;
  box-shadow: var(--shadow);
  transition: .3s
}

.premium-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 70px rgba(61, 22, 117, .18)
}

.premium-card i {
  font-size: 38px;
  color: var(--pink);
  margin-bottom: 20px
}

.premium-card h2 {
  font: 900 30px/1.1 'Playfair Display', serif;
  color: var(--purple);
  margin-bottom: 14px
}

.premium-card p {
  font-size: 17px;
  color: #4b536b;
  line-height: 1.75
}

.step {
  display: inline-grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--purple), var(--pink));
  color: #fff;
  margin-bottom: 18px
}

.rounded-premium {
  border-radius: 34px;
  box-shadow: var(--shadow)
}

.timeline-list {
  display: grid;
  gap: 18px;
  margin-top: 25px
}

.timeline-list div {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 0 18px;
  background: #fff;
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 14px 36px rgba(61, 22, 117, .1)
}

.timeline-list b {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--purple);
  font-size: 22px
}

.timeline-list h4 {
  margin: 0;
  color: var(--purple);
  font-weight: 900
}

.timeline-list p {
  margin: 6px 0 0;
  color: #555f78
}

.director-panel {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 40px;
  align-items: center;
  background: #fff;
  border-radius: 38px;
  padding: 38px;
  box-shadow: var(--shadow)
}

.director-panel img {
  border-radius: 30px;
  width: 100%;
  height: 450px;
  object-fit: cover
}

.director-panel h2 {
  font: 900 52px/1 'Playfair Display', serif;
  color: var(--purple)
}

.director-panel p {
  font-size: 20px;
  line-height: 1.75
}

.badge-row,
.subject-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 12px
}

.badge-row span,
.subject-cloud span {
  border-radius: 999px;
  background: #fff;
  border: 1px solid #eadffe;
  padding: 12px 18px;
  color: var(--purple);
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(61, 22, 117, .08)
}

.message-card {
  background: linear-gradient(135deg, var(--purple), #b22d9d);
  color: #fff;
  border-radius: 34px;
  padding: 42px;
  box-shadow: var(--shadow)
}

.message-card h2 {
  font: 900 42px/1 'Playfair Display', serif
}

.message-card p {
  font-size: 20px;
  line-height: 1.7
}

.program-detail-grid {
  display: grid;
  gap: 24px
}

.program-detail-grid article {
  display: grid;
  grid-template-columns: 290px 1fr;
  gap: 28px;
  align-items: center;
  background: #fff;
  border-radius: 30px;
  padding: 20px;
  box-shadow: var(--shadow)
}

.program-detail-grid img {
  height: 220px;
  width: 100%;
  object-fit: cover;
  border-radius: 24px
}

.program-detail-grid span {
  color: var(--pink);
  font-weight: 900
}

.program-detail-grid h2 {
  font: 900 38px/1.1 'Playfair Display', serif;
  color: var(--purple)
}

.program-detail-grid p {
  font-size: 18px;
  color: #4b536b
}

.form-shell {
  background: #fff;
  border-radius: 34px;
  padding: 36px;
  box-shadow: var(--shadow)
}

.form-shell h2 {
  font: 900 42px 'Playfair Display', serif;
  color: var(--purple)
}

.premium-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px
}

.premium-form input,
.premium-form select,
.premium-form textarea {
  width: 100%;
  border: 1px solid #e8ddfb;
  border-radius: 16px;
  padding: 16px;
  font-weight: 800;
  outline: none
}

.premium-form textarea {
  grid-column: 1/-1;
  min-height: 130px
}

.premium-form button {
  width: max-content
}

.fee-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px
}

.fee-card {
  background: linear-gradient(135deg, #a32d98, #7b24c8);
  color: #fff;
  border-radius: 30px;
  padding: 32px;
  box-shadow: var(--shadow)
}

.fee-card.blue {
  background: linear-gradient(135deg, #238bc5, #1b66c9)
}

.fee-card h2 {
  font: 900 30px 'Playfair Display', serif
}

.fee-card strong {
  font-size: 42px
}

.policy-grid,
.contact-layout {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px
}

.policy-grid article,
.contact-card {
  background: #fff;
  border-radius: 26px;
  padding: 30px;
  box-shadow: var(--shadow);
  border-top: 7px solid var(--pink)
}

.policy-grid h2,
.contact-card h2 {
  font: 900 30px 'Playfair Display', serif;
  color: var(--purple)
}

.inner-gallery {
  grid-template-columns: repeat(4, 1fr) !important
}

.inner-gallery a {
  height: 260px
}

.testimonial-stack {
  display: grid;
  gap: 22px
}

.testimonial-stack article {
  border-radius: 32px;
  padding: 34px 42px;
  background: linear-gradient(135deg, #a32d98, #8124bf);
  color: #fff;
  box-shadow: var(--shadow)
}

.testimonial-stack article.blue {
  background: linear-gradient(135deg, #238bc5, #1b66c9)
}

.testimonial-stack h2 {
  font: 900 34px 'Playfair Display', serif
}

.testimonial-stack small {
  font: 700 16px Nunito;
  margin-left: 8px
}

.testimonial-stack p {
  font-size: 19px
}

.contact-card {
  text-align: center
}

.contact-card i {
  font-size: 38px;
  color: var(--pink);
  margin-bottom: 14px
}

.contact-card p {
  font-size: 19px;
  color: #4b536b
}

@keyframes floaty {
  50% {
    transform: translateY(18px) rotate(5deg)
  }
}

@media(max-width:991px) {

  .premium-grid.two,
  .premium-grid.three,
  .fee-grid,
  .policy-grid,
  .contact-layout {
    grid-template-columns: 1fr
  }

  .director-panel,
  .program-detail-grid article {
    grid-template-columns: 1fr
  }

  .director-panel img {
    height: auto
  }

  .premium-form {
    grid-template-columns: 1fr
  }

  .inner-gallery {
    grid-template-columns: repeat(2, 1fr) !important
  }

  .inner-hero {
    padding-top: 135px
  }

  .inner-hero h1 {
    font-size: 46px
  }
}

@media(max-width:575px) {
  .inner-section {
    padding: 52px 0
  }

  .inner-gallery {
    grid-template-columns: 1fr !important
  }

  .container-wide {
    width: min(100% - 28px, 1440px)
  }

  .inner-hero h1 {
    font-size: 38px
  }

  .inner-hero p {
    font-size: 17px
  }

  .premium-card,
  .form-shell,
  .message-card {
    padding: 24px
  }

  .program-detail-grid img {
    height: 190px
  }
}


/* Old website inspired premium inner pages */
.page-banner {
  position: relative;
  overflow: hidden;
  padding: 155px 0 90px;
  background: linear-gradient(180deg, #f3f7fb 0%, #fff 100%)
}

.page-banner.compact {
  padding: 135px 0 70px;
  text-align: center
}

.page-banner:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 75px;
  background: radial-gradient(45px 30px at 45px 0, #fff 98%, transparent 101%) 0 100%/90px 75px repeat-x
}

.page-banner h1 {
  font: 900 clamp(42px, 6vw, 82px)/1 'Nunito', sans-serif;
  color: #263947;
  letter-spacing: -1px
}

.page-banner p {
  font-size: 19px;
  color: #263947
}

.page-banner a {
  color: #145d86;
  font-weight: 900;
  text-decoration: none
}

.contact-line {
  font-weight: 900;
  margin-top: 22px
}

.cloud-top {
  position: relative
}

.cloud-top:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 55px;
  background: radial-gradient(38px 25px at 38px 55px, #fff 98%, transparent 101%) 0 0/76px 55px repeat-x
}

.old-inspired .inner-heading {
  font-family: 'Nunito', sans-serif;
  color: #263947;
  letter-spacing: -.5px
}

.centered {
  margin-left: auto;
  margin-right: auto;
  text-align: center
}

.lead-narrow {
  max-width: 760px;
  margin: 18px auto 34px;
  color: #4d5b68;
  font-size: 18px;
  line-height: 1.8
}

.premium-checks {
  padding: 0;
  margin: 25px 0 0;
  list-style: none
}

.premium-checks li {
  margin: 12px 0;
  font-weight: 900;
  color: #263947
}

.premium-checks li:before {
  content: "›";
  font-size: 24px;
  color: var(--pink);
  margin-right: 10px
}

.mission-card {
  min-height: 320px;
  border-radius: 36px;
  padding: 48px;
  background: linear-gradient(135deg, #ffffff, #e9f8ff);
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  justify-content: center
}

.mission-card h3 {
  font: 900 56px 'Playfair Display', serif;
  color: var(--purple)
}

.mission-card p {
  font-size: 19px;
  line-height: 1.8
}

.teacher-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  margin-top: 50px
}

.teacher-grid article {
  text-align: center
}

.avatar {
    width: 62px;
    height: 57px;
    border-radius: 50%;
    display: inline-block;
    place-items: center;
    margin: 0 auto 20px;
    background: #050505;
    color: #fff;
    font-size: 61px;
}

.teacher-grid h4 {
  font-weight: 900;
  margin: 0;
  color: #111
}

.teacher-grid span {
  font-size: 13px;
  color: #5d6872;
  font-weight: 800
}

.method-stack {
  display: grid;
  gap: 24px
}

.method-card {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 35px;
  align-items: center;
  border-radius: 0;
  padding: 34px 42px;
  color: #fff;
  box-shadow: var(--shadow)
}

.method-card.purple {
  background: #a5309c
}

.method-card.blue {
  background: #2389c5
}

.method-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 28px
}

.method-card h2 {
  font: 900 34px 'Nunito', sans-serif;
  color: #fff
}

.method-card p {
  font-size: 19px;
  line-height: 1.75;
  color: #fff
}

.subject-cloud.big span {
  font-size: 19px;
  padding: 22px 28px
}

.accent-box {
  border-radius: 38px;
  padding: 45px;
  color: #fff;
  box-shadow: var(--shadow)
}

.accent-box h2 {
  font: 900 46px 'Playfair Display', serif;
  color: #fff
}

.accent-box p {
  font-size: 20px;
  line-height: 1.75
}

.accent-box.pink {
  background: #e7357c
}

.accent-box.green {
  background: #9bc331
}

.map-card {
  height: 420px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 10px solid #fff
}

.map-card iframe {
  width: 100%;
  height: 100%;
  border: 0
}

.contact-form .full {
  grid-column: 1/-1
}

.admission-side {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center
}

.footer {
  position: relative
}

.footer:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -50px;
  height: 60px;
  background: radial-gradient(40px 28px at 40px 60px, #263947 98%, transparent 101%) 0 0/80px 60px repeat-x;
  filter: drop-shadow(0 -6px 0 rgba(38, 57, 71, .25))
}

.gallery-grid.inner-gallery a {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--shadow)
}

.gallery-grid.inner-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .45s
}

.gallery-grid.inner-gallery a:hover img {
  transform: scale(1.08)
}

@media(max-width:991px) {

  .method-card,
  .method-card.blue {
    grid-template-columns: 1fr
  }

  .teacher-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .page-banner {
    padding-top: 125px
  }

  .method-card.blue img {
    order: -1
  }
}

@media(max-width:575px) {
  .teacher-grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px
  }

  /*.avatar {*/
  /*  width: 88px;*/
  /*  height: 88px;*/
  /*  font-size: 48px*/
  /*}*/

  .method-card {
    padding: 24px
  }

  .page-banner h1 {
    font-size: 38px
  }

  .contact-line {
    font-size: 14px
  }

  .map-card {
    height: 320px
  }
}

/* ================= Enhanced compact inner pages - 24 Jun ================= */
.inner-page-v2 {
  background: #f4f8fb;
  color: #203443;
  font-family: 'Nunito', sans-serif
}

.inner-page-v2 p {
  font-size: 15px;
  line-height: 1.7;
  color: #536575;
  margin-bottom: 12px
}

.inner-page-v2 .container-wide {
  max-width: 1180px
}

.ip-hero {
  position: relative;
  overflow: hidden;
  padding: 72px 0 42px;
  background: linear-gradient(135deg, #effbff 0%, #fff7fb 55%, #f6f0ff 100%);
  border-bottom: 1px solid rgba(38, 91, 128, .08)
}

.ip-hero:after {
  content: "";
  position: absolute;
  right: -70px;
  top: -90px;
  width: 310px;
  height: 310px;
  border-radius: 50%;
  background: radial-gradient(circle, #e72f7a 0 17%, transparent 18%), radial-gradient(circle at 25% 70%, #18abc0 0 13%, transparent 14%), radial-gradient(circle at 75% 60%, #ffb42d 0 12%, transparent 13%);
  opacity: .24
}

.ip-hero h1 {
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 900;
  line-height: 1.05;
  margin: 8px 0 10px;
  color: #263844
}

.ip-hero .crumb {
  font-size: 14px;
  font-weight: 800;
  color: #1f678c
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 900;
  font-size: 13px;
  color: #1f678c;
  letter-spacing: .02em
}

.eyebrow:before {
  content: "";
  width: 4px;
  height: 24px;
  background: #2188bb;
  border-radius: 10px
}

.ip-section {
  padding: 56px 0
}

.ip-section.compact {
  padding: 36px 0
}

.ip-grid {
  display: grid;
  gap: 22px
}

.ip-grid.two {
  grid-template-columns: 1.05fr .95fr
}

.ip-grid.three {
  grid-template-columns: repeat(3, 1fr)
}

.ip-grid.four {
  grid-template-columns: repeat(4, 1fr)
}

.ip-card {
  background: #fff;
  border-radius: 24px;
  padding: 26px;
  box-shadow: 0 18px 45px rgba(32, 52, 67, .08);
  border: 1px solid rgba(31, 103, 140, .09);
  height: 100%;
  transition: .35s ease
}

.ip-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 55px rgba(32, 52, 67, .13)
}

.ip-card.tint {
  background: linear-gradient(140deg, #fff, #edf9ff)
}

.ip-card.purple {
  background: linear-gradient(140deg, #a22c95, #623a93);
  color: #fff
}

.ip-card.purple p,
.ip-card.purple li,
.ip-card.purple span {
  color: rgba(255, 255, 255, .88)
}

.ip-card.blue {
  background: #1f82bb;
  color: #fff
}

.ip-card.blue p,
.ip-card.blue li,
.ip-card.blue span {
  color: rgba(255, 255, 255, .9)
}

.ip-card.green {
  background: #93bd35;
  color: #fff
}

.ip-card.green p,
.ip-card.green li,
.ip-card.green span {
  color: rgba(255, 255, 255, .9)
}

.ip-title {
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 900;
  color: #263844;
  line-height: 1.16;
  margin: 10px 0 14px
}

.ip-card h3,
.mini-card h3 {
  font-size: 20px;
  font-weight: 900;
  color: #263844;
  margin-bottom: 10px
}

.ip-card.purple h3,
.ip-card.blue h3,
.ip-card.green h3 {
  color: #fff
}

.ip-img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  border-radius: 26px;
  box-shadow: 0 18px 40px rgba(32, 52, 67, .12)
}

.mini-card {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  border: 1px solid rgba(31, 103, 140, .1);
  box-shadow: 0 12px 32px rgba(32, 52, 67, .06)
}

.icon-dot {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e7f7ff;
  color: #1f82bb;
  margin-bottom: 12px;
  font-size: 18px
}

.ip-list {
  list-style: none;
  padding: 0;
  margin: 14px 0 0
}

.ip-list li {
  position: relative;
  padding-left: 26px;
  margin: 9px 0;
  font-size: 15px;
  color: #536575
}

.ip-list li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #20a6b7;
  font-weight: 900
}

.stat-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 22px
}

.stat-box {
  background: #fff;
  border-radius: 22px;
  padding: 18px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(32, 52, 67, .07)
}

.stat-box strong {
  display: block;
  font-size: 28px;
  color: #1f678c;
  font-weight: 900
}

.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px
}

.pill {
  padding: 9px 14px;
  border-radius: 999px;
  background: #eef7fb;
  color: #24566d;
  font-size: 14px;
  font-weight: 800
}

.process {
  counter-reset: step;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px
}

.process .mini-card {
  position: relative
}

.process .mini-card:before {
  counter-increment: step;
  content: counter(step);
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #a22c95;
  color: #fff;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px
}

.fee-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 18px;
  font-size: 14px
}

.fee-table th {
  background: #1f82bb;
  color: #fff;
  padding: 12px
}

.fee-table td {
  background: #fff;
  padding: 11px;
  border-bottom: 1px solid #e6eef3
}

.fee-table tr:nth-child(even) td {
  background: #f6fbfd
}

.badge-head {
  display: inline-block;
  background: #a22c95;
  color: #fff;
  border-radius: 999px;
  padding: 8px 18px;
  font-weight: 900;
  font-size: 14px;
  margin-bottom: 14px
}

.gallery-mosaic {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px
}

.gallery-mosaic a {
  display: block;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(32, 52, 67, .08)
}

.gallery-mosaic img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  transition: .35s
}

.gallery-mosaic a:hover img {
  transform: scale(1.06)
}

.contact-band {
  background: #243845;
  color: #fff;
  border-radius: 26px;
  padding: 26px
}

.contact-band p,
.contact-band a {
  color: rgba(255, 255, 255, .88);
  text-decoration: none
}

.form-control,
.form-select {
  border-radius: 12px;
  border: 1px solid #dbe6ec;
  padding: 12px 14px;
  font-size: 14px
}

.btn-premium {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  background: #1f82bb;
  color: #fff !important;
  font-weight: 900;
  padding: 12px 22px;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(31, 130, 187, .22)
}

.note-box {
  background: #fff7e8;
  border-left: 5px solid #ffb42d;
  border-radius: 18px;
  padding: 18px
}

.testimonial-card {
  background: #fff;
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 12px 32px rgba(32, 52, 67, .08);
  border: 1px solid #edf2f6
}

.testimonial-card .quote {
  font-size: 36px;
  color: #a22c95;
  line-height: 1
}

.teacher-mini {
  text-align: center
}

.teacher-mini .avatar {
  width: 86px;
  height: 86px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: #eef5f8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 38px;
  color: #203443
}

.teacher-mini h4 {
  font-size: 16px;
  font-weight: 900;
  margin: 0
}

.teacher-mini span {
  font-size: 13px;
  color: #647887
}

.app-mini {
  display: flex;
  gap: 12px;
  align-items: center;
  background: #fff;
  border-radius: 16px;
  padding: 14px;
  border: 1px solid #e8eff3
}

.app-mini i {
  font-size: 28px;
  color: #203443
}

.map-box iframe {
  width: 100%;
  height: 340px;
  border: 0;
  border-radius: 24px
}

.cloud-divider {
  height: 42px;
  background: radial-gradient(circle at 35px -10px, transparent 42px, #f4f8fb 43px);
  background-size: 70px 44px
}

.inner-page-v2 .text-small {
  font-size: 14px
}

.inner-page-v2 .mb-tight {
  margin-bottom: 8px
}

@media(max-width:991px) {

  .ip-grid.two,
  .ip-grid.three,
  .ip-grid.four,
  .process,
  .stat-strip {
    grid-template-columns: 1fr 1fr
  }

  .ip-section {
    padding: 42px 0
  }

  .gallery-mosaic {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width:575px) {

  .ip-grid.two,
  .ip-grid.three,
  .ip-grid.four,
  .process,
  .stat-strip {
    grid-template-columns: 1fr
  }

  .ip-card {
    padding: 20px
  }

  .gallery-mosaic {
    grid-template-columns: 1fr
  }

  .ip-hero {
    padding: 48px 0 30px
  }

  .ip-img {
    min-height: 220px
  }
}

/* Enhanced compact premium inner pages - v3 */
.inner-page-v3 {
  --ink: #203443;
  --muted: #60717f;
  --blue: #1f82bb;
  --teal: #21a8b8;
  --purple: #9d2c93;
  --pink: #e7357c;
  --green: #8fbd35;
  --yellow: #ffb42d;
  background: #f4f8fb;
  color: var(--ink);
  font-family: 'Nunito', sans-serif;
  overflow: hidden
}

.inner-page-v3 p {
  font-size: 15px;
  line-height: 1.68;
  color: var(--muted);
  margin-bottom: 12px
}

.inner-page-v3 .container-wide {
  max-width: 1180px
}

.page-title-bg {
  position: relative;
  min-height: 310px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-image: linear-gradient(90deg, rgba(20, 45, 60, .82), rgba(31, 130, 187, .58), rgba(157, 44, 147, .55)), var(--hero-img, url('../images/hero-banner.png'));
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid rgba(255, 255, 255, .35)
}

.page-title-bg:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 16% 25%, rgba(255, 255, 255, .25), transparent 23%), radial-gradient(circle at 84% 16%, rgba(255, 180, 45, .28), transparent 18%)
}

.page-title-bg:after {
  content: "";
  position: absolute;
  left: -5%;
  right: -5%;
  bottom: -1px;
  height: 54px;
  background: radial-gradient(44px 28px at 44px 54px, #f4f8fb 98%, transparent 101%) 0 0/88px 54px repeat-x
}

.title-wrap {
  position: relative;
  z-index: 1;
  max-width: 780px;
  padding-top: 60px
}

.title-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  border: 1px solid rgba(255, 255, 255, .28)
}

.title-kicker:before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--yellow)
}

.page-title-bg h1 {
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.02;
  margin: 16px 0 12px;
  color: #fff;
  font-weight: 900;
  letter-spacing: -.03em
}

.page-title-bg .crumb {
  display: inline-flex;
  gap: 8px;
  color: rgba(255, 255, 255, .9);
  font-size: 14px;
  font-weight: 800
}

.page-title-bg .crumb a {
  color: #fff;
  text-decoration: none
}

.page-title-bg .quick-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px
}

.page-title-bg .quick-tags span {
  background: rgba(255, 255, 255, .18);
  border: 1px solid rgba(255, 255, 255, .24);
  color: #fff;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900
}

.section-v3 {
  padding: 48px 0
}

.section-v3.slim {
  padding: 28px 0
}

.section-v3.white {
  background: #fff
}

.v3-grid {
  display: grid;
  gap: 20px
}

.v3-grid.two {
  grid-template-columns: 1.05fr .95fr
}

.v3-grid.three {
  grid-template-columns: repeat(3, 1fr)
}

.v3-grid.four {
  grid-template-columns: repeat(4, 1fr)
}

.v3-grid.auto {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr))
}

.section-head {
  max-width: 720px;
  margin-bottom: 22px
}

.section-head.center {
  margin-left: auto;
  margin-right: auto;
  text-align: center
}

.section-head .mini-title,
.mini-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 9px
}

.section-head .mini-title:before,
.mini-title:before {
  content: "";
  width: 4px;
  height: 20px;
  background: var(--blue);
  border-radius: 8px
}

.section-head.center .mini-title:before {
  display: none
}

.section-head.center .mini-title:after {
  content: "";
  width: 34px;
  height: 3px;
  background: var(--blue);
  border-radius: 10px
}

.section-head h2 {
  font-size: clamp(25px, 3vw, 36px);
  font-weight: 900;
  line-height: 1.14;
  color: var(--ink);
  letter-spacing: -.025em;
  margin-bottom: 8px
}

.v3-card {
  background: #fff;
  border: 1px solid rgba(31, 130, 187, .1);
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 18px 42px rgba(32, 52, 67, .08);
  height: 100%;
  transition: .3s ease
}

.v3-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 55px rgba(32, 52, 67, .13)
}

.v3-card h3 {
  font-size: 20px;
  font-weight: 900;
  color: var(--ink);
  margin-bottom: 8px;
  line-height: 1.2
}

.v3-card .icon {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e9f7fc;
  color: var(--blue);
  font-size: 19px;
  margin-bottom: 12px
}

.v3-card.color {
  background: linear-gradient(135deg, var(--blue), #144e78);
  color: #fff
}

.v3-card.color.purple {
  background: linear-gradient(135deg, var(--purple), #623a93)
}

.v3-card.color.green {
  background: linear-gradient(135deg, var(--green), #689d2c)
}

.v3-card.color.pink {
  background: linear-gradient(135deg, var(--pink), var(--purple))
}

.v3-card.color h3,
.v3-card.color p,
.v3-card.color li {
  color: #fff
}

.v3-img {
  width: 100%;
  height: 100%;
  min-height: 290px;
  object-fit: cover;
  border-radius: 26px;
  box-shadow: 0 18px 42px rgba(32, 52, 67, .12)
}

.feature-list {
  list-style: none;
  padding: 0;
  margin: 14px 0 0
}

.feature-list li {
  position: relative;
  padding-left: 26px;
  margin: 8px 0;
  color: var(--muted);
  font-size: 15px;
  font-weight: 700
}

.feature-list li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--teal);
  font-weight: 900
}

.compact-stat {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px
}

.compact-stat .stat {
  background: #fff;
  border-radius: 22px;
  padding: 18px;
  text-align: center;
  box-shadow: 0 12px 32px rgba(32, 52, 67, .07);
  border: 1px solid rgba(31, 130, 187, .08)
}

.compact-stat strong {
  display: block;
  font-size: 29px;
  color: var(--blue);
  font-weight: 900
}

.compact-stat span {
  font-size: 13px;
  font-weight: 900;
  color: var(--muted)
}

.split-panel {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 20px;
  align-items: center;
  background: #fff;
  border-radius: 28px;
  padding: 18px;
  box-shadow: 0 18px 42px rgba(32, 52, 67, .08);
  border: 1px solid rgba(31, 130, 187, .09)
}

.split-panel.reverse {
  grid-template-columns: 1.1fr .9fr
}

.split-panel img {
  height: 270px;
  width: 100%;
  object-fit: cover;
  border-radius: 22px
}

.split-panel .content {
  padding: 8px 12px
}

.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px
}

.badge-row span {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: #eef7fb;
  color: #24566d;
  font-size: 13px;
  font-weight: 900
}

.process-row {
  counter-reset: item;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px
}

.process-row .v3-card {
  padding: 20px
}

.process-row .v3-card:before {
  counter-increment: item;
  content: counter(item);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--purple);
  color: #fff;
  font-weight: 900;
  margin-bottom: 10px
}

.fee-box {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 38px rgba(32, 52, 67, .08);
  border: 1px solid rgba(31, 130, 187, .1)
}

.fee-box h3 {
  margin: 0;
  padding: 13px 16px;
  background: var(--purple);
  color: #fff;
  font-size: 17px;
  font-weight: 900
}

.fee-box.blue h3 {
  background: var(--blue)
}

.fee-table-v3 {
  width: 100%;
  font-size: 14px;
  border-collapse: collapse
}

.fee-table-v3 th {
  background: #eef7fb;
  color: var(--ink);
  font-weight: 900
}

.fee-table-v3 th,
.fee-table-v3 td {
  padding: 11px 13px;
  border-bottom: 1px solid #e6eef3
}

.fee-table-v3 td:last-child,
.fee-table-v3 th:last-child {
  text-align: right;
  font-weight: 900
}

.quote-card {
  position: relative;
  background: #fff;
  border-radius: 22px;
  padding: 22px 24px;
  box-shadow: 0 14px 34px rgba(32, 52, 67, .08);
  border-left: 5px solid var(--purple)
}

.quote-card:before {
  content: '“';
  position: absolute;
  right: 18px;
  top: 4px;
  font-size: 64px;
  line-height: 1;
  color: rgba(157, 44, 147, .16);
  font-weight: 900
}

.quote-card h3 {
  font-size: 18px;
  font-weight: 900;
  margin-bottom: 5px
}

.gallery-v3 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px
}

.gallery-v3 a {
  display: block;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(32, 52, 67, .08)
}

.gallery-v3 img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  transition: .35s
}

.gallery-v3 a:nth-child(1) {
  grid-column: span 2;
  grid-row: span 2
}

.gallery-v3 a:nth-child(1) img {
  height: 374px
}

.gallery-v3 a:hover img {
  transform: scale(1.06)
}

.contact-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px
}

.contact-form-v3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}

.contact-form-v3 .full {
  grid-column: 1/-1
}

.contact-form-v3 input,
.contact-form-v3 textarea,
.contact-form-v3 select {
  width: 100%;
  border: 1px solid #dbe6ec;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 14px;
  outline: none;
  background: #fff
}

.contact-form-v3 textarea {
  min-height: 118px
}

.map-v3 iframe {
  width: 100%;
  height: 360px;
  border: 0;
  border-radius: 24px;
  box-shadow: 0 18px 42px rgba(32, 52, 67, .09)
}

.cta-strip {
  border-radius: 28px;
  padding: 28px;
  background: linear-gradient(135deg, #213845, #1f82bb);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 18px 42px rgba(32, 52, 67, .12)
}

.cta-strip h2 {
  color: #fff;
  font-size: 26px;
  font-weight: 900;
  margin: 0
}

.cta-strip p {
  color: rgba(255, 255, 255, .86);
  margin: 5px 0 0
}

.btn-v3 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  background: var(--pink);
  color: #fff !important;
  font-weight: 900;
  padding: 12px 20px;
  text-decoration: none;
  white-space: nowrap
}

.btn-v3.alt {
  background: #fff;
  color: var(--blue) !important
}

.teacher-v3 {
  text-align: center;
  background: #fff;
  border-radius: 20px;
  padding: 20px 10px;
  box-shadow: 0 12px 30px rgba(32, 52, 67, .07)
}

.teacher-v3 .avatar {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: #eef5f8;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
  color: var(--ink);
  font-size: 34px
}

.teacher-v3 h4 {
  font-size: 15px;
  font-weight: 900;
  margin: 0
}

.teacher-v3 span {
  font-size: 12px;
  font-weight: 800;
  color: var(--muted)
}

.policy-mini {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: start
}

.policy-mini .icon {
  grid-row: span 2
}

.info-bar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: -28px;
  position: relative;
  z-index: 2
}

.info-bar .v3-card {
  padding: 18px;
  display: flex;
  gap: 12px;
  align-items: center
}

.info-bar .icon {
  margin: 0;
  flex: none
}

@media(max-width:991px) {

  .v3-grid.two,
  .v3-grid.three,
  .v3-grid.four,
  .compact-stat,
  .process-row,
  .contact-grid,
  .info-bar {
    grid-template-columns: 1fr 1fr
  }

  .split-panel,
  .split-panel.reverse {
    grid-template-columns: 1fr
  }

  .split-panel.reverse img {
    order: -1
  }

  .page-title-bg {
    min-height: 270px
  }

  .gallery-v3 {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width:575px) {

  .v3-grid.two,
  .v3-grid.three,
  .v3-grid.four,
  .compact-stat,
  .process-row,
  .contact-grid,
  .info-bar,
  .contact-form-v3 {
    grid-template-columns: 1fr
  }

  .section-v3 {
    padding: 36px 0
  }

  .page-title-bg {
    min-height: 250px
  }

  .title-wrap {
    padding-top: 48px
  }

  .page-title-bg h1 {
    font-size: 34px
  }

  .split-panel {
    padding: 14px
  }

  .gallery-v3 {
    grid-template-columns: 1fr
  }

  .gallery-v3 a:nth-child(1) {
    grid-column: auto;
    grid-row: auto
  }

  .gallery-v3 a:nth-child(1) img,
  .gallery-v3 img {
    height: 220px
  }

  .cta-strip {
    display: block
  }

  .cta-strip .btn-v3 {
    margin-top: 14px
  }
}

/* SSBPS premium inner pages v4 - scoped only, does not affect home page */
.inner-pro {
  --ip-ink: #203443;
  --ip-muted: #647684;
  --ip-blue: #1685c7;
  --ip-dark: #263947;
  --ip-teal: #22b6c2;
  --ip-purple: #7422cc;
  --ip-magenta: #d9349b;
  --ip-yellow: #ffc532;
  --ip-soft: #f2f8fb;
  background: #f3f8fb;
  color: var(--ip-ink);
  font-family: 'Nunito', sans-serif;
  overflow: hidden
}

.inner-pro * {
  box-sizing: border-box
}

.inner-pro p {
  font-size: 15px;
  line-height: 1.68;
  color: var(--ip-muted);
  margin: 0 0 12px
}

.inner-pro .container-wide {
  max-width: 1160px
}

.ip-hero4 {
  position: relative;
  min-height: 290px;
  display: flex;
  align-items: end;
  padding: 92px 0 62px;
  background-image: linear-gradient(105deg, rgba(27, 47, 60, .92) 0%, rgba(21, 132, 194, .62) 52%, rgba(221, 53, 151, .66) 100%), var(--hero-img);
  background-size: cover;
  background-position: center;
  overflow: hidden
}

.ip-hero4:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 12% 30%, rgba(255, 255, 255, .24), transparent 18%), radial-gradient(circle at 82% 18%, rgba(255, 197, 50, .28), transparent 20%)
}

.ip-hero4:after {
  content: "";
  position: absolute;
  left: -3%;
  right: -3%;
  bottom: -1px;
  height: 46px;
  background: radial-gradient(38px 26px at 38px 46px, #f3f8fb 98%, transparent 101%) 0 0/76px 46px repeat-x
}

.ip-hero4 .wrap {
  position: relative;
  z-index: 2;
  max-width: 760px
}

.ip-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  border: 1px solid rgba(255, 255, 255, .3);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  backdrop-filter: blur(6px)
}

.ip-pill:before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ip-yellow)
}

.ip-hero4 h1 {
  margin: 15px 0 8px;
  color: #fff;
  font-weight: 900;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1;
  letter-spacing: -.035em
}

.ip-crumb {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, .92);
  font-size: 14px;
  font-weight: 900
}

.ip-crumb a {
  color: #fff;
  text-decoration: none
}

.ip-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px
}

.ip-tags span {
  background: rgba(255, 255, 255, .18);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 900
}

.ip-section {
  padding: 50px 0
}

.ip-section.white {
  background: #fff
}

.ip-section.tight {
  padding: 32px 0
}

.ip-head {
  max-width: 720px;
  margin-bottom: 24px
}

.ip-head.center {
  text-align: center;
  margin-left: auto;
  margin-right: auto
}

.ip-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--ip-blue);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
  margin-bottom: 8px
}

.ip-kicker:before {
  content: "";
  width: 4px;
  height: 22px;
  background: var(--ip-blue);
  border-radius: 8px
}

.ip-head.center .ip-kicker:before {
  display: none
}

.ip-head.center .ip-kicker:after {
  content: "";
  width: 36px;
  height: 3px;
  background: var(--ip-blue);
  border-radius: 8px
}

.ip-head h2 {
  margin: 0;
  color: var(--ip-ink);
  font-size: clamp(26px, 3.2vw, 38px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -.03em
}

.ip-head p {
  margin-top: 8px
}

.ip-grid {
  display: grid;
  gap: 20px
}

.ip-grid.two {
  grid-template-columns: 1fr 1fr
}

.ip-grid.three {
  grid-template-columns: repeat(3, 1fr)
}

.ip-grid.four {
  grid-template-columns: repeat(4, 1fr)
}

.ip-grid.auto {
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr))
}

.ip-panel {
  background: #fff;
  border-radius: 26px;
  padding: 22px;
  border: 1px solid rgba(22, 133, 199, .1);
  box-shadow: 0 18px 44px rgba(32, 52, 67, .08);
  height: 100%;
  transition: .25s ease
}

.ip-panel:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 58px rgba(32, 52, 67, .13)
}

.ip-panel h3 {
  margin: 0 0 8px;
  color: var(--ip-ink);
  font-size: 20px;
  line-height: 1.2;
  font-weight: 900
}

.ip-panel .icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  background: #e7f6fc;
  color: var(--ip-blue);
  font-size: 18px
}

.ip-panel.grad {
  background: linear-gradient(135deg, var(--ip-purple), var(--ip-magenta));
  color: #fff;
  border: 0
}

.ip-panel.grad.blue {
  background: linear-gradient(135deg, #145a7d, var(--ip-blue))
}

.ip-panel.grad.green {
  background: linear-gradient(135deg, #79a52d, #17a5b2)
}

.ip-panel.grad h3,
.ip-panel.grad p,
.ip-panel.grad li {
  color: #fff
}

.ip-feature {
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  gap: 22px;
  align-items: center;
  background: #fff;
  border-radius: 28px;
  padding: 18px;
  border: 1px solid rgba(22, 133, 199, .1);
  box-shadow: 0 18px 44px rgba(32, 52, 67, .08)
}

.ip-feature.reverse {
  grid-template-columns: 1.08fr 1fr
}

.ip-feature img {
  width: 100%;
  height: 285px;
  object-fit: cover;
  border-radius: 22px
}

.ip-feature .content {
  padding: 10px 12px
}

.ip-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 13px
}

.ip-badges span {
  background: #edf8fc;
  color: #24566d;
  border: 1px solid #d8edf5;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 900
}

.ip-stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px
}

.ip-stat {
  background: #fff;
  border-radius: 20px;
  text-align: center;
  padding: 19px 14px;
  box-shadow: 0 14px 34px rgba(32, 52, 67, .07);
  border: 1px solid rgba(22, 133, 199, .08)
}

.ip-stat strong {
  display: block;
  color: var(--ip-blue);
  font-size: 30px;
  font-weight: 900;
  line-height: 1
}

.ip-stat span {
  display: block;
  margin-top: 7px;
  color: var(--ip-muted);
  font-size: 13px;
  font-weight: 900
}

.ip-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0
}

.ip-list li {
  position: relative;
  margin: 8px 0;
  padding-left: 25px;
  color: var(--ip-muted);
  font-size: 15px;
  font-weight: 800
}

.ip-list li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--ip-teal);
  font-weight: 900
}

.ip-process {
  counter-reset: step
}

.ip-process .ip-panel:before {
  counter-increment: step;
  content: counter(step);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--ip-purple);
  color: #fff;
  font-weight: 900;
  margin-bottom: 10px
}

.ip-teacher {
  text-align: center;
  background: #fff;
  border-radius: 20px;
  padding: 20px 10px;
  box-shadow: 0 14px 34px rgba(32, 52, 67, .07)
}

.ip-avatar {
  width: 76px;
  height: 76px;
  margin: 0 auto 12px;
  border-radius: 999px;
  background: #edf5f8;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ip-dark);
  font-size: 32px
}

.ip-teacher h4 {
  margin: 0;
  color: var(--ip-ink);
  font-size: 15px;
  font-weight: 900
}

.ip-teacher span {
  font-size: 12px;
  color: var(--ip-muted);
  font-weight: 800
}

.ip-table-card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 38px rgba(32, 52, 67, .08);
  border: 1px solid rgba(22, 133, 199, .1)
}

.ip-table-card h3 {
  margin: 0;
  padding: 13px 16px;
  background: var(--ip-purple);
  color: #fff;
  font-size: 17px;
  font-weight: 900
}

.ip-table-card.blue h3 {
  background: var(--ip-blue)
}

.ip-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px
}

.ip-table th {
  background: #eef7fb;
  color: var(--ip-ink);
  font-weight: 900
}

.ip-table th,
.ip-table td {
  padding: 11px 13px;
  border-bottom: 1px solid #e6eef3
}

.ip-table td:last-child,
.ip-table th:last-child {
  text-align: right;
  font-weight: 900
}

.ip-quote {
  position: relative;
  background: #fff;
  border-radius: 24px;
  padding: 26px;
  border-left: 6px solid var(--ip-magenta);
  box-shadow: 0 16px 38px rgba(32, 52, 67, .08)
}

.ip-quote:after {
  content: '“';
  position: absolute;
  right: 22px;
  top: 4px;
  font-size: 70px;
  color: rgba(116, 34, 204, .14);
  font-weight: 900
}

.ip-quote h3 {
  color: var(--ip-magenta);
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 4px
}

.ip-quote small {
  display: block;
  color: var(--ip-muted);
  font-weight: 900;
  margin-bottom: 10px
}

.ip-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px
}

.ip-gallery a {
  display: block;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(32, 52, 67, .08)
}

.ip-gallery img {
  width: 100%;
  height: 178px;
  object-fit: cover;
  transition: .35s
}

.ip-gallery a:first-child {
  grid-column: span 2;
  grid-row: span 2
}

.ip-gallery a:first-child img {
  height: 370px
}

.ip-gallery a:hover img {
  transform: scale(1.06)
}

.ip-contact {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 22px
}

.ip-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}

.ip-form .full {
  grid-column: 1/-1
}

.ip-form input,
.ip-form textarea,
.ip-form select {
  width: 100%;
  border: 1px solid #dbe6ec;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 14px;
  background: #fff;
  outline: none
}

.ip-form textarea {
  min-height: 118px
}

.ip-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  background: var(--ip-purple);
  color: #fff !important;
  font-weight: 900;
  text-decoration: none;
  padding: 12px 20px;
  box-shadow: 0 10px 25px rgba(116, 34, 204, .24)
}

.ip-btn.alt {
  background: #fff;
  color: var(--ip-blue) !important
}

.ip-map iframe {
  width: 100%;
  height: 360px;
  border: 0;
  border-radius: 24px;
  box-shadow: 0 18px 42px rgba(32, 52, 67, .09)
}

.ip-cta {
  border-radius: 26px;
  padding: 28px;
  background: linear-gradient(135deg, #213845, #1685c7);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #fff;
  box-shadow: 0 18px 42px rgba(32, 52, 67, .12)
}

.ip-cta h2 {
  font-size: 26px;
  font-weight: 900;
  margin: 0;
  color: #fff
}

.ip-cta p {
  color: rgba(255, 255, 255, .9);
  margin: 5px 0 0
}

.ip-band {
  position: relative;
  background: linear-gradient(135deg, var(--ip-purple), var(--ip-magenta));
  color: #fff
}

.ip-band:before {
  content: "";
  position: absolute;
  right: 0;
  top: -35px;
  width: 170px;
  height: 170px;
  background: url('../images/testimoyals-panda-img.png') center/contain no-repeat
}

.ip-band .ip-head h2,
.ip-band .ip-head p,
.ip-band .ip-kicker {
  color: #fff
}

.ip-band .ip-kicker:after {
  background: #fff
}

.ip-mini-line {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: -24px;
  position: relative;
  z-index: 3
}

.ip-mini-line .ip-panel {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 17px
}

.ip-mini-line .icon {
  margin: 0;
  flex: 0 0 42px
}

.ip-program-card {
  overflow: hidden;
  padding: 0
}

.ip-program-card img {
  width: 100%;
  height: 185px;
  object-fit: cover
}

.ip-program-card .body {
  padding: 20px
}

.ip-director {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 24px;
  align-items: center
}

.ip-director img {
  width: 100%;
  height: 390px;
  object-fit: cover;
  border-radius: 24px
}

.ip-timeline {
  display: grid;
  gap: 14px
}

.ip-timeline article {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 14px;
  background: #fff;
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 14px 34px rgba(32, 52, 67, .07)
}

.ip-timeline b {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: var(--ip-yellow);
  color: var(--ip-purple);
  font-weight: 900
}

.ip-timeline h3 {
  font-size: 18px;
  font-weight: 900;
  margin: 0 0 5px
}

.ip-download {
  display: flex;
  flex-wrap: wrap;
  gap: 12px
}

.ip-download a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 14px;
  background: #eef7fb;
  color: var(--ip-blue);
  text-decoration: none;
  font-weight: 900
}

@media(max-width:991px) {

  .ip-grid.two,
  .ip-grid.three,
  .ip-grid.four,
  .ip-stat-row,
  .ip-mini-line,
  .ip-feature,
  .ip-feature.reverse,
  .ip-contact,
  .ip-director {
    grid-template-columns: 1fr 1fr
  }

  .ip-feature,
  .ip-feature.reverse,
  .ip-contact,
  .ip-director {
    grid-template-columns: 1fr
  }

  .ip-feature.reverse img {
    order: -1
  }

  .ip-gallery {
    grid-template-columns: repeat(2, 1fr)
  }

  .ip-hero4 {
    min-height: 260px;
    padding-top: 80px
  }

  .ip-band:before {
    opacity: .45
  }
}

@media(max-width:575px) {
  .ip-section {
    padding: 38px 0
  }

  .ip-grid.two,
  .ip-grid.three,
  .ip-grid.four,
  .ip-stat-row,
  .ip-mini-line,
  .ip-form,
  .ip-gallery {
    grid-template-columns: 1fr
  }

  .ip-hero4 {
    min-height: 235px;
    padding: 70px 0 52px
  }

  .ip-hero4 h1 {
    font-size: 34px
  }

  .ip-feature {
    padding: 14px
  }

  .ip-feature img {
    height: 220px
  }

  .ip-gallery a:first-child {
    grid-column: auto;
    grid-row: auto
  }

  .ip-gallery a:first-child img,
  .ip-gallery img {
    height: 220px
  }

  .ip-cta {
    display: block
  }

  .ip-cta .ip-btn {
    margin-top: 14px
  }

  .ip-table {
    font-size: 13px
  }

  .ip-table th,
  .ip-table td {
    padding: 9px
  }
}


/* ===== FINAL SSBPS PREMIUM INNER PAGES ONLY - scoped, does not affect home ===== */
body:has(.inner-premium) {
  background: #f4f9fd;
  color: #112942
}

.inner-premium {
  --ip-blue: #116fc9;
  --ip-blue2: #1696d2;
  --ip-purple: #6820c9;
  --ip-violet: #8f27d7;
  --ip-pink: #ef3c95;
  --ip-yellow: #ffca2f;
  --ip-green: #31ba83;
  --ip-ink: #102941;
  --ip-muted: #607287;
  --ip-soft: #f4f9fd;
  --ip-line: #dcebf3;
  --ip-shadow: 0 18px 45px rgba(23, 52, 74, .10);
  font-family: Nunito, system-ui, sans-serif;
  overflow: hidden
}

.inner-premium .container-wide {
  width: min(100% - 90px, 1180px)
}

.ip-hero5 {
  position: relative;
  min-height: 360px;
  padding: 78px 0 82px;
  background: linear-gradient(100deg, rgba(15, 111, 201, .98) 0%, rgba(64, 110, 210, .88) 46%, rgba(235, 73, 159, .65) 100%), var(--hero-img) center/cover no-repeat;
  color: #fff;
  overflow: hidden
}

.ip-hero5:before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('../images/panda-book.png') 72% 42%/90px no-repeat, url('../images/panda-pencil.png') 63% 72%/68px no-repeat;
  opacity: .18
}

.ip-hero5:after {
  content: "";
  position: absolute;
  left: -8px;
  right: -8px;
  bottom: -2px;
  height: 54px;
  background: radial-gradient(42px 28px at 42px 0, #f4f9fd 96%, transparent 100%) 0 100%/84px 54px repeat-x
}

.ip-hero5 .hero-kid {
  position: absolute;
  right: 7%;
  bottom: 20px;
  width: min(42vw, 500px);
  max-height: 320px;
  object-fit: contain;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .12))
}

.ip-hero5 .wrap {
  position: relative;
  z-index: 2;
  max-width: 650px
}

.ip-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .22);
  border: 1px solid rgba(255, 255, 255, .35);
  padding: 9px 15px;
  font-size: 13px;
  font-weight: 900;
  color: #fff
}

.ip-pill:before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ip-yellow)
}

.ip-hero5 h1 {
  font-size: clamp(42px, 6vw, 70px);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -1.5px;
  margin: 24px 0 12px;
  color: #fff
}

.ip-crumb {
  display: flex;
  gap: 10px;
  align-items: center;
  font-weight: 900;
  font-size: 14px
}

.ip-crumb a {
  color: #fff;
  text-decoration: none
}

.ip-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px
}

.ip-tags span {
  font-size: 12px;
  font-weight: 900;
  border: 1px solid rgba(255, 255, 255, .45);
  background: rgba(255, 255, 255, .14);
  border-radius: 999px;
  padding: 8px 13px
}

.ip-section {
  padding: 58px 0;
  position: relative
}

.ip-section.white {
  background: #fff
}

.ip-section.tight {
  padding: 26px 0
}

.ip-section.blue-soft {
  background: linear-gradient(180deg, #eef8ff, #fff)
}

.ip-feature {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 38px;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(17, 111, 201, .08);
  border-radius: 28px;
  padding: 24px;
  box-shadow: var(--ip-shadow)
}

.ip-feature.reverse {
  grid-template-columns: 1.05fr .95fr
}

.ip-feature.reverse .visual {
  order: 2
}

.ip-visual {
  position: relative;
  overflow: hidden;
  border-radius: 24px
}

.ip-visual img,
.ip-feature>img {
  width: 100%;
  height: 330px;
  object-fit: cover;
  border-radius: 24px
}

.ip-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 62px;
  height: 62px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--ip-purple);
  box-shadow: 0 16px 36px rgba(0, 0, 0, .16);
  font-size: 18px
}

.ip-feature .content {
  padding: 8px 8px
}

.ip-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ip-blue);
  font-size: 13px;
  font-weight: 1000;
  text-transform: uppercase;
  letter-spacing: .9px
}

.ip-kicker:before {
  content: "";
  width: 4px;
  height: 26px;
  border-radius: 4px;
  background: var(--ip-blue)
}

.ip-head.center {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 30px
}

.ip-head.center .ip-kicker:before {
  display: none
}

.ip-head.center .ip-kicker:after {
  content: "";
  display: inline-block;
  width: 40px;
  height: 3px;
  background: var(--ip-blue);
  border-radius: 99px
}

.ip-head h2,
.ip-feature h2 {
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.08;
  font-weight: 1000;
  letter-spacing: -.8px;
  color: var(--ip-ink);
  margin: 14px 0 14px
}

.ip-head p,
.ip-feature p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--ip-muted);
  margin-bottom: 12px
}

.ip-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px
}

.ip-badges span {
  background: #fff;
  border: 1px solid #dcebf3;
  border-radius: 999px;
  padding: 9px 13px;
  font-size: 12px;
  font-weight: 900;
  color: #244456;
  box-shadow: 0 8px 18px rgba(34, 75, 102, .05)
}

.ip-icon-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 24px
}

.ip-icon-item {
  text-align: center
}

.ip-icon-item .icon {
  margin: 0 auto 10px
}

.ip-grid {
  display: grid;
  gap: 22px
}

.ip-grid.two {
  grid-template-columns: repeat(2, 1fr)
}

.ip-grid.three {
  grid-template-columns: repeat(3, 1fr)
}

.ip-grid.four {
  grid-template-columns: repeat(4, 1fr)
}

.ip-stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px
}

.ip-stat,
.ip-panel,
.ip-teacher,
.ip-quote,
.ip-program,
.ip-step {
  background: #fff;
  border: 1px solid rgba(17, 111, 201, .10);
  border-radius: 22px;
  box-shadow: var(--ip-shadow);
  padding: 24px;
  transition: .25s
}

.ip-stat:hover,
.ip-panel:hover,
.ip-program:hover,
.ip-step:hover {
  transform: translateY(-5px)
}

.ip-stat {
  display: flex;
  align-items: center;
  gap: 18px
}

.ip-stat .icon,
.ip-panel .icon,
.ip-icon-item .icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e9f6ff;
  color: var(--ip-blue);
  font-size: 23px
}

.ip-stat:nth-child(2) .icon,
.ip-panel:nth-child(2) .icon {
  background: #e9faf2;
  color: #1eac73
}

.ip-stat:nth-child(3) .icon,
.ip-panel:nth-child(3) .icon {
  background: #fff0e4;
  color: #ff7b00
}

.ip-stat:nth-child(4) .icon {
  background: #f4eafa;
  color: var(--ip-purple)
}

.ip-stat strong {
  display: block;
  color: var(--ip-blue);
  font-size: 28px;
  font-weight: 1000;
  line-height: 1
}

.ip-stat span {
  font-size: 12px;
  color: var(--ip-ink);
  font-weight: 900
}

.ip-panel h3,
.ip-program h3,
.ip-step h3 {
  font-size: 19px;
  font-weight: 1000;
  color: var(--ip-ink);
  margin: 16px 0 8px
}

.ip-panel p,
.ip-program p,
.ip-step p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--ip-muted);
  margin: 0
}

.ip-panel.grad {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #a62aba, #5722ba);
  color: #fff;
  padding: 34px
}

.ip-panel.grad:after {
  content: "";
  position: absolute;
  right: -30px;
  bottom: -20px;
  width: 220px;
  height: 180px;
  background: url('../images/panda-blocks.png') center/contain no-repeat;
  opacity: .18
}

.ip-panel.grad h3 {
  font-size: 25px;
  color: #fff;
  margin-top: 0
}

.ip-panel.grad p,
.ip-panel.grad li {
  color: #fff
}

.ip-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0
}

.ip-list li {
  position: relative;
  padding-left: 30px;
  margin: 10px 0;
  font-weight: 900;
  font-size: 14px
}

.ip-list li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .8);
  font-size: 12px
}

.ip-teacher {
  text-align: center;
  padding: 26px 16px
}

.ip-teacher img,
.ip-avatar {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 13px;
  background: #eef7fb;
  display: grid;
  place-items: center;
  color: #173447;
  font-size: 32px
}

.ip-teacher h4 {
  font-size: 15px;
  font-weight: 1000;
  margin: 0;
  color: var(--ip-ink)
}

.ip-teacher span {
  font-size: 12px;
  font-weight: 800;
  color: var(--ip-muted)
}

.ip-band {
  background: linear-gradient(135deg, #6d19c6, #ef3c95);
  color: #fff
}

.ip-band:before {
  content: "";
  position: absolute;
  right: 3%;
  top: -26px;
  width: 185px;
  height: 185px;
  background: url('../images/testimoyals-panda-img.png') center/contain no-repeat;
  z-index: 1
}

.ip-band .container-wide {
  position: relative;
  z-index: 2
}

.ip-band .ip-head h2,
.ip-band .ip-head p,
.ip-band .ip-kicker {
  color: #fff
}

.ip-quote {
  min-height: 260px;
  padding: 32px;
  background: #fff;
  border-radius: 24px;
  position: relative
}

.ip-quote:after {
  content: '“';
  position: absolute;
  right: 28px;
  top: 14px;
  color: #d5b8ff;
  font-size: 72px;
  font-weight: 1000;
  line-height: 1
}

.ip-quote img {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  object-fit: cover;
  border: 18px solid #050505;
  margin: 0 auto 20px
}

.ip-quote p {
  font-size: 16px;
  line-height: 1.7;
  font-weight: 800;
  color: #5b6780
}

.ip-quote h3 {
  font-size: 18px;
  font-weight: 1000;
  color: var(--ip-pink);
  margin: 0
}

.ip-quote small {
  font-size: 13px;
  font-weight: 900;
  color: var(--ip-muted)
}

.stars {
  color: #ffae00;
  margin-top: 12px;
  letter-spacing: 2px
}

.ip-cta {
  border-radius: 24px;
  padding: 26px 32px;
  background: linear-gradient(135deg, #1265c8, #149ed3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #fff;
  box-shadow: 0 18px 45px rgba(18, 101, 200, .2)
}

.ip-cta h2 {
  font-size: 25px;
  font-weight: 1000;
  margin: 0;
  color: #fff
}

.ip-cta p {
  margin: 4px 0 0;
  color: rgba(255, 255, 255, .9)
}

.ip-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ip-purple), var(--ip-violet));
  color: #fff !important;
  font-weight: 1000;
  text-decoration: none;
  padding: 12px 22px;
  box-shadow: 0 12px 25px rgba(104, 32, 201, .24)
}

.ip-btn.alt {
  background: #fff;
  color: var(--ip-purple) !important
}

.ip-program {
  overflow: hidden;
  padding: 0
}

.ip-program img {
  height: 190px;
  width: 100%;
  object-fit: cover
}

.ip-program .body {
  padding: 22px
}

.ip-program .age {
  display: inline-block;
  background: #eaf7ff;
  color: var(--ip-blue);
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 1000;
  margin-bottom: 12px
}

.ip-table-wrap {
  overflow: auto;
  background: #fff;
  border-radius: 24px;
  box-shadow: var(--ip-shadow);
  border: 1px solid rgba(17, 111, 201, .09)
}

.ip-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 650px
}

.ip-table th {
  background: linear-gradient(135deg, var(--ip-blue), var(--ip-purple));
  color: #fff;
  padding: 15px;
  text-align: left
}

.ip-table td {
  padding: 14px 15px;
  border-bottom: 1px solid #edf3f7;
  color: #526174;
  font-weight: 800
}

.ip-table tr:last-child td {
  border-bottom: 0
}

.ip-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}

.ip-form .full {
  grid-column: 1/-1
}

.ip-form input,
.ip-form textarea,
.ip-form select {
  width: 100%;
  border: 1px solid #dbe9f2;
  border-radius: 14px;
  padding: 13px 15px;
  font-size: 14px;
  background: #fff;
  outline: none
}

.ip-form textarea {
  min-height: 124px
}

.ip-map iframe {
  width: 100%;
  height: 420px;
  border: 0;
  border-radius: 24px;
  box-shadow: var(--ip-shadow)
}

.ip-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px
}

.ip-gallery a {
  overflow: hidden;
  border-radius: 22px;
  box-shadow: var(--ip-shadow);
  background: #fff
}

.ip-gallery img {
  width: 100%;
  height: 205px;
  object-fit: cover;
  transition: .35s
}

.ip-gallery a:first-child {
  grid-column: span 2;
  grid-row: span 2
}

.ip-gallery a:first-child img {
  height: 426px
}

.ip-gallery a:hover img {
  transform: scale(1.06)
}

.ip-timeline {
  display: grid;
  gap: 15px
}

.ip-timeline article {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 14px;
  background: #fff;
  border: 1px solid rgba(17, 111, 201, .09);
  border-radius: 22px;
  padding: 18px;
  box-shadow: var(--ip-shadow)
}

.ip-timeline b {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--ip-yellow);
  color: var(--ip-purple);
  font-weight: 1000
}

.ip-timeline h3 {
  font-size: 18px;
  font-weight: 1000;
  margin: 0 0 5px;
  color: var(--ip-ink)
}

.ip-timeline p {
  font-size: 14px;
  color: var(--ip-muted);
  line-height: 1.6;
  margin: 0
}

.ip-director {
  display: grid;
  grid-template-columns: 330px 1fr;
  gap: 34px;
  align-items: center
}

.ip-director img {
  width: 100%;
  height: 420px;
  border-radius: 26px;
  object-fit: cover;
  box-shadow: var(--ip-shadow)
}

.ip-download {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px
}

.ip-download a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #eaf7ff;
  color: var(--ip-blue);
  font-weight: 1000;
  border-radius: 14px;
  padding: 10px 14px;
  text-decoration: none
}

.ip-note {
  background: #fff8df;
  border: 1px solid #ffe69a;
  border-radius: 20px;
  padding: 20px;
  color: #654d00;
  font-weight: 800;
  line-height: 1.65
}

@media(max-width:991px) {
  .inner-premium .container-wide {
    width: min(100% - 38px, 1180px)
  }

  .ip-hero5 .hero-kid {
    opacity: .28;
    right: -40px
  }

  .ip-feature,
  .ip-feature.reverse,
  .ip-director {
    grid-template-columns: 1fr
  }

  .ip-feature.reverse .visual {
    order: 0
  }

  .ip-grid.two,
  .ip-grid.three,
  .ip-grid.four,
  .ip-stat-row {
    grid-template-columns: 1fr 1fr
  }

  .ip-gallery {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width:575px) {
  .inner-premium .container-wide {
    width: min(100% - 26px, 1180px)
  }

  .ip-hero5 {
    min-height: 300px;
    padding: 55px 0 70px
  }

  .ip-section {
    padding: 42px 0
  }

  .ip-grid.two,
  .ip-grid.three,
  .ip-grid.four,
  .ip-stat-row,
  .ip-icon-row,
  .ip-form {
    grid-template-columns: 1fr
  }

  .ip-feature {
    padding: 14px;
    border-radius: 22px
  }

  .ip-visual img,
  .ip-feature>img {
    height: 230px
  }

  .ip-gallery a:first-child {
    grid-column: auto;
    grid-row: auto
  }

  .ip-gallery a:first-child img,
  .ip-gallery img {
    height: 220px
  }

  .ip-cta {
    display: block
  }

  .ip-cta .ip-btn {
    margin-top: 16px
  }

  .ip-table {
    font-size: 13px
  }

  .ip-band:before {
    opacity: .3
  }

  .ip-director img {
    height: auto
  }
}


/* =========================================================
   INNER PAGES V2 ONLY - scoped premium layouts, no home impact
   ========================================================= */
.inner-v2 {
  --iv-blue: #0b79d0;
  --iv-sky: #eaf7ff;
  --iv-purple: #7522d8;
  --iv-pink: #ec3b94;
  --iv-ink: #152944;
  --iv-muted: #687890;
  --iv-card: #fff;
  --iv-line: #dce9f5;
  --iv-yellow: #ffc928;
  --iv-green: #28b779;
  background: #f4f9fd;
  color: var(--iv-ink);
  font-family: 'Nunito', sans-serif;
  overflow: hidden
}

.inner-v2 * {
  box-sizing: border-box
}

.inner-v2 .iv-container {
  width: min(1180px, 92vw);
  margin: auto
}

.inner-v2 .iv-hero {
  position: relative;
  min-height: 345px;
  display: flex;
  align-items: center;
  color: #fff;
  background: linear-gradient(115deg, rgba(11, 85, 178, .92), rgba(116, 31, 214, .8), rgba(236, 59, 148, .55)), var(--hero-img);
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid rgba(255, 255, 255, .5);
  isolation: isolate
}

.inner-v2 .iv-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 20% 30%, rgba(255, 255, 255, .22), transparent 15%), radial-gradient(circle at 72% 20%, rgba(255, 255, 255, .18), transparent 14%);
  z-index: -1
}

.inner-v2 .iv-hero:after {
  content: "";
  position: absolute;
  left: -2%;
  right: -2%;
  bottom: -2px;
  height: 58px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80'%3E%3Cpath fill='%23f4f9fd' d='M0 40c40-28 80-28 120 0s80 28 120 0 80-28 120 0 80 28 120 0 80-28 120 0 80 28 120 0 80-28 120 0 80 28 120 0 80-28 120 0 80 28 120 0 80-28 120 0 80 28 120 0v40H0z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat
}

.inner-v2 .iv-kicker {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 8px 14px;
  background: rgba(255, 255, 255, .18);
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 999px;
  font-weight: 900;
  font-size: 13px;
  backdrop-filter: blur(10px)
}

.inner-v2 h1 {
  font-size: clamp(42px, 6vw, 68px);
  line-height: .95;
  margin: 22px 0 14px;
  font-weight: 900;
  letter-spacing: -1.5px
}

.inner-v2 .iv-crumb {
  font-weight: 900;
  font-size: 14px
}

.inner-v2 .iv-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px
}

.inner-v2 .iv-chip {
  border: 1px solid rgba(255, 255, 255, .55);
  background: rgba(255, 255, 255, .16);
  padding: 9px 14px;
  border-radius: 12px;
  color: #fff;
  font-weight: 900;
  font-size: 13px
}

.inner-v2 .iv-section {
  padding: 72px 0
}

.inner-v2 .iv-section.tight {
  padding: 46px 0
}

.inner-v2 .iv-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center
}

.inner-v2 .iv-card {
  background: #fff;
  border: 1px solid var(--iv-line);
  border-radius: 28px;
  box-shadow: 0 18px 48px rgba(27, 77, 118, .10);
  overflow: hidden
}

.inner-v2 .iv-pad {
  padding: 34px
}

.inner-v2 .iv-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 22px;
  display: block
}

.inner-v2 .iv-media {
  position: relative;
  min-height: 340px
}

.inner-v2 .iv-media .iv-img {
  height: 100%;
  min-height: 340px
}

.inner-v2 .iv-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 66px;
  height: 66px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--iv-purple);
  box-shadow: 0 15px 40px rgba(0, 0, 0, .2)
}

.inner-v2 .iv-eyebrow {
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--iv-blue);
  font-weight: 900;
  margin-bottom: 10px
}

.inner-v2 h2 {
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -.8px;
  margin: 0 0 16px
}

.inner-v2 h3 {
  font-size: 22px;
  line-height: 1.18;
  font-weight: 900;
  margin: 0 0 10px
}

.inner-v2 p {
  color: var(--iv-muted);
  font-size: 16px;
  line-height: 1.78;
  margin-bottom: 16px
}

.inner-v2 .iv-badges {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 25px
}

.inner-v2 .iv-badge {
  text-align: center;
  background: linear-gradient(180deg, #fff, #f7fbff);
  border: 1px solid var(--iv-line);
  border-radius: 20px;
  padding: 16px 10px;
  font-weight: 900;
  color: var(--iv-ink);
  box-shadow: 0 10px 30px rgba(18, 92, 150, .07)
}

.inner-v2 .iv-badge i {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto 10px;
  background: #eaf7ff;
  color: var(--iv-blue);
  font-size: 22px
}

.inner-v2 .iv-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px
}

.inner-v2 .iv-stat {
  background: #fff;
  border: 1px solid var(--iv-line);
  border-radius: 18px;
  padding: 24px;
  text-align: center;
  box-shadow: 0 14px 34px rgba(27, 77, 118, .08)
}

.inner-v2 .iv-stat strong {
  display: block;
  font-size: 34px;
  color: var(--iv-blue);
  font-weight: 900;
  line-height: 1
}

.inner-v2 .iv-stat span {
  font-size: 13px;
  font-weight: 900;
  color: #52637a
}

.inner-v2 .iv-center {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 32px
}

.inner-v2 .iv-cards-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px
}

.inner-v2 .iv-mini {
  background: #fff;
  border: 1px solid var(--iv-line);
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 14px 36px rgba(27, 77, 118, .08);
  position: relative;
  overflow: hidden
}

.inner-v2 .iv-mini:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--iv-blue), var(--iv-purple), var(--iv-pink))
}

.inner-v2 .iv-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: #eef7ff;
  color: var(--iv-blue);
  font-size: 24px;
  margin-bottom: 18px
}

.inner-v2 .iv-feature-wrap {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 28px;
  align-items: stretch
}

.inner-v2 .iv-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

.inner-v2 .iv-gradient {
  background: linear-gradient(145deg, #7b22d9, #243ccf 55%, #0b89d0);
  color: #fff;
  border-radius: 28px;
  padding: 36px;
  position: relative;
  overflow: hidden
}

.inner-v2 .iv-gradient:after {
  content: "";
  position: absolute;
  right: -35px;
  bottom: -35px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .12)
}

.inner-v2 .iv-gradient p,
.inner-v2 .iv-gradient li {
  color: #fff
}

.inner-v2 .iv-checks {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
  display: grid;
  gap: 12px
}

.inner-v2 .iv-checks li {
  font-weight: 800
}

.inner-v2 .iv-checks i {
  color: #39e5c6;
  margin-right: 8px
}

.inner-v2 .iv-teachers,
.inner-v2 .iv-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px
}

.inner-v2 .iv-teacher {
  text-align: center;
  background: #fff;
  border: 1px solid var(--iv-line);
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 12px 32px rgba(27, 77, 118, .08)
}

.inner-v2 .iv-avatar {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  object-fit: cover;
  background: #eaf5fb;
  margin: 0 auto 12px
}

.inner-v2 .iv-cta {
  background: linear-gradient(100deg, #0f6bc3, #7b22d9);
  border-radius: 26px;
  padding: 32px 38px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  box-shadow: 0 24px 60px rgba(44, 91, 204, .25)
}

.inner-v2 .iv-cta p {
  color: #eaf7ff;
  margin: 0
}

.inner-v2 .iv-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  color: #6722d2;
  text-decoration: none;
  border-radius: 999px;
  padding: 13px 22px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .14);
  white-space: nowrap
}

.inner-v2 .iv-programs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px
}

.inner-v2 .iv-program {
  display: grid;
  grid-template-columns: 170px 1fr;
  background: #fff;
  border: 1px solid var(--iv-line);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(27, 77, 118, .08)
}

.inner-v2 .iv-program img {
  height: 100%;
  min-height: 210px;
  width: 100%;
  object-fit: cover
}

.inner-v2 .iv-list {
  display: grid;
  gap: 14px
}

.inner-v2 .iv-list-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--iv-line);
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 12px 28px rgba(27, 77, 118, .06)
}

.inner-v2 .iv-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(27, 77, 118, .08)
}

.inner-v2 .iv-table th {
  background: linear-gradient(90deg, var(--iv-blue), var(--iv-purple));
  color: #fff;
  padding: 15px;
  text-align: left;
  font-size: 14px
}

.inner-v2 .iv-table td {
  padding: 14px 15px;
  border-bottom: 1px solid var(--iv-line);
  font-weight: 800;
  color: #485973
}

.inner-v2 .iv-gallery-grid {
  grid-template-columns: repeat(3, 1fr)
}

.inner-v2 .iv-gallery-grid img {
  height: 245px;
  width: 100%;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(27, 77, 118, .12)
}

.inner-v2 .iv-contact {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 28px
}

.inner-v2 .iv-form {
  display: grid;
  gap: 14px
}

.inner-v2 .iv-input,
.inner-v2 textarea {
  width: 100%;
  border: 1px solid var(--iv-line);
  background: #f8fbfe;
  border-radius: 14px;
  padding: 14px 16px;
  outline: 0;
  font-weight: 700
}

.inner-v2 textarea {
  min-height: 130px
}

.inner-v2 .iv-btn-fill {
  border: 0;
  border-radius: 14px;
  background: linear-gradient(90deg, var(--iv-blue), var(--iv-purple));
  color: #fff;
  padding: 14px 22px;
  font-weight: 900
}

.inner-v2 .iv-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  counter-reset: step
}

.inner-v2 .iv-step {
  background: #fff;
  border: 1px solid var(--iv-line);
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 14px 32px rgba(27, 77, 118, .08)
}

.inner-v2 .iv-step:before {
  counter-increment: step;
  content: counter(step);
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--iv-yellow);
  font-weight: 900;
  margin-bottom: 14px
}

.inner-v2 .iv-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px
}

.inner-v2 .iv-test {
  background: #fff;
  border-radius: 28px;
  padding: 32px;
  border: 1px solid var(--iv-line);
  box-shadow: 0 18px 42px rgba(27, 77, 118, .10)
}

.inner-v2 .iv-stars {
  color: #ffb400;
  letter-spacing: 2px
}

.inner-v2 .iv-bg-soft {
  background: linear-gradient(180deg, #eef8ff, #fff)
}

.inner-v2 .iv-bg-white {
  background: #fff
}

@media(max-width:991px) {

  .inner-v2 .iv-grid-2,
  .inner-v2 .iv-feature-wrap,
  .inner-v2 .iv-contact {
    grid-template-columns: 1fr
  }

  .inner-v2 .iv-badges,
  .inner-v2 .iv-stats,
  .inner-v2 .iv-cards-3,
  .inner-v2 .iv-teachers,
  .inner-v2 .iv-timeline,
  .inner-v2 .iv-testimonials {
    grid-template-columns: repeat(2, 1fr)
  }

  .inner-v2 .iv-programs {
    grid-template-columns: 1fr
  }

  .inner-v2 .iv-cta {
    flex-direction: column;
    align-items: flex-start
  }

  .inner-v2 .iv-hero {
    min-height: 300px
  }
}

@media(max-width:575px) {
  .inner-v2 h1 {
    font-size: 42px
  }

  .inner-v2 .iv-section {
    padding: 48px 0
  }

  .inner-v2 .iv-card .iv-grid-2 {
    gap: 0
  }

  .inner-v2 .iv-pad {
    padding: 24px
  }

  .inner-v2 .iv-badges,
  .inner-v2 .iv-stats,
  .inner-v2 .iv-cards-3,
  .inner-v2 .iv-feature-grid,
  .inner-v2 .iv-teachers,
  .inner-v2 .iv-timeline,
  .inner-v2 .iv-testimonials,
  .inner-v2 .iv-gallery-grid {
    grid-template-columns: 1fr
  }

  .inner-v2 .iv-program {
    grid-template-columns: 1fr
  }

  .inner-v2 .iv-program img {
    min-height: 180px
  }

  .inner-v2 .iv-chips {
    gap: 7px
  }

  .inner-v2 .iv-chip {
    font-size: 12px;
    padding: 8px 10px
  }
}


/* ===== Premium Inner Pages Only - Safe Scoped Redesign ===== */
.inner-premium {
  --blue: #168ed5;
  --navy: #11294a;
  --purple: #6e20d8;
  --pink: #f23f9a;
  --orange: #ff8b2e;
  --green: #25b978;
  --soft: #f2f7fb;
  --card: #fff;
  --text: #18304f;
  font-family: 'Nunito', sans-serif;
  background: #fff;
  color: var(--text);
  overflow: hidden
}

.inner-premium * {
  box-sizing: border-box
}

.ip-container {
  width: min(1280px, 92%);
  margin: auto
}

.ip-section {
  padding: 54px 0
}

.ip-section.soft,
.ip-stat-strip {
  background: linear-gradient(180deg, #f4f9fd, #eef6fb)
}

.ip-hero {
  position: relative;
  min-height: 330px;
  background: linear-gradient(115deg, #0f78e8 0%, #4675e7 45%, #e866c1 100%);
  color: #fff;
  isolation: isolate;
  overflow: hidden
}

.ip-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('../images/hero-banner.png') center/cover no-repeat;
  opacity: .16
}

.ip-hero:after {
  content: "";
  position: absolute;
  right: 8%;
  top: 40px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .12);
  box-shadow: -190px 80px 0 rgba(255, 255, 255, .08), 120px 80px 0 rgba(255, 255, 255, .1)
}

.ip-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: center;
  min-height: 330px;
  padding: 32px 0 55px
}

.ip-hero h1 {
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -1.5px;
  margin: 18px 0 12px;
  color: #fff
}

.ip-hero p {
  font-size: 18px;
  max-width: 580px;
  font-weight: 700;
  color: rgba(255, 255, 255, .94)
}

.ip-pill,
.ip-tags span {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .38);
  background: rgba(255, 255, 255, .18);
  backdrop-filter: blur(8px);
  border-radius: 999px;
  padding: 9px 16px;
  font-weight: 900;
  font-size: 13px;
  color: #fff
}

.ip-breadcrumb {
  font-weight: 900;
  margin: 15px 0
}

.ip-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px
}

.ip-hero-art {
  text-align: right
}

.ip-hero-art img {
  max-height: 235px;
  max-width: 90%;
  filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .18))
}

.ip-clouds {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 45px;
  background: radial-gradient(circle at 25px 36px, #fff 36px, transparent 37px) repeat-x;
  background-size: 80px 50px;
  z-index: 3
}

.ip-center {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 34px
}

.ip-eyebrow {
  text-transform: uppercase;
  color: #087ac2;
  font-weight: 900;
  font-size: 13px;
  letter-spacing: 1px;
  display: inline-flex;
  align-items: center;
  gap: 10px
}

.ip-eyebrow:after {
  content: "";
  width: 34px;
  height: 3px;
  background: var(--blue);
  border-radius: 4px
}

.inner-premium h2 {
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.12;
  font-weight: 900;
  color: var(--navy);
  letter-spacing: -.8px
}

.inner-premium h3 {
  font-weight: 900;
  color: var(--navy)
}

.inner-premium p {
  color: #5c6a82;
  line-height: 1.75;
  font-size: 15px
}

.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  align-items: center
}

.two-col.compact {
  grid-template-columns: 1.05fr .95fr
}

.ip-feature-card {
  background: #fff;
  border-radius: 28px;
  padding: 34px;
  box-shadow: 0 22px 55px rgba(24, 48, 79, .11);
  border: 1px solid rgba(22, 142, 213, .12)
}

.ip-feature-card>img,
.ip-photo-stack img {
  width: 100%;
  border-radius: 22px;
  display: block;
  object-fit: cover
}

.ip-photo-stack {
  position: relative
}

.ip-play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #fff;
  color: var(--purple) !important;
  display: grid;
  place-items: center;
  box-shadow: 0 15px 35px rgba(0, 0, 0, .16);
  font-size: 20px
}

.ip-icon-row,
.ip-icon-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 25px
}

.ip-icon-row div,
.ip-icon-strip div {
  background: #fff;
  border: 1px solid #e0edf6;
  border-radius: 18px;
  padding: 18px;
  text-align: center;
  box-shadow: 0 10px 28px rgba(24, 48, 79, .06)
}

.ip-icon-row i,
.ip-icon-strip i {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  margin: 0 auto 9px;
  background: #e7f5ff;
  color: var(--blue);
  font-size: 21px
}

.ip-icon-row b,
.ip-icon-strip b {
  display: block;
  color: var(--navy);
  font-weight: 900;
  font-size: 13px
}

.ip-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.ip-stat {
  background: #fff;
  border-radius: 18px;
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  box-shadow: 0 14px 40px rgba(24, 48, 79, .08)
}

.ip-stat i {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: #e5f4ff;
  color: var(--blue);
  font-size: 24px
}

.ip-stat strong {
  display: block;
  font-size: 30px;
  color: var(--blue);
  font-weight: 900;
  line-height: 1
}

.ip-stat span {
  font-size: 13px;
  font-weight: 900;
  color: #485872
}

.ip-card-grid {
  display: grid;
  gap: 24px
}

.ip-card-grid.three {
  grid-template-columns: repeat(3, 1fr)
}

.ip-card-grid.four {
  grid-template-columns: repeat(4, 1fr)
}

.ip-card-grid.five {
  grid-template-columns: repeat(5, 1fr)
}

.ip-card {
  background: #fff;
  border: 1px solid #ddecf5;
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 18px 42px rgba(24, 48, 79, .07);
  transition: .3s
}

.ip-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 55px rgba(24, 48, 79, .12)
}

.ip-card>i {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #e8f5ff;
  color: var(--blue);
  font-size: 22px;
  margin-bottom: 18px
}

.ip-card.accent-purple>i {
  background: #f2e8ff;
  color: #7a2ce2
}

.ip-card.accent-pink>i {
  background: #ffe8f4;
  color: #f33f9a
}

.ip-card.small {
  padding: 22px;
  text-align: center
}

.ip-mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 20px
}

.ip-mini-grid>div {
  background: #fff;
  border: 1px solid #e1edf5;
  border-radius: 20px;
  padding: 22px;
  box-shadow: 0 12px 30px rgba(24, 48, 79, .06)
}

.ip-mini-grid i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #e8f6ff;
  color: #1187d1;
  margin-bottom: 12px
}

.ip-gradient-card {
  min-height: 420px;
  border-radius: 24px;
  padding: 36px;
  background: linear-gradient(145deg, #e43c97, #5d22c9);
  color: #fff;
  position: relative;
  overflow: hidden;
  box-shadow: 0 22px 50px rgba(95, 34, 201, .28)
}

.ip-gradient-card.wide {
  min-height: auto;
  margin-top: 28px
}

.ip-gradient-card h3,
.ip-gradient-card p {
  color: #fff
}

.ip-gradient-card ul {
  list-style: none;
  margin: 22px 0 0;
  padding: 0
}

.ip-gradient-card li {
  margin: 13px 0;
  font-weight: 900
}

.ip-gradient-card li:before {
  content: '✓';
  margin-right: 10px;
  color: #4af0d1
}

.ip-gradient-card img {
  position: absolute;
  right: 26px;
  bottom: 15px;
  max-width: 180px;
  opacity: .92
}

.ip-teacher-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.ip-teacher-grid>div {
  background: #fff;
  text-align: center;
  border-radius: 18px;
  padding: 26px;
  box-shadow: 0 16px 40px rgba(24, 48, 79, .07);
  border: 1px solid #e1edf5
}

.ip-teacher-grid img {
  width: 86px;
  height: 86px;
  object-fit: cover;
  border-radius: 50%;
  margin-bottom: 12px
}

.ip-teacher-grid h4 {
  font-weight: 900;
  color: var(--navy);
  margin: 0
}

.ip-teacher-grid span {
  font-size: 13px;
  color: #5c6a82;
  font-weight: 800
}

.testimonial-zone {
  background: linear-gradient(110deg, #6b1bd8, #ee3d9c);
  position: relative
}

.testimonial-zone h2,
.testimonial-zone p,
.testimonial-zone .ip-eyebrow {
  color: #fff
}

.testimonial-zone .ip-eyebrow:after {
  background: #fff
}

.ip-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.ip-testimonials>div {
  background: #fff;
  border-radius: 24px;
  padding: 34px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .12);
  min-height: 250px
}

.ip-testimonials i {
  font-size: 38px;
  color: #cdb7ff;
  float: right
}

.ip-testimonials p {
  font-size: 17px;
  font-weight: 800;
  color: #5a6479
}

.ip-testimonials b {
  display: block;
  color: #f33f9a;
  font-size: 19px;
  margin-top: 15px
}

.ip-testimonials span {
  font-weight: 800;
  color: #66748a
}

.ip-cta {
  background: #f2f7fb;
  padding: 42px 0
}

.ip-cta-card,
.ip-banner {
  background: linear-gradient(135deg, #1173d5, #8220d6);
  border-radius: 24px;
  color: #fff;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  box-shadow: 0 20px 48px rgba(30, 94, 200, .24)
}

.ip-cta-card h2,
.ip-cta-card p,
.ip-banner h2,
.ip-banner p {
  color: #fff;
  margin: 0
}

.ip-cta-card span {
  font-weight: 900
}

.ip-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 999px;
  background: #fff;
  color: #5a20cd !important;
  padding: 14px 24px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
  border: 0
}

.ip-btn.light {
  background: #fff
}

.ip-check-list {
  list-style: none;
  margin: 20px 0;
  padding: 0
}

.ip-check-list li {
  padding: 12px 0 12px 38px;
  border-bottom: 1px solid #e5eef5;
  position: relative;
  color: #516078
}

.ip-check-list li:before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 13px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e8f8f0;
  color: #25b978;
  font-weight: 900
}

.ip-program-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px
}

.ip-program-grid>div {
  background: #fff;
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 16px 42px rgba(24, 48, 79, .09);
  border: 1px solid #ddecf5
}

.ip-program-grid img {
  width: 100%;
  height: 145px;
  object-fit: cover;
  border-radius: 16px
}

.ip-program-grid h3 {
  margin: 18px 0 8px
}

.ip-program-grid h3 span {
  display: block;
  font-size: 13px;
  color: #6f7c91
}

.ip-program-grid ul {
  list-style: none;
  padding: 0;
  margin: 14px 0 0
}

.ip-program-grid li {
  font-size: 14px;
  margin: 8px 0;
  font-weight: 800
}

.ip-program-grid li:before {
  content: '✓';
  color: var(--purple);
  margin-right: 8px
}

.ip-banner {
  margin: 8px 0 24px;
  justify-content: flex-start
}

.ip-banner img {
  width: 96px
}

.ip-filter {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 28px
}

.ip-filter button {
  border: 1px solid #ddebf5;
  background: #fff;
  border-radius: 999px;
  padding: 11px 25px;
  font-weight: 900;
  color: var(--navy);
  box-shadow: 0 8px 22px rgba(24, 48, 79, .06)
}

.ip-filter button:first-child {
  background: var(--purple);
  color: #fff
}

.ip-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px
}

.ip-gallery-grid img {
  width: 100%;
  height: 170px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(24, 48, 79, .1)
}

.ip-gallery-grid.small {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 32px
}

.ip-social-card {
  margin-top: 28px;
  background: #fff;
  border: 1px solid #ddecf5;
  border-radius: 20px;
  padding: 24px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 16px 40px rgba(24, 48, 79, .08)
}

.ip-social-card i {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: var(--purple);
  color: #fff;
  margin-left: 10px;
  font-size: 20px
}

.ip-admission-grid,
.ip-contact-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px;
  align-items: stretch
}

.ip-process,
.ip-form,
.ip-contact-card {
  background: #fff;
  border: 1px solid #ddecf5;
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 16px 42px rgba(24, 48, 79, .08)
}

.ip-process ol {
  padding: 0;
  margin: 20px 0 0;
  list-style: none;
  counter-reset: a
}

.ip-process li {
  counter-increment: a;
  position: relative;
  padding: 0 0 20px 48px
}

.ip-process li:before {
  content: counter(a);
  position: absolute;
  left: 0;
  top: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #ede6ff;
  color: var(--purple);
  display: grid;
  place-items: center;
  font-weight: 900
}

.ip-process b,
.ip-process span {
  display: block
}

.ip-form div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}

.ip-form input,
.ip-form select,
.ip-form textarea {
  width: 100%;
  border: 1px solid #d9e5ee;
  border-radius: 10px;
  padding: 13px 15px;
  margin-bottom: 14px;
  outline: none
}

.ip-form textarea {
  height: 120px
}

.ip-form button {
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 13px 18px;
  background: linear-gradient(90deg, var(--purple), #9a1dd5);
  color: #fff;
  font-weight: 900
}

.ip-info-panel {
  margin-top: 24px;
  border-radius: 22px;
  background: linear-gradient(135deg, #5320be, #9027d9);
  color: #fff;
  padding: 28px;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  gap: 20px;
  position: relative;
  overflow: hidden
}

.ip-info-panel h3,
.ip-info-panel p {
  color: #fff
}

.ip-info-panel img {
  width: 105px
}

.ip-contact-card p {
  padding-left: 46px;
  position: relative
}

.ip-contact-card i {
  position: absolute;
  left: 0;
  top: 4px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #e8f5ff;
  color: var(--blue);
  display: grid;
  place-items: center
}

.ip-map iframe {
  width: 100%;
  height: 300px;
  border: 0;
  border-radius: 22px;
  box-shadow: 0 16px 42px rgba(24, 48, 79, .08)
}

.ip-map {
  margin-top: 24px
}

.ip-fee-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px
}

.ip-fee-grid>div {
  background: #fff;
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 16px 42px rgba(24, 48, 79, .08);
  border: 1px solid #ddecf5
}

.ip-fee-grid h3 {
  background: linear-gradient(90deg, var(--purple), #e23b96);
  color: #fff;
  border-radius: 999px;
  padding: 12px 20px;
  text-align: center
}

.ip-fee-grid table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 14px
}

.ip-fee-grid th,
.ip-fee-grid td {
  padding: 13px;
  border-bottom: 1px solid #e5eef5
}

.ip-fee-grid th {
  color: var(--navy);
  font-weight: 900
}

.ip-fee-grid td:last-child {
  font-weight: 900;
  color: var(--blue)
}

@media(max-width:991px) {

  .ip-hero-grid,
  .two-col,
  .two-col.compact,
  .ip-admission-grid,
  .ip-contact-grid {
    grid-template-columns: 1fr
  }

  .ip-hero-art {
    text-align: center
  }

  .ip-card-grid.three,
  .ip-card-grid.four,
  .ip-card-grid.five,
  .ip-program-grid,
  .ip-stats,
  .ip-testimonials,
  .ip-teacher-grid,
  .ip-gallery-grid,
  .ip-fee-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .ip-icon-row,
  .ip-icon-strip {
    grid-template-columns: repeat(2, 1fr)
  }

  .ip-info-panel {
    grid-template-columns: 1fr
  }

  .ip-gradient-card {
    min-height: 320px
  }
}

@media(max-width:575px) {
  .ip-section {
    padding: 38px 0
  }

  .ip-feature-card {
    padding: 22px
  }

  .ip-card-grid.three,
  .ip-card-grid.four,
  .ip-card-grid.five,
  .ip-program-grid,
  .ip-stats,
  .ip-testimonials,
  .ip-teacher-grid,
  .ip-gallery-grid,
  .ip-gallery-grid.small,
  .ip-fee-grid,
  .ip-mini-grid,
  .ip-icon-row,
  .ip-icon-strip,
  .ip-form div {
    grid-template-columns: 1fr
  }

  .ip-cta-card,
  .ip-social-card,
  .ip-banner {
    display: block;
    text-align: center
  }

  .ip-btn {
    margin-top: 18px
  }

  .ip-hero {
    min-height: 360px
  }

  .ip-hero-grid {
    padding-bottom: 70px
  }

  .ip-hero-art img {
    max-height: 160px
  }
}


/* ===== SSBPS EXACT SAMPLE INNER PAGES - SCOPED ONLY ===== */
.inner-showcase {
  --is-blue: #1778dc;
  --is-purple: #6c22d8;
  --is-pink: #ec3f9d;
  --is-navy: #14213d;
  --is-muted: #667085;
  --is-soft: #f4f9fd;
  --is-card: #fff;
  --is-border: #e5edf6;
  --is-shadow: 0 18px 45px rgba(22, 42, 80, .10);
  background: linear-gradient(180deg, #f5fbff 0, #fff 40%, #f7fbff 100%);
  color: var(--is-navy);
  font-family: 'Nunito', sans-serif;
  overflow: hidden
}

.inner-showcase * {
  box-sizing: border-box
}

.inner-showcase a {
  text-decoration: none
}

.is-container {
  width: min(1180px, calc(100% - 44px));
  margin: 0 auto
}

.is-hero {
  position: relative;
  min-height: 340px;
  background: linear-gradient(115deg, #1176df 0%, #3268e6 45%, #f28bc9 100%);
  overflow: hidden;
  color: #fff
}

.is-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('../images/hero-banner.png') center/cover no-repeat;
  opacity: .16
}

.is-hero .is-container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
  min-height: 330px;
  padding: 36px 0 56px
}

.is-hero h1 {
  font-size: clamp(42px, 6vw, 70px);
  line-height: .95;
  margin: 18px 0 12px;
  font-weight: 900;
  color: #fff;
  letter-spacing: -1.5px
}

.is-hero p {
  max-width: 520px;
  font-size: 17px;
  line-height: 1.65;
  font-weight: 800;
  color: #fff;
  margin: 0 0 18px
}

.is-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .22);
  border: 1px solid rgba(255, 255, 255, .38);
  backdrop-filter: blur(10px);
  font-weight: 900;
  font-size: 13px;
  color: #fff
}

.is-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 900;
  font-size: 14px;
  color: #fff
}

.is-tags {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px
}

.is-tags span {
  border: 1px solid rgba(255, 255, 255, .55);
  background: rgba(255, 255, 255, .13);
  border-radius: 999px;
  padding: 10px 15px;
  font-size: 13px;
  font-weight: 900;
  color: #fff
}

.is-hero-art {
  text-align: right;
  align-self: end
}

.is-hero-art img {
  max-width: 380px;
  max-height: 255px;
  object-fit: contain;
  filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .18))
}

.is-cloud {
  position: absolute;
  left: -5%;
  right: -5%;
  bottom: -1px;
  height: 60px;
  background: radial-gradient(35px 28px at 40px 58px, #fff 98%, transparent 100%) 0 0/80px 60px repeat-x;
  z-index: 3
}

.is-section {
  padding: 58px 0
}

.is-section.tight {
  padding: 36px 0
}

.is-white {
  background: #fff
}

.is-soft {
  background: #f3f8fc
}

.is-center {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 34px
}

.is-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--is-blue);
  font-weight: 1000;
  font-size: 13px;
  margin-bottom: 12px
}

.is-eyebrow:after {
  content: "";
  width: 42px;
  height: 3px;
  background: var(--is-blue);
  border-radius: 99px
}

.is-center .is-eyebrow:before {
  content: "";
  width: 42px;
  height: 3px;
  background: var(--is-blue);
  border-radius: 99px
}

.is-center .is-eyebrow:after {
  display: none
}

.is-title {
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.12;
  font-weight: 1000;
  letter-spacing: -.7px;
  color: var(--is-navy);
  margin: 0 0 12px
}

.is-lead {
  font-size: 16px;
  color: var(--is-muted);
  font-weight: 700;
  line-height: 1.75;
  margin: 0
}

.is-card {
  background: #fff;
  border: 1px solid var(--is-border);
  border-radius: 24px;
  box-shadow: var(--is-shadow)
}

.is-story {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 46px;
  align-items: center;
  padding: 34px
}

.is-photo {
  position: relative
}

.is-photo img {
  width: 100%;
  height: 330px;
  object-fit: cover;
  border-radius: 22px;
  display: block
}

.is-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--is-purple);
  font-size: 22px;
  box-shadow: 0 18px 35px rgba(0, 0, 0, .22)
}

.is-icon-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 25px
}

.is-icon-item {
  text-align: center
}

.is-icon {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto 10px;
  font-size: 25px
}

.is-icon.green {
  background: #e9fbf0;
  color: #16a263
}

.is-icon.purple {
  background: #f0e9ff;
  color: #6c22d8
}

.is-icon.orange {
  background: #fff0df;
  color: #ff8328
}

.is-icon.pink {
  background: #ffe8f3;
  color: #ee3c97
}

.is-icon.blue {
  background: #e8f4ff;
  color: #1778dc
}

.is-icon-item b {
  display: block;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 1000;
  color: var(--is-navy)
}

.is-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.is-stat {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  padding: 22px 18px
}

.is-stat strong {
  display: block;
  font-size: 31px;
  line-height: 1;
  color: var(--is-blue);
  font-weight: 1000
}

.is-stat span {
  display: block;
  font-size: 13px;
  font-weight: 900;
  color: #475569
}

.is-grid {
  display: grid;
  gap: 24px
}

.is-grid.three {
  grid-template-columns: repeat(3, 1fr)
}

.is-grid.four {
  grid-template-columns: repeat(4, 1fr)
}

.is-grid.two {
  grid-template-columns: repeat(2, 1fr)
}

.is-info-card {
  padding: 28px;
  position: relative;
  overflow: hidden
}

.is-info-card:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--is-blue), var(--is-purple), var(--is-pink))
}

.is-info-card h3 {
  font-size: 20px;
  margin: 0 0 10px;
  font-weight: 1000;
  color: var(--is-navy)
}

.is-info-card p {
  margin: 0;
  color: #5f6b80;
  font-size: 14px;
  line-height: 1.75;
  font-weight: 700
}

.is-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center
}

.is-mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 22px
}

.is-mini {
  padding: 25px
}

.is-mini h4 {
  font-weight: 1000;
  margin: 0 0 10px;
  color: var(--is-navy);
  font-size: 18px
}

.is-mini p {
  font-size: 14px;
  line-height: 1.7;
  color: #64748b;
  font-weight: 700;
  margin: 0
}

.is-gradient-box {
  min-height: 420px;
  border-radius: 24px;
  background: linear-gradient(145deg, #ee3f9d, #5e22cf);
  box-shadow: 0 24px 60px rgba(104, 34, 211, .25);
  padding: 36px;
  color: #fff;
  position: relative;
  overflow: hidden
}

.is-gradient-box h3 {
  font-size: 26px;
  font-weight: 1000;
  margin: 0 0 12px;
  color: #fff
}

.is-gradient-box p,
.is-gradient-box li {
  color: #fff;
  font-weight: 800;
  line-height: 1.7
}

.is-gradient-box ul {
  list-style: none;
  padding: 0;
  margin: 18px 0
}

.is-gradient-box li {
  margin: 10px 0
}

.is-gradient-box li:before {
  content: "✓";
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .6);
  margin-right: 10px;
  color: #72ffe8
}

.is-gradient-box img {
  position: absolute;
  right: 16px;
  bottom: 0;
  max-width: 220px
}

.is-teachers {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.is-teacher {
  text-align: center;
  padding: 26px
}

.is-teacher img {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 12px
}

.is-teacher h4 {
  font-size: 15px;
  font-weight: 1000;
  margin: 0;
  color: var(--is-navy)
}

.is-teacher span {
  font-size: 12px;
  font-weight: 800;
  color: #64748b
}

.is-cta {
  background: linear-gradient(110deg, #1678dd, #6b24da);
  border-radius: 22px;
  padding: 30px 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  box-shadow: 0 18px 45px rgba(30, 99, 210, .25);
  overflow: hidden
}

.is-cta h3 {
  font-size: 28px;
  font-weight: 1000;
  margin: 0 0 6px;
  color: #fff
}

.is-cta p {
  margin: 0;
  color: #fff;
  font-weight: 800
}

.is-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: #fff;
  color: #5f22cf !important;
  border-radius: 999px;
  padding: 13px 24px;
  font-weight: 1000;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .14)
}

.is-footer-gap {
  height: 0
}

.is-curriculum-card {
  padding: 30px
}

.is-learning {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 34px;
  align-items: center
}

.is-list {
  list-style: none;
  margin: 0;
  padding: 0
}

.is-list li {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  padding: 9px 0;
  font-size: 14px;
  font-weight: 800;
  color: #526176
}

.is-list i {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #f0e9ff;
  color: var(--is-purple)
}

.is-round-img {
  width: 100%;
  height: 310px;
  object-fit: cover;
  border-radius: 22px
}

.is-strip {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px
}

.is-strip .is-mini {
  text-align: center;
  padding: 18px
}

.is-programs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.is-program {
  padding: 15px
}

.is-program img {
  width: 100%;
  height: 145px;
  object-fit: cover;
  border-radius: 18px
}

.is-program h3 {
  font-size: 19px;
  font-weight: 1000;
  margin: 18px 0 3px
}

.is-program small {
  font-weight: 900;
  color: #64748b
}

.is-program ul {
  list-style: none;
  padding: 0;
  margin: 16px 0 0
}

.is-program li {
  font-size: 13px;
  font-weight: 800;
  margin: 8px 0;
  color: #56647a
}

.is-program li:before {
  content: "✓";
  color: var(--is-purple);
  font-weight: 1000;
  margin-right: 8px
}

.is-purple-banner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: center;
  background: linear-gradient(100deg, #5a22cb, #9829d7);
  border-radius: 20px;
  color: #fff;
  padding: 24px 30px;
  box-shadow: 0 18px 45px rgba(94, 34, 207, .22)
}

.is-purple-banner img {
  width: 120px
}

.is-purple-banner h3,
.is-purple-banner p {
  color: #fff;
  margin: 0
}

.is-gallery-filter {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 28px
}

.is-gallery-filter button {
  border: 0;
  background: #fff;
  border-radius: 999px;
  padding: 12px 28px;
  font-weight: 1000;
  color: #1f2f48;
  box-shadow: 0 10px 24px rgba(22, 42, 80, .08)
}

.is-gallery-filter button:first-child {
  background: #6c22d8;
  color: #fff
}

.is-gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px
}

.is-gallery-grid img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 17px;
  box-shadow: 0 10px 24px rgba(22, 42, 80, .12);
  transition: .25s
}

.is-gallery-grid img:hover {
  transform: translateY(-5px)
}

.is-social {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 25px 30px
}

.is-social h3 {
  font-weight: 1000;
  margin: 0 0 4px
}

.is-social p {
  margin: 0;
  color: #64748b;
  font-weight: 800
}

.is-social-icons i {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  color: #fff;
  margin-left: 10px;
  font-size: 20px
}

.is-social-icons i:nth-child(1) {
  background: #1778dc
}

.is-social-icons i:nth-child(2) {
  background: #ec3f9d
}

.is-social-icons i:nth-child(3) {
  background: #6c22d8
}

.is-admission {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px
}

.is-process,
.is-form {
  padding: 26px
}

.is-process ol {
  list-style: none;
  counter-reset: s;
  padding: 0;
  margin: 18px 0 0
}

.is-process li {
  counter-increment: s;
  position: relative;
  padding: 0 0 20px 48px
}

.is-process li:before {
  content: counter(s);
  position: absolute;
  left: 0;
  top: 0;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #ede5ff;
  color: #6c22d8;
  font-weight: 1000
}

.is-process b {
  display: block;
  font-weight: 1000
}

.is-process span {
  display: block;
  color: #667085;
  font-size: 14px;
  font-weight: 700
}

.is-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}

.is-form input,
.is-form select,
.is-form textarea {
  width: 100%;
  border: 1px solid #dfe8f3;
  border-radius: 10px;
  padding: 13px 15px;
  margin-bottom: 14px;
  font-weight: 800;
  outline: none
}

.is-form textarea {
  height: 122px
}

.is-form button {
  width: 100%;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(90deg, #6c22d8, #9829d7);
  color: #fff;
  padding: 14px;
  font-weight: 1000
}

.is-admission-info {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 24px;
  align-items: center;
  background: linear-gradient(135deg, #5722c8, #8d28d9);
  border-radius: 22px;
  color: #fff;
  padding: 28px;
  box-shadow: 0 18px 45px rgba(94, 34, 207, .24)
}

.is-admission-info h3,
.is-admission-info p,
.is-admission-info li {
  color: #fff
}

.is-admission-info ul {
  margin: 0;
  padding-left: 18px
}

.is-admission-info img {
  width: 120px
}

.is-contact {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 24px
}

.is-contact-card,
.is-message {
  padding: 26px
}

.is-contact-card p {
  position: relative;
  padding-left: 44px;
  margin: 0 0 22px;
  color: #4d5b70;
  font-weight: 800;
  line-height: 1.5
}

.is-contact-card i {
  position: absolute;
  left: 0;
  top: 0;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e9f4ff;
  color: #1778dc
}

.is-map iframe {
  width: 100%;
  height: 330px;
  border: 0;
  border-radius: 22px;
  box-shadow: var(--is-shadow)
}

.is-message textarea {
  height: 145px
}

.is-fee-table {
  overflow: auto;
  padding: 24px
}

.is-fee-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 540px
}

.is-fee-table th {
  background: linear-gradient(90deg, #1e89d4, #6c22d8);
  color: #fff;
  padding: 14px
}

.is-fee-table td {
  padding: 13px;
  border-bottom: 1px solid #e6edf6;
  font-weight: 800
}

.is-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.is-testimonial {
  padding: 30px
}

.is-testimonial p {
  font-size: 16px;
  line-height: 1.75;
  font-weight: 800;
  color: #58677c
}

.is-testimonial b {
  color: #ec3f9d;
  font-size: 18px
}

.is-testimonial i {
  float: right;
  font-size: 38px;
  color: #d4c2ff
}

.is-policy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.is-policy-grid .is-info-card {
  min-height: 210px
}

.is-director {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 34px;
  align-items: center;
  padding: 34px
}

.is-director img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  border-radius: 22px
}

.is-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px
}

.is-badges span {
  padding: 11px 16px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e4ecf5;
  box-shadow: 0 8px 18px rgba(22, 42, 80, .07);
  font-weight: 900;
  color: #17243a
}

.is-masonry {
  columns: 3 220px;
  column-gap: 16px
}

.is-masonry img {
  width: 100%;
  border-radius: 18px;
  margin-bottom: 16px;
  box-shadow: 0 10px 24px rgba(22, 42, 80, .12)
}

@media(max-width:991px) {

  .is-hero .is-container,
  .is-story,
  .is-split,
  .is-learning,
  .is-admission,
  .is-contact,
  .is-director {
    grid-template-columns: 1fr
  }

  .is-hero-art {
    text-align: center
  }

  .is-grid.three,
  .is-grid.four,
  .is-stats,
  .is-teachers,
  .is-programs,
  .is-gallery-grid,
  .is-strip,
  .is-testimonials,
  .is-policy-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .is-admission-info {
    grid-template-columns: 1fr
  }

  .is-contact {
    gap: 18px
  }

  .is-photo img {
    height: 280px
  }

  .is-hero-art img {
    max-height: 200px
  }

  .is-gradient-box {
    min-height: 330px
  }
}

@media(max-width:575px) {
  .is-container {
    width: min(100% - 28px, 1180px)
  }

  .is-hero .is-container {
    padding: 26px 0 66px
  }

  .is-section {
    padding: 42px 0
  }

  .is-story {
    padding: 20px
  }

  .is-grid.three,
  .is-grid.four,
  .is-stats,
  .is-teachers,
  .is-programs,
  .is-gallery-grid,
  .is-strip,
  .is-testimonials,
  .is-policy-grid,
  .is-mini-grid,
  .is-icon-row,
  .is-form-grid {
    grid-template-columns: 1fr
  }

  .is-cta,
  .is-social {
    display: block;
    text-align: center
  }

  .is-btn {
    margin-top: 18px
  }

  .is-admission-info img {
    display: none
  }

  .is-hero-art img {
    max-width: 220px
  }

  .is-title {
    font-size: 28px
  }

  .is-gradient-box img {
    max-width: 150px
  }

  .is-director img {
    height: 320px
  }
}

/* Final inner-page alignment, responsive polish and animations - scoped to inner pages only */
.inner-showcase {
  --is-max: 1180px;
  --is-navy: #182b46;
  --is-blue: #177ee5;
  --is-purple: #6b22d8;
  --is-pink: #eb3f98;
  --is-orange: #ff8a21;
  --is-green: #19b875;
  --is-border: #dfe9f4;
  --is-muted: #5f6f86;
  --is-shadow: 0 18px 45px rgba(22, 42, 80, .10);
  --is-shadow-lg: 0 24px 70px rgba(34, 46, 84, .16);
  background: linear-gradient(180deg, #f4faff 0, #fff 32%, #f7fbff 100%);
  color: var(--is-navy);
  overflow: hidden;
}

.inner-showcase * {
  box-sizing: border-box
}

.inner-showcase a {
  text-decoration: none
}

.inner-showcase .is-container {
  width: min(100% - 72px, var(--is-max));
  margin-inline: auto
}

.inner-showcase .is-section {
  padding: 54px 0;
  position: relative
}

.inner-showcase .is-section.tight {
  padding: 34px 0
}

.inner-showcase .is-white {
  background: #fff
}

.inner-showcase .is-soft {
  background: linear-gradient(180deg, #f4faff, #fff)
}

.inner-showcase .is-hero {
  padding-top: 0;
  background: linear-gradient(115deg, #0b74df 0%, #2b70e7 42%, #e942a4 100%);
  min-height: 330px;
  color: #fff;
  position: relative;
  overflow: hidden
}

.inner-showcase .is-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 78% 12%, rgba(255, 255, 255, .28), transparent 18%), radial-gradient(circle at 25% 76%, rgba(255, 255, 255, .18), transparent 25%), url('../images/panda-book.png') right 8% bottom 8px/210px auto no-repeat;
  opacity: 1
}

.inner-showcase .is-hero .is-container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 280px;
  align-items: center;
  gap: 30px;
  padding: 72px 0 80px
}

.inner-showcase .is-hero h1 {
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -1.6px;
  color: #fff;
  margin: 18px 0 14px;
  font-weight: 1000
}

.inner-showcase .is-hero p {
  max-width: 560px;
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  line-height: 1.55;
  margin: 0 0 16px
}

.inner-showcase .is-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 13px;
  font-weight: 1000;
  margin-top: 10px
}

.inner-showcase .is-pill,
.inner-showcase .is-tags span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .2);
  border: 1px solid rgba(255, 255, 255, .42);
  color: #fff;
  padding: 9px 15px;
  font-size: 12px;
  font-weight: 1000;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
  backdrop-filter: blur(8px)
}

.inner-showcase .is-tags {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px
}

.inner-showcase .is-hero-art {
  text-align: right;
  min-height: 170px;
  display: flex;
  align-items: end;
  justify-content: end
}

.inner-showcase .is-hero-art img {
  width: min(260px, 100%);
  max-height: 235px;
  object-fit: contain;
  filter: drop-shadow(0 22px 26px rgba(20, 25, 55, .22));
  animation: isFloat 4.8s ease-in-out infinite
}

.inner-showcase .is-cloud {
  position: absolute;
  left: -5%;
  right: -5%;
  bottom: -2px;
  height: 58px;
  background: radial-gradient(44px 32px at 44px 58px, #fff 98%, transparent 101%) 0 0/88px 58px repeat-x;
  z-index: 3
}

.inner-showcase .is-card {
  background: #fff;
  border: 1px solid var(--is-border);
  border-radius: 22px;
  box-shadow: var(--is-shadow);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease
}

.inner-showcase .is-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--is-shadow-lg);
  border-color: #cfdff0
}

.inner-showcase .is-story {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 44px;
  align-items: center;
  padding: 30px;
  border-radius: 28px;
  margin-top: -34px;
  position: relative;
  z-index: 5
}

.inner-showcase .is-photo {
  position: relative;
  overflow: hidden;
  border-radius: 20px
}

.inner-showcase .is-photo img {
  width: 100%;
  height: 345px;
  object-fit: cover;
  border-radius: 20px;
  display: block;
  transition: transform .6s ease
}

.inner-showcase .is-photo:hover img {
  transform: scale(1.04)
}

.inner-showcase .is-play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--is-purple);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
  cursor: pointer;
  transition: .25s
}

.inner-showcase .is-play:hover {
  transform: scale(1.08);
  background: var(--is-purple);
  color: #fff
}

.inner-showcase .is-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--is-blue);
  font-size: 12px;
  font-weight: 1000;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 10px
}

.inner-showcase .is-eyebrow:after {
  content: "";
  width: 38px;
  height: 3px;
  border-radius: 5px;
  background: var(--is-blue)
}

.inner-showcase .is-title {
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.12;
  font-weight: 1000;
  letter-spacing: -.7px;
  color: var(--is-navy);
  margin: 0 0 14px
}

.inner-showcase .is-lead {
  color: var(--is-muted);
  font-size: 15px;
  line-height: 1.78;
  font-weight: 700;
  margin: 0 0 12px
}

.inner-showcase .is-center {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 32px
}

.inner-showcase .is-center .is-eyebrow {
  justify-content: center
}

.inner-showcase .is-icon-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 22px
}

.inner-showcase .is-icon-item {
  text-align: center;
  font-size: 12px;
  font-weight: 1000;
  color: var(--is-navy)
}

.inner-showcase .is-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  margin-bottom: 10px;
  font-size: 21px;
  background: #eef6ff;
  color: var(--is-blue)
}

.inner-showcase .is-icon.green {
  background: #e9fbf3;
  color: var(--is-green)
}

.inner-showcase .is-icon.purple {
  background: #f0e8ff;
  color: var(--is-purple)
}

.inner-showcase .is-icon.orange {
  background: #fff2e6;
  color: var(--is-orange)
}

.inner-showcase .is-icon.pink {
  background: #ffe9f5;
  color: var(--is-pink)
}

.inner-showcase .is-icon.blue {
  background: #eaf5ff;
  color: var(--is-blue)
}

.inner-showcase .is-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.inner-showcase .is-stat {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 94px;
  padding: 20px;
  text-align: left
}

.inner-showcase .is-stat strong {
  display: block;
  color: var(--is-blue);
  font-size: 30px;
  line-height: 1;
  font-weight: 1000
}

.inner-showcase .is-stat span:last-child {
  display: block;
  font-size: 12px;
  font-weight: 1000;
  color: var(--is-navy);
  margin-top: 6px
}

.inner-showcase .is-grid {
  display: grid;
  gap: 24px
}

.inner-showcase .is-grid.three {
  grid-template-columns: repeat(3, 1fr)
}

.inner-showcase .is-grid.four {
  grid-template-columns: repeat(4, 1fr)
}

.inner-showcase .is-info-card {
  padding: 28px;
  min-height: 220px;
  position: relative;
  overflow: hidden
}

.inner-showcase .is-info-card:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--is-blue), var(--is-purple), var(--is-pink))
}

.inner-showcase .is-info-card h3 {
  font-size: 20px;
  font-weight: 1000;
  margin: 6px 0 12px;
  color: var(--is-navy)
}

.inner-showcase .is-info-card p {
  font-size: 14px;
  line-height: 1.75;
  color: var(--is-muted);
  font-weight: 700;
  margin: 0
}

.inner-showcase .is-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: stretch
}

.inner-showcase .is-mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 24px
}

.inner-showcase .is-mini {
  padding: 24px;
  min-height: 170px
}

.inner-showcase .is-mini h4 {
  font-size: 18px;
  font-weight: 1000;
  margin: 4px 0 10px;
  color: var(--is-navy)
}

.inner-showcase .is-mini p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--is-muted);
  font-weight: 700;
  margin: 0
}

.inner-showcase .is-gradient-box {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(135deg, #8a24cf, #5621c6);
  padding: 34px;
  color: #fff;
  min-height: 420px;
  box-shadow: var(--is-shadow-lg)
}

.inner-showcase .is-gradient-box h3 {
  color: #fff;
  font-size: 26px;
  font-weight: 1000;
  margin: 0 0 12px
}

.inner-showcase .is-gradient-box p,
.inner-showcase .is-gradient-box li {
  color: #fff;
  font-weight: 800;
  line-height: 1.7
}

.inner-showcase .is-gradient-box ul {
  list-style: none;
  padding: 0;
  margin: 18px 0 0
}

.inner-showcase .is-gradient-box li {
  margin: 10px 0
}

.inner-showcase .is-gradient-box li:before {
  content: "✓";
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  margin-right: 10px;
  color: #8fffe0
}

.inner-showcase .is-gradient-box img {
  position: absolute;
    right: 16px;
    bottom: 0;
    max-width: 230px;
    max-height: 300px;
    object-fit: contain;
    filter: drop-shadow(0 18px 20px rgba(0, 0, 0, .2));
}

.inner-showcase .is-teachers {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px
}

.inner-showcase .is-teacher {
  text-align: center;
  padding: 24px
}

.inner-showcase .is-teacher img {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 12px;
  border: 6px solid #eef6ff
}

.inner-showcase .is-teacher h4 {
  font-size: 15px;
  font-weight: 1000;
  color: var(--is-navy);
  margin: 0
}

.inner-showcase .is-teacher span {
  font-size: 12px;
  color: var(--is-muted);
  font-weight: 800
}

.inner-showcase .is-cta {
  background: linear-gradient(110deg, #137de5, #6d22dc);
  border-radius: 22px;
  padding: 28px 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  color: #fff;
  box-shadow: var(--is-shadow-lg);
  position: relative;
  overflow: hidden
}

.inner-showcase .is-cta:before {
  content: "";
  position: absolute;
  left: -35px;
  top: -35px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .12)
}

.inner-showcase .is-cta h3 {
  position: relative;
  color: #fff;
  font-size: 27px;
  font-weight: 1000;
  margin: 0 0 5px
}

.inner-showcase .is-cta p {
  position: relative;
  color: #fff;
  font-weight: 800;
  margin: 0
}

.inner-showcase .is-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  white-space: nowrap;
  background: #fff;
  color: var(--is-purple) !important;
  border-radius: 999px;
  padding: 13px 24px;
  font-weight: 1000;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .16);
  transition: .25s
}

.inner-showcase .is-btn:hover {
  transform: translateY(-3px);
  background: #fff3b0
}

.inner-showcase .is-learning {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 30px;
  align-items: center
}

.inner-showcase .is-list {
  list-style: none;
  margin: 0;
  padding: 0
}

.inner-showcase .is-list li {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 12px;
    padding: 10px 0;
    font-size: 15px;
    font-weight: 800;
    color: #34383e;
}

.inner-showcase .is-list i {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #f0e9ff;
  color: var(--is-purple)
}

.inner-showcase .is-round-img {
  width: 100%;
  height: 310px;
  object-fit: cover;
  border-radius: 22px
}

.inner-showcase .is-strip {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px
}

.inner-showcase .is-strip .is-mini {
  min-height: auto;
  text-align: center;
  padding: 18px
}

.inner-showcase .is-programs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px
}

.inner-showcase .is-program {
  padding: 14px
}

.inner-showcase .is-program img {
  width: 100%;
  height: 142px;
  object-fit: cover;
  border-radius: 17px
}

.inner-showcase .is-program h3 {
  font-size: 19px;
  font-weight: 1000;
  margin: 16px 0 3px;
  color: var(--is-navy)
}

.inner-showcase .is-program small {
  font-weight: 900;
  color: #64748b
}

.inner-showcase .is-program ul {
  list-style: none;
  padding: 0;
  margin: 14px 0 0
}

.inner-showcase .is-program li {
  font-size: 13px;
  font-weight: 800;
  margin: 8px 0;
  color: #56647a
}

.inner-showcase .is-program li:before {
  content: "✓";
  color: var(--is-purple);
  font-weight: 1000;
  margin-right: 8px
}

.inner-showcase .is-purple-banner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: center;
  background: linear-gradient(100deg, #5a22cb, #9829d7);
  border-radius: 20px;
  color: #fff;
  padding: 24px 30px;
  box-shadow: var(--is-shadow-lg)
}

.inner-showcase .is-purple-banner img {
  width: 120px
}

.inner-showcase .is-purple-banner h3,
.inner-showcase .is-purple-banner p {
  color: #fff;
  margin: 0
}

.inner-showcase .is-gallery-filter {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 28px
}

.inner-showcase .is-gallery-filter button {
  border: 0;
  background: #fff;
  border-radius: 999px;
  padding: 11px 25px;
  font-weight: 1000;
  color: var(--is-navy);
  box-shadow: 0 10px 24px rgba(22, 42, 80, .08);
  transition: .25s
}

.inner-showcase .is-gallery-filter button:hover,
.inner-showcase .is-gallery-filter button.active {
  background: var(--is-purple);
  color: #fff;
  transform: translateY(-2px)
}

.inner-showcase .is-gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 15px
}

.inner-showcase .is-gallery-grid img {
  width: 100%;
  height: 158px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(22, 42, 80, .12);
  transition: .25s;
  cursor: pointer
}

.inner-showcase .is-gallery-grid img:hover {
  transform: translateY(-5px) scale(1.015)
}

.inner-showcase .is-gallery-grid [data-cat].is-hide {
  display: none
}

.inner-showcase .is-social {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 30px
}

.inner-showcase .is-social h3 {
  font-weight: 1000;
  margin: 0 0 4px
}

.inner-showcase .is-social p {
  margin: 0;
  color: #64748b;
  font-weight: 800
}

.inner-showcase .is-social-icons i {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  color: #fff;
  margin-left: 8px;
  font-size: 19px
}

.inner-showcase .is-social-icons i:nth-child(1) {
 background: linear-gradient(90deg, #6517b8, #8e188d);
}

.inner-showcase .is-social-icons i:nth-child(2) {
  background: #ec3f9d
}

.inner-showcase .is-social-icons i:nth-child(3) {
  background: #ed2024
}

.inner-showcase .is-admission,
.inner-showcase .is-contact {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px
}

.inner-showcase .is-process,
.inner-showcase .is-form,
.inner-showcase .is-contact-card,
.inner-showcase .is-message {
  padding: 26px
}

.inner-showcase .is-process ol {
  list-style: none;
  counter-reset: s;
  padding: 0;
  margin: 18px 0 0
}

.inner-showcase .is-process li {
  counter-increment: s;
  position: relative;
  padding: 0 0 20px 48px
}

.inner-showcase .is-process li:before {
  content: counter(s);
  position: absolute;
  left: 0;
  top: 0;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #ede5ff;
  color: var(--is-purple);
  font-weight: 1000
}

.inner-showcase .is-process b {
  display: block;
  font-weight: 1000
}

.inner-showcase .is-process span {
  display: block;
  color: #667085;
  font-size: 14px;
  font-weight: 700
}

.inner-showcase .is-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px
}

.inner-showcase .is-form input,
.inner-showcase .is-form select,
.inner-showcase .is-form textarea,
.inner-showcase .is-message input,
.inner-showcase .is-message textarea {
  width: 100%;
  border: 1px solid #dfe8f3;
  border-radius: 10px;
  padding: 13px 15px;
  margin-bottom: 14px;
  font-weight: 800;
  outline: none;
  transition: .2s
}

.inner-showcase .is-form input:focus,
.inner-showcase .is-form select:focus,
.inner-showcase .is-form textarea:focus,
.inner-showcase .is-message input:focus,
.inner-showcase .is-message textarea:focus {
  border-color: var(--is-purple);
  box-shadow: 0 0 0 4px rgba(108, 34, 216, .09)
}

.inner-showcase .is-form textarea,
.inner-showcase .is-message textarea {
  height: 122px
}

.inner-showcase .is-form button,
.inner-showcase .is-message button {
  width: 100%;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(90deg, #6c22d8, #9829d7);
  color: #fff;
  padding: 14px;
  font-weight: 1000;
  transition: .25s
}

.inner-showcase .is-form button:hover,
.inner-showcase .is-message button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(108, 34, 216, .22)
}

.inner-showcase .form-note {
  display: none;
  margin-top: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: #e9fbf3;
  color: #0b7b4c;
  font-weight: 900;
  text-align: center
}

.inner-showcase .is-admission-info {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 24px;
  align-items: center;
  background: linear-gradient(135deg, #5722c8, #8d28d9);
  border-radius: 22px;
  color: #fff;
  padding: 28px;
  box-shadow: var(--is-shadow-lg)
}

.inner-showcase .is-admission-info h3,
.inner-showcase .is-admission-info p,
.inner-showcase .is-admission-info li {
  color: #fff
}

.inner-showcase .is-admission-info ul {
  margin: 0;
  padding-left: 18px
}

.inner-showcase .is-admission-info img {
  width: 120px
}

.inner-showcase .is-contact-card p {
  position: relative;
  padding-left: 44px;
  margin: 0 0 22px;
  color: #4d5b70;
  font-weight: 800;
  line-height: 1.5
}

.inner-showcase .is-contact-card i {
  position: absolute;
  left: 0;
  top: 0;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e9f4ff;
  color: #1778dc
}

.inner-showcase .is-map iframe {
  width: 100%;
  height: 330px;
  border: 0;
  border-radius: 22px;
  box-shadow: var(--is-shadow)
}

.inner-showcase .is-fee-table {
  overflow: auto;
  padding: 24px
}

.inner-showcase .is-fee-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 540px
}

.inner-showcase .is-fee-table th {
  background: linear-gradient(90deg, #1e89d4, #6c22d8);
  color: #fff;
  padding: 14px
}

.inner-showcase .is-fee-table td {
  padding: 13px;
  border-bottom: 1px solid #e6edf6;
  font-weight: 800
}

.inner-showcase .is-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.inner-showcase .is-testimonial {
  padding: 30px
}

.inner-showcase .is-testimonial p {
  font-size: 16px;
  line-height: 1.75;
  font-weight: 800;
  color: #58677c
}

.inner-showcase .is-testimonial b {
  color: #ec3f9d;
  font-size: 18px
}

.inner-showcase .is-testimonial i {
  float: right;
  font-size: 38px;
  color: #d4c2ff
}

.inner-showcase .is-policy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.inner-showcase .is-policy-grid .is-info-card {
  min-height: 210px
}

.inner-showcase .is-director {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 34px;
  align-items: center;
  padding: 34px
}

.inner-showcase .is-director img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  border-radius: 22px
}

.inner-showcase .is-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px
}

.inner-showcase .is-badges span {
  padding: 11px 16px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e4ecf5;
  box-shadow: 0 8px 18px rgba(22, 42, 80, .07);
  font-weight: 900;
  color: #17243a
}

.inner-showcase .is-masonry {
  columns: 3 220px;
  column-gap: 16px
}

.inner-showcase .is-masonry img {
  width: 100%;
  border-radius: 18px;
  margin-bottom: 16px;
  box-shadow: 0 10px 24px rgba(22, 42, 80, .12)
}

.inner-showcase .is-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .62s ease, transform .62s ease
}

.inner-showcase .is-reveal.is-visible {
  opacity: 1;
  transform: none
}

.inner-showcase .is-reveal:nth-child(2) {
  transition-delay: .06s
}

.inner-showcase .is-reveal:nth-child(3) {
  transition-delay: .12s
}

.inner-showcase .is-reveal:nth-child(4) {
  transition-delay: .18s
}

.inner-showcase .is-reveal:nth-child(5) {
  transition-delay: .24s
}

@keyframes isFloat {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-14px)
  }
}

@media(max-width:1199px) {
  .inner-showcase .is-container {
    width: min(100% - 48px, var(--is-max))
  }

  .inner-showcase .is-programs {
    grid-template-columns: repeat(2, 1fr)
  }

  .inner-showcase .is-gallery-grid {
    grid-template-columns: repeat(4, 1fr)
  }
}

@media(max-width:991px) {

  .inner-showcase .is-hero .is-container,
  .inner-showcase .is-story,
  .inner-showcase .is-split,
  .inner-showcase .is-learning,
  .inner-showcase .is-admission,
  .inner-showcase .is-contact,
  .inner-showcase .is-director {
    grid-template-columns: 1fr
  }

  .inner-showcase .is-hero .is-container {
    padding: 58px 0 82px
  }

  .inner-showcase .is-hero:before {
    background: radial-gradient(circle at 85% 12%, rgba(255, 255, 255, .28), transparent 18%), linear-gradient(115deg, rgba(11, 116, 223, .1), rgba(233, 66, 164, .1))
  }

  .inner-showcase .is-hero-art {
    justify-content: center;
    text-align: center
  }

  .inner-showcase .is-hero-art img {
    max-height: 190px
  }

  .inner-showcase .is-grid.three,
  .inner-showcase .is-grid.four,
  .inner-showcase .is-stats,
  .inner-showcase .is-teachers,
  .inner-showcase .is-strip,
  .inner-showcase .is-testimonials,
  .inner-showcase .is-policy-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .inner-showcase .is-admission-info {
    grid-template-columns: 1fr
  }

  .inner-showcase .is-photo img {
    height: 290px
  }

  .inner-showcase .is-gradient-box {
    min-height: 350px
  }

  .inner-showcase .is-gallery-grid {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media(max-width:767px) {
  .inner-showcase .is-container {
    width: min(100% - 34px, var(--is-max))
  }

  .inner-showcase .is-section {
    padding: 42px 0
  }

  .inner-showcase .is-hero {
    min-height: auto
  }

  .inner-showcase .is-hero .is-container {
    padding: 42px 0 72px
  }

  .inner-showcase .is-hero h1 {
    font-size: 38px
  }

  .inner-showcase .is-hero-art {
    display: none
  }

  .inner-showcase .is-tags {
    gap: 8px
  }

  .inner-showcase .is-story {
    padding: 18px;
    gap: 24px
  }

  .inner-showcase .is-photo img {
    height: 230px
  }

  .inner-showcase .is-icon-row,
  .inner-showcase .is-mini-grid,
  .inner-showcase .is-form-grid {
    grid-template-columns: 1fr 1fr
  }

  .inner-showcase .is-cta,
  .inner-showcase .is-social {
    display: block;
    text-align: center
  }

  .inner-showcase .is-btn {
    margin-top: 16px
  }

  .inner-showcase .is-gallery-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .inner-showcase .is-gallery-grid img {
    height: 135px
  }

  .inner-showcase .is-admission-info img {
    display: none
  }

  .inner-showcase .is-gradient-box img {
    max-width: 150px
  }

  .inner-showcase .is-director img {
    height: 320px
  }
}

@media(max-width:575px) {
  .inner-showcase .is-container {
    width: min(100% - 26px, var(--is-max))
  }

  .inner-showcase .is-grid.three,
  .inner-showcase .is-grid.four,
  .inner-showcase .is-stats,
  .inner-showcase .is-teachers,
  .inner-showcase .is-programs,
  .inner-showcase .is-strip,
  .inner-showcase .is-testimonials,
  .inner-showcase .is-policy-grid,
  .inner-showcase .is-mini-grid,
  .inner-showcase .is-icon-row,
  .inner-showcase .is-form-grid {
    grid-template-columns: 1fr
  }

  .inner-showcase .is-title {
    font-size: 28px
  }

  .inner-showcase .is-stat {
    justify-content: flex-start
  }

  .inner-showcase .is-info-card,
  .inner-showcase .is-mini,
  .inner-showcase .is-process,
  .inner-showcase .is-form,
  .inner-showcase .is-contact-card,
  .inner-showcase .is-message {
    padding: 22px
  }

  .inner-showcase .is-gradient-box {
    padding: 26px;
    min-height: 360px
  }

  .inner-showcase .is-purple-banner {
    grid-template-columns: 1fr;
    text-align: center
  }

  .inner-showcase .is-purple-banner img {
    margin: auto
  }

  .inner-showcase .is-gallery-grid {
    grid-template-columns: 1fr
  }

  .inner-showcase .is-gallery-grid img {
    height: 190px
  }

  .inner-showcase .is-masonry {
    columns: 1
  }

  .inner-showcase .is-cta {
    padding: 24px
  }

  .inner-showcase .is-admission-info {
    padding: 24px
  }

  .inner-showcase .is-fee-table {
    padding: 16px
  }
}

@media(prefers-reduced-motion:reduce) {

  .inner-showcase .is-reveal,
  .inner-showcase .is-hero-art img {
    animation: none;
    transition: none;
    opacity: 1;
    transform: none
  }
}

/* =========================================================
   FINAL INNER PAGE PREMIUM UI POLISH - scoped only to inner pages
   Home page remains unaffected because all selectors start with .inner-showcase
========================================================= */
.inner-showcase {
  --is-max: 1200px;
  --is-navy: #14233b;
  --is-blue: #0b74df;
  --is-purple: #6c22d8;
  --is-pink: #e942a4;
  --is-orange: #ff8a1d;
  --is-green: #16b979;
  --is-soft: #f5f9fe;
  --is-border: #e3edf8;
  --is-muted: #5c6c84;
  --is-shadow: 0 18px 46px rgba(24, 42, 74, .10);
  --is-shadow-lg: 0 24px 70px rgba(24, 42, 74, .16);
  background: linear-gradient(180deg, #f6faff 0%, #ffffff 22%, #f6faff 100%);
  overflow: hidden;
}

.inner-showcase .is-container {
  width: min(100% - 72px, var(--is-max));
  margin-inline: auto;
  position: relative;
  z-index: 4
}

.inner-showcase .is-hero {
  min-height: 360px;
  padding: 0;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background-image: linear-gradient(90deg, rgba(8, 91, 202, .86) 0%, rgba(14, 104, 221, .68) 33%, rgba(129, 92, 229, .33) 58%, rgba(240, 107, 177, .16) 100%), url('../images/inner-pages-title-section.png') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  border-bottom: 0 !important;
}

.inner-showcase .is-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 22% 18%, rgba(255, 255, 255, .26), transparent 18%), linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .04) 68%, rgba(255, 255, 255, .28) 100%);
  z-index: 1;
  pointer-events: none
}

.inner-showcase .is-hero .is-container {
  display: grid !important;
  grid-template-columns: minmax(320px, 560px) 1fr !important;
  align-items: center;
  padding: 72px 0 105px !important;
  min-height: 285px
}

.inner-showcase .is-hero-art {
  display: none !important
}

.inner-showcase .is-hero h1 {
  font-size: clamp(42px, 5.1vw, 65px) !important;
  line-height: .98 !important;
  letter-spacing: -2.2px;
  color: #fff !important;
  text-shadow: 0 10px 30px rgba(0, 0, 0, .18);
  margin: 16px 0 14px !important;
  max-width: 620px
}

.inner-showcase .is-hero p {
  font-size: clamp(14px, 1.3vw, 18px) !important;
  line-height: 1.55 !important;
  color: #fff !important;
  max-width: 460px;
  font-weight: 800 !important;
  text-shadow: 0 5px 16px rgba(0, 0, 0, .12)
}

.inner-showcase .is-pill {
  background: rgba(255, 255, 255, .2) !important;
  border: 1px solid rgba(255, 255, 255, .44) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .12) !important;
  color: #fff !important;
  backdrop-filter: blur(12px)
}

.inner-showcase .is-breadcrumb {
  color: #fff !important;
  text-shadow: 0 6px 16px rgba(0, 0, 0, .16);
  font-size: 13px !important;
  letter-spacing: .01em
}

.inner-showcase .is-tags {
  margin-top: 20px !important;
  gap: 12px !important
}

.inner-showcase .is-tags span {
  padding: 10px 16px !important;
  background: rgba(255, 255, 255, .18) !important;
  border: 1px solid rgba(255, 255, 255, .46) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .10) !important;
  backdrop-filter: blur(10px)
}

.inner-showcase .is-cloud {
  height: 78px !important;
  bottom: -1px !important;
  background: radial-gradient(58px 38px at 58px 78px, #fff 98%, transparent 101%) 0 0/116px 78px repeat-x !important;
  filter: drop-shadow(0 -8px 12px rgba(255, 255, 255, .28));
  opacity: .98
}

.inner-showcase .is-section {
  padding: 45px 0 !important;
  position: relative
}

.inner-showcase .is-section.tight {
  padding: 36px 0 !important
}

.inner-showcase .is-section.is-soft {
  background: linear-gradient(180deg, #f4f9ff, #eef6ff) !important
}

.inner-showcase .is-section.is-white {
  background: #fff !important
}

.inner-showcase .is-card {
  border-radius: 24px !important;
  border: 1px solid rgba(218, 230, 245, .96) !important;
  box-shadow: var(--is-shadow) !important;
  background: rgba(255, 255, 255, .96) !important;
  backdrop-filter: blur(8px)
}

.inner-showcase .is-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--is-shadow-lg) !important;
  border-color: #c8ddf4 !important
}

.inner-showcase .is-story {
  grid-template-columns: 1fr 1.18fr !important;
  gap: 48px !important;
  padding: 34px !important;
  border-radius: 32px !important;
  margin-top: -86px !important;
  align-items: center;
  overflow: hidden
}

.inner-showcase .is-story:after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(108, 34, 216, .10), transparent 70%);
  pointer-events: none
}

.inner-showcase .is-photo {
  border-radius: 24px !important;
  box-shadow: 0 16px 34px rgba(19, 47, 89, .13)
}

.inner-showcase .is-photo img {
  height: 360px !important;
  border-radius: 24px !important;
  object-fit: cover
}

.inner-showcase .is-title {
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.9px !important;
  color: var(--is-navy) !important;
  margin-bottom: 16px !important
}

.inner-showcase .is-lead {
  font-size: 15.5px !important;
  line-height: 1.78 !important;
  color: #52647c !important;
  font-weight: 700 !important
}

.inner-showcase .is-eyebrow {
  font-size: 12px !important;
  color: #0b74df !important;
  letter-spacing: .11em !important;
  margin-bottom: 12px !important
}

.inner-showcase .is-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px !important
}

.inner-showcase .is-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px !important
}

.inner-showcase .is-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px !important
}

.inner-showcase .is-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px !important;
  margin-top: 0
}

.inner-showcase .is-stat {
  min-height: 108px;
  padding: 24px 28px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  text-align: left
}

.inner-showcase .is-stat strong {
  font-size: 34px !important;
  line-height: 1;
  color: #0b74df;
  font-weight: 1000
}

.inner-showcase .is-stat span:last-child {
  display: block;
  color: #27384f;
  font-weight: 1000;
  font-size: 13px;
  margin-top: 6px
}

.inner-showcase .is-info-card,
.inner-showcase .is-mini {
  padding: 30px !important;
  min-height: 210px;
  position: relative;
  overflow: hidden
}

.inner-showcase .is-info-card:before,
.inner-showcase .is-mini:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, #0b74df, #6c22d8, #e942a4);
  opacity: .72
}

.inner-showcase .is-info-card h3,
.inner-showcase .is-mini h4 {
  font-size: 20px;
  color: var(--is-navy);
  font-weight: 1000;
  margin: 18px 0 10px;
  line-height: 1.18
}

.inner-showcase .is-info-card p,
.inner-showcase .is-mini p {
  color: #5e7087;
  font-weight: 700;
  line-height: 1.68;
  font-size: 14px;
  margin: 0
}

.inner-showcase .is-icon {
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  font-size: 22px !important;
  box-shadow: inset 0 -8px 16px rgba(255, 255, 255, .65), 0 10px 22px rgba(24, 42, 74, .08)
}

.inner-showcase .is-icon-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px !important;
  margin-top: 26px !important
}

.inner-showcase .is-icon-item {
  padding: 18px 10px;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #f7fbff);
  border: 1px solid #e5eef8;
  text-align: center;
  box-shadow: 0 8px 24px rgba(28, 50, 90, .06)
}

.inner-showcase .is-split {
  grid-template-columns: 1fr .94fr !important;
  gap: 32px !important;
  align-items: stretch
}

.inner-showcase .is-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px !important;
  margin-top: 24px
}

.inner-showcase .is-gradient-box {
  border-radius: 26px !important;
  background: linear-gradient(135deg, #7b1fd2 0%, #5c27c9 52%, #1183d7 100%) !important;
  padding: 38px !important;
  min-height: 100%;
  box-shadow: 0 24px 60px rgba(108, 34, 216, .24);
  overflow: hidden;
  position: relative;
  color: #fff
}

.inner-showcase .is-gradient-box:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 75%, rgba(255, 255, 255, .18), transparent 22%), radial-gradient(circle at 16% 10%, rgba(255, 255, 255, .16), transparent 20%);
  pointer-events: none
}

.inner-showcase .is-gradient-box h3 {
  font-size: 28px !important;
  color: #fff;
  margin-bottom: 14px;
  font-weight: 1000
}

.inner-showcase .is-gradient-box p,
.inner-showcase .is-gradient-box li {
  color: #fff !important;
  font-weight: 800;
  line-height: 1.65
}

.inner-showcase .is-gradient-box img {
  max-width: 247px;
    right: -19px;
    bottom: -13px;
    opacity: 1;
    filter: drop-shadow(0 18px 28px rgba(0, 0, 0, .18));
}

.inner-showcase .is-teachers {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px !important
}

.inner-showcase .is-teacher {
  padding: 26px 18px !important;
  text-align: center;
  min-height: 190px
}

.inner-showcase .is-teacher img {
  width: 86px !important;
  height: 86px !important;
  border-radius: 50%;
  object-fit: cover;
  border: 6px solid #f4eefc;
  box-shadow: 0 12px 28px rgba(23, 36, 58, .12)
}

.inner-showcase .is-teacher h4 {
  font-size: 16px;
  margin: 14px 0 4px;
  color: var(--is-navy);
  font-weight: 1000
}

.inner-showcase .is-cta {
  border-radius: 26px !important;
  background: linear-gradient(90deg, #1467d8 0%, #0c8bd0 100%) !important;
  box-shadow: 0 22px 52px rgba(8, 94, 207, .22);
  padding: 34px 42px !important;
  position: relative;
  overflow: hidden
}

.inner-showcase .is-cta:before {
  content: "\f1d8";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 26px;
  top: 22px;
  color: #ffd21c;
  font-size: 46px;
  opacity: .9;
  transform: rotate(-12deg)
}

.inner-showcase .is-cta div {
  padding-left: 70px
}

.inner-showcase .is-cta h3 {
  font-size: 30px !important;
  color: #fff;
  margin: 0 0 6px;
  font-weight: 1000
}

.inner-showcase .is-cta p {
  color: #fff;
  margin: 0;
  font-weight: 800
}

.inner-showcase .is-btn {
  background: #fff !important;
  color: #6c22d8 !important;
  border-radius: 999px !important;
  padding: 15px 28px !important;
  font-weight: 1000 !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .14)
}

.inner-showcase .is-programs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px !important
}

.inner-showcase .is-program {
  padding: 18px !important;
  overflow: hidden;
  min-height: 455px;
  display: flex;
  flex-direction: column
}

.inner-showcase .is-program img {
  height: 170px !important;
  border-radius: 18px !important;
  object-fit: cover;
  width: 100%;
  box-shadow: 0 12px 24px rgba(24, 42, 74, .11)
}

.inner-showcase .is-program h3 {
  font-size: 21px;
  margin: 18px 0 8px;
  color: var(--is-navy);
  font-weight: 1000
}

.inner-showcase .is-program small {
  display: block;
  color: #52647c;
  font-size: 13px;
  margin-top: 4px
}

.inner-showcase .is-program p,
.inner-showcase .is-program li {
  font-size: 14px;
  line-height: 1.6;
  color: #5e7087;
  font-weight: 700
}

.inner-showcase .is-purple-banner {
  border-radius: 24px !important;
  background: linear-gradient(135deg, #6b22d8, #9b2cd7) !important;
  box-shadow: 0 24px 60px rgba(108, 34, 216, .22);
  padding: 28px 38px !important;
  align-items: center
}

.inner-showcase .is-purple-banner h3 {
  font-size: 30px;
  color: #fff;
  margin-bottom: 8px;
  font-weight: 1000
}

.inner-showcase .is-purple-banner p {
  color: #fff;
  font-weight: 800
}

.inner-showcase .is-learning {
  grid-template-columns: 1fr .86fr !important;
  gap: 30px !important;
  align-items: center;
  padding: 32px !important
}

.inner-showcase .is-learning img {
  border-radius: 22px;
  height: 360px;
  object-fit: cover;
  width: 100%
}

.inner-showcase .is-strip {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px !important
}

.inner-showcase .is-strip .is-mini {
  min-height: 145px;
  text-align: center;
  padding: 24px 16px !important
}

.inner-showcase .is-gallery-filter {
  position: sticky;
  top: 10px;
  z-index: 8;
  background: rgba(255, 255, 255, .82);
  backdrop-filter: blur(12px);
  padding: 12px;
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(24, 42, 74, .08);
  width: max-content;
  max-width: 100%;
  margin: 0 auto 30px;
  overflow: auto
}

.inner-showcase .is-gallery-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important
}

.inner-showcase .is-gallery-grid img {
  height: 190px !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 30px rgba(24, 42, 74, .12)
}

.inner-showcase .is-admission,
.inner-showcase .is-contact {
  grid-template-columns: .86fr 1.14fr !important;
  gap: 26px !important;
  align-items: stretch
}

.inner-showcase .is-process,
.inner-showcase .is-form,
.inner-showcase .is-contact-card,
.inner-showcase .is-message {
  padding: 30px !important
}

.inner-showcase .is-process h3,
.inner-showcase .is-form h3,
.inner-showcase .is-contact-card h3,
.inner-showcase .is-message h3 {
  font-size: 24px;
  color: var(--is-navy);
  font-weight: 1000;
  margin-bottom: 18px
}

.inner-showcase .is-form input,
.inner-showcase .is-form select,
.inner-showcase .is-form textarea,
.inner-showcase .is-message input,
.inner-showcase .is-message textarea {
  height: 48px;
  border-radius: 12px !important;
  background: #fbfdff;
  border-color: #dfeaf7 !important;
  font-size: 14px
}

.inner-showcase .is-form textarea,
.inner-showcase .is-message textarea {
  height: 140px
}

.inner-showcase .is-admission-info {
  border-radius: 24px !important;
  grid-template-columns: 1fr 1fr 150px !important;
  padding: 34px !important;
  background: linear-gradient(135deg, #5d20c7, #8c2bda) !important;
  box-shadow: 0 24px 60px rgba(108, 34, 216, .23)
}

.inner-showcase .is-map iframe {
  height: 350px !important;
  border-radius: 24px !important
}

.inner-showcase .is-social {
  padding: 28px 34px !important;
  border-radius: 22px !important
}

.inner-showcase .is-testimonials {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px !important
}

.inner-showcase .is-testimonial {
  padding: 34px !important;
  min-height: 285px;
  position: relative;
  overflow: hidden
}

.inner-showcase .is-testimonial:before {
  content: "";
  position: absolute;
  top: -35px;
  right: -35px;
  width: 110px;
  height: 110px;
  background: #f2e8ff;
  border-radius: 50%
}

.inner-showcase .is-policy-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px !important
}

.inner-showcase .is-director {
  grid-template-columns: 360px 1fr !important;
  gap: 42px !important;
  padding: 38px !important;
  margin-top: -86px !important;
  position: relative;
  z-index: 5
}

.inner-showcase .is-director img {
  height: 440px !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 36px rgba(24, 42, 74, .14)
}

.inner-showcase .is-masonry {
  columns: 4 220px;
  column-gap: 18px
}

.inner-showcase .is-masonry img {
  border-radius: 18px;
  margin-bottom: 18px;
  box-shadow: 0 14px 30px rgba(24, 42, 74, .13)
}

.inner-showcase .is-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s ease, transform .7s ease
}

.inner-showcase .is-reveal.is-visible {
  opacity: 1;
  transform: none
}

@media(max-width:1199px) {
  .inner-showcase .is-container {
    width: min(100% - 52px, var(--is-max))
  }

  .inner-showcase .is-programs,
  .inner-showcase .is-grid.four {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important
  }

  .inner-showcase .is-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important
  }

  .inner-showcase .is-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important
  }
}

@media(max-width:991px) {
  .inner-showcase .is-hero {
    min-height: 320px;
    background-position: 64% center !important
  }

  .inner-showcase .is-hero .is-container {
    grid-template-columns: 1fr !important;
    padding: 58px 0 92px !important
  }

  .inner-showcase .is-story,
  .inner-showcase .is-split,
  .inner-showcase .is-learning,
  .inner-showcase .is-admission,
  .inner-showcase .is-contact,
  .inner-showcase .is-director {
    grid-template-columns: 1fr !important
  }

  .inner-showcase .is-story,
  .inner-showcase .is-director {
    margin-top: -64px !important
  }

  .inner-showcase .is-grid.three,
  .inner-showcase .is-stats,
  .inner-showcase .is-teachers,
  .inner-showcase .is-testimonials,
  .inner-showcase .is-policy-grid,
  .inner-showcase .is-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important
  }

  .inner-showcase .is-photo img,
  .inner-showcase .is-learning img {
    height: 310px !important
  }

  .inner-showcase .is-admission-info {
    grid-template-columns: 1fr !important
  }

  .inner-showcase .is-admission-info img {
    width: 120px
  }

  .inner-showcase .is-director img {
    width: min(360px, 100%);
    height: 390px !important
  }

  .inner-showcase .is-cta {
    display: grid;
    gap: 18px;
    text-align: left
  }

  .inner-showcase .is-cta div {
    padding-left: 58px
  }
}

@media(max-width:767px) {
  .inner-showcase .is-container {
    width: min(100% - 32px, var(--is-max))
  }

  .inner-showcase .is-hero {
    min-height: 300px;
    background-position: 70% center !important
  }

  .inner-showcase .is-hero:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5, 81, 185, .86), rgba(5, 81, 185, .58) 52%, rgba(5, 81, 185, .12));
    z-index: 2
  }

  .inner-showcase .is-hero .is-container {
           padding: 10px 0 47px !important;
    z-index: 3
  }

  .inner-showcase .is-hero h1 {
    font-size: 42px !important;
    letter-spacing: -1px !important
  }

  .inner-showcase .is-tags span {
    font-size: 11px;
    padding: 8px 12px !important
  }

  .inner-showcase .is-section {
    padding: 52px 0 !important
  }

  .inner-showcase .is-story {
    padding: 22px !important;
    gap: 26px !important
  }

  .inner-showcase .is-photo img {
    height: 245px !important
  }

  .inner-showcase .is-icon-row,
  .inner-showcase .is-mini-grid,
  .inner-showcase .is-form-grid {
    grid-template-columns: 1fr 1fr !important
  }

  .inner-showcase .is-gallery-filter {
    border-radius: 18px;
    width: 100%;
    justify-content: flex-start
  }

  .inner-showcase .is-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important
  }

  .inner-showcase .is-gallery-grid img {
    height: 150px !important
  }

  .inner-showcase .is-cta {
    padding: 28px !important;
    text-align: center
  }

  .inner-showcase .is-cta div {
    padding-left: 0
  }

  .inner-showcase .is-cta:before {
    display: none
  }

  .inner-showcase .is-gradient-box {
    padding: 30px !important
  }

  .inner-showcase .is-gradient-box img {
    opacity: .35
  }

  .inner-showcase .is-social {
    display: block;
    text-align: center
  }

  .inner-showcase .is-social-icons {
    margin-top: 15px
  }

  .inner-showcase .is-map iframe {
    height: 280px !important
  }
}

@media(max-width:575px) {
  .inner-showcase .is-container {
    width: min(100% - 24px, var(--is-max))
  }

  .inner-showcase .is-hero {
    background-position: 74% center !important
  }

  .inner-showcase .is-hero h1 {
    font-size: 36px !important
  }

  .inner-showcase .is-hero p {
    font-size: 13.5px !important
  }

  .inner-showcase .is-grid.three,
  .inner-showcase .is-grid.four,
  .inner-showcase .is-grid.two,
  .inner-showcase .is-stats,
  .inner-showcase .is-teachers,
  .inner-showcase .is-testimonials,
  .inner-showcase .is-policy-grid,
  .inner-showcase .is-programs,
  .inner-showcase .is-strip,
  .inner-showcase .is-mini-grid,
  .inner-showcase .is-icon-row,
  .inner-showcase .is-form-grid {
    grid-template-columns: 1fr !important
  }

  .inner-showcase .is-title {
    font-size: 25px !important
  }

  .inner-showcase .is-story {
    margin-top: -54px !important
  }

  .inner-showcase .is-stat {
    justify-content: flex-start
  }

  .inner-showcase .is-program {
    min-height: auto
  }

  .inner-showcase .is-gallery-grid {
    grid-template-columns: 1fr !important
  }

  .inner-showcase .is-gallery-grid img {
    height: 210px !important
  }

  .inner-showcase .is-admission-info {
    padding: 26px !important
  }

  .inner-showcase .is-director {
    padding: 24px !important
  }

  .inner-showcase .is-director img {
    height: 320px !important
  }

  .inner-showcase .is-masonry {
    columns: 1
  }

  .inner-showcase .is-cloud {
    height: 58px !important;
    background-size: 88px 58px !important
  }
}


/* User requested final inner-page refinements - scoped only to inner pages */
.inner-showcase .is-stats-premium {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important
}

.inner-showcase .is-stats-premium .is-stat {
  position: relative;
  overflow: hidden;
  justify-content: flex-start !important;
  padding: 28px 30px !important;
  min-height: 128px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #fff, #f7fbff) !important
}

.inner-showcase .is-stats-premium .is-stat:before {
  content: "";
  position: absolute;
  right: -45px;
  top: -45px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(11, 116, 223, .13), rgba(233, 66, 164, .12))
}

.inner-showcase .is-stats-premium .is-stat em {
  position: absolute;
left: 79px;
    bottom: 15px;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
  color: #7b8aa0
}

.inner-showcase .is-stats-premium .is-stat strong {
  font-size: 40px !important
}

.inner-showcase .is-why-layout {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 34px;
  align-items: stretch
}

.inner-showcase .is-why-copy,
.inner-showcase .is-why-side {
  min-width: 0
}

.inner-showcase .is-why-side {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 20px
}

.inner-showcase .is-note-card {
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #fff, #f7fbff) !important
}

.inner-showcase .is-note-card h4 {
  font-size: 20px;
  font-weight: 1000;
  margin: 0 0 8px;
  color: var(--is-navy)
}

.inner-showcase .is-note-card i {
  color: var(--is-orange);
  margin-right: 8px
}

.inner-showcase .is-note-card p {
  margin: 0;
  color: var(--is-muted);
  font-weight: 800;
  line-height: 1.65
}

.inner-showcase .program-benefits {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important
}

.inner-showcase .program-benefits .is-mini {
  min-height: 190px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center
}

.inner-showcase .is-banner-action {
  grid-template-columns: auto 1fr auto !important
}

.inner-showcase .is-banner-action .is-btn {
  white-space: nowrap
}

.inner-showcase .is-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px
}

.inner-showcase .is-process-step {
  padding: 30px;
  border-radius: 24px;
  position: relative;
  overflow: hidden
}

.inner-showcase .is-process-step:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--is-blue), var(--is-purple), var(--is-pink))
}

.inner-showcase .is-process-step b {
  display: inline-grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 16px;
  background: #edf6ff;
  color: var(--is-blue);
  font-size: 18px;
  margin-bottom: 18px
}

.inner-showcase .is-process-step h3 {
  font-size: 22px;
  font-weight: 1000;
  margin: 0 0 10px;
  color: var(--is-navy)
}

.inner-showcase .is-process-step p {
  margin: 0;
  color: var(--is-muted);
  font-weight: 750;
  line-height: 1.65
}

.inner-showcase .contact-premium-grid {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 28px;
  align-items: stretch
}

.inner-showcase .contact-info-panel,
.inner-showcase .contact-form-panel {
  padding: 34px !important;
  border-radius: 28px !important
}

.inner-showcase .contact-info-panel h3,
.inner-showcase .contact-form-panel h3 {
  font-size: 28px;
  font-weight: 1000;
  color: var(--is-navy);
  margin: 0 0 22px
}

.inner-showcase .contact-info-list {
  display: grid;
  gap: 16px
}

.inner-showcase .contact-info-list a,
.inner-showcase .contact-info-list p {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: start;
  margin: 0;
  padding: 16px;
  border: 1px solid #e4eef8;
  border-radius: 18px;
  background: #fbfdff;
  color: var(--is-navy);
  font-weight: 800;
  transition: .25s
}

.inner-showcase .contact-info-list a:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(24, 42, 74, .10)
}

.inner-showcase .contact-info-list i {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #e9f4ff;
  color: #1778dc;
  font-size: 20px
}

.inner-showcase .contact-info-list b {
  display: block;
  font-size: 16px;
  color: var(--is-navy);
  margin-bottom: 4px
}

.inner-showcase .contact-info-list span {
  color: #52647c;
  line-height: 1.5
}

.inner-showcase .contact-quick {
  margin-top: 20px;
  padding: 24px;
  border-radius: 22px;
  background: linear-gradient(135deg, #6c22d8, #0b74df);
  color: #fff;
  position: relative;
  overflow: hidden
}

.inner-showcase .contact-quick h4,
.inner-showcase .contact-quick p {
  color: #fff
}

.inner-showcase .contact-quick h4 {
  font-size: 22px;
  font-weight: 1000;
  margin: 0 0 8px
}

.inner-showcase .contact-quick p {
  font-weight: 800;
  line-height: 1.6
}

.inner-showcase .contact-map-social {
  margin-top: 28px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px
}

.inner-showcase .contact-form-panel .is-form {
  padding: 0 !important;
  box-shadow: none !important;
  border: 0 !important;
  background: transparent !important
}

.inner-showcase .contact-form-panel select {
  width: 100%;
  height: 52px;
  border: 1px solid #dfeaf7;
  border-radius: 12px;
  background: #fbfdff;
  padding: 0 16px;
  font-weight: 900;
  color: #667085
}

.inner-showcase .is-gallery-filter button {
  cursor: pointer;
  transition: .25s
}

.inner-showcase .is-gallery-filter button.active,
.inner-showcase .is-gallery-filter button:hover {
  background: #6c22d8 !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(108, 34, 216, .22)
}

.inner-showcase .is-gallery-grid a {
  display: block;
  transition: opacity .25s ease, transform .25s ease
}

.inner-showcase .is-gallery-grid a.is-hide {
  display: none !important
}

.inner-showcase .floating-whatsapp {
  position: fixed;
  left: 22px;
  bottom: 24px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  z-index: 999;
  display: grid;
  place-items: center;
  background: #25d366;
  color: #fff !important;
  font-size: 32px;
  box-shadow: 0 14px 34px rgba(37, 211, 102, .34);
  animation: waPulse 1.8s ease-in-out infinite
}

.inner-showcase .floating-whatsapp:after {
  content: "WhatsApp";
  position: absolute;
  left: 72px;
  white-space: nowrap;
  background: #14233b;
  color: #fff;
  border-radius: 999px;
  padding: 8px 13px;
  font-size: 13px;
  font-weight: 1000;
  opacity: 0;
  transform: translateX(-8px);
  transition: .25s
}

.inner-showcase .floating-whatsapp:hover:after {
  opacity: 1;
  transform: none
}

@keyframes waPulse {

  0%,
  100% {
    transform: translateY(0);
    box-shadow: 0 14px 34px rgba(37, 211, 102, .34)
  }

  50% {
    transform: translateY(-6px);
    box-shadow: 0 22px 44px rgba(37, 211, 102, .44)
  }
}

@media(max-width:1199px) {
  .inner-showcase .program-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important
  }

  .inner-showcase .is-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media(max-width:991px) {

  .inner-showcase .is-why-layout,
  .inner-showcase .contact-premium-grid {
    grid-template-columns: 1fr
  }

  .inner-showcase .is-stats-premium {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important
  }

  .inner-showcase .is-banner-action {
    grid-template-columns: 1fr !important;
    text-align: center
  }

  .inner-showcase .is-banner-action img {
    margin: auto
  }
  
 .inner-showcase .is-tags {
   display: none;
}
}

@media(max-width:575px) {

  .inner-showcase .is-stats-premium,
  .inner-showcase .program-benefits,
  .inner-showcase .is-process-grid {
    grid-template-columns: 1fr !important
  }

  .inner-showcase .floating-whatsapp {
    width: 54px;
    height: 54px;
    font-size: 28px;
    left: 14px;
    bottom: 18px
  }

  .inner-showcase .floating-whatsapp:after {
    display: none
  }

  .inner-showcase .contact-info-list a,
  .inner-showcase .contact-info-list p {
    grid-template-columns: 42px 1fr;
    padding: 14px
  }

  .inner-showcase .contact-info-list i {
    width: 42px;
    height: 42px
  }
   .is-mini.is-card.is-reveal.is-visible {
        text-align: center;
    }

    .is-mini.is-card.is-reveal.is-visible .is-icon {
        margin: 0 auto 15px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
     .is-info-card {
        text-align: center;
    }

    .is-info-card .is-icon {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto 15px;
    }
.inner-showcase .is-why-copy{
    min-width: 0;
    text-align: center;
}

.inner-showcase .is-icon-row, .inner-showcase .is-strip{
        grid-template-columns: 1fr 1fr !important;
    }
.inner-showcase .is-purple-banner h3 {
    font-size: 24px;
    color: #fff;
    margin-bottom: 8px;
    font-weight: 1000;
}
.inner-showcase .is-process-step {
   
    text-align: center;
}
.inner-showcase .is-mini h4 {
    font-size: 16px;
}
    .inner-showcase .is-section {
        padding: 20px 0 !important;
    }
}



.is-social-icons {
    display: flex;
    gap: 15px;
    
}

.is-social-icons a {
    color: inherit;
    text-decoration: none;
    font-size: 20px;
    transition: 0.3s ease;
}

.is-social-icons a:hover {
    transform: translateY(-3px);
}
/* About page: Founder and Team sections */
.ss-founder-section {
  background:
    radial-gradient(circle at 0 12%, rgba(36, 195, 202, .22), transparent 24%),
    radial-gradient(circle at 100% 8%, rgba(239, 61, 143, .16), transparent 26%),
    linear-gradient(135deg, #ffffff 0%, #f7f2ff 55%, #eefaff 100%);
  position: relative;
  overflow: hidden;
}
/*.ss-founder-section::before {*/
/*  content: "";*/
/*  position: absolute;*/
/*  inset: 0 auto 0 0;*/
/*  width: 92px;*/
/*  background:*/
/*    radial-gradient(circle at 20px 30px, var(--teal) 0 28px, transparent 29px),*/
/*    radial-gradient(circle at 0 210px, var(--pink) 0 64px, transparent 65px),*/
/*    radial-gradient(circle at 68px 125px, var(--orange) 0 34px, transparent 35px),*/
/*    radial-gradient(circle at 35px 405px, var(--purple2) 0 45px, transparent 46px);*/
/*  opacity: .95;*/
/*}*/
.ss-founder-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, 395px) 1fr;
  gap: 46px;
  align-items: center;
  padding: 42px;
  border: 0;
  background: rgba(255,255,255,.82);
  box-shadow: 0 24px 70px rgba(93, 22, 184, .14);
  overflow: hidden;
}
.ss-founder-photo-wrap {
  border-radius: 34px;
  padding: 10px;
  background: linear-gradient(135deg, var(--teal), #e8f8ff);
}
.ss-founder-photo {
  display: block;
  width: 100%;
  height: 363px;
  object-fit: cover;
  object-position: center top;
  border-radius: 28px;
}
.ss-founder-content .is-title {
  color: #9b2b9d;
  line-height: .95;
  margin-bottom: 18px;
}
.ss-founder-line {
  width: min(100%, 430px);
  height: 2px;
  background: linear-gradient(90deg, rgba(155,43,157,.7), rgba(36,195,202,.05));
  margin: 0 0 26px;
}
.ss-founder-content strong { color: #11142c; }
/* Redesigned About page team carousel */
.ss-team-section {
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 2% 92%, rgba(35,199,112,.16) 0 36px, transparent 37px),
    radial-gradient(circle at 98% 98%, rgba(111,37,204,.18) 0 46px, transparent 47px),
    linear-gradient(180deg, #fff 0%, #fff8fd 100%);
}
.ss-team-carousel {
  position: relative;
  margin-top: 42px;
  padding: 0 74px;
}
.ss-team-track {
  display: flex;
  gap: 26px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
  -webkit-overflow-scrolling: touch;
  padding: 6px 2px 26px;
}
.ss-team-track::-webkit-scrollbar { display: none; }
.ss-team-track.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  scroll-snap-type: none;
}
.ss-team-card {
  flex: 0 0 calc((100% - 52px) / 3);
  min-height: 275px;
  text-align: center;
  padding: 40px 24px 32px;
  border: 1px solid rgba(155,43,157,.12);
  border-radius: 30px;
  position: relative;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 18px 45px rgba(12,30,66,.10);
  scroll-snap-align: start;
  transition: transform .25s ease, box-shadow .25s ease;
}
.ss-team-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 55px rgba(155,43,157,.16);
}
.ss-team-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 95px;
  background: linear-gradient(135deg, rgba(155,43,157,.12), rgba(239,50,116,.11), rgba(36,195,202,.10));
}
.ss-team-card::after {
  content: "";
  position: absolute;
  width: 145px;
  height: 145px;
  right: -58px;
  bottom: -58px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(36,195,202,.15), rgba(155,43,157,.11));
}
.ss-team-avatar {
  width: 112px;
  height: 112px;
  margin: 0 auto 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--purple), var(--pink));
  color: #fff;
  font-size: 46px;
  box-shadow: 0 16px 36px rgba(155,43,157,.26);
  position: relative;
  z-index: 1;
}
.ss-team-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 900;
  color: var(--deep);
}
.ss-team-card p {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin: 0;
  padding: 8px 18px;
  border-radius: 999px;
  color: var(--purple);
  background: rgba(155,43,157,.10);
  font-weight: 800;
  letter-spacing: .02em;
}
.ss-team-prev,
.ss-team-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 0;
  background: linear-gradient(135deg, var(--purple), var(--pink));
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 14px 28px rgba(155,43,157,.24);
  transition: .25s ease;
  z-index: 3;
}
.ss-team-prev { left: 6px; }
.ss-team-next { right: 6px; }
.ss-team-prev:hover,
.ss-team-next:hover {
  background: linear-gradient(135deg, var(--cyan), var(--blue));
  background: linear-gradient(135deg, var(--purple), var(--pink));
  transform: translateY(-50%) scale(1.06);
}
@media (max-width: 991px) {
  .ss-founder-card { grid-template-columns: 1fr; padding: 28px; gap: 28px; }
  .ss-founder-section::before { opacity: .35; }
  .ss-founder-photo { height: 390px; }
  .ss-team-carousel { padding: 0 58px; }
  .ss-team-card { flex-basis: calc((100% - 28px) / 2); }
}
@media (max-width: 575px) {
  .ss-founder-card { padding: 20px; border-radius: 26px; }
  .ss-founder-photo { height: 330px; }
  .ss-founder-content .is-title { font-size: 38px; }
  .ss-team-carousel { padding: 0 46px; }
  .ss-team-track { gap: 18px; }
  .ss-team-card { flex-basis: 100%; min-height: 235px; }
  .ss-team-prev, .ss-team-next { width: 42px; height: 42px; }
}

.certification-list{
    font-size: 15px;
}
@media (max-width: 575px) {
    .inner-showcase .is-title {
        font-size: 19px !important;
    }
    .ss-founder-card1{
        flex-direction: column-reverse;
    display: flex;
    }
}


@media (min-width: 991px) {
.ss-founder-card1 {
    position: relative;
    display: grid;
    grid-template-columns: minmax(274px, 657px) 1fr;
    gap: 46px;
    align-items: center;
    padding: 42px;
    border: 0;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 24px 70px rgba(93, 22, 184, .14);
    overflow: hidden;
}
}

