/*==================================================*
    SHAHU'S GARDEN HIGH SCHOOL & JUNIOR COLLEGE
    COMPONENTS CSS
*==================================================*/


/*==================================================*
    TOP HEADER
*==================================================*/

.top-header {

    background: var(--primary-color);

    color: var(--white);

    padding: 10px 0;

    font-size: 14px;

}


.top-header .container {

    display: flex;

    justify-content: space-between;

    align-items: center;

}


.top-left,
.top-right {

    display: flex;

    gap: 20px;

    align-items: center;

}


.top-left a,
.top-right a {

    color: var(--white);

}


.top-left a:hover,
.top-right a:hover {

    color: var(--secondary-color);

}


/*==================================================*
    MAIN HEADER
*==================================================*/

.header {

    position: absolute;

    width: 100%;

    top: 45px;

    left: 0;

    z-index: 999;

    transition: 0.4s;

}


.header .container {

    display: flex;

    justify-content: space-between;

    align-items: center;

}


/* HEADER AFTER SCROLL */

.header.scrolled {

    position: fixed;

    top: 0;

    background: var(--primary-color);

    box-shadow: 0 4px 20px rgba(0,0,0,0.15);

    padding: 10px 0;

}


/*==================================================*
    LOGO
*==================================================*/

.logo {

    display: flex;

    align-items: center;

}


.logo img {

    height: 70px;

    width: auto;

    object-fit: contain;

}


/*==================================================*
    NAVIGATION
*==================================================*/

.navbar ul {

    display: flex;

    gap: 35px;

    align-items: center;

}


.navbar ul li {

    position: relative;

}


.navbar ul li a {

    color: var(--white);

    font-size: 15px;

    font-weight: 500;

    transition: 0.4s;

    position: relative;

}


.navbar ul li a::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -8px;

    width: 0;

    height: 2px;

    background: var(--secondary-color);

    transition: 0.3s;

}


.navbar ul li a:hover {

    color: var(--secondary-color);

}


.navbar ul li a:hover::after {

    width: 100%;

}


/* ACTIVE PAGE */

.navbar ul li a.active {

    color: var(--secondary-color);

}


.navbar ul li a.active::after {

    width: 100%;

}


/*==================================================*
    ADMISSION BUTTON
*==================================================*/

.btn-admission {

    padding: 14px 28px;

    background: var(--secondary-color);

    color: var(--black);

    border-radius: 50px;

    font-weight: 600;

    transition: 0.4s;

    white-space: nowrap;

}


.btn-admission:hover {

    background: var(--white);

    color: var(--primary-color);

}


/*==================================================*
    MOBILE MENU
*==================================================*/

.mobile-menu {

    display: none;

    background: none;

    border: none;

    color: var(--white);

    font-size: 26px;

    cursor: pointer;

    padding: 5px;

}


/*==================================================*
    OLD HERO COMPONENT
*==================================================*/

.hero {

    position: relative;

    width: 100%;

    height: 100vh;

    overflow: hidden;

}


.hero img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}


.hero-overlay {

    position: absolute;

    inset: 0;

    background: rgba(0,0,0,0.45);

}


.hero-content {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    text-align: center;

    color: #fff;

    width: 90%;

}


.hero-content h1 {

    font-size: 60px;

    margin-bottom: 20px;

}


.hero-content p {

    font-size: 18px;

    margin-bottom: 30px;

}


/*==================================================*
    NEW HOME HERO
*==================================================*/

.home-hero {

    position: relative;

    min-height: 650px;

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    background:

        linear-gradient(
            rgba(255,255,255,0.96),
            rgba(255,255,255,0.96)
        );

    padding: 150px 20px 100px;

    overflow: hidden;

}


/* Decorative background */

.home-hero::before {

    content: "";

    position: absolute;

    width: 500px;

    height: 500px;

    border-radius: 50%;

    background: rgba(152,0,39,0.06);

    top: -180px;

    left: -180px;

}


.home-hero::after {

    content: "";

    position: absolute;

    width: 400px;

    height: 400px;

    border-radius: 50%;

    background: rgba(212,175,55,0.08);

    bottom: -180px;

    right: -120px;

}


/* HERO CONTENT */

.home-hero .hero-content {

    position: relative;

    top: auto;

    left: auto;

    transform: none;

    width: 100%;

    max-width: 950px;

    z-index: 2;

    color: var(--primary-color);

}


.home-hero .hero-subtitle {

    display: inline-block;

    color: var(--secondary-color);

    font-size: 15px;

    font-weight: 700;

    letter-spacing: 3px;

    margin-bottom: 18px;

}


.home-hero .hero-content h1 {

    color: var(--primary-color);

    font-size: 58px;

    line-height: 1.15;

    font-weight: 800;

    margin-bottom: 25px;

}


.home-hero .hero-content h1 span {

    color: var(--secondary-color);

}


.home-hero .hero-content p {

    color: #666;

    font-size: 18px;

    line-height: 1.8;

    max-width: 720px;

    margin: 0 auto 35px;

}


/*==================================================*
    HERO BUTTONS
*==================================================*/

.hero-buttons {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 18px;

    flex-wrap: wrap;

}


.btn-primary,
.btn-outline {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 14px 30px;

    border-radius: 50px;

    font-weight: 600;

    transition: 0.3s;

}


.btn-primary {

    background: var(--primary-color);

    color: var(--white);

    border: 2px solid var(--primary-color);

}


.btn-primary:hover {

    background: var(--secondary-color);

    color: var(--black);

    border-color: var(--secondary-color);

    transform: translateY(-3px);

}


.btn-outline {

    background: transparent;

    color: var(--primary-color);

    border: 2px solid var(--primary-color);

}


.btn-outline:hover {

    background: var(--primary-color);

    color: var(--white);

    transform: translateY(-3px);

}


/*==================================================*
    WELCOME SECTION
*==================================================*/

.welcome-section {

    background: #ffffff;

    padding: 100px 0;

}


/*==================================================*
    SECTION HEADING
*==================================================*/

.section-heading {

    text-align: center;

    max-width: 800px;

    margin: 0 auto 60px;

}


.section-heading > span {

    display: inline-block;

    color: var(--secondary-color);

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 2px;

    margin-bottom: 12px;

}


.section-heading h2 {

    color: var(--primary-color);

    font-size: 40px;

    line-height: 1.25;

    margin-bottom: 18px;

}


.section-heading p {

    color: #666;

    font-size: 16px;

    line-height: 1.8;

}


/*==================================================*
    WELCOME GRID
*==================================================*/

.welcome-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

}


/*==================================================*
    WELCOME CARD
*==================================================*/

.welcome-card {

    background: #ffffff;

    border-radius: 16px;

    padding: 40px 30px;

    text-align: center;

    border: 1px solid #eeeeee;

    box-shadow: var(--shadow-small);

    transition: 0.4s;

}


.welcome-card:hover {

    transform: translateY(-10px);

    box-shadow: var(--shadow-large);

    border-color: rgba(152,0,39,0.15);

}


.welcome-icon {

    width: 75px;

    height: 75px;

    margin: 0 auto 25px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: rgba(152,0,39,0.08);

    color: var(--primary-color);

    font-size: 28px;

    transition: 0.4s;

}


.welcome-card:hover .welcome-icon {

    background: var(--primary-color);

    color: var(--white);

}


.welcome-card h3 {

    color: var(--primary-color);

    font-size: 21px;

    margin-bottom: 15px;

}


