.elementor-1304 .elementor-element.elementor-element-017e189{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1304 .elementor-element.elementor-element-e3a1ff6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1304 .elementor-element.elementor-element-ba177ef{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1304 .elementor-element.elementor-element-c42f319 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-1304 .elementor-element.elementor-element-017e189{--content-width:100%;}.elementor-1304 .elementor-element.elementor-element-e3a1ff6{--content-width:100%;}}/* Start custom CSS for html, class: .elementor-element-0737f93 *//* CSS Index:
--- 0. Keyframes (Shared - Define Globally) ---
--- 1. Section Wrapper (Used for FA Pseudo Elements) ---
--- 2. Background Image & Overlay ---
--- 2.1. Decorative FA Icon Background (NEW - using ::before/::after) ---
--- 3. Content Container ---
--- 4. Text Content & Typography ---
--- 5. Entrance Animation ---
--- 6. Responsive Adjustments ---
--- 7. Reduced Motion Adjustments ---
*/

/* ========================================================================== */
/* 0. Keyframes (Shared - Define Globally)                                   */
/* ========================================================================== */
/* CRITICAL: Ensure @keyframes are defined ONLY ONCE globally */
/*
@keyframes ns-content-fade-slide-up {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes ns-subtle-rotate { /* NEW Animation for FA Icons */
/*
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
*/

/* ========================================================================== */
/* 1. Section Wrapper (Used for FA Pseudo Elements)                          */
/* ========================================================================== */
.ns-nosotros-hero {
    position: relative; /* Needed for pseudo-elements */
    min-height: clamp(500px, 75vh, 800px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-xl, 64px) 0;
    overflow: hidden; /* Contain pseudo-elements if they rotate */
    color: var(--clr-text-light, #F8F9FA);
    background-color: var(--clr-bg-dark, #1F1F1F);
}

/* ========================================================================== */
/* 2. Background Image & Overlay                                             */
/* ========================================================================== */
.ns-nosotros-hero {
    /* === Background Image - Placeholder === */
    background-image: url('YOUR_BACKGROUND_IMAGE_URL_HERE.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.ns-nosotros-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right,
        hsla(0, 0%, 12%, 0.92),
        hsla(0, 0%, 12%, 0.85) 50%,
        hsla(0, 0%, 12%, 0.75) 100% /* Slightly darker end */
    );
    z-index: 1; /* Below text & FA icons, above bg image */
    pointer-events: none;
}

/* ========================================================================== */
/* 2.1. Decorative FA Icon Background (NEW - using ::before/::after)         */
/* ========================================================================== */
/* IMPORTANT: Make sure Font Awesome 5 Free (Solid) is loaded */
.ns-nosotros-hero::before,
.ns-nosotros-hero::after {
    content: "\f001"; /* Default: fa-music */
    font-family: "Font Awesome 5 Free"; /* Check if Brands needed: "Font Awesome 5 Brands" */
    font-weight: 900; /* Solid style */
    position: absolute;
    z-index: 2; /* Above overlay, below content */
    font-size: clamp(200px, 35vw, 500px); /* Large icons */
    color: var(--clr-text-light, #F8F9FA); /* Faint light color */
    opacity: 0.025; /* VERY subtle opacity */
    pointer-events: none;
    /* Subtle rotation animation */
    animation: ns-subtle-rotate 120s linear infinite;
    will-change: transform;
}

.ns-nosotros-hero::before {
    content: "\f001"; /* fa-music */
    top: -10%;
    left: -5%;
    animation-duration: 150s; /* Slower rotation */
    animation-direction: reverse;
}

.ns-nosotros-hero::after {
    content: "\f1b3"; /* fa-notes-medical (or choose another like \f025 fa-headphones-alt, \f7a5 fa-guitar) */
    /* Alternate content example - ensure this icon exists in FA5 Free Solid */
     /*content: "\f7a5"; /* fa-guitar example */
    font-size: clamp(150px, 28vw, 400px); /* Slightly smaller */
    bottom: -15%;
    right: -8%;
    opacity: 0.02; /* Even fainter */
    animation-delay: -10s;
}

/* ========================================================================== */
/* 3. Content Container                                                      */
/* ========================================================================== */
.ns-nosotros-hero__container {
    position: relative;
    z-index: 3; /* Ensure content is above FA icons */
    width: 100%;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 var(--space-lg, 40px);
    text-align: center;
}

/* ========================================================================== */
/* 4. Text Content & Typography                                              */
/* ========================================================================== */
.ns-nosotros-hero__text-content {
     max-width: 800px;
     margin-left: auto;
     margin-right: auto;
}

/* Optional Pre-headline styling */
/* .ns-nosotros-hero__preheadline { ... } */

.ns-nosotros-hero__heading {
    font-family: 'Poppins', sans-serif;
    font-size: var(--font-h1-size, clamp(2.8rem, 7vw, 4.2rem));
    font-weight: 700;
    line-height: 1.3;
    color: var(--clr-text-light, #F8F9FA);
    margin: 0 0 var(--space-md, 24px) 0;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.ns-nosotros-hero__subheading {
    font-family: 'Roboto', sans-serif;
    font-size: clamp(1.1rem, 2.5vw, 1.25rem);
    line-height: 1.7;
    color: var(--clr-text-muted-dark, #E0E0E0);
    margin: 0;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
}

/* ========================================================================== */
/* 5. Entrance Animation                                                     */
/* ========================================================================== */
.ns-nosotros-hero .ns-animated-content {
    opacity: 0;
    transform: translateY(20px);
    will-change: opacity, transform;
    animation: ns-content-fade-slide-up 0.9s var(--timing-function-smooth, cubic-bezier(0.25, 0.8, 0.25, 1)) 0.3s forwards;
}

/* ========================================================================== */
/* 6. Responsive Adjustments                                                 */
/* ========================================================================== */
@media (max-width: 991px) { /* Tablet */
    .ns-nosotros-hero {
        min-height: clamp(450px, 65vh, 700px);
    }
    .ns-nosotros-hero__container {
         max-width: 960px;
    }
    .ns-nosotros-hero__heading {
        font-size: var(--font-h1-size, clamp(2.5rem, 6.5vw, 3.8rem));
    }
     .ns-nosotros-hero__subheading {
         font-size: clamp(1.05rem, 2.2vw, 1.2rem);
     }
     /* Adjust FA icon sizes slightly */
     .ns-nosotros-hero::before {
         font-size: clamp(180px, 30vw, 450px);
     }
     .ns-nosotros-hero::after {
          font-size: clamp(130px, 25vw, 350px);
     }
}

@media (max-width: 767px) { /* Mobile */
    .ns-nosotros-hero {
        min-height: clamp(400px, 60vh, 600px);
        padding: var(--space-lg, 40px) 0;
    }
    .ns-nosotros-hero__container {
        padding: 0 var(--space-md, 24px);
    }
    .ns-nosotros-hero__heading {
        font-size: var(--font-h1-size, clamp(2.2rem, 7vw, 3rem));
        margin-bottom: var(--space-sm, 16px);
    }
    .ns-nosotros-hero__subheading {
        font-size: 1rem;
        line-height: 1.65;
    }
    /* Reduce FA icon sizes */
     .ns-nosotros-hero::before {
         font-size: clamp(150px, 40vw, 300px);
         left: -10%;
     }
     .ns-nosotros-hero::after {
          font-size: clamp(100px, 30vw, 250px);
          right: -15%;
          bottom: -10%;
     }
}

/* ========================================================================== */
/* 7. Reduced Motion Adjustments                                             */
/* ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .ns-nosotros-hero .ns-animated-content {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    /* Disable FA icon rotation */
    .ns-nosotros-hero::before,
    .ns-nosotros-hero::after {
        animation: none !important;
        /* Keep static icons visible */
         opacity: 0.025 !important;
    }
    /* Optional: Remove text shadows */
    /* .ns-nosotros-hero__heading, .ns-nosotros-hero__subheading { text-shadow: none; } */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-08f98b0 *//* ==========================================================================
   NOSOTROS PAGE - SECTION: Team (.ns-team-section) - v FINAL (No Card Anim)
========================================================================== */

/* CSS Index:
--- 0. Keyframes (Shared - Define Globally) ---
--- 1. Section Wrapper (Variables - Added FA Icon BG) ---
--- 2. Content Container (Variables) ---
--- 3. Section Header (Variables - Title Accent Fixed) ---
--- 4. Team Grid Layout (Variables) ---
--- 5. Teacher Card Base Styles (Variables - Animation REMOVED) ---
--- 6. Teacher Card Image (Variables) ---
--- 7. Teacher Card Content (Variables - Name w/ Accent Line, Role) ---
--- 7.1. Teacher Card CTA Link (Variables - Refined Link Style) ---
--- 8. Teacher Card Hover Effects (Variables - Fixed Border) ---
--- 9. Staggered Animation (REMOVED for Cards) ---
--- 10. Responsive Adjustments (Variables) ---
--- 11. Reduced Motion Adjustments (Variables - Reflects Card Anim Removal) ---
*/

/* ========================================================================== */
/* 0. Keyframes (Shared - Define Globally)                                   */
/* ========================================================================== */
/* CRITICAL: Ensure @keyframes ns-content-fade-slide-up & ns-subtle-rotate defined ONLY ONCE globally */
/*
@keyframes ns-content-fade-slide-up {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes ns-subtle-rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
*/

/* ========================================================================== */
/* 1. Section Wrapper (Variables - Added FA Icon BG)                         */
/* ========================================================================== */
.ns-team-section {
    background-color: var(--clr-bg-light, #F8F9FA);
    padding: var(--space-xxxl, 100px) 0 !important;
    position: relative;
    overflow: hidden;
}

/* Faint Font Awesome background icons */
.ns-team-section::before,
.ns-team-section::after {
    content: "\f001"; /* fa-music */
    font-family: "Font Awesome 5 Free"; font-weight: 900; /* Solid */
    position: absolute; z-index: 0; font-size: clamp(300px, 50vw, 700px);
    color: var(--clr-border-light, #E0E0E0); opacity: 0.3; pointer-events: none;
    animation: ns-subtle-rotate 200s linear infinite; will-change: transform;
}
.ns-team-section::before { content: "\f001"; top: 0%; left: -15%; animation-duration: 240s; animation-direction: reverse; }
.ns-team-section::after { content: "\f7a4"; font-size: clamp(250px, 45vw, 600px); bottom: -5%; right: -10%; opacity: 0.25; animation-delay: -20s; }

/* ========================================================================== */
/* 2. Content Container (Variables)                                          */
/* ========================================================================== */
.ns-team-container {
    width: 100%; max-width: 1360px; margin-left: auto; margin-right: auto;
    padding: 0 var(--space-lg, 40px) 0 var(--space-xxl, 80px) !important;
    position: relative; z-index: 1;
}

/* ========================================================================== */
/* 3. Section Header (Variables - Title Accent Fixed)                        */
/* ========================================================================== */
.ns-team-header { text-align: center; margin-bottom: var(--space-xxl, 80px); position: relative; }
.ns-team-pre-headline {
    display: block; font-family: 'Poppins', sans-serif; font-size: 1rem; /* Fallback */ font-weight: 600;
    color: var(--clr-accent-primary, #0D6E7A); margin-bottom: var(--space-sm, 16px); text-transform: uppercase; letter-spacing: 1.3px;
}
.ns-team-heading {
    font-family: 'Poppins', sans-serif; font-size: clamp(2.4rem, 5.5vw, 3.4rem); /* Fallback */ font-weight: 700;
    line-height: 1.25; color: var(--clr-text-dark, #212529); margin: 0 0 var(--space-md, 24px) 0;
    display: inline-block; position: relative; padding-bottom: var(--space-sm, 16px);
}
/* Gradient accent line below heading - FIXED: Using rgba equivalent for HSL */
.ns-team-heading::after {
    content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 80px; height: 3px;
    background: linear-gradient(90deg, rgba(13, 110, 122, 0.5), var(--clr-accent-primary, #0D6E7A), rgba(13, 110, 122, 0.5) ); border-radius: 2px;
}
.ns-team-subheading {
    font-family: 'Roboto', sans-serif; font-size: clamp(1.1rem, 2.5vw, 1.2rem); line-height: 1.8;
    color: var(--clr-text-secondary, #6C757D); max-width: 780px; margin: 0 auto;
}
/* Header Entrance Animation (Still Active) */
.ns-team-section .ns-animated-content {
    opacity: 0; transform: translateY(20px); will-change: opacity, transform;
    animation: ns-content-fade-slide-up 0.8s var(--timing-function-smooth, cubic-bezier(0.25, 0.8, 0.25, 1)) 0.1s forwards;
}

/* ========================================================================== */
/* 4. Team Grid Layout (Variables)                                           */
/* ========================================================================== */
.ns-team-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: var(--space-lg, 40px);
}

/* ========================================================================== */
/* 5. Teacher Card Base Styles (Variables - Animation REMOVED)               */
/* ========================================================================== */
.ns-teacher-card {
    background-color: var(--clr-bg-card, #FFFFFF);
    border-radius: var(--radius-xl, 16px);
    padding: var(--space-lg, 40px);
    text-align: center;
    box-shadow: var(--shadow-md, 0 4px 10px rgba(100, 110, 130, 0.04), 0 8px 30px rgba(100, 110, 130, 0.08));
    border: 1px solid transparent;
    transition: transform var(--transition-duration-default, 0.35s) var(--timing-function-smooth, cubic-bezier(0.25, 0.8, 0.25, 1)),
                box-shadow var(--transition-duration-default, 0.35s) var(--timing-function-smooth, cubic-bezier(0.25, 0.8, 0.25, 1)),
                border-color 0.4s ease-out;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /* === ANIMATION REMOVED === */
    /* opacity: 0; */
    /* transform: translateY(20px); */
    /* will-change: transform, opacity, box-shadow, border-color; */
     will-change: transform, box-shadow, border-color; /* Removed opacity */
}

/* ========================================================================== */
/* 6. Teacher Card Image (Variables)                                         */
/* ========================================================================== */
.ns-teacher-card__image-wrapper {
    width: clamp(140px, 16vw, 180px); height: clamp(140px, 16vw, 180px); margin: 0 auto var(--space-lg, 40px) auto;
    border-radius: 50%; overflow: hidden; border: 4px solid var(--clr-bg-light, #F8F9FA);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); position: relative;
    transition: transform var(--transition-duration-default, 0.35s) var(--timing-function-smooth, cubic-bezier(0.25, 0.8, 0.25, 1)),
                border-color var(--transition-duration-default, 0.35s) ease;
    flex-shrink: 0;
}
.ns-teacher-card__image {
    display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center;
    transition: transform 0.5s ease-out;
}

/* ========================================================================== */
/* 7. Teacher Card Content (Variables - Name w/ Accent Line, Role)           */
/* ========================================================================== */
.ns-teacher-card__content { flex-grow: 1; display: flex; flex-direction: column; }
.ns-teacher-card__name {
    font-family: 'Poppins', sans-serif; font-size: clamp(1.2rem, 2.8vw, 1.4rem); /* Fallback */ font-weight: 600;
    color: var(--clr-text-dark, #212529); margin: 0 0 var(--space-sm, 16px) 0; line-height: 1.4;
    position: relative; padding-bottom: var(--space-xs, 8px);
}
.ns-teacher-card__name::after {
    content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
    width: 40px; height: 2px; background-color: var(--clr-accent-primary, #0D6E7A);
    opacity: 0.7; transition: width 0.3s ease-out;
}
.ns-teacher-card__role {
    font-family: 'Roboto', sans-serif; font-size: 0.95rem; /* Fallback */ line-height: 1.65;
    color: var(--clr-text-secondary, #6C757D); margin: 0; margin-bottom: var(--space-lg, 40px); flex-grow: 1;
}

/* ========================================================================== */
/* 7.1. Teacher Card CTA Link (Variables - Refined Link Style)               */
/* ========================================================================== */
.ns-teacher-card__cta-link {
    font-family: 'Poppins', sans-serif; font-size: 0.9rem; /* Fallback */ font-weight: 600;
    color: var(--clr-accent-primary, #0D6E7A); text-decoration: none; display: inline-flex; align-items: center; justify-content: center;
    margin-top: auto; padding: var(--space-xxs, 4px) 0; transition: color 0.3s ease-out;
    position: relative; align-self: center; padding-bottom: 4px;
}
.ns-teacher-card__cta-link::after {
    content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px;
    background-color: var(--clr-accent-primary, #0D6E7A); transform: scaleX(0); transform-origin: center;
    transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);
}
.ns-teacher-card__cta-link:hover { color: var(--clr-text-dark, #212529); }
.ns-teacher-card__cta-link:hover::after { transform: scaleX(1); }
.ns-teacher-card__cta-link .ns-arrow {
    display: inline-block; margin-left: 6px; font-size: 1.1em;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.ns-teacher-card__cta-link:hover .ns-arrow { transform: translateX(4px); }

/* ========================================================================== */
/* 8. Teacher Card Hover Effects (Variables - Fixed Border)                  */
/* ========================================================================== */
.ns-teacher-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-card-hover, 0 8px 25px rgba(100, 110, 130, 0.1), 0 12px 40px rgba(100, 110, 130, 0.12));
    /* FIXED: Reveal subtle accent border using RGBA equivalent */
    border-color: rgba(13, 110, 122, 0.3);
}
.ns-teacher-card:hover .ns-teacher-card__image-wrapper {
     transform: scale(1.05); border-color: var(--clr-accent-primary, #0D6E7A);
}
.ns-teacher-card:hover .ns-teacher-card__image { transform: scale(1.08); }
.ns-teacher-card:hover .ns-teacher-card__name::after { width: 60px; }

/* ========================================================================== */
/* 9. Staggered Animation (REMOVED for Cards)                                */
/* ========================================================================== */
/* No longer applying staggered animation to cards via nth-child */

/* ========================================================================== */
/* 10. Responsive Adjustments (Variables)                                    */
/* ========================================================================== */
@media (max-width: 991px) { /* Tablet */
    .ns-team-section { padding: var(--space-xxl, 80px) 0 !important; }
    .ns-team-container { padding: 0 var(--space-lg, 40px) !important; }
    .ns-team-grid { grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: var(--space-lg, 40px); }
    .ns-team-section::before { font-size: clamp(250px, 45vw, 600px); }
    .ns-team-section::after { font-size: clamp(200px, 40vw, 500px); }
}
@media (max-width: 767px) { /* Mobile */
    .ns-team-section { padding: var(--space-xl, 64px) 0 !important; }
    .ns-team-container { padding: 0 var(--space-md, 24px) !important; }
    .ns-team-header { text-align: left; margin-bottom: var(--space-xl, 64px); }
    .ns-team-heading, .ns-team-pre-headline, .ns-team-subheading { text-align: left; margin-left: 0; margin-right: 0; max-width: none; }
    .ns-team-heading::after { left: 0; transform: translateX(0); width: 60px; }
    .ns-team-grid { grid-template-columns: 1fr; gap: var(--space-lg, 40px); }
    .ns-teacher-card {
        padding: var(--space-lg, 40px); display: flex; align-items: center; text-align: left; gap: var(--space-md, 24px);
    }
    .ns-teacher-card__image-wrapper { width: 100px; height: 100px; margin: 0; flex-shrink: 0; }
    .ns-teacher-card__content { flex-grow: 1; align-items: flex-start; }
    .ns-teacher-card__name { margin-bottom: var(--space-xs, 8px); font-size: 1.2rem; padding-bottom: var(--space-xs, 8px); }
    .ns-teacher-card__name::after { left: 0; transform: translateX(0); width: 35px; }
    .ns-teacher-card__role { font-size: 0.95rem; margin-bottom: var(--space-md, 24px); }
    .ns-teacher-card__cta-link { align-self: flex-start; }
    .ns-teacher-card__cta-link::after { transform-origin: left; }
    .ns-team-section::before { font-size: clamp(200px, 60vw, 400px); left: -20%; }
    .ns-team-section::after { font-size: clamp(160px, 50vw, 350px); right: -15%; bottom: -5%; }
}

/* ========================================================================== */
/* 11. Reduced Motion Adjustments (Variables - Reflects Card Anim Removal)   */
/* ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    .ns-team-section .ns-animated-content { /* Only header animation */
        animation: none !important; opacity: 1 !important; transform: none !important;
    }
    /* No need to disable card animation */
    /* .ns-teacher-card { animation: none !important; opacity: 1 !important; transform: none !important; } */
    .ns-team-section::before, .ns-team-section::after { animation: none !important; opacity: 0.25 !important; }
    .ns-teacher-card { transition: box-shadow 0.2s ease, border-color 0.2s ease !important; }
    .ns-teacher-card:hover { transform: none !important;
        box-shadow: var(--shadow-card-hover, 0 8px 25px rgba(100, 110, 130, 0.1), 0 12px 40px rgba(100, 110, 130, 0.12)) !important;
        border-color: rgba(13, 110, 122, 0.3) !important; /* RGBA equivalent */
    }
    .ns-teacher-card__image-wrapper { transition: border-color 0.2s ease !important; }
    .ns-teacher-card:hover .ns-teacher-card__image-wrapper { transform: none !important; border-color: var(--clr-accent-primary, #0D6E7A) !important; }
    .ns-teacher-card__image { transition: none !important; }
    .ns-teacher-card:hover .ns-teacher-card__image { transform: none !important; }
    .ns-teacher-card__name::after { transition: none !important; }
    .ns-teacher-card:hover .ns-teacher-card__name::after { width: 40px !important; }
    .ns-teacher-card__cta-link, .ns-teacher-card__cta-link .ns-arrow { transition: none !important; }
    .ns-teacher-card__cta-link:hover { transform: none !important; }
    .ns-teacher-card__cta-link:hover .ns-arrow { transform: none !important; }
    .ns-teacher-card__cta-link::after { display: none !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c42f319 *//* CSS Index:
--- 0. Keyframes (Shared - Define Globally) ---
--- 1. Section Wrapper ---
--- 2. Decorative Shapes ---
--- 3. Content Container ---
--- 4. Text Content & Typography ---
--- 5. Action Button Styling (Hardcoded & Enhanced) ---
--- 6. Entrance Animation ---
--- 7. Responsive Adjustments ---
--- 8. Reduced Motion Adjustments ---
*/

/* ========================================================================== */
/* 0. Keyframes (Shared - Define Globally)                                   */
/* ========================================================================== */
/* CRITICAL: Ensure @keyframes are defined ONLY ONCE globally */
/*
@keyframes ns-content-fade-slide-up { ... }
@keyframes ns-bg-pulse { ... }
*/

/* ========================================================================== */
/* 1. Section Wrapper (Hardcoded)                                            */
/* ========================================================================== */
.ns-cta-final {
    background-color: #1F1F1F; /* Hardcoded --clr-bg-dark */
    color: #F8F9FA; /* Hardcoded --clr-text-light */
    padding: 100px 0 !important; /* Hardcoded --space-xxxl */
    position: relative;
    overflow: hidden;
    text-align: center;
}

/* ========================================================================== */
/* 2. Decorative Shapes (Hardcoded)                                          */
/* ========================================================================== */
.ns-cta-final__deco-shape {
    position: absolute;
    border-radius: 35% 65% 60% 40% / 40% 50% 50% 60%;
    /* Hardcoded hsla(188, 82%, 26%, 0.08) */
    background-color: rgba(13, 110, 122, 0.08);
    z-index: 0;
    pointer-events: none;
    animation: ns-bg-pulse 15s ease-in-out infinite alternate;
    will-change: opacity, transform;
    filter: blur(15px);
}
.ns-cta-final__deco-shape--1 {
    width: clamp(300px, 45vw, 650px); height: clamp(300px, 45vw, 650px);
    top: -20%; left: -15%; animation-delay: -2s; transform: rotate(30deg);
}
.ns-cta-final__deco-shape--2 {
    width: clamp(250px, 40vw, 550px); height: clamp(250px, 40vw, 550px);
    bottom: -25%; right: -10%; animation-delay: -9s; transform: rotate(-15deg);
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    /* Hardcoded hsla(208, 7%, 46%, 0.06) */
    background-color: rgba(108, 117, 125, 0.06);
}

/* ========================================================================== */
/* 3. Content Container (Hardcoded)                                          */
/* ========================================================================== */
.ns-cta-final__container {
    width: 100%; max-width: 960px; margin-left: auto; margin-right: auto;
    padding: 0 40px !important; /* Hardcoded --space-lg */
    position: relative; z-index: 1;
}

/* ========================================================================== */
/* 4. Text Content & Typography (Hardcoded)                                  */
/* ========================================================================== */
.ns-cta-final__text-content { margin-bottom: 40px; /* Hardcoded --space-lg */ }
.ns-cta-final__heading { /* Styles remain the same, use hardcoded values */
    font-family: 'Poppins', sans-serif; font-size: clamp(2.4rem, 5.5vw, 3.4rem); font-weight: 700;
    line-height: 1.3; color: #F8F9FA; margin: 0 0 24px 0; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.ns-cta-final__subheading { /* Styles remain the same, use hardcoded values */
    font-family: 'Roboto', sans-serif; font-size: clamp(1.1rem, 2.5vw, 1.2rem); line-height: 1.7;
    color: #E0E0E0; max-width: 700px; margin: 0 auto;
}

/* ========================================================================== */
/* 5. Action Button Styling (Hardcoded & Enhanced)                           */
/* ========================================================================== */
.ns-cta-final__actions { /* Entrance animation applies here */ }

/* Base styles inherited from potential global .ns-button */
.ns-cta-final__button.ns-button--primary {
    /* --- Core Layout & Base --- */
    display: inline-block;
    padding: 16px 64px; /* Hardcoded larger padding */
    font-family: 'Poppins', sans-serif;
    font-size: 1.1rem;
    font-weight: 600; /* Poppins Semibold */
    color: #FFFFFF; /* Hardcoded --clr-cta-text-light */
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 8px; /* Hardcoded --radius-md */
    cursor: pointer;
    position: relative; /* For pseudo-element */
    z-index: 1; /* Ensure button content is above pseudo */
    overflow: hidden; /* Clip pseudo-element */

    /* --- Hardcoded Gradient Background --- */
    background-image: linear-gradient(170deg, #0f7c8a 0%, #0D6E7A 100%); /* Slightly lighter top */
    background-color: #0D6E7A; /* Fallback */

    /* --- Hardcoded Shadow --- */
    box-shadow: 0 6px 15px rgba(13, 110, 122, 0.3), 0 2px 5px rgba(0,0,0,0.2);

    /* --- Hardcoded Transitions --- */
    transition: transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1),
                box-shadow 0.25s cubic-bezier(0.25, 0.8, 0.25, 1),
                background-position 0.5s ease; /* For potential bg shift */
}

/* --- Enhanced Hover Pseudo-Element --- */
.ns-cta-final__button.ns-button--primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%; /* Start off-screen */
    width: 100%;
    height: 100%;
    /* A slightly lighter, angled gradient shimmer */
    background-image: linear-gradient(100deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.25) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: skewX(-25deg); /* Angle the shimmer */
    transition: left 0.6s cubic-bezier(0.19, 1, 0.22, 1); /* Elastic transition */
    z-index: -1; /* Behind button text */
}

/* --- Hardcoded Hover State --- */
.ns-cta-final__button.ns-button--primary:hover {
    transform: translateY(-3px) scale(1.02);
    /* Hardcoded darker gradient */
    background-image: linear-gradient(170deg, #0D6E7A 0%, #0a5861 100%);
    /* Hardcoded enhanced shadow */
    box-shadow: 0 8px 20px rgba(13, 110, 122, 0.4), 0 4px 8px rgba(0,0,0,0.25);
}

/* --- Trigger Pseudo-Element on Hover --- */
.ns-cta-final__button.ns-button--primary:hover::before {
    left: 100%; /* Move shimmer across */
}

/* ========================================================================== */
/* 6. Entrance Animation (Hardcoded)                                         */
/* ========================================================================== */
.ns-cta-final__text-content.ns-animated-content { /* Text animation */
    opacity: 0; transform: translateY(20px); will-change: opacity, transform;
    animation: ns-content-fade-slide-up 0.8s cubic-bezier(0.25, 0.8, 0.25, 1) 0.1s forwards;
}
.ns-cta-final__actions { /* Button animation */
   opacity: 0; transform: translateY(20px); will-change: opacity, transform;
   animation: ns-content-fade-slide-up 0.8s cubic-bezier(0.25, 0.8, 0.25, 1) 0.3s forwards;
}

/* ========================================================================== */
/* 7. Responsive Adjustments (Hardcoded)                                     */
/* ========================================================================== */
@media (max-width: 991px) { /* Tablet */
    .ns-cta-final { padding: 80px 0 !important; }
    .ns-cta-final__container { padding: 0 40px !important; }
}

@media (max-width: 767px) { /* Mobile */
    .ns-cta-final { padding: 64px 0 !important; }
    .ns-cta-final__container { padding: 0 24px !important; }
    .ns-cta-final__heading { font-size: clamp(2rem, 7vw, 2.8rem); }
    .ns-cta-final__subheading { font-size: 1rem; }
    .ns-cta-final__button.ns-button--primary {
        padding: 16px 40px; /* Adjust padding */
        font-size: 1rem;
    }
    /* Adjust deco shapes */
    .ns-cta-final__deco-shape--1 { /* Styles remain the same */ }
    .ns-cta-final__deco-shape--2 { /* Styles remain the same */ }
}

/* ========================================================================== */
/* 8. Reduced Motion Adjustments (Hardcoded)                                 */
/* ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    /* Disable entrance animations */
    .ns-cta-final .ns-animated-content, .ns-cta-final__actions {
        animation: none !important; opacity: 1 !important; transform: none !important;
    }
    /* Disable deco shape animation */
    .ns-cta-final__deco-shape { animation: none !important; opacity: 0.08 !important; }
     /* Disable button transitions */
     .ns-cta-final__button.ns-button--primary {
         transition: background-image 0.2s ease-out !important; /* Allow only bg change */
     }
     .ns-cta-final__button.ns-button--primary::before {
         display: none !important; /* Hide shimmer */
     }
     .ns-cta-final__button.ns-button--primary:hover {
         transform: none !important;
         box-shadow: 0 6px 15px rgba(13, 110, 122, 0.3), 0 2px 5px rgba(0,0,0,0.2); /* Revert shadow */
         /* Ensure hover bg still applies */
         background-image: linear-gradient(170deg, #0D6E7A 0%, #0a5861 100%);
     }
}/* End custom CSS */