@media (max-width: 1125px){
	#navbar > div{padding: 0px;}
	
	.front_point_title{text-align: center;}
	
	.front_count{padding: 30px 20px;}
	
	.front_point{box-sizing: border-box;}
	
	.front_step .fsList .flItem1 > div, .front_step .fsList .flItem3 > div{margin-left: 50px;}
	.front_step .fsList .flItem2 > div{margin-right: 50px;}
	
	.front_testi .ftList{padding: 0px 20px;}
}

@media (max-width: 1025px){
	#navbar .nbBottom{grid-gap: 20px; grid-template-columns: 245px 1fr min-content;}
	#navbar .navMenu{float: left;}
	
	.card_package_group .cpgBox.cbLeft{grid-template-columns: 260px 1fr;}
	.card_package_group .cpgBox.cbRight{grid-template-columns: 1fr 260px;}
}

@media (max-width: 1018px){
	.front_testi .ftList .flContent .fcRow > div > div{min-width: 400px;}
	
	.info_course_offline .icoMain{grid-template-columns: 1fr 1fr; padding: 0px 15px; box-sizing: border-box;}
	.info_course_offline .icoMain > div:nth-child(2){display: none;}
}

@media (max-width: 980px){
	.card_gallery{grid-template-columns: 1fr 1fr 1fr;}
}

@media (max-width: 920px){
	.info_course_head{padding: 50px 15px 200px 15px;}
	.info_course_location .iclContent, .info_course_age .icaMain, .info_course_offline .icoContent{padding: 0px 15px;}
	.info_course_class{padding: 50px 15px;}
	
	.front_testi .ftList .flContent{overflow: auto; -ms-overflow-style: none; scrollbar-width: none; font-size: 0px;}
	.front_testi .ftList .flContent::-webkit-scrollbar{display: none;}
	.front_testi .ftList .flOpt{display: none;}
	.front_testi .ftList .flContent .fcWrapper > div:not(:last-child){margin-right: 15px;}
}

@media (max-width: 915px) {
  .navbar .container {
    margin: 0 15px;
  }
  .nav-links, .nav-cta {
    display: none;
  }
  .mobile-toggle {
    display: flex;
  }
}

@media (max-width: 875px){
	.tab > div:first-child{display: block; height: auto;}
	.tab > div:first-child > div{padding: 10px; display: inline-block; font-size: 15px; font-weight: bold;}
	.tab > div:first-child > div:before{right: unset;}
	
	.cdArea{padding: 0px !important;}
	.cdAreaFooter{display: none;}
	.cdHead{border-radius: 0px;}
	.cdHead .chDesc{display: none;}
	.cdBody{border-radius: 0px;}
}

@media (max-width: 850px){
	.enrollCriteria > div{align-items: normal;}
}

@media (max-width: 830px){
	.calendar_layout, .cdLayout.clRight{grid-template-columns: 1fr;}
	
	.ages-grid {
		flex-direction: column;
		gap: 60px;
	}
	
	.age-col {
		padding: 0 24px;
		border-left: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		padding-bottom: 40px;
	}
	
	.age-col:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}
	
	.advantages-content {
		flex-direction: column;
		gap: 60px;
	}
	
	.advantages-image {
		position: static;
		flex: none;
		width: 100%;
		max-width: 611px;
		height: auto;
		aspect-ratio: 611 / 854;
		margin: 0 auto;
	}
	
	.advantage-text h3 {
		font-size: 24px;
		line-height: 1.2;
	}
}

@media (max-width: 815px){	
	.pdLayout{padding: 0px 15px;}
	
	.info_aboutVM{grid-template-columns: 1fr;}
	.info_aboutVM::after{display: none;}
}

@media (max-width: 810px){
	.cdLayout{grid-template-columns: 1fr;}
	.clLeft .clMenu{white-space: nowrap; width: calc(100vw - 37px); overflow: auto;}
	.clLeft .clMenu > div{display: inline-block;}
	
	.info_aboutPrincipal{grid-template-columns: 150px 1fr;}
	
	.card_package_group .cpgBox.cbLeft{grid-template-columns: 1fr;}
	.card_package_group .cpgBox.cbRight{grid-template-columns: 1fr;}
	.card_package_group .cpgBox.cbLeft > div:first-child{height: min-content; width: 100%;}
	.card_package_group .cpgBox.cbRight > div:nth-child(2){height: min-content; width: 100%;}
	
	.card_package_group .cpgBox.cbRight{display: flex; gap: 1rem; flex-direction: column;}
	.card_package_group .cpgBox.cbRight > div{flex: 1;}
	.card_package_group .cpgBox.cbRight > div:first-child{order: 2;}
	.card_package_group .cpgBox.cbRight > div:nth-child(2){order: 1;}
	.card_package_group .cpgBox.cbRight .cbImg .ciCover{width: 100%; position: relative;}
	.card_package_group .cpgBox .cbImg .ciCover{position: relative; height: auto; padding-bottom: 150%;}
}