.welcome-card p {

    color: #666;

    font-size: 15px;

    line-height: 1.8;

}


/*==================================================*
    HIGHLIGHTS SECTION
*==================================================*/

.highlights-section {

    background: var(--primary-color);

    padding: 100px 0;

}


.section-heading.light > span {

    color: var(--secondary-color);

}


.section-heading.light h2 {

    color: var(--white);

}


.section-heading.light p {

    color: rgba(255,255,255,0.8);

}


/*==================================================*
    HIGHLIGHT GRID
*==================================================*/

.highlight-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 25px;

}


/*==================================================*
    HIGHLIGHT ITEM
*==================================================*/

.highlight-item {

    text-align: center;

    padding: 35px 20px;

    border: 1px solid rgba(255,255,255,0.15);

    border-radius: 15px;

    transition: 0.4s;

}


.highlight-item:hover {

    background: rgba(255,255,255,0.08);

    transform: translateY(-8px);

}


.highlight-item i {

    color: var(--secondary-color);

    font-size: 38px;

    margin-bottom: 22px;

}


.highlight-item h3 {

    color: var(--white);

    font-size: 19px;

    margin-bottom: 12px;

}


.highlight-item p {

    color: rgba(255,255,255,0.75);

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
    ADMISSION CTA
*==================================================*/

.admission-cta {

    background: #f8f8f8;

    padding: 80px 0;

}


.admission-content {

    background: var(--primary-color);

    border-radius: 20px;

    padding: 50px 60px;

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 30px;

}


.admission-content span {

    color: var(--secondary-color);

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 2px;

}


.admission-content h2 {

    color: var(--white);

    font-size: 34px;

    margin: 10px 0 12px;

}


.admission-content p {

    color: rgba(255,255,255,0.8);

    max-width: 650px;

    line-height: 1.7;

}


.btn-gold {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 15px 32px;

    background: var(--secondary-color);

    color: var(--black);

    border-radius: 50px;

    font-weight: 700;

    white-space: nowrap;

    transition: 0.3s;

}


.btn-gold:hover {

    background: var(--white);

    color: var(--primary-color);

    transform: translateY(-3px);

}


/*==================================================*
    OLD SECTION CARD
*==================================================*/

.section-card {

    background: white;

    border-radius: 15px;

    overflow: hidden;

    box-shadow: var(--shadow-small);

    transition: 0.4s;

}


.section-card:hover {

    transform: translateY(-10px);

    box-shadow: var(--shadow-large);

}


/*==================================================*
    FACILITY CARD
*==================================================*/

.facility-card {

    position: relative;

    overflow: hidden;

    border-radius: 15px;

}


.facility-card img {

    transition: 0.5s;

}


.facility-card:hover img {

    transform: scale(1.1);

}


.facility-content {

    position: absolute;

    bottom: 0;

    width: 100%;

    background: linear-gradient(
        transparent,
        #000
    );

    padding: 30px;

    color: white;

}


/*==================================================*
    NEWS CARD
*==================================================*/

.news-card {

    background: white;

    border-radius: 15px;

    overflow: hidden;

    box-shadow: var(--shadow-small);

    transition: 0.4s;

}


.news-card:hover {

    transform: translateY(-10px);

}


.news-content {

    padding: 25px;

}


.news-content h3 {

    color: var(--primary-color);

    margin-bottom: 15px;

}


.news-content p {

    color: #666;

}


/*==================================================*
    GALLERY CARD
*==================================================*/

.gallery-card {

    overflow: hidden;

    border-radius: 15px;

}


.gallery-card img {

    transition: 0.5s;

}


.gallery-card:hover img {

    transform: scale(1.08);

}


/*==================================================*
    FOOTER
*==================================================*/

.footer {

    background: var(--primary-color);

    color: white;

    padding: 80px 0 20px;

}


.footer-grid {

    display: grid;

    grid-template-columns: repeat(4,1fr);

    gap: 40px;

}


.footer-column h3 {

    margin-bottom: 20px;

    color: var(--secondary-color);

}


.footer-column ul li {

    margin-bottom: 12px;

}


.footer-column ul li a {

    color: white;

}


.footer-column ul li a:hover {

    color: var(--secondary-color);

}


.footer-social {

    display: flex;

    gap: 15px;

    margin-top: 20px;

}


.footer-social a {

    width: 40px;

    height: 40px;

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    background: white;

    color: var(--primary-color);

}


.footer-social a:hover {

    background: var(--secondary-color);

}


.footer-bottom {

    margin-top: 60px;

    padding-top: 25px;

    border-top: 1px solid rgba(255,255,255,.15);

    text-align: center;

}
/*==================================================*
* ABOUT PAGE
*==================================================*/


/*==================================================*
* PAGE HERO
*==================================================*/

.page-hero {

    position: relative;

    min-height: 430px;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 120px 0 70px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #980227,
            #650019
        );

    color: var(--white);

}


.page-hero::before {

    content: "";

    position: absolute;

    width: 400px;

    height: 400px;

    border-radius: 50%;

    background:
        rgba(212,175,55,0.08);

    top: -180px;

    right: -100px;

}


.page-hero::after {

    content: "";

    position: absolute;

    width: 300px;

    height: 300px;

    border-radius: 50%;

    background:
        rgba(255,255,255,0.05);

    bottom: -160px;

    left: -80px;

}


.page-hero-content {

    position: relative;

    z-index: 2;

    width: 90%;

    max-width: 900px;

}


