﻿/* =========================================================
   GLOBAL
   ========================================================= */
html,
body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

img,
video {
    max-width: 100% !important;
    height: auto !important;
}


/* =========================================================
   OFFER POPUP
   ========================================================= */

.ed-offer-popup-overlay {
    padding: 20px !important;
}

.ed-offer-popup-box {
    position: relative !important;
    width: min(92vw, 720px) !important;
    max-width: 720px !important;
}

.ed-offer-popup-img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 82vh !important;
    object-fit: contain !important;
}

.ed-offer-popup-close {
    z-index: 5 !important;
}


/* Hero Slides */

.ed-hero-split-slide,
.ed-extra-slide {
    position: relative !important;
    min-height: clamp(500px, 62vw, 720px) !important;
    overflow: hidden !important;
}

.ed-hero-bg-photo {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.ed-hero-slide-container {
    position: relative !important;
    z-index: 2 !important;
    min-height: inherit !important;
    display: flex !important;
    align-items: center !important;
}

.ed-hero-slide-container > .row {
    width: 100% !important;
}


/* Hero Text */

.it-hero-content {
    padding: 56px 0 !important;
    max-width: 720px !important;
}

.it-hero-title {
    font-size: clamp(34px, 4.3vw, 64px) !important;
    line-height: 1.08 !important;
}

.it-hero-text p,
.ed-hero-copy p {
    max-width: 690px !important;
}

.ed-hero-kicker {
    flex-wrap: wrap !important;
}

.ed-hero-read-more {
    margin-left: 14px !important;
}


/* Hero Image */

.it-hero-thumb {
    width: 100% !important;
}

.it-hero-thumb img {
    width: 100% !important;
    max-height: 560px !important;
    object-fit: contain !important;
}


/* Extra Slider Images */

.ed-extra-slide-inner {
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
}

.ed-extra-slide-inner img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.ed-slider-nav-button {
    z-index: 8 !important;
}


/* =========================================================
   LANGUAGE / BRAND SLIDER
   ========================================================= */

.it-brand-5-area {
    overflow: hidden !important;
}

.it-brand-5-item {
    min-width: max-content !important;
    gap: 8px !important;
}

.it-brand-5-item img {
    width: 30px !important;
    height: 30px !important;
    object-fit: contain !important;
}


/* =========================================================
   QUICK LINKS
   ========================================================= */

.ed-quick-links-wrap {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

.ed-quick-links {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
}

.ed-quick-link {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 15px !important;
}

.ed-quick-link-copy {
    flex: 1 !important;
    min-width: 0 !important;
}

.ed-quick-link-copy strong {
    display: block !important;
    line-height: 1.25 !important;
}

.ed-quick-link-arrow {
    flex: 0 0 auto !important;
}


/* =========================================================
   ABOUT SECTION
   ========================================================= */

.it-about-area {
    padding-top: 80px !important;
    padding-bottom: 90px !important;
}

.it-about-left {
    width: 100% !important;
}

.it-about-thumb img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

.it-about-right {
    padding-right: 10px !important;
}

.it-about-text p {
    line-height: 1.8 !important;
}

.ed-about-actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.ed-about-read-more {
    min-height: 46px !important;
}


/* =========================================================
   WHY CHOOSE MSOL
   ========================================================= */

.why-section {
    padding: 90px 0 !important;
}

.ed-home-why-visual {
    position: relative !important;
    width: 100% !important;
}

.ed-home-why-visual > img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

.ed-home-why-float-card {
    max-width: 180px !important;
}

.ed-home-why-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.ed-home-why-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}


/* =========================================================
   STATS
   ========================================================= */

.ed-real-stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
}

.ed-real-stat-item {
    min-width: 0 !important;
    text-align: center !important;
    padding: 25px 12px !important;
}

.ed-real-stat-item strong {
    display: block !important;
    font-size: clamp(28px, 3vw, 44px) !important;
    line-height: 1.1 !important;
}


/* =========================================================
   COURSE SECTION
   ========================================================= */

.it-course-area {
    padding-top: 90px !important;
    padding-bottom: 70px !important;
}

.it-course-item {
    height: calc(100% - 35px) !important;
    display: flex !important;
    flex-direction: column !important;
}

.it-course-thumb {
    overflow: hidden !important;
}