@media (max-width: 780px){
	.auth_layout{max-width: 420px; padding: 0px; border-radius: 0px; background: transparent;}
	.auth_layout.alLogin{max-width: 500px;}
	.auth_layout.alLogin:before{display: none;}
	.auth_layout .alHead{color: var(--text_white);}
	.auth_layout .alContent{grid-template-columns: 1fr; background: var(--bg_silvercalm);}
	.auth_layout .alContent .acBody{box-sizing: border-box; padding: 10px 0px 20px 0px; min-height: auto;}
	.auth_layout.alLogin .alContent .acBody{padding: 10px 15px;}
	.authTab{padding: 15px;}
	.authTab .atOpt{background: var(--bg_white);}
	
	.front_focus{padding: 50px 20px 0px 20px;}
	.front_focus .ffContent{margin: 20px;}
	
	.front_video{padding: 0px 20px 50px 20px;}
	.front_video .fvContent{padding-left: 15px; padding-right: 15px;}
	
	.card_class_full .ccfItem{grid-template-columns: 1fr;}
	
	.info_course_offline .icoMain .imItem{min-height: 175px;}
}

@media (max-width: 991px) {
  /* ===== HERO ===== */
  .hero {
    padding-top: 90px !important;
    min-height: 100vh !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
  }
  .hero > .container {
    margin: 0 auto !important;
    padding: 0 20px !important;
    width: 100% !important;
    box-sizing: border-box;
  }
  .hero-title {
    font-size: clamp(1.75rem, 7vw, 2.5rem) !important;
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
  }
  .hero-title br {
    display: none !important;
  }
  .hero-subheading-box {
    padding: 14px 18px !important;
    font-size: 0.9rem !important;
    margin: 0 auto 32px !important;
    max-width: 100% !important;
    line-height: 1.6 !important;
  }
  .hero-ctas {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin: 0 0 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
  .btn--red,
  .btn--outline-white {
    width: 100% !important;
    justify-content: center !important;
    padding: 15px 24px !important;
    font-size: 0.9rem !important;
    box-sizing: border-box;
  }
  .trust-strip {
    margin-top: 32px !important;
  }
  .trust-strip__text {
    font-size: 0.95rem !important;
    padding: 16px !important;
    letter-spacing: 0.5px !important;
  }
}

@media (max-width: 768px) {
  .hero-title {
    font-size: clamp(1.5rem, 6vw, 2rem) !important;
  }
}

@media (max-width: 991px) {
  .features {
    padding: 60px 0 !important;
    margin: 0 !important;
  }
  .features-container {
    margin: 0 16px !important;
    padding: 32px 16px !important;
    border-radius: 20px !important;
    border-width: 1px !important;
  }
  .features-list {
    gap: 20px !important;
    margin: 0 !important;
  }
  .feature-row {
    flex-direction: column !important;
    min-height: auto !important;
    margin: 0 !important;
    border-radius: 16px !important;
  }
  .feature-row__img {
    width: 100% !important;
    min-width: 0 !important;
    padding: 16px !important;
    height: 200px !important;
    box-sizing: border-box !important;
  }
  .feature-row__content {
    padding: 16px 20px 24px !important;
    text-align: left !important;
  }
  .feature-row__content > * {
    margin: 0 0 10px 0 !important;
  }
  .features-heading {
    font-size: 1.5rem !important;
    margin-bottom: 32px !important;
  }
  .features-note {
    padding-right: 0 !important;
    text-align: center !important;
    margin-top: 24px !important;
  }
}

@media (max-width: 991px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin: 0;
  }
  .footer-grid > div {
    margin: 0;
    text-align: left;
  }
  .footer-brand {
    grid-column: 1 / -1;
  }
  .footer-brand p {
    margin-left: 0;
  }
  .footer h4, .footer ul, .footer ul li {
    margin-left: 0;
    text-align: left;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 16px;
    text-align: center;
    margin: 0;
  }
  .footer-bottom span {
    margin: 0;
  }
}

@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    margin: 0;
  }
  .footer-grid > div {
    margin: 0;
    text-align: left;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 12px;
    text-align: center;
    margin: 0;
  }
  .footer-brand p, .footer h4, .footer ul, .footer ul li {
    margin-left: 0;
    text-align: left;
  }
}

@media (max-width: 992px) {
	.offline-wrapper {
		flex-direction: column;
		min-height: auto;
		margin: 0 !important;
	}
	
	.offline-gallery {
		width: 100% !important;
		flex-shrink: unset;
		margin: 0 0 40px 0 !important;
		gap: 14px;
	}
	
	.gallery-main {
		height: 260px !important;
		margin: 0 !important;
	}
	
	.gallery-sub-1, .gallery-sub-2 {
		height: 180px !important;
		margin: 0 !important;
	}
	
	.offline-card-new {
		position: relative !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 32px !important;
		align-self: unset;
		box-shadow: 0 20px 40px rgba(0,0,0,0.1);
	}
}

@media (max-width: 720px){
	.info_about_head{padding: 115px 0px 150px 0px;}
}