.page-hero-content > span {

    display: inline-block;

    margin-bottom: 15px;

    color: var(--secondary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.page-hero-content h1 {

    margin: 0 0 20px;

    color: var(--white);

    font-size: clamp(38px, 5vw, 60px);

    line-height: 1.15;

}


.page-hero-content h1 strong {

    color: var(--secondary-color);

    font-weight: 800;

}


.page-hero-content p {

    max-width: 700px;

    margin: auto;

    color: rgba(255,255,255,0.85);

    font-size: 17px;

    line-height: 1.7;

}


/*==================================================*
* ABOUT INTRODUCTION
*==================================================*/

.about-introduction {

    padding: 100px 0;

    background: #fff;

}


.about-grid {

    display: grid;

    grid-template-columns:
        1.1fr .9fr;

    gap: 70px;

    align-items: center;

}


.about-label {

    display: inline-block;

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.about-content h2 {

    margin: 0 0 25px;

    color: var(--primary-color);

    font-size: 44px;

    line-height: 1.2;

}


.about-content h2 span {

    color: var(--secondary-color);

}


.about-content p {

    margin-bottom: 18px;

    color: #666;

    font-size: 15px;

    line-height: 1.85;

}


.about-content p:last-child {

    margin-bottom: 0;

}


/*==================================================*
* ABOUT HIGHLIGHT
*==================================================*/

.about-highlight {

    min-height: 420px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 35px;

    border-radius: 25px;

    background:
        linear-gradient(
            135deg,
            #980227,
            #68001a
        );

    box-shadow:
        0 20px 50px
        rgba(152,2,39,0.18);

}


.about-highlight-inner {

    width: 100%;

    padding: 50px 30px;

    text-align: center;

    border:
        1px solid
        rgba(255,255,255,0.18);

    border-radius: 18px;

}


.about-highlight-inner i {

    width: 90px;

    height: 90px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 25px;

    border-radius: 50%;

    background: var(--secondary-color);

    color: var(--primary-color);

    font-size: 34px;

}


.about-highlight-inner h3 {

    margin-bottom: 10px;

    color: var(--white);

    font-size: 30px;

}


.about-highlight-inner p {

    margin: 0;

    color: rgba(255,255,255,0.8);

    font-size: 15px;

}


/*==================================================*
* VISION MISSION
*==================================================*/

.vision-mission {

    padding: 100px 0;

    background: #f8f8f8;

}


.vision-mission-grid {

    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 30px;

}


.vision-card {

    padding: 45px 35px;

    background: #fff;

    border-radius: 18px;

    text-align: center;

    box-shadow: var(--shadow-small);

    transition: .35s ease;

}


.vision-card:hover {

    transform: translateY(-8px);

    box-shadow: var(--shadow-large);

}


.about-card-icon {

    width: 75px;

    height: 75px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 25px;

    border-radius: 50%;

    background:
        rgba(152,2,39,0.08);

    color: var(--primary-color);

    font-size: 28px;

}


.vision-card h3 {

    margin-bottom: 15px;

    color: var(--primary-color);

    font-size: 24px;

}


.vision-card p {

    margin: 0;

    color: #666;

    font-size: 15px;

    line-height: 1.8;

}


/*==================================================*
* VALUES
*==================================================*/

.values-section {

    padding: 100px 0;

    background:
        linear-gradient(
            135deg,
            #980227,
            #650019
        );

}


.values-grid {

    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    gap: 25px;

}


.value-item {

    padding: 35px 25px;

    text-align: center;

    background:
        rgba(255,255,255,0.08);

    border:
        1px solid
        rgba(255,255,255,0.12);

    border-radius: 16px;

    transition: .35s ease;

}


.value-item:hover {

    transform: translateY(-8px);

    background:
        rgba(255,255,255,0.14);

}


.value-item i {

    width: 65px;

    height: 65px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 20px;

    border-radius: 50%;

    background: var(--secondary-color);

    color: var(--primary-color);

    font-size: 25px;

}


.value-item h3 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 19px;

}


.value-item p {

    margin: 0;

    color: rgba(255,255,255,0.78);

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
* WHY CHOOSE US
*==================================================*/

.about-why {

    padding: 100px 0;

    background: #fff;

}


.why-grid {

    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 25px;

}


.why-item {

    display: flex;

    gap: 20px;

    padding: 30px;

    border-radius: 16px;

    background: #fafafa;

    border:
        1px solid
        rgba(152,2,39,0.08);

    transition: .3s ease;

}


.why-item:hover {

    transform: translateY(-5px);

    box-shadow: var(--shadow-small);

}


.why-number {

    flex-shrink: 0;

    color: var(--secondary-color);

    font-size: 24px;

    font-weight: 800;

}


.why-item h3 {

    margin-bottom: 8px;

    color: var(--primary-color);

    font-size: 19px;

}


.why-item p {

    margin: 0;

    color: #666;

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
* ABOUT CTA
*==================================================*/

.about-cta {

    padding: 70px 0;

    background: #f7f7f7;

}


.about-cta-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

    padding: 55px;

    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            #980227,
            #72001d
        );

    box-shadow: var(--shadow-large);

}


.about-cta-content > div {

    max-width: 750px;

}


.about-cta-content span {

    display: block;

    margin-bottom: 10px;

    color: var(--secondary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.about-cta-content h2 {

    margin-bottom: 15px;

    color: var(--white);

    font-size: 36px;

    line-height: 1.25;

}


.about-cta-content p {

    margin: 0;

    color: rgba(255,255,255,0.85);

    line-height: 1.7;

}
/*==================================================*
* ACADEMICS PAGE
*==================================================*/


/*==================================================*
* ACADEMIC INTRODUCTION
*==================================================*/

.academic-introduction {

    padding: 100px 0;

    background: #fff;

}


.academic-intro-grid {

    display: grid;

    grid-template-columns: 1.1fr .9fr;

    gap: 70px;

    align-items: center;

}


.academic-label {

    display: inline-block;

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.academic-intro-content h2 {

    margin: 0 0 25px;

    color: var(--primary-color);

    font-size: 44px;

    line-height: 1.2;

}


.academic-intro-content h2 span {

    color: var(--secondary-color);

}


.academic-intro-content p {

    margin-bottom: 18px;

    color: #666;

    font-size: 15px;

    line-height: 1.85;

}


.academic-intro-content p:last-child {

    margin-bottom: 0;

}


/*==================================================*
* ACADEMIC INTRO CARD
*==================================================*/

.academic-intro-card {

    min-height: 380px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    padding: 45px;

    text-align: center;

    border-radius: 25px;

    background:
        linear-gradient(
            135deg,
            #980227,
            #68001a
        );

    box-shadow:
        0 20px 50px
        rgba(152,2,39,0.18);

}


.academic-intro-card-icon {

    width: 90px;

    height: 90px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 25px;

    border-radius: 50%;

    background: var(--secondary-color);

    color: var(--primary-color);

    font-size: 34px;

}


.academic-intro-card h3 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 28px;

}


.academic-intro-card p {

    max-width: 380px;

    margin: 0;

    color: rgba(255,255,255,0.82);

    font-size: 15px;

    line-height: 1.7;

}


/*==================================================*
* ACADEMIC LEVELS
*==================================================*/

.academic-levels {

    padding: 100px 0;

    background: #f8f8f8;

}


.academic-level-grid {

    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    gap: 25px;

}


.academic-level-card {

    position: relative;

    padding: 40px 30px;

    background: #fff;

    border-radius: 18px;

    box-shadow: var(--shadow-small);

    overflow: hidden;

    transition: .35s ease;

}


.academic-level-card:hover {

    transform: translateY(-8px);

    box-shadow: var(--shadow-large);

}


.academic-level-card.featured {

    background:
        linear-gradient(
            135deg,
            #980227,
            #72001d
        );

}


.academic-level-icon {

    width: 70px;

    height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 25px;

    border-radius: 50%;

    background:
        rgba(152,2,39,0.08);

    color: var(--primary-color);

    font-size: 27px;

}


.academic-level-card.featured
.academic-level-icon {

    background: var(--secondary-color);

    color: var(--primary-color);

}


.academic-level-number {

    position: absolute;

    top: 25px;

    right: 25px;

    color: rgba(152,2,39,0.12);

    font-size: 45px;

    font-weight: 800;

}


.academic-level-card.featured
.academic-level-number {

    color:
        rgba(255,255,255,0.12);

}


.academic-level-card h3 {

    margin-bottom: 15px;

    color: var(--primary-color);

    font-size: 25px;

}


.academic-level-card.featured h3 {

    color: var(--white);

}


.academic-level-card > p {

    margin-bottom: 25px;

    color: #666;

    font-size: 14px;

    line-height: 1.75;

}


.academic-level-card.featured > p {

    color:
        rgba(255,255,255,0.78);

}


.academic-level-card ul {

    display: flex;

    flex-direction: column;

    gap: 12px;

}


.academic-level-card ul li {

    display: flex;

    align-items: flex-start;

    gap: 10px;

    color: #555;

    font-size: 14px;

    line-height: 1.5;

}


.academic-level-card.featured ul li {

    color:
        rgba(255,255,255,0.85);

}


.academic-level-card ul li i {

    margin-top: 3px;

    color: var(--secondary-color);

}


/*==================================================*
* LEARNING APPROACH
*==================================================*/

.learning-approach {

    padding: 100px 0;

    background:
        linear-gradient(
            135deg,
            #980227,
            #650019
        );

}


.learning-grid {

    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    gap: 20px;

}


.learning-item {

    padding: 35px 25px;

    text-align: center;

    border:
        1px solid
        rgba(255,255,255,0.12);

    border-radius: 16px;

    background:
        rgba(255,255,255,0.08);

    transition: .35s ease;

}


.learning-item:hover {

    transform: translateY(-8px);

    background:
        rgba(255,255,255,0.14);

}


.learning-icon {

    width: 65px;

    height: 65px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 20px;

    border-radius: 50%;

    background: var(--secondary-color);

    color: var(--primary-color);

    font-size: 24px;

}


.learning-item h3 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 18px;

    line-height: 1.4;

}


.learning-item p {

    margin: 0;

    color:
        rgba(255,255,255,0.78);

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
* ACADEMIC HIGHLIGHTS
*==================================================*/

.academic-highlights {

    padding: 100px 0;

    background: #fff;

}


.academic-highlight-grid {

    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 25px;

}


.academic-highlight {

    display: flex;

    gap: 20px;

    align-items: flex-start;

    padding: 30px;

    border-radius: 16px;

    background: #fafafa;

    border:
        1px solid
        rgba(152,2,39,0.08);

    transition: .3s ease;

}


.academic-highlight:hover {

    transform: translateY(-5px);

    box-shadow: var(--shadow-small);

}


.academic-highlight > i {

    width: 60px;

    height: 60px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        rgba(152,2,39,0.08);

    color: var(--primary-color);

    font-size: 23px;

}


.academic-highlight h3 {

    margin-bottom: 8px;

    color: var(--primary-color);

    font-size: 19px;

}


.academic-highlight p {

    margin: 0;

    color: #666;

    font-size: 14px;

    line-height: 1.7;

}
/*==================================================*
* ADMISSION PAGE
*==================================================*/


/*==================================================*
* ADMISSION INTRODUCTION
*==================================================*/

.admission-introduction {

    padding: 100px 0;

    background: #fff;

}


.admission-intro-grid {

    display: grid;

    grid-template-columns: 1.1fr .9fr;

    gap: 70px;

    align-items: center;

}


.admission-label {

    display: inline-block;

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.admission-intro-content h2 {

    margin-bottom: 25px;

    color: var(--primary-color);

    font-size: 44px;

    line-height: 1.2;

}


.admission-intro-content h2 span {

    color: var(--secondary-color);

}


.admission-intro-content p {

    margin-bottom: 18px;

    color: #666;

    font-size: 15px;

    line-height: 1.85;

}


.admission-intro-card {

    min-height: 370px;

    padding: 45px 35px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    border-radius: 25px;

    background:
        linear-gradient(
            135deg,
            #980227,
            #68001a
        );

    box-shadow:
        0 20px 50px
        rgba(152,2,39,.18);

}


.admission-intro-icon {

    width: 90px;

    height: 90px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 25px;

    border-radius: 50%;

    background: var(--secondary-color);

    color: var(--primary-color);

    font-size: 34px;

}


.admission-intro-card h3 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 28px;

}


.admission-intro-card p {

    max-width: 380px;

    margin-bottom: 25px;

    color:
        rgba(255,255,255,.82);

    font-size: 15px;

    line-height: 1.7;

}


/*==================================================*
* ADMISSION PROCESS
*==================================================*/

.admission-process {

    padding: 100px 0;

    background: #f8f8f8;

}


.admission-steps {

    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    gap: 20px;

}


.admission-step {

    position: relative;

    padding: 35px 25px;

    background: #fff;

    border-radius: 18px;

    box-shadow: var(--shadow-small);

    text-align: center;

    transition: .35s ease;

}


.admission-step:hover {

    transform: translateY(-8px);

    box-shadow: var(--shadow-large);

}


.admission-step-number {

    position: absolute;

    top: 15px;

    right: 18px;

    color:
        rgba(152,2,39,.10);

    font-size: 42px;

    font-weight: 800;

}


.admission-step-icon {

    width: 70px;

    height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 22px;

    border-radius: 50%;

    background:
        rgba(152,2,39,.08);

    color: var(--primary-color);

    font-size: 26px;

}


.admission-step h3 {

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 20px;

}


.admission-step p {

    margin: 0;

    color: #666;

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
* ADMISSION BENEFITS
*==================================================*/

.admission-benefits {

    padding: 100px 0;

    background:
        linear-gradient(
            135deg,
            #980227,
            #650019
        );

}


.admission-benefit-grid {

    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    gap: 20px;

}


.admission-benefit {

    padding: 35px 25px;

    text-align: center;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius: 18px;

    background:
        rgba(255,255,255,.08);

    transition: .35s ease;

}


.admission-benefit:hover {

    transform: translateY(-8px);

    background:
        rgba(255,255,255,.14);

}


.admission-benefit-icon {

    width: 65px;

    height: 65px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 20px;

    border-radius: 50%;

    background: var(--secondary-color);

    color: var(--primary-color);

    font-size: 24px;

}


.admission-benefit h3 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 19px;

}


.admission-benefit p {

    margin: 0;

    color:
        rgba(255,255,255,.78);

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
* DOCUMENTS
*==================================================*/

.admission-documents {

    padding: 100px 0;

    background: #fff;

}


.documents-grid {

    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 20px;

}


.document-item {

    display: flex;

    align-items: flex-start;

    gap: 20px;

    padding: 30px;

    background: #fafafa;

    border-radius: 16px;

    border:
        1px solid
        rgba(152,2,39,.08);

    transition: .3s ease;

}


.document-item:hover {

    transform: translateY(-5px);

    box-shadow: var(--shadow-small);

}


.document-item > i {

    width: 58px;

    height: 58px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        rgba(152,2,39,.08);

    color: var(--primary-color);

    font-size: 22px;

}


.document-item h3 {

    margin-bottom: 8px;

    color: var(--primary-color);

    font-size: 19px;

}


.document-item p {

    margin: 0;

    color: #666;

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
* ADMISSION ENQUIRY
*==================================================*/

.admission-enquiry {

    padding: 80px 0;

    background: var(--primary-color);

}


.admission-enquiry-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

}


.admission-enquiry-content > div:first-child {

    max-width: 700px;

}


.admission-enquiry-content span {

    display: inline-block;

    margin-bottom: 10px;

    color: var(--secondary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.admission-enquiry-content h2 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 38px;

    line-height: 1.25;

}


.admission-enquiry-content p {

    margin: 0;

    color:
        rgba(255,255,255,.78);

    font-size: 15px;

    line-height: 1.7;

}


.admission-enquiry-buttons {

    display: flex;

    gap: 15px;

    flex-shrink: 0;

}


.btn-outline-white {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    padding: 14px 28px;

    border: 1px solid var(--white);

    border-radius: 50px;

    color: var(--white);

    font-weight: 600;

    transition: .3s ease;

}


.btn-outline-white:hover {

    background: var(--white);

    color: var(--primary-color);

}
/*==================================================*
* FACULTY PAGE
*==================================================*/


/*==================================================*
* FACULTY INTRODUCTION
*==================================================*/

.faculty-introduction {

    padding: 100px 0;

    background: #fff;

}


.faculty-values {

    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    gap: 25px;

    margin-top: 60px;

}


.faculty-value {

    padding: 35px 30px;

    text-align: center;

    background: #fafafa;

    border-radius: 18px;

    border:
        1px solid
        rgba(152,2,39,.08);

    transition: .35s ease;

}


.faculty-value:hover {

    transform: translateY(-8px);

    box-shadow: var(--shadow-small);

}


.faculty-value-icon {

    width: 70px;

    height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 20px;

    border-radius: 50%;

    background:
        rgba(152,2,39,.08);

    color: var(--primary-color);

    font-size: 27px;

}


.faculty-value h3 {

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 21px;

}


.faculty-value p {

    margin: 0;

    color: #666;

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
* FACULTY MEMBERS
*==================================================*/

.faculty-members {

    padding: 100px 0;

    background: #f8f8f8;

}


.faculty-grid {

    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    gap: 30px;

}


.faculty-card {

    overflow: hidden;

    background: #fff;

    border-radius: 20px;

    box-shadow: var(--shadow-small);

    transition: .35s ease;

}


.faculty-card:hover {

    transform: translateY(-10px);

    box-shadow: var(--shadow-large);

}


.faculty-image {

    height: 280px;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #f8e9ed,
            #f5f5f5
        );

}


.faculty-placeholder {

    width: 125px;

    height: 125px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--primary-color);

    color: var(--secondary-color);

    font-size: 52px;

}


.faculty-content {

    padding: 28px;

    text-align: center;

}


.faculty-content > span {

    display: block;

    margin-bottom: 8px;

    color: var(--secondary-color);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;

}


.faculty-content h3 {

    margin-bottom: 10px;

    color: var(--primary-color);

    font-size: 22px;

}


.faculty-content p {

    margin: 0;

    color: #666;

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
* FACULTY APPROACH
*==================================================*/

.faculty-approach {

    padding: 100px 0;

    background: #fff;

}


.faculty-approach-grid {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 80px;

    align-items: center;

}


.faculty-approach-content > span {

    display: inline-block;

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.faculty-approach-content h2 {

    margin-bottom: 25px;

    color: var(--primary-color);

    font-size: 42px;

    line-height: 1.2;

}


.faculty-approach-content p {

    margin-bottom: 18px;

    color: #666;

    font-size: 15px;

    line-height: 1.8;

}


.faculty-approach-content .btn-primary {

    display: inline-block;

    margin-top: 10px;

    padding: 14px 28px;

    border-radius: 50px;

    background: var(--primary-color);

    color: var(--white);

    font-weight: 600;

    transition: .3s ease;

}


.faculty-approach-content .btn-primary:hover {

    background: var(--secondary-color);

    color: var(--primary-color);

}


.faculty-approach-points {

    display: flex;

    flex-direction: column;

    gap: 20px;

}


.faculty-approach-point {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    padding: 22px;

    border-radius: 15px;

    background: #fafafa;

    border:
        1px solid
        rgba(152,2,39,.08);

}


.faculty-approach-point > i {

    width: 42px;

    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--primary-color);

    color: var(--secondary-color);

}


.faculty-approach-point h3 {

    margin-bottom: 5px;

    color: var(--primary-color);

    font-size: 17px;

}


.faculty-approach-point p {

    margin: 0;

    color: #666;

    font-size: 13px;

    line-height: 1.6;

}


/*==================================================*
* FACULTY CTA
*==================================================*/

.faculty-cta {

    padding: 80px 0;

    background: var(--primary-color);

}


.faculty-cta-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

}


.faculty-cta-content > div:first-child {

    max-width: 700px;

}


.faculty-cta-content span {

    display: inline-block;

    margin-bottom: 10px;

    color: var(--secondary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.faculty-cta-content h2 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 38px;

    line-height: 1.25;

}


.faculty-cta-content p {

    margin: 0;

    color:
        rgba(255,255,255,.78);

    font-size: 15px;

    line-height: 1.7;

}


.faculty-cta-buttons {

    display: flex;

    gap: 15px;

    flex-shrink: 0;

}
/*==================================================*
* FACILITIES PAGE
*==================================================*/


/*==================================================*
* FACILITIES INTRODUCTION
*==================================================*/

.facilities-introduction {

    padding: 90px 0 40px;

    background: #fff;

}


/*==================================================*
* FACILITIES GRID
*==================================================*/

.facilities-grid-section {

    padding: 40px 0 100px;

    background: #fff;

}


.facilities-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 28px;

}


.facility-large-card {

    overflow: hidden;

    background: #fff;

    border-radius: 20px;

    border:
        1px solid
        rgba(152, 2, 39, .08);

    box-shadow: var(--shadow-small);

    transition: .35s ease;

}


.facility-large-card:hover {

    transform: translateY(-10px);

    box-shadow: var(--shadow-large);

}


/*==================================================*
* FACILITY VISUAL
*==================================================*/

.facility-card-visual {

    position: relative;

    height: 230px;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #980227,
            #68001a
        );

}


.facility-card-visual > span {

    position: absolute;

    top: 15px;

    right: 20px;

    color:
        rgba(255,255,255,.18);

    font-size: 42px;

    font-weight: 800;

}


.facility-icon {

    width: 105px;

    height: 105px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--secondary-color);

    color: var(--primary-color);

    font-size: 42px;

    transition: .35s ease;

}


.facility-large-card:hover
.facility-icon {

    transform: scale(1.08) rotate(4deg);

}


/*==================================================*
* FACILITY CONTENT
*==================================================*/

.facility-card-content {

    padding: 28px;

}


.facility-card-content > span {

    display: block;

    margin-bottom: 8px;

    color: var(--secondary-color);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;

}


.facility-card-content h3 {

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 21px;

}


.facility-card-content p {

    margin: 0;

    color: #666;

    font-size: 14px;

    line-height: 1.75;

}


/*==================================================*
* FACILITY DEVELOPMENT
*==================================================*/

.facility-development {

    padding: 100px 0;

    background: #f8f8f8;

}


.facility-development-grid {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 80px;

    align-items: center;

}


.facility-development-content > span {

    display: inline-block;

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.facility-development-content h2 {

    margin-bottom: 25px;

    color: var(--primary-color);

    font-size: 42px;

    line-height: 1.2;

}


.facility-development-content p {

    margin-bottom: 18px;

    color: #666;

    font-size: 15px;

    line-height: 1.8;

}


.facility-development-content .btn-primary {

    display: inline-block;

    margin-top: 10px;

    padding: 14px 28px;

    border-radius: 50px;

    background: var(--primary-color);

    color: var(--white);

    font-weight: 600;

    transition: .3s ease;

}


.facility-development-content .btn-primary:hover {

    background: var(--secondary-color);

    color: var(--primary-color);

}


/*==================================================*
* DEVELOPMENT POINTS
*==================================================*/

.facility-development-points {

    display: flex;

    flex-direction: column;

    gap: 18px;

}


.facility-development-point {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    padding: 22px;

    background: #fff;

    border-radius: 15px;

    border:
        1px solid
        rgba(152, 2, 39, .08);

    transition: .3s ease;

}


.facility-development-point:hover {

    transform: translateX(5px);

    box-shadow: var(--shadow-small);

}


.facility-check {

    width: 42px;

    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--primary-color);

    color: var(--secondary-color);

}


.facility-development-point h3 {

    margin-bottom: 5px;

    color: var(--primary-color);

    font-size: 17px;

}


.facility-development-point p {

    margin: 0;

    color: #666;

    font-size: 13px;

    line-height: 1.6;

}


/*==================================================*
* FACILITIES CTA
*==================================================*/

.facilities-cta {

    padding: 80px 0;

    background: var(--primary-color);

}


.facilities-cta-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

}


.facilities-cta-content > div:first-child {

    max-width: 700px;

}


.facilities-cta-content span {

    display: inline-block;

    margin-bottom: 10px;

    color: var(--secondary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.facilities-cta-content h2 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 38px;

    line-height: 1.25;

}


.facilities-cta-content p {

    margin: 0;

    color:
        rgba(255,255,255,.78);

    font-size: 15px;

    line-height: 1.7;

}


.facilities-cta-buttons {

    display: flex;

    gap: 15px;

    flex-shrink: 0;

}
/*==================================================*
* GALLERY PAGE
*==================================================*/


/*==================================================*
* GALLERY INTRODUCTION
*==================================================*/

.gallery-introduction {

    padding: 90px 0 45px;

    background: #fff;

}


/*==================================================*
* GALLERY SECTION
*==================================================*/

.school-gallery-section {

    padding: 40px 0 100px;

    background: #fff;

}


/*==================================================*
* GALLERY FILTERS
*==================================================*/

.gallery-filters {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap: 12px;

    margin-bottom: 45px;

}


.gallery-filter {

    padding: 11px 24px;

    border: 1px solid
        rgba(152, 2, 39, .20);

    border-radius: 50px;

    background: #fff;

    color: var(--primary-color);

    font-family: inherit;

    font-size: 14px;

    font-weight: 600;

    cursor: pointer;

    transition: .3s ease;

}


.gallery-filter:hover {

    background: var(--primary-color);

    color: var(--white);

}


.gallery-filter.active {

    background: var(--primary-color);

    color: var(--white);

    border-color:
        var(--primary-color);

}


/*==================================================*
* GALLERY GRID
*==================================================*/

.school-gallery-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 25px;

}


.school-gallery-item {

    overflow: hidden;

    border-radius: 18px;

    transition: .35s ease;

}


.school-gallery-item.hidden {

    display: none;

}


.gallery-image-box {

    position: relative;

    height: 300px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #980227,
            #68001a
        );

}


.gallery-image-box img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition: .5s ease;

}