.it-course-thumb > a {
    display: block !important;
}

.it-course-thumb > a > img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
}

.it-course-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.it-course-meta {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 7px 12px !important;
}

.it-course-btn {
    margin-top: auto !important;
}


/* =========================================================
   LARGE TABLET / SMALL DESKTOP
   ========================================================= */

@media (max-width: 1199.98px) {

    .ed-quick-links {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

.why-section {
        padding: 75px 0 !important;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    /* Hero Video */

.ed-video-next-button {
        right: 16px !important;
        bottom: 16px !important;
    }


    /* Hero Image Slider */

    .ed-hero-split-slide,
    .ed-extra-slide {
        min-height: auto !important;
    }

    .ed-hero-bg-photo {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }

    .ed-hero-slide-container {
        min-height: 0 !important;
        padding: 0 !important;
    }

    .ed-hero-slide-container .row {
        margin: 0 !important;
    }

    .ed-hero-slide-container [class*="col-"] {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }


    /* Hero Content */

    .it-hero-content {
        max-width: 100% !important;
        padding: 28px 0 34px !important;
        text-align: center !important;
    }

    .ed-hero-kicker,
    .it-hero-typed-wrap,
    .it-hero-content > .d-flex {
        justify-content: center !important;
    }

    .it-hero-text p,
    .ed-hero-copy p {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .it-hero-thumb {
        display: none !important;
    }


    /* Extra Slides */

    .ed-extra-slide-inner {
        min-height: 0 !important;
        height: auto !important;
    }

    .ed-extra-slide-inner img {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }


    /* About */

    .it-about-area {
        padding-top: 60px !important;
        padding-bottom: 65px !important;
    }

    .it-about-right {
        padding-right: 0 !important;
        margin-bottom: 35px !important;
    }

    .it-about-left {
        max-width: 720px !important;
        margin: 0 auto !important;
    }


    /* Why Choose */

    .why-section {
        padding: 65px 0 !important;
    }

    .ed-home-why-visual {
        max-width: 720px !important;
        margin: 0 auto 40px !important;
    }


    /* Stats */

    .ed-real-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }


    /* Courses */

    .it-course-area {
        padding-top: 65px !important;
        padding-bottom: 50px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

    /* Global section spacing */

    .pt-130,
    .pt-120,
    .pt-100 {
        padding-top: 55px !important;
    }

    .pb-130,
    .pb-120,
    .pb-95 {
        padding-bottom: 55px !important;
    }


    /* Popup */

    .ed-offer-popup-overlay {
        padding: 12px !important;
    }


    /* Hero Video */

.ed-video-next-button {
        font-size: 13px !important;
        padding: 9px 12px !important;
    }


    /* Hero Content */

    .it-hero-title {
        font-size: 31px !important;
        line-height: 1.12 !important;
    }

    .it-hero-content {
        padding: 24px 0 30px !important;
    }

    .ed-hero-kicker {
        gap: 7px !important;
        font-size: 12px !important;
    }

    .it-hero-typed-wrap {
        flex-wrap: wrap !important;
        font-size: 15px !important;
    }

    .it-hero-content > .d-flex {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }


    /* Hero Buttons */

    .ed-hero-read-more {
        margin-left: 0 !important;
    }

    .it-hero-bnt,
    .it-hero-bnt a {
        width: 100% !important;
    }

    .it-hero-bnt a {
        justify-content: center !important;
        text-align: center !important;
    }

    .ed-slider-nav-button {
        width: 38px !important;
        height: 38px !important;
    }


    /* Quick Links */

    .ed-quick-links-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .ed-quick-links {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .ed-quick-link {
        width: 100% !important;
        padding: 12px 13px !important;
    }


    /* About Section */

    .it-about-area {
        padding-top: 48px !important;
        padding-bottom: 55px !important;
    }

    .it-about-left .row {
        margin-left: -6px !important;
        margin-right: -6px !important;
    }

    .it-about-left .row > [class*="col-"] {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .it-about-thumb-wrap .mb-25 {
        margin-bottom: 12px !important;
    }

    .it-about-section-title-box .it-section-title {
        font-size: 28px !important;
        line-height: 1.22 !important;
    }

    .it-about-text .mb-45 {
        margin-bottom: 24px !important;
    }

    .it-about-text p {
        font-size: 14px !important;
        line-height: 1.75 !important;
    }


    /* About Buttons */

    .ed-about-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .ed-about-actions a,
    .ed-about-read-more {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }


    /* Why Choose */

    .why-section {
        padding: 55px 0 !important;
    }

    .ed-home-why-float-card {
        position: static !important;
        margin: 12px auto 0 !important;
        max-width: 220px !important;
    }

    .ed-home-why-heading {
        text-align: center !important;
    }

    .ed-home-why-grid {
        grid-template-columns: 1fr !important;
    }

    .ed-home-why-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .ed-home-why-btn {
        width: 100% !important;
        text-align: center !important;
    }


    /* Stats */

    .ed-real-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ed-real-stat-item {
        padding: 20px 8px !important;
    }


    /* Course Section */

    .it-course-area {
        padding-top: 55px !important;
        padding-bottom: 35px !important;
    }

    .it-course-section-title-box {
        margin-bottom: 35px !important;
    }

    .it-course-section-title-box .it-section-title {
        font-size: 28px !important;
        line-height: 1.2 !important;
    }

    #homeCoursesGrid {
        --bs-gutter-x: 16px;
    }

    #homeCoursesGrid > [class*="col-"] {
        width: 100% !important;
    }

    .it-course-item {
        max-width: 460px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 575.98px) {

    .container,
    .container-fluid {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

.it-hero-title {
        font-size: 28px !important;
    }

    .it-about-section-title-box .it-section-title,
    .it-course-section-title-box .it-section-title,
    .heading {
        font-size: 26px !important;
    }

    .ed-real-stat-item strong {
        font-size: 30px !important;
    }

    .ed-real-stat-item span {
        font-size: 12px !important;
    }
}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 390px) {

.it-hero-title {
        font-size: 25px !important;
    }
}

/* =========================================================
   FINAL HIGH PRIORITY MOBILE OVERRIDES
   This block intentionally uses !important.
   ========================================================= */

@media (max-width: 991.98px) {

    .ed-hero-bg-photo,
    .ed-extra-slide-inner img {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }

    .ed-hero-slide-container {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 24px 15px 30px !important;
        margin: 0 !important;
        display: block !important;
    }

    .ed-hero-slide-container > .row {
        width: 100% !important;
        margin: 0 !important;
    }

    .ed-hero-slide-container [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .it-hero-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .it-hero-thumb {
        display: none !important;
    }

    .it-brand-5-area {
        width: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .it-brand-5-area .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .it-brand-5-item {
        width: auto !important;
        min-width: 145px !important;
        padding: 12px 16px !important;
        gap: 10px !important;
        justify-content: center !important;
        background: #ffffff !important;
    }

    .it-brand-5-item img {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
        object-fit: contain !important;
    }

    .it-brand-5-item span {
        white-space: nowrap !important;
    }

    .ed-quick-links-wrap {
        width: 100% !important;
        padding: 18px 15px !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .ed-quick-links {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        transform: none !important;
    }

    .ed-quick-link {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 82px !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        transform: none !important;
    }

    .ed-quick-link-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 72px !important;
        min-width: 72px !important;
        height: 82px !important;
        flex: 0 0 72px !important;
    }

    .ed-quick-link-copy {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 10px 12px !important;
    }

    .ed-quick-link-copy strong {
        display: block !important;
        width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        font-size: 17px !important;
        line-height: 1.2 !important;
    }

    .ed-quick-link-arrow {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 46px !important;
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        margin-right: 10px !important;
    }

    .ed-quick-links-wrap + br {
        display: none !important;
    }

    .it-about-area {
        margin-top: 0 !important;
        padding-top: 42px !important;
        padding-bottom: 55px !important;
    }

    .it-about-right {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
        margin-bottom: 30px !important;
    }

    .it-about-left {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }

    .it-about-thumb img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }
}

@media (max-width: 767.98px) {

    .it-hero-bnt,
    .it-hero-bnt a {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .ed-quick-links {
        grid-template-columns: 1fr !important;
    }

    #homeCoursesGrid > [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

@media (max-width: 575.98px) {

    .ed-quick-link {
        min-height: 76px !important;
    }

    .ed-quick-link-icon {
        width: 64px !important;
        min-width: 64px !important;
        height: 76px !important;
        flex-basis: 64px !important;
    }

    .ed-quick-link-copy strong {
        font-size: 16px !important;
    }
}


/* =========================================================
   MSOL NEW LOWER PAGE DESIGN
   Scope: only .lower-design area
========================================================== */
.lower-design{
  --red:#ed1c24;
  --red-dark:#c9141c;
  --pink:#fff2f3;
  --pink-2:#ffe7e9;
  --pink-3:#ffd8dc;
  --text:#171b2f;
  --muted:#687080;
  --border:#f5c9cd;
  --white:#ffffff;
  --shadow:0 18px 55px rgba(38, 31, 37, .09);
  overflow:hidden;
  background:#fff;
}

.lower-design *{box-sizing:border-box;}
.lower-design img{max-width:100%;}

.section{
  position:relative;
  padding:95px 0;
}

.section-heading{
  max-width:760px;
  margin:0 auto 45px;
  text-align:center;
}

.kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 15px;
  border-radius:999px;
  background:var(--pink);
  color:var(--red);
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
  margin-bottom:13px;
}

.section-heading h2,
.title{
  color:var(--text);
  font-size:42px;
  line-height:1.16;
  font-weight:800;
  margin:0;
}

.section-heading h2 span,
.title span{color:var(--red);}

.section-heading p{
  color:var(--muted);
  max-width:650px;
  margin:15px auto 0;
  font-size:15px;
  line-height:1.8;
}

.heading-line{
  width:46px;
  height:3px;
  border-radius:20px;
  background:var(--red);
  margin:16px auto 0;
}

/* ---------- BUTTONS ---------- */
.btn{
  min-height:48px;
  padding:12px 22px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--red);
  background:var(--red);
  color:#fff !important;
  text-decoration:none !important;
  font-weight:700;
  transition:.25s ease;
  box-shadow:0 10px 25px rgba(237,28,36,.18);
}
.btn:hover{
  transform:translateY(-2px);
  background:var(--red-dark);
  border-color:var(--red-dark);
}
.btn-outline{
  background:#fff;
  color:var(--red)!important;
  box-shadow:none;
}
.btn-outline:hover{color:#fff!important;}

/* =========================================================
   1. GLOBAL LANGUAGE EXAM
========================================================== */
.language-section{
  background:
    radial-gradient(circle at 93% 10%, rgba(237,28,36,.08), transparent 24%),
    radial-gradient(circle at 7% 90%, rgba(237,28,36,.05), transparent 22%),
    #fff;
}

.flight-line{
  position:absolute;
  width:220px;
  height:90px;
  left:0;
  top:70px;
  opacity:.35;
  border-top:2px dashed #8790a0;
  border-radius:50%;
  transform:rotate(9deg);
  pointer-events:none;
}
.flight-line:after{
  content:"\2708";
  position:absolute;
  right:-6px;
  top:-19px;
  color:#697080;
  font-size:25px;
  transform:rotate(-12deg);
}

.language-card{
  position:relative;
  padding:32px;
  border:1px solid var(--border);
  border-radius:24px;
  background:linear-gradient(110deg,#fff 0%,#fff8f8 48%,#ffe4e7 100%);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.language-card:after{
  content:'';
  position:absolute;
  width:185px;
  height:185px;
  border-radius:50%;
  background:rgba(237,28,36,.06);
  right:-75px;
  bottom:-95px;
}

.language-copy{padding:12px 12px 12px 5px; position:relative; z-index:2;}
.language-copy h3{
  font-size:34px;
  line-height:1.15;
  font-weight:800;
  color:var(--text);
  margin:0 0 16px;
}
.language-copy h3 span{color:var(--red);}
.language-copy p{color:var(--muted);line-height:1.75;margin-bottom:22px;}
.check-list{list-style:none;padding:0;margin:0 0 26px;}
.check-list li{
  display:flex;
  gap:11px;
  align-items:flex-start;
  color:#313646;
  font-weight:600;
  margin:12px 0;
}
.check-list li:before{
  content:"\2713";
  flex:0 0 24px;
  width:24px;height:24px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#fff;
  border:1px solid #ffc8cc;
  color:var(--red);
  font-weight:900;
  font-size:13px;
}

.language-image{
  position:relative;
  z-index:2;
  height:100%;
  min-height:350px;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 16px 35px rgba(47,30,34,.13);
}
.language-image img{width:100%;height:100%;object-fit:cover;display:block;}


/* =========================================================
   3. ADMISSIONS / QUERY - LIGHT RED, NO DARK RED BLOCK
========================================================== */
.contact-section{
  padding:80px 0;
  background:linear-gradient(135deg,#fffafa 0%,#fff 42%,#fff1f2 100%);
}
.contact-shell{
  border:1px solid #f4c8cc;
  border-radius:26px;
  padding:28px;
  background:linear-gradient(115deg,#fff 0%,#fff6f7 58%,#ffe9eb 100%);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.contact-shell:before{
  content:'';
  width:260px;height:260px;border-radius:50%;
  background:rgba(237,28,36,.055);
  position:absolute;left:-130px;bottom:-150px;
}

.contact-left{position:relative;z-index:2;padding:15px 20px 5px 8px;}
.contact-left .kicker{margin-bottom:15px;}
.contact-left h2{
  font-size:39px;
  line-height:1.13;
  font-weight:800;
  color:var(--text);
  margin-bottom:15px;
}
.contact-left h2 span{color:var(--red);}
.contact-left > p{color:var(--muted);line-height:1.8;max-width:560px;}

.benefits-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin:24px 0 24px;
}
.benefit{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 13px;
  border-radius:12px;
  background:rgba(255,255,255,.78);
  border:1px solid #f3d9dc;
  color:#343949;
  font-size:13px;
  font-weight:700;
}
.benefit-icon{
  width:35px;height:35px;
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  background:#fff0f1;
  color:var(--red);
  border:1px solid #ffd2d6;
  font-size:17px;
  flex:0 0 35px;
}

.contact-visual{
  position:relative;
  max-width:470px;
  margin-top:12px;
}
.contact-visual img{
  width:100%;
  height:190px;
  object-fit:cover;
  border-radius:17px;
  border:5px solid #fff;
  box-shadow:0 14px 32px rgba(49,37,40,.10);
}
.contact-mini{
  position:absolute;
  right:12px;
  bottom:12px;
  padding:9px 13px;
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 22px rgba(38,29,34,.12);
  font-size:12px;
  font-weight:800;
  color:var(--text);
}
.contact-mini span{color:var(--red);}

.form-card{
  position:relative;
  z-index:2;
  padding:28px;
  border-radius:20px;
  background:#fff;
  border:1px solid #f1dadd;
  box-shadow:0 15px 40px rgba(42,32,37,.10);
}
.form-card h3{text-align:center;color:var(--red);font-size:25px;font-weight:800;margin-bottom:23px;}
.form-card label{display:block;color:#444b5b;font-size:12px;font-weight:700;margin-bottom:7px;}
.field{margin-bottom:13px;}
.field input,.field select,.field textarea{
  width:100%;
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:10px;
  padding:13px 14px;
  min-height:48px;
  outline:none;
  color:#252a38;
  transition:.2s ease;
}
.field textarea{min-height:96px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:#f08389;
  box-shadow:0 0 0 3px rgba(237,28,36,.07);
}
.form-note{text-align:center;color:#8b909b;font-size:12px;margin-top:11px;margin-bottom:0;}


/* =========================================================
   5. BOTTOM CTA
========================================================== */
.cta-section{padding:20px 0 75px;background:#fff;}
.cta-card{
  position:relative;
  min-height:330px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border:1px solid #f4bfc4;
  border-radius:24px;
  background:linear-gradient(100deg,#fff2f3 0%,#fff8f8 52%,#ffe5e8 100%);
  box-shadow:var(--shadow);
}
.cta-copy{position:relative;z-index:3;padding:48px 46px;max-width:610px;}
.cta-copy h2{font-size:39px;line-height:1.12;color:var(--text);font-weight:800;margin-bottom:15px;}
.cta-copy h2 span{color:var(--red);}
.cta-copy p{color:var(--muted);max-width:470px;line-height:1.75;margin-bottom:22px;}
.cta-image{
  position:absolute;
  right:0;
  bottom:0;
  height:100%;
  width:48%;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.cta-image:before{
  content:'';
  position:absolute;
  width:280px;height:280px;border-radius:50%;
  background:rgba(237,28,36,.08);
  top:23px;right:70px;
}
.cta-image img{position:relative;z-index:2;max-height:310px;max-width:100%;object-fit:contain;}

/* ---------- FEATURE STRIP ---------- */
.feature-strip{
  margin-top:22px;
  border:1px solid #f1d0d3;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(40,32,36,.05);
  padding:17px 15px;
}
.feature-item{display:flex;gap:12px;align-items:center;padding:5px 12px;height:100%;}
.feature-item + .feature-item{border-left:1px solid #eee;}
.feature-ico{
  width:42px;height:42px;border-radius:50%;
  background:#fff1f2;color:var(--red);
  display:flex;align-items:center;justify-content:center;
  flex:0 0 42px;font-size:18px;
}
.feature-item strong{display:block;color:var(--text);font-size:13px;line-height:1.2;}
.feature-item small{display:block;color:#858b96;line-height:1.35;margin-top:3px;font-size:11px;}

/* =========================================================
   RESPONSIVE
========================================================== */
@media (max-width:1199.98px){
  .section{padding:80px 0;}
  .section-heading h2,.title{font-size:37px;}
  .contact-left h2,.cta-copy h2{font-size:35px;}
  .language-copy h3{font-size:31px;}
}

@media (max-width:991.98px){
  .section{padding:65px 0;}
  .language-image{min-height:320px;margin-top:25px;}
  .contact-left{padding:5px 2px 30px;}
  .contact-visual{max-width:none;}
  .contact-visual img{height:230px;}
  .cta-card{min-height:auto;display:block;padding-bottom:0;}
  .cta-copy{padding:42px 35px 15px;max-width:100%;text-align:center;}
  .cta-copy p{margin-left:auto;margin-right:auto;}
  .cta-image{position:relative;width:100%;height:260px;}
  .cta-image img{max-height:255px;}
  .feature-item + .feature-item{border-left:0;}
  .feature-item{border-bottom:1px solid #f2f2f2;padding:12px;}
}

@media (max-width:767.98px){
  .section{padding:52px 0;}
  .section-heading{margin-bottom:30px;}
  .section-heading h2,.title{font-size:30px;}
  .section-heading p{font-size:14px;}
  .language-card{padding:18px;border-radius:18px;}
  .language-copy{padding:8px 2px;}
  .language-copy h3{font-size:27px;}
  .language-image{min-height:260px;border-radius:15px;}
  .flight-line{display:none;}

  .testimonial-section .it-testimonial-2-item .row{display:block;}
  .testimonial-section .it-testimonial-2-item [class*="col-"]{width:100%;max-width:100%;}
  .testimonial-section .it-testimonial-2-thumb{min-height:230px;height:230px;}
  .testimonial-section .it-testimonial-2-content{padding:22px 20px;}

  .contact-section{padding:52px 0;}
  .contact-shell{padding:18px;border-radius:19px;}
  .contact-left h2{font-size:30px;}
  .benefits-grid{grid-template-columns:1fr;gap:8px;}
  .contact-visual img{height:190px;}
  .form-card{padding:20px 16px;margin-top:5px;}

  .blog-top{text-align:center;}
  .blog-top .text-lg-end{text-align:center!important;margin-top:17px;}
  .blog-section .it-blog-thumb{height:200px;}

  .cta-copy{padding:34px 20px 5px;}
  .cta-copy h2{font-size:30px;}
  .cta-image{height:225px;}
  .feature-strip{padding:8px 12px;}
}

@media (max-width:575.98px){
  .section{padding:45px 0;}
  .section-heading h2,.title{font-size:27px;}
  .language-copy h3{font-size:25px;}
  .language-image{min-height:215px;}
  .contact-left h2,.cta-copy h2{font-size:27px;}
  .form-card h3{font-size:22px;}
  .btn{width:100%;}
  .contact-mini{position:static;margin-top:8px;text-align:center;}
  .cta-image{height:200px;}
  .cta-image img{max-height:200px;}
}

.ed-extra-slide-btn {
    position: relative !important;
    z-index: 110 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 165px !important;
    min-height: 44px !important;
    padding: 10px 20px !important;
    border: 1px solid #ffc928 !important;
    border-radius: 6px !important;
    background: #ffc928 !important;
    color: #111827 !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.16) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
}

.ed-extra-slide-btn:hover {
    border-color: #ffffff !important;
    background: #ffffff !important;
    color: #e31f26 !important;
}

/* ---------- arrows and dots ---------- */

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

.ed-extra-slide-cta {
        bottom: 34px !important;
    }

    .ed-extra-slide-btn {
        min-width: 145px !important;
        min-height: 40px !important;
        padding: 9px 16px !important;
        font-size: 11px !important;
    }
}

/* =========================================================
   MOBILE
   Taller hero, centered video text, complete slider image
   ========================================================= */

@media (max-width: 767.98px) {

    .ed-extra-slide-btn {
        min-width: 120px !important;
        min-height: 34px !important;
        padding: 7px 11px !important;
        border-radius: 5px !important;
        font-size: 9px !important;
    }

    /* Slider arrows like desktop */

}

/* =========================================================
   390px
   ========================================================= */

/* =========================================================
   320px
   ========================================================= */

@media (max-width: 320px) {

.ed-extra-slide-cta {
        bottom: 30px !important;
    }

    .ed-extra-slide-btn {
        min-width: 105px !important;
        min-height: 31px !important;
        padding: 6px 9px !important;
        font-size: 8px !important;
    }
}

/* =========================================================
   FINAL REQUEST OVERRIDES
   Hero 1120x550 + slider CTA + course col-3 + testimonials
   ========================================================= */

/* ---------- HERO: desktop/laptop/tablet 1120 x 550 ---------- */

@media (min-width: 768px) {

/* =========================================================
   COURSES: col-3 desktop / proper responsive cards
   ========================================================= */
#homeCoursesGrid {
    --bs-gutter-x: 22px !important;
    --bs-gutter-y: 22px !important;
}

#homeCoursesGrid > [class*="col-"] {
    display: flex !important;
}

#homeCoursesGrid .it-course-item {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: calc(100% - 0px) !important;
    margin-bottom: 0 !important;
}

#homeCoursesGrid .it-course-thumb {
    width: 100% !important;
    overflow: hidden !important;
}

#homeCoursesGrid .it-course-thumb > a {
    display: block !important;
    width: 100% !important;
}

#homeCoursesGrid .it-course-thumb > a > img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
}

#homeCoursesGrid .it-course-content {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
}

#homeCoursesGrid .it-course-title {
    min-height: 42px !important;
    margin-bottom: 12px !important;
}

#homeCoursesGrid .it-course-meta {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 5px 9px !important;
}

#homeCoursesGrid .it-course-btn {
    margin-top: auto !important;
}

/* 4 cards desktop */
@media (min-width: 1200px) {
    #homeCoursesGrid > .col-xl-3 {
        flex: 0 0 auto !important;
        width: 25% !important;
    }
}

/* 3 cards laptop / small desktop */
@media (min-width: 992px) and (max-width: 1199.98px) {
    #homeCoursesGrid > .col-lg-4 {
        flex: 0 0 auto !important;
        width: 33.333333% !important;
    }
}

/* 2 tablet */
@media (min-width: 576px) and (max-width: 991.98px) {
    #homeCoursesGrid > [class*="col-"] {
        flex: 0 0 auto !important;
        width: 50% !important;
    }
}

/* 1 mobile */
@media (max-width: 575.98px) {
    #homeCoursesGrid > [class*="col-"] {
        flex: 0 0 auto !important;
        width: 100% !important;
    }
}

/* =========================================================
   TESTIMONIALS: clean, equal, responsive cards
   ========================================================= */
.testimonial-section {
    position: relative !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.testimonial-section .section-heading {
    margin-bottom: 34px !important;
}

.testimonial-section .it-testimonial-2-wrapper {
    position: relative !important;
    padding: 0 48px 35px !important;
}

.testimonial-section .it-testimonial-2-active {
    overflow: hidden !important;
}

.testimonial-section .swiper-slide {
    height: auto !important;
}

.testimonial-section .it-testimonial-2-item {
    height: 100% !important;
    min-height: 220px !important;
    border: 1px solid #f0dfe1 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 30px rgba(38,29,34,.08) !important;
    overflow: hidden !important;
}

.testimonial-section .it-testimonial-2-item > .row {
    display: grid !important;
    grid-template-columns: 155px minmax(0, 1fr) !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.testimonial-section .it-testimonial-2-item > .row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

.testimonial-section .it-testimonial-2-thumb {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 220px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #f7f7f7 !important;
}

.testimonial-section .it-testimonial-2-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 220px !important;
    object-fit: cover !important;
    object-position: center top !important;
}

.testimonial-section .it-testimonial-2-content-wrap {
    height: 100% !important;
}

.testimonial-section .it-testimonial-2-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    height: 100% !important;
    padding: 24px 24px !important;
}

.testimonial-section .it-testimonial-2-avatar-name {
    margin: 0 0 4px !important;
    color: #202536 !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.testimonial-section .it-testimonial-2-avatar-info > span {
    color: #858b96 !important;
    font-size: 12px !important;
}

.testimonial-section .it-testimonial-2-text p {
    margin: 13px 0 !important;
    color: #5d6472 !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

.testimonial-section .it-testimonial-2-badges {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.testimonial-section .it-testimonial-2-bottom {
    margin-top: 10px !important;
}

.testimonial-section .it-testimonial-2-date {
    color: #969ba5 !important;
    font-size: 11px !important;
}

/* testimonial nav */
.testimonial-nav {
    position: absolute !important;
    top: 50% !important;
    z-index: 30 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 0 3px !important;
    transform: translateY(-50%) !important;
    border: 1px solid #e9d7da !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: #ed1c24 !important;
    box-shadow: 0 6px 18px rgba(38,29,34,.10) !important;
    font-size: 26px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.testimonial-prev {
    left: 0 !important;
}

.testimonial-next {
    right: 0 !important;
}

.testimonial-section .it-testimonial-dots {
    margin-top: 22px !important;
}

@media (max-width: 991.98px) {
    .testimonial-section .it-testimonial-2-wrapper {
        padding-left: 42px !important;
        padding-right: 42px !important;
    }

    .testimonial-section .it-testimonial-2-item > .row {
        grid-template-columns: 130px minmax(0, 1fr) !important;
    }

    .testimonial-section .it-testimonial-2-thumb,
    .testimonial-section .it-testimonial-2-thumb img {
        min-height: 210px !important;
    }
}

@media (max-width: 767.98px) {
    .testimonial-section .it-testimonial-2-wrapper {
        padding: 0 8px 30px !important;
    }

    .testimonial-nav {
        display: none !important;
    }

    .testimonial-section .it-testimonial-2-item {
        min-height: 0 !important;
    }

    .testimonial-section .it-testimonial-2-item > .row {
        display: grid !important;
        grid-template-columns: 105px minmax(0, 1fr) !important;
    }

    .testimonial-section .it-testimonial-2-thumb {
        height: 100% !important;
        min-height: 185px !important;
    }

    .testimonial-section .it-testimonial-2-thumb img {
        height: 100% !important;
        min-height: 185px !important;
    }

    .testimonial-section .it-testimonial-2-content {
        padding: 18px 16px !important;
    }

    .testimonial-section .it-testimonial-2-avatar-name {
        font-size: 15px !important;
    }

    .testimonial-section .it-testimonial-2-text p {
        margin: 9px 0 !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
    }
}

@media (max-width: 479.98px) {
    .testimonial-section .it-testimonial-2-item > .row {
        grid-template-columns: 1fr !important;
    }

    .testimonial-section .it-testimonial-2-thumb,
    .testimonial-section .it-testimonial-2-thumb img {
        width: 100% !important;
        height: 190px !important;
        min-height: 190px !important;
    }

    .testimonial-section .it-testimonial-2-content {
        padding: 18px !important;
    }
}
/* =========================================
   TESTIMONIAL - REMOVE IMAGE
========================================= */

.v3-testimonials .it-testimonial-2-thumb {
    display: none !important;
}

/* Image column remove */
.v3-testimonials .it-testimonial-2-item > .row {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/* Content full width */
.v3-testimonials .it-testimonial-2-content-wrap {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

.v3-testimonials .it-testimonial-2-content {
    width: 100% !important;
    height: auto !important;
    min-height: 210px !important;
    max-height: none !important;

    padding: 28px 30px !important;
}

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

    .v3-testimonials .it-testimonial-2-content {
        min-height: 190px !important;
        padding: 20px !important;
    }
}