@media (max-width: 705px){
	.pdLayout{grid-template-columns: 1fr;}
	.pdLayout .pbHead{display: none;}
	.pdBody .pbSelect .psOpt{display: block; white-space: nowrap; width: calc(100vw - 75px); overflow: auto; -ms-overflow-style: none; scrollbar-width: none;}
	.pdBody .pbSelect .psOpt::-webkit-scrollbar{display: none;}
	.pdBody .pbSelect .psOpt > div{display: inline-block; width: min-content; padding: 5px 10px; border-radius: 35px; border: 1px solid var(--bg_red);}
	.pdBody .pbSelect .psOpt > div:not(:last-child){margin-right: 10px;}
	
	.info_course_head{padding: 50px 15px 120px 15px;}
	.info_course_head .ichBox .ibCover{width: 175px;}
	.info_course_head .ichBox .ibContent > div{padding-right: 225px;}
	
	.info_course_location .iclContent, .info_course_age .icaMain{grid-template-columns: 1fr;}
	.info_course_age .icaMain > div:first-child{display: none;}
}

@media (max-width: 675px){
	.front_header .fhContent .fcTitle{padding: 0px 15px;}
	.front_header .fhContent .fcBtn{grid-template-columns: 1fr; padding: 0px 25px; max-width: 500px;}
	.front_header .fhHighlight{padding-bottom: 35%;}
	
	.info_course_offline .icoContent{grid-template-columns: 1fr;}
}

@media (max-width: 660px){
	.info_about_head > div:nth-child(2){padding: 0px 15px;}
	.info_about_focus{padding: 25% 15px 100px 15px;}
}

@media (max-width: 625px){	
	.front_focus .ffContent .fcItem{grid-template-columns: 1fr;}
	
	.front_focus{padding: 50px 0px 0px 0px;}
	.front_focus > div{border: 0px;}
	.front_focus .ffContent{margin: 0px;}
	.front_focus .ffContent .fcItem{padding: 0px; width: 93%; height: 100%; grid-template-rows: 1fr min-content; grid-gap: 0px;}
	.front_focus .ffContent .fcItem > div:first-child > div{top: 0px; left: 0px; border-radius: 15px;}
	.front_focus .ffContent .fcContent{padding: 15px; box-sizing: border-box;}
	

}

@media (max-width: 600px){
	.front_count .fcContent .fcItem{grid-template-columns: 1fr 1fr;}
	.front_count .fcContent .fcItem > div:nth-child(2):before{display: none;}
	
	.card_testi, .card_class_schedule{grid-template-columns: 1fr;}
}

@media (max-width: 590px){
	.coursesPackage{grid-template-columns: 1fr;}
	
	.info_about_head{padding: 115px 0px 125px 0px;}
	.info_about_head > div:first-child{font-size: 25px;}
	.info_about_head > div:nth-child(2){font-size: 14px;}
	.info_about_focus{font-size: 14px; padding: 25% 15px 65px 15px;}
	

}

@media (max-width: 545px){
	.info_course_head .ichBox .ibCoverMobile{display: block;}
	.info_course_head .ichBox .ibContent{padding-top: 50px;}
	.info_course_head .ichBox .ibContent > div{padding-right: 15px;}
	.info_course_head .ichBox .ibCover{display: none;}
	
	.info_course_step .icsContent{padding: 0px 15px;}
}

@media (max-width: 490px){
	.front_focus{padding: 50px 0px 0px 0px;}
	.front_focus > div{border-radius: 0px; border: none;}
}

@media (max-width: 480px){
	.info_course_step .icsContent .icItem{gap: 35px;}
}

@media (max-width: 460px){
}

/* ===================== JOURNEY RESPONSIVE ===================== */
@media (max-width: 991px) {
  .journey {
    padding: 60px 0 !important;
    margin: 0 !important;
  }

  /* Cards: stack vertically, remove scale overflow */
  .journey-cards {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin: 0 0 32px 0 !important;
  }

  /* Remove scale — it clips content outside screen on mobile */
  .journey-card.active {
    transform: scale(1) !important;
  }

  .journey-card {
    padding: 24px 20px !important;
    border-radius: 16px !important;
    margin: 0 !important;
    width: 100% !important;
  }

  .card-header-row {
    margin-bottom: 16px !important;
  }

  .card-body {
    margin-bottom: 20px !important;
  }

  /* Progress bar: tighten layout */
  .journey-progress-container {
    margin: 0 0 28px 0 !important;
  }

  .progress-labels {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
  }

  .progress-label-right {
    font-size: 0.75rem !important;
    padding: 4px 12px !important;
  }

  /* Heading */
  .journey-heading {
    font-size: 1.75rem !important;
    margin-bottom: 12px !important;
  }

  .journey-sub {
    font-size: 1rem !important;
  }

  /* Footer block */
  .journey-footer {
    padding: 20px !important;
    border-radius: 16px !important;
    margin: 0 !important;
  }

  .journey-footer p {
    font-size: 1rem !important;
  }
}