.school-gallery-item:hover
.gallery-image-box img {

    transform: scale(1.08);

}


/*==================================================*
* GALLERY OVERLAY
*==================================================*/

.gallery-overlay {

    position: absolute;

    inset: 0;

    display: flex;

    align-items: flex-end;

    padding: 25px;

    background:
        linear-gradient(
            transparent,
            rgba(0,0,0,.85)
        );

    opacity: 0;

    transition: .35s ease;

}


.school-gallery-item:hover
.gallery-overlay {

    opacity: 1;

}


.gallery-overlay > div {

    width: 100%;

    transform: translateY(15px);

    transition: .35s ease;

}


.school-gallery-item:hover
.gallery-overlay > div {

    transform: translateY(0);

}


.gallery-overlay span {

    display: block;

    margin-bottom: 5px;

    color: var(--secondary-color);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

}


.gallery-overlay h3 {

    margin: 0 0 15px;

    color: var(--white);

    font-size: 20px;

}


.gallery-view-button {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: none;

    border-radius: 50%;

    background: var(--secondary-color);

    color: var(--primary-color);

    cursor: pointer;

    transition: .3s ease;

}


.gallery-view-button:hover {

    background: var(--white);

}


/*==================================================*
* GALLERY LIGHTBOX
*==================================================*/

