/* ===== RESPONSIVE ===== */

@media (max-width: 1399px) {
    .about-inner {
        padding: 0 60px;
    }

    .about-panel {
        padding: 40px;
    }

    .learning-col-media {
        flex: 0 0 400px;
        width: 400px;
    }

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

    .about-feature-card:nth-child(4),
    .about-feature-card:nth-child(5) {
        grid-column: span 1;
    }

    .hero-inner {
        background-position: right 40px top;
        gap: 30px;
    }

    .hero-title {
        font-size: 44px;
        line-height: 50px;
    }

    .hero-lang-badge {
        font-size: 12px;
    }

    .hero-lang-badge img {
        width: 24px;
        height: 24px;
    }

    .hero-feature-list {
        gap: 24px;
    }

    .hero-feature-icon {
        font-size: 32px;
        line-height: 32px;
    }

    .side-card {
        flex: 0 0 230px;
        width: 230px;
        padding: 20px;
    }

    .header-nav-list{
        gap: 20px
    }

    .header-auth-btn-wrap{
        gap: 10px;
        min-width: 230px;
    }

    .common-auth-btn {
        min-width: 90px;
        min-height: 40px;
        font-size: 15px;
    }

    .navbar-brand {
        gap: 10px;
        min-width: 230px;
    }

    .navbar-logo-text span {
        font-size: 13px;
        line-height: 18px;
    }

    .navbar-logo-text small {
        font-size: 11px;
        line-height: 15px;
    }

    .header-nav-link{
        font-size: 14px;
    }

    .prog-card{
        gap: 15px;
        padding: 15px;
    }

    .prog-hours {
        min-width: 80px;
        min-height: 80px;
    }

    .prog-time {
        font-size: 22px;
        line-height: 32px;
    }

    .prog-card-value {
        display: flex;
        align-items: center;
        color: var(--muted);
        font-size: 13px;
        line-height: 22px;
        gap: 10px;
    }

    .gallery-section #galleryCarousel {
        padding: 0 40px;
    }

    .gallery-prev {
        left: -30px;
    }

    .gallery-next {
        right: -30px;
    }
}