.gallery-lightbox {

    position: fixed;

    inset: 0;

    z-index: 9999;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 30px;

    background:
        rgba(0,0,0,.94);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition: .3s ease;

}


.gallery-lightbox.active {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

}


.gallery-lightbox-content {

    position: relative;

    width: min(900px, 90vw);

    max-height: 90vh;

    text-align: center;

}


.gallery-lightbox-content img {

    width: 100%;

    max-height: 75vh;

    display: block;

    object-fit: contain;

    border-radius: 10px;

}


.gallery-lightbox-caption {

    padding-top: 15px;

}


.gallery-lightbox-caption span {

    display: block;

    margin-bottom: 5px;

    color: var(--secondary-color);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;

}


.gallery-lightbox-caption h3 {

    margin: 0;

    color: var(--white);

    font-size: 21px;

}


/*==================================================*
* LIGHTBOX BUTTONS
*==================================================*/

.gallery-lightbox-close,
.gallery-lightbox-prev,
.gallery-lightbox-next {

    position: absolute;

    width: 48px;

    height: 48px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: none;

    border-radius: 50%;

    background: var(--secondary-color);

    color: var(--primary-color);

    font-size: 18px;

    cursor: pointer;

    z-index: 2;

}


.gallery-lightbox-close {

    top: 25px;

    right: 25px;

}


.gallery-lightbox-prev {

    left: 25px;

    top: 50%;

    transform: translateY(-50%);

}


.gallery-lightbox-next {

    right: 25px;

    top: 50%;

    transform: translateY(-50%);

}


.gallery-lightbox-close:hover,
.gallery-lightbox-prev:hover,
.gallery-lightbox-next:hover {

    background: var(--white);

}


/*==================================================*
* GALLERY CTA
*==================================================*/

.gallery-cta {

    padding: 80px 0;

    background: var(--primary-color);

}


.gallery-cta-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

}


.gallery-cta-content > div:first-child {

    max-width: 700px;

}


.gallery-cta-content span {

    display: inline-block;

    margin-bottom: 10px;

    color: var(--secondary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.gallery-cta-content h2 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 38px;

    line-height: 1.25;

}


.gallery-cta-content p {

    margin: 0;

    color:
        rgba(255,255,255,.78);

    font-size: 15px;

    line-height: 1.7;

}


.gallery-cta-buttons {

    display: flex;

    gap: 15px;

    flex-shrink: 0;

}
/*==================================================*
* EVENTS PAGE
*==================================================*/


/*==================================================*
* EVENTS INTRODUCTION
*==================================================*/

.events-introduction {

    padding: 90px 0 45px;

    background: #fff;

}


/*==================================================*
* EVENTS LIST
*==================================================*/

.events-list-section {

    padding: 45px 0 100px;

    background: #fff;

}


.events-section-heading {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 30px;

    margin-bottom: 45px;

}


.events-section-heading > div > span {

    display: block;

    margin-bottom: 8px;

    color: var(--primary-color);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 3px;

}


.events-section-heading h2 {

    margin: 0;

    color: var(--primary-color);

    font-size: 38px;

}


.events-gallery-link {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: var(--primary-color);

    font-size: 14px;

    font-weight: 600;

    transition: .3s ease;

}


.events-gallery-link:hover {

    color: var(--secondary-color);

}


.events-gallery-link i {

    transition: .3s ease;

}


.events-gallery-link:hover i {

    transform: translateX(5px);

}


/*==================================================*
* EVENTS GRID
*==================================================*/

.events-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 28px;

}


.event-card {

    overflow: hidden;

    background: #fff;

    border-radius: 18px;

    border:
        1px solid
        rgba(152, 2, 39, .08);

    box-shadow: var(--shadow-small);

    transition: .35s ease;

}


.event-card:hover {

    transform: translateY(-9px);

    box-shadow: var(--shadow-large);

}


/*==================================================*
* EVENT IMAGE
*==================================================*/

.event-image {

    position: relative;

    height: 250px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #980227,
            #68001a
        );

}