@media (max-width: 1199px) {

    .about-inner {
        padding: 0 40px;
    }

    .about-top {
        flex-direction: column;
    }

    .about-visual {
        width: 100%;
        flex: none;
        max-width: 560px;
        margin: 0 auto;
    }

    .about-columns {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .learning-row-top {
        flex-direction: column;
        gap: 32px;
    }

    .learning-col-media {
        width: 100%;
        flex: none;
        max-width: 560px;
        margin: 0 auto;
    }

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

    .hero-inner {
        flex-direction: column;
        background-size: 50%;
        background-position: right 20px top;
    }

    .hero-content-col {
        flex: none;
        max-width: none;
        width: 100%;
    }

    .hero-visual-col {
        width: 100%;
        flex-direction: column;
        align-items: center;
    }

    .hero-img-wrap {
        max-width: none;
        width: 100%;
    }

    .hero-main-img {
        max-width: 420px;
    }

    .side-card {
        width: 100%;
        max-width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        flex: unset;
    }

    .navbar-brand {
        min-width: 190px;
        gap: 7px;
    }

    .header-auth-btn-wrap {
        min-width: 190px;
    }

    .site-header-inner {
        min-height: 70px;
    }

    .navbar-brand img{
        height: 42px;
    }

    .navbar-logo-text span {
        font-size: 11px;
        line-height: 15px;
    }

    .navbar-logo-text small {
        font-size: 10px;
        line-height: 14px;
        margin: 0;
    }

    .header-nav-list {
        gap: 15px;
    }

    .header-nav-link {
        font-size: 13px;
    }

    .common-auth-btn{
        min-width: auto;
        width: 44px;
        height: 44px;
    }

    .common-auth-btn span{
        display: none;
    }

    .common-auth-btn i{
        display: inline-flex;
        font-size: 20px;
    }

    .side-card-list {
        display: flex;
        align-items: center;
        padding-bottom: 18px;
        margin-bottom: 18px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        justify-content: space-between;
        gap: 15px;
        width: 100%;
    }

    .side-card-item{
        border: 0;
        margin: 0;
        padding: 0;
        gap: 5px;
    }

    .side-card-cta{
        width: auto;
        margin: 0;
        min-width: 160px;
    }

    .prog-card {
        align-items: flex-start;
    }

    .prog-card-value{
        flex-wrap: wrap;
    }

    .opp-card-wrapper{
        grid-template-columns: repeat(4, 1fr);
    }

    .gallery-prev {
        left: -20px;
    }

    .gallery-next {
        right: -20px;
    }

    .center-location p,
    .center-location span{
        font-size: 13px;
        line-height: 20px;
    }

    .carousel-item-image {
        width: calc(33% - 12px);
    }

    .side-card-wrapper{
        flex-direction: row;
        margin-top: 0;
    }
}
/* Premium alignment for last row */
@media (min-width: 992px){
    .premium-last-row{
        margin-left: 10px;
        margin-right: 10px;
    }
}
@media (max-width: 991px) {

    .site-header-inner{
        flex-wrap: wrap;
    }

    .navbar-brand{
        order: 1;
    }

    .header-auth-btn-wrap{
        order: 2;
    }

    .hero-content-col{
        background-image: url(../images/banner-image.png);
        background-repeat: no-repeat;
        background-position: right;
        background-size: contain;
        position: relative;
    }

    .hero-content-col:before{
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgb(255 255 255 / 50%) 100%);
    }

    .hero-subtext{
        max-width: 400px;
    }

    .about-panel {
        padding: 32px 24px;
    }

    .learning-title {
        font-size: 28px;
        line-height: 36px;
    }

    .learning-features-title {
        font-size: 18px;
        line-height: 26px;
    }

    .about-title {
        font-size: 28px;
        line-height: 36px;
    }

    .about-feature-cards {
        grid-template-columns: 1fr;
    }

    .hero-section {
        margin-top: 70px;
        padding: 40px 0;
    }

    .hero-title {
        font-size: 36px;
        line-height: 42px;
    }

    .hero-lang-list {
        margin-bottom: 24px;
        flex-wrap: wrap;
        max-width: 400px;
    }

    .hero-feature-list {
        gap: 20px;
    }

    .header-menu-toggle {
        display: flex;
    }

    .header-menu-panel {
        flex-basis: 100%;
        flex-direction: column;
        align-items: stretch;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        padding: 0;
        transition: max-height 0.35s ease, opacity 0.3s ease, padding 0.3s ease;
        order: 3;
    }

    .header-menu-panel.is-open {
        max-height: 600px;
        opacity: 1;
    }

    .header-nav {
        position: static;
        transform: none;
        width: 100%;
    }

    .header-nav-list {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .header-nav-item {
        width: 100%;
        border-bottom: 1px solid var(--border);
    }

    .header-nav-link {
        display: block;
        padding: 12px 0;
        white-space: normal;
    }

    .hero-inner{
        background-image: none;
    }

    .about-point-list li{
        width: 100%;
    }

    .program-overview-content{
        width: 100%;
    }

    .program-overview-image{
        display: none;
    }

    .prog-card-wrapper{
        grid-template-columns: repeat(1, 1fr);
    }

    .approach-box-wrapper{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .section-title{
        font-size: 28px;
        line-height: 40px;
    }

    .footer-text br{
        display: none;
    }

    .carousel-item-row {
        display: flex;
        gap: 16px;
    }

    .carousel-item-image {
        width: calc(50% - 12px);
    }

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

    .coming-soon-title {
        font-size: 20px;
        line-height: 28px;
    }
}

@media (max-width: 767px) {

    .about-inner {
        padding: 0 24px;
    }

    .learning-intro p,
    .learning-feature-desc {
        font-size: 15px;
        line-height: 26px;
    }

    .about-point-item p {
        font-size: 14px;
        line-height: 24px;
    }

    .hero-title {
        font-size: 32px;
        line-height: 38px;
    }

    .hero-subtext {
        font-size: 14px;
        line-height: 22px;
    }

    .hero-feature-list {
        gap: 16px;
    }

    .hero-main-img {
        max-width: 360px;
    }

    .side-card {
        max-width: 100%;
    }
    .gallery-img {
        height: 130px;
    }
    .gallery-prev {
        left: -10px;
    }
    .gallery-next {
        right: -10px;
    }
    .prog-card {
        flex-wrap: wrap;
        align-items: center;
    }

    .prog-card-detail {
        width: calc(100% - 100px);
    }

    .prog-card-label{
        border-bottom: 0;
        margin: 0;
        padding: 0;
    }

    .prog-card-value{
        width: 100%;
        padding: 10px 0 0px 0;
        border-top: 1px solid #e7e7e7;
    }

    .hero-lang-list {
        margin-bottom: 24px;
        flex-wrap: wrap;
    }

    .side-card-list{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .opp-card-wrapper{
        gap: 10px;
    }

    .footer-top-row{
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }

    .footer-contact-links{
        margin-left: 0;
    }

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

    .gallery-img {
        height: 180px;
    }

    .hero-content-col{
        background-size: 370px;
        background-position: right bottom;
    }
}

@media (max-width: 575px) {

    body {
        font-size: 14px;
        line-height: 22px;
    }

    .section-title {
        font-size: 24px;
        line-height: 34px;
    }

    .about-point-icon i {
        width: 18px;
        height: 18px;
        font-size: 18px;
    }

    .common-cta-btn {
        min-width: 200px;
        padding: 10px;
        font-size: 14px;
        line-height: 24px;
    }

    .common-section-spacing {
        padding: 50px 0;
    }

    .common-auth-btn {
        min-width: auto;
        width: 40px;
        height: 40px;
    }

    .common-auth-btn i {
        display: inline-flex;
        font-size: 18px;
    }

    .header-auth-btn-wrap,
    .navbar-brand{
        min-width: auto;
    }

    .header-menu-toggle{
        width: 36px;
        height: 36px;
        padding: 4px;
    }

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

    .header-nav-link {
        font-size: 14px;
    }

    .about-inner {
        padding: 0 16px;
    }

    .about-panel {
        padding: 24px 16px;
    }

    .learning-title {
        font-size: 24px;
        line-height: 32px;
    }

    .learning-video-img {
        min-height: 220px;
    }

    .learning-video-play {
        width: 52px;
        height: 52px;
        font-size: 22px;
    }

    .about-title {
        font-size: 24px;
        line-height: 32px;
    }

    .about-feature-highlight {
        font-size: 16px;
        line-height: 20px;
    }

    .about-feature-icon {
        width: 42px;
        height: 42px;
        font-size: 18px;
    }

    .hero-title {
        font-size: 28px;
        line-height: 34px;
    }

    .hero-lang-badge {
        font-size: 11px;
        padding: 5px 10px 5px 5px;
    }

    .hero-lang-badge img {
        width: 22px;
        height: 22px;
    }

    .hero-feature-icon {
        font-size: 28px;
        line-height: 28px;
    }

    .hero-feature-title {
        font-size: 13px;
    }

    .hero-feature-desc {
        font-size: 11px;
    }

    .hero-main-img {
        max-width: 300px;
    }

    .side-card {
        padding: 22px 16px;
    }

    .side-card-text {
        font-size: 12px;
        line-height: 16px;
    }

    .lang-badge {
        font-size: 0.72rem;
        padding: 3px 9px;
    }
    .approach-card {
        padding: 16px !important;
    }
    .gallery-img {
        height: 100%;
    }

    .carousel-item-image {
        width: 100%;
    }

    .hero-feature-list{
        flex-direction: column;
        align-items: center;
    }

    .hero-feature-item:nth-child(2){
        padding: 0;
        margin: 0;
        border: 0;
    }

    .side-card-list {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }

    .program-info-div {
        padding: 15px;
        flex-direction: column;
        align-items: flex-start;
    }

    .program-info-div p {
        width: 100%;
    }

    .approach-box-wrapper {
        grid-template-columns: repeat(1, 1fr);
    }

    .approach-icon-box i {
        font-size: 24px;
        width: 50px;
        height: 50px;
    }

    .approach-box {
        width: calc(100% - 60px);
    }

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

    .lang-badge-wrap{
        grid-template-columns: repeat(2, 1fr);
    }

    .approach-title {
        font-size: 18px;
    }

    .section-description{
        font-size: 14px;
        line-height: 22px;
    }

    .lang-opp-card img {
        width: 35px;
        height: 21px;
    }

    .lang-header-name {
        font-size: 16px;
        line-height: 22px;
    }

    .why-card-label {
        font-size: 16px;
        line-height: 24px;
    }

    .center-btn-wrap .common-cta-btn {
        min-width: 130px;
        padding: 6px;
    }

    .coming-soon-title {
        font-size: 18px;
        line-height: 26px;
    }
    .hero-lang-list{
        justify-content: center;
    }

    .side-card-wrapper{
        width: 100%;
        justify-content: center;
        flex-direction: column;
    }

    .coming-soon-card{
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }

    .coming-soon-card-left,
    .coming-soon-card-right{
        max-width: 100%;
        width: 100%;
    }

    .hero-content-col{
        background: none;
    }

    .hero-content-col:before{
        display: none;
    }

    .hero-subtext,
    .hero-lang-list{
        max-width: 100%;
    }
}
/* Mobile */
@media(max-width:768px){

    .flip-card{
        height:220px;
    }

    /* Tap effect */
    .flip-card:active .flip-card-inner{
        transform:rotateY(180deg);
    }
}