.event-image img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition: .5s ease;

}


.event-card:hover
.event-image img {

    transform: scale(1.07);

}


/*==================================================*
* EVENT DATE
*==================================================*/

.event-date {

    position: absolute;

    top: 18px;

    left: 18px;

    width: 62px;

    min-height: 65px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    border-radius: 10px;

    background: var(--secondary-color);

    color: var(--primary-color);

    box-shadow:
        0 5px 15px
        rgba(0,0,0,.15);

}


.event-date strong {

    font-size: 24px;

    line-height: 1;

}


.event-date span {

    margin-top: 4px;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1px;

}


/*==================================================*
* EVENT CONTENT
*==================================================*/

.event-content {

    padding: 26px;

}


.event-category {

    display: inline-block;

    margin-bottom: 9px;

    color: var(--secondary-color);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

}


.event-content h3 {

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 21px;

    line-height: 1.35;

}


.event-content p {

    margin-bottom: 20px;

    color: #666;

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
* EVENT META
*==================================================*/

.event-meta {

    display: flex;

    flex-direction: column;

    gap: 8px;

    padding-top: 18px;

    border-top:
        1px solid
        rgba(0,0,0,.08);

}


.event-meta span {

    display: flex;

    align-items: center;

    gap: 8px;

    color: #666;

    font-size: 12px;

}


.event-meta i {

    width: 15px;

    color: var(--primary-color);

}


/*==================================================*
* EVENTS DEVELOPMENT
*==================================================*/

.events-development {

    padding: 100px 0;

    background: #f8f8f8;

}


.events-development-grid {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 80px;

    align-items: center;

}


.events-development-content > span {

    display: inline-block;

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.events-development-content h2 {

    margin-bottom: 25px;

    color: var(--primary-color);

    font-size: 42px;

    line-height: 1.2;

}


.events-development-content p {

    margin-bottom: 18px;

    color: #666;

    font-size: 15px;

    line-height: 1.8;

}


.events-development-content .btn-primary {

    display: inline-block;

    margin-top: 10px;

    padding: 14px 28px;

    border-radius: 50px;

    background: var(--primary-color);

    color: var(--white);

    font-weight: 600;

    transition: .3s ease;

}


.events-development-content .btn-primary:hover {

    background: var(--secondary-color);

    color: var(--primary-color);

}


/*==================================================*
* DEVELOPMENT POINTS
*==================================================*/

.events-development-points {

    display: flex;

    flex-direction: column;

    gap: 18px;

}


.event-development-point {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    padding: 22px;

    background: #fff;

    border-radius: 15px;

    border:
        1px solid
        rgba(152, 2, 39, .08);

    transition: .3s ease;

}


.event-development-point:hover {

    transform: translateX(5px);

    box-shadow: var(--shadow-small);

}


.event-development-icon {

    width: 42px;

    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--primary-color);

    color: var(--secondary-color);

}


.event-development-point h3 {

    margin-bottom: 5px;

    color: var(--primary-color);

    font-size: 17px;

}


.event-development-point p {

    margin: 0;

    color: #666;

    font-size: 13px;

    line-height: 1.6;

}


/*==================================================*
* EVENTS CTA
*==================================================*/

.events-cta {

    padding: 80px 0;

    background: var(--primary-color);

}


.events-cta-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

}


.events-cta-content > div {

    max-width: 700px;

}


.events-cta-content span {

    display: inline-block;

    margin-bottom: 10px;

    color: var(--secondary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.events-cta-content h2 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 38px;

    line-height: 1.25;

}


.events-cta-content p {

    margin: 0;

    color:
        rgba(255,255,255,.78);

    font-size: 15px;

    line-height: 1.7;

}
/*==================================================*
* NEWS PAGE
*==================================================*/


/*==================================================*
* NEWS INTRODUCTION
*==================================================*/

.news-introduction {

    padding: 90px 0 45px;

    background: #fff;

}


/*==================================================*
* NEWS LIST
*==================================================*/

.news-list-section {

    padding: 45px 0 100px;

    background: #fff;

}


.news-section-heading {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 30px;

    margin-bottom: 45px;

}


.news-section-heading > div > span {

    display: block;

    margin-bottom: 8px;

    color: var(--primary-color);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 3px;

}


.news-section-heading h2 {

    margin: 0;

    color: var(--primary-color);

    font-size: 38px;

}


.news-events-link {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: var(--primary-color);

    font-size: 14px;

    font-weight: 600;

    transition: .3s ease;

}


.news-events-link:hover {

    color: var(--secondary-color);

}


.news-events-link i {

    transition: .3s ease;

}


.news-events-link:hover i {

    transform: translateX(5px);

}


/*==================================================*
* NEWS GRID
*==================================================*/

.news-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 28px;

}


.school-news-card {

    overflow: hidden;

    background: #fff;

    border-radius: 18px;

    border:
        1px solid
        rgba(152, 2, 39, .08);

    box-shadow: var(--shadow-small);

    transition: .35s ease;

}


.school-news-card:hover {

    transform: translateY(-9px);

    box-shadow: var(--shadow-large);

}


/*==================================================*
* NEWS IMAGE
*==================================================*/

.school-news-image {

    position: relative;

    height: 240px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #980227,
            #68001a
        );

}


.school-news-image img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    transition: .5s ease;

}


.school-news-card:hover
.school-news-image img {

    transform: scale(1.07);

}


/*==================================================*
* NEWS DATE
*==================================================*/

.school-news-date {

    position: absolute;

    top: 18px;

    left: 18px;

    width: 62px;

    min-height: 65px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    border-radius: 10px;

    background: var(--secondary-color);

    color: var(--primary-color);

    box-shadow:
        0 5px 15px
        rgba(0,0,0,.15);

}


.school-news-date strong {

    font-size: 24px;

    line-height: 1;

}


.school-news-date span {

    margin-top: 4px;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1px;

}


/*==================================================*
* NEWS CONTENT
*==================================================*/

.school-news-content {

    padding: 26px;

}


.school-news-category {

    display: inline-block;

    margin-bottom: 9px;

    color: var(--secondary-color);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

}


.school-news-content h3 {

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 21px;

    line-height: 1.35;

}


.school-news-content p {

    margin-bottom: 20px;

    color: #666;

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
* READ MORE
*==================================================*/

.news-read-more {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: var(--primary-color);

    font-size: 13px;

    font-weight: 600;

    transition: .3s ease;

}


.news-read-more:hover {

    color: var(--secondary-color);

}


.news-read-more i {

    transition: .3s ease;

}


.news-read-more:hover i {

    transform: translateX(5px);

}


/*==================================================*
* NEWS INFORMATION
*==================================================*/

.news-information {

    padding: 100px 0;

    background: #f8f8f8;

}


.news-information-grid {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 80px;

    align-items: center;

}


.news-information-content > span {

    display: inline-block;

    margin-bottom: 12px;

    color: var(--primary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.news-information-content h2 {

    margin-bottom: 25px;

    color: var(--primary-color);

    font-size: 42px;

    line-height: 1.2;

}


.news-information-content p {

    margin-bottom: 18px;

    color: #666;

    font-size: 15px;

    line-height: 1.8;

}


.news-information-content .btn-primary {

    display: inline-block;

    margin-top: 10px;

    padding: 14px 28px;

    border-radius: 50px;

    background: var(--primary-color);

    color: var(--white);

    font-weight: 600;

    transition: .3s ease;

}


.news-information-content .btn-primary:hover {

    background: var(--secondary-color);

    color: var(--primary-color);

}


/*==================================================*
* NEWS INFORMATION POINTS
*==================================================*/

.news-information-points {

    display: flex;

    flex-direction: column;

    gap: 18px;

}


.news-information-point {

    display: flex;

    align-items: flex-start;

    gap: 18px;

    padding: 22px;

    background: #fff;

    border-radius: 15px;

    border:
        1px solid
        rgba(152, 2, 39, .08);

    transition: .3s ease;

}


.news-information-point:hover {

    transform: translateX(5px);

    box-shadow: var(--shadow-small);

}


.news-information-icon {

    width: 42px;

    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--primary-color);

    color: var(--secondary-color);

}


.news-information-point h3 {

    margin-bottom: 5px;

    color: var(--primary-color);

    font-size: 17px;

}


.news-information-point p {

    margin: 0;

    color: #666;

    font-size: 13px;

    line-height: 1.6;

}


/*==================================================*
* NEWS CTA
*==================================================*/

.news-cta {

    padding: 80px 0;

    background: var(--primary-color);

}


.news-cta-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

}


.news-cta-content > div:first-child {

    max-width: 700px;

}


.news-cta-content span {

    display: inline-block;

    margin-bottom: 10px;

    color: var(--secondary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.news-cta-content h2 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 38px;

    line-height: 1.25;

}


.news-cta-content p {

    margin: 0;

    color:
        rgba(255,255,255,.78);

    font-size: 15px;

    line-height: 1.7;

}


.news-cta-buttons {

    display: flex;

    gap: 15px;

    flex-shrink: 0;

}
/*==================================================*
* CONTACT PAGE
*==================================================*/


/*==================================================*
* CONTACT INTRODUCTION
*==================================================*/

.contact-introduction {

    padding: 90px 0 45px;

    background: #fff;

}


/*==================================================*
* CONTACT MAIN
*==================================================*/

.contact-main-section {

    padding: 45px 0 100px;

    background: #fff;

}


.contact-grid {

    display: grid;

    grid-template-columns: .9fr 1.1fr;

    gap: 70px;

    align-items: start;

}


/*==================================================*
* CONTACT INFORMATION
*==================================================*/

.contact-information {

    padding: 45px;

    border-radius: 18px;

    background: var(--primary-color);

    color: var(--white);

}


.contact-small-title {

    display: inline-block;

    margin-bottom: 12px;

    color: var(--secondary-color);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 3px;

}


.contact-information h2 {

    margin-bottom: 20px;

    color: var(--white);

    font-size: 38px;

    line-height: 1.2;

}


.contact-description {

    margin-bottom: 35px;

    color: rgba(255,255,255,.78);

    font-size: 14px;

    line-height: 1.8;

}


/*==================================================*
* CONTACT DETAILS
*==================================================*/

.contact-detail {

    display: flex;

    align-items: flex-start;

    gap: 16px;

    margin-bottom: 25px;

}


.contact-detail-icon {

    width: 42px;

    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--secondary-color);

    color: var(--primary-color);

}


.contact-detail span {

    display: block;

    margin-bottom: 5px;

    color: var(--secondary-color);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

}


.contact-detail p {

    margin: 0;

    color: rgba(255,255,255,.85);

    font-size: 13px;

    line-height: 1.7;

}


.contact-detail a {

    color: var(--white);

    font-size: 13px;

    transition: .3s ease;

}


.contact-detail a:hover {

    color: var(--secondary-color);

}


/*==================================================*
* CONTACT SOCIAL
*==================================================*/

.contact-social {

    margin-top: 35px;

    padding-top: 25px;

    border-top:
        1px solid
        rgba(255,255,255,.15);

}


.contact-social > span {

    display: block;

    margin-bottom: 12px;

    color: var(--secondary-color);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 2px;

}


.contact-social > div {

    display: flex;

    gap: 10px;

}


.contact-social a {

    width: 38px;

    height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: var(--white);

    color: var(--primary-color);

    transition: .3s ease;

}


.contact-social a:hover {

    background: var(--secondary-color);

}


/*==================================================*
* CONTACT FORM
*==================================================*/

.contact-form-wrapper {

    padding: 45px;

    border-radius: 18px;

    background: #fff;

    border:
        1px solid
        rgba(152, 2, 39, .10);

    box-shadow: var(--shadow-small);

}


.contact-form-header {

    margin-bottom: 30px;

}


.contact-form-header span {

    display: block;

    margin-bottom: 10px;

    color: var(--primary-color);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 3px;

}


.contact-form-header h2 {

    margin-bottom: 10px;

    color: var(--primary-color);

    font-size: 34px;

}


.contact-form-header p {

    margin: 0;

    color: #666;

    font-size: 14px;

    line-height: 1.7;

}


/*==================================================*
* FORM GRID
*==================================================*/

.contact-form {

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 20px;

}


.form-group {

    display: flex;

    flex-direction: column;

}


.form-group-full {

    grid-column: 1 / -1;

}


.form-group label {

    margin-bottom: 8px;

    color: var(--black);

    font-size: 13px;

    font-weight: 600;

}


.form-group input,
.form-group select,
.form-group textarea {

    width: 100%;

    padding: 13px 15px;

    border:
        1px solid
        rgba(0,0,0,.12);

    border-radius: 8px;

    outline: none;

    background: #fff;

    color: var(--black);

    font-family: inherit;

    font-size: 13px;

    transition: .3s ease;

}


.form-group textarea {

    resize: vertical;

    min-height: 130px;

}


.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {

    border-color:
        var(--primary-color);

    box-shadow:
        0 0 0 3px
        rgba(152,2,39,.08);

}


.form-submit {

    grid-column: 1 / -1;

    margin-top: 5px;

}


.form-submit .btn-primary {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 14px 28px;

    border: none;

    border-radius: 50px;

    background: var(--primary-color);

    color: var(--white);

    font-family: inherit;

    font-size: 14px;

    font-weight: 600;

    cursor: pointer;

    transition: .3s ease;

}


.form-submit .btn-primary:hover {

    background: var(--secondary-color);

    color: var(--primary-color);

}


/*==================================================*
* CONTACT MAP
*==================================================*/

.contact-map-section {

    padding: 0 0 100px;

    background: #fff;

}


.contact-map-heading {

    margin-bottom: 30px;

}


.contact-map-heading span {

    display: block;

    margin-bottom: 8px;

    color: var(--primary-color);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 3px;

}


.contact-map-heading h2 {

    margin: 0;

    color: var(--primary-color);

    font-size: 38px;

}


.contact-map {

    overflow: hidden;

    border-radius: 18px;

    box-shadow: var(--shadow-small);

}


.contact-map iframe {

    display: block;

}


/*==================================================*
* CONTACT CTA
*==================================================*/

.contact-cta {

    padding: 80px 0;

    background: var(--primary-color);

}


.contact-cta-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

}


.contact-cta-content > div {

    max-width: 700px;

}


.contact-cta-content span {

    display: inline-block;

    margin-bottom: 10px;

    color: var(--secondary-color);

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

}


.contact-cta-content h2 {

    margin-bottom: 12px;

    color: var(--white);

    font-size: 38px;

    line-height: 1.25;

}


.contact-cta-content p {

    margin: 0;

    color: rgba(255,255,255,.78);

    font-size: 15px;

    line-height: 1.7;

}