/* =========================================
   ROOT VARIABLES
========================================= */

:root {

    --primary-blue: #0A4E8A;

    --secondary-blue: #4FAFDE;

    --accent-gold: #C48A42;

    --white: #FFFFFF;

    --light-bg: #F5FAFD;

    --heading-color: #0A4E8A;

    --body-color: #4A5568;

    --light-text: #7A8899;

    --hover-blue: #083B68;

    --gradient:
        linear-gradient(
            135deg,
            #0A4E8A 0%,
            #4FAFDE 100%
        );

}


/* =========================================
   GLOBAL
========================================= */

* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}


body {

    font-family: 'Poppins', sans-serif;

    color: var(--body-color);

    background: var(--white);

}


h1,
h2,
h3,
h4,
h5,
h6 {

    font-family: 'Playfair Display', serif;

    color: var(--heading-color);

}


a {

    text-decoration: none;

}


/* =========================================
   NAVBAR
========================================= */

.main-navbar {

    background: rgba(255, 255, 255, 0.96);

    backdrop-filter: blur(12px);

    padding: 16px 0;

    transition: all 0.3s ease;

    box-shadow:
        0 4px 25px
        rgba(10, 78, 138, 0.08);

    z-index: 1000;

}


/* LOGO */

.logo-wrapper {

    display: flex;

    align-items: center;

    gap: 12px;

}




.site-logo {
    width: 80px;
    height: 80px;
    object-fit: contain;
}

.logo-text {

    display: flex;

    flex-direction: column;

}


.logo-main {

    font-family:
        'Playfair Display',
        serif;

    font-size: 25px;

    font-weight: 700;

    color: var(--primary-blue);

    line-height: 1;

}


.logo-sub {

    font-family:
        'Poppins',
        sans-serif;

    font-size: 9px;

    letter-spacing: 1.5px;

    color: var(--light-text);

    /* text-transform: uppercase; */

    margin-top: 4px;

}


/* NAVIGATION */

.navbar-nav {

    gap: 8px;

}


.nav-link {

    color: var(--body-color) !important;

    font-size: 14px;

    font-weight: 500;

    padding:
        10px 14px
        !important;

    position: relative;

    transition:
        color 0.3s ease;

}


.nav-link::after {

    content: '';

    position: absolute;

    width: 0;

    height: 2px;

    background:
        var(--accent-gold);

    bottom: 3px;

    left: 50%;

    transform:
        translateX(-50%);

    transition:
        width 0.3s ease;

}


.nav-link:hover,
.nav-link.active {

    color:
        var(--primary-blue) !important;

}


.nav-link:hover::after,
.nav-link.active::after {

    width: 25px;

}


/* CALL BUTTON */

.call-btn {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    background:
        var(--primary-blue);

    color:
        var(--white);

    padding:
        12px 22px;

    border-radius:
        50px;

    font-size: 14px;

    font-weight: 600;

    transition:
        all 0.3s ease;

}


.call-btn:hover {

    background:
        var(--hover-blue);

    color:
        var(--white);

    transform:
        translateY(-2px);

    box-shadow:
        0 8px 20px
        rgba(10, 78, 138, 0.2);

}


/* =========================================
   HERO
========================================= */

.hero-section {

    overflow: hidden;

}


.hero-slide {

    min-height:
        100vh;

    padding-top:
        80px;

    position: relative;

}


.hero-slide-one {

    background:
        linear-gradient(
            135deg,
            #F5FAFD 0%,
            #FFFFFF 55%,
            #EAF7FC 100%
        );

}


.hero-slide-two {

    background:
        linear-gradient(
            135deg,
            #FFFFFF 0%,
            #F5FAFD 50%,
            #E5F5FC 100%
        );

}


.hero-slide-three {

    background:
        linear-gradient(
            135deg,
            #F5FAFD 0%,
            #FFFFFF 60%,
            #EFF9FD 100%
        );

}


/* =========================================
   HERO CONTENT
========================================= */

.hero-content {

    max-width:
        620px;

    padding:
        40px 0;

}


.hero-tag {

    display: flex;

    align-items: center;

    gap: 12px;

    color:
        var(--accent-gold);

    font-size: 12px;

    font-weight: 600;

    letter-spacing:
        2px;

    margin-bottom:
        20px;

}


.gold-line {

    width: 38px;

    height: 2px;

    background:
        var(--accent-gold);

}


.hero-content h1 {

    font-size:
        clamp(
            46px,
            5vw,
            68px
        );

    line-height:
        1.12;

    font-weight:
        700;

    margin-bottom:
        25px;

}


.hero-content h1 span {

    background:
        var(--gradient);

    -webkit-background-clip:
        text;

    -webkit-text-fill-color:
        transparent;

    background-clip:
        text;

}


.hero-content p {

    max-width:
        550px;

    font-size:
        17px;

    line-height:
        1.9;

    color:
        var(--body-color);

    margin-bottom:
        32px;

}


/* =========================================
   BUTTONS
========================================= */

.hero-buttons {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        14px;

}


.btn-primary-custom {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        15px 27px;

    background:
        var(--primary-blue);

    color:
        var(--white);

    border-radius:
        50px;

    font-family:
        'Poppins',
        sans-serif;

    font-size:
        15px;

    font-weight:
        600;

    transition:
        all 0.3s ease;

}


.btn-primary-custom:hover {

    background:
        var(--hover-blue);

    color:
        var(--white);

    transform:
        translateY(-3px);

    box-shadow:
        0 12px 25px
        rgba(
            10,
            78,
            138,
            0.2
        );

}


.btn-outline-custom {

    display:
        inline-flex;

    align-items:
        center;

    padding:
        14px 27px;

    color:
        var(--primary-blue);

    border:
        1.5px solid
        var(--primary-blue);

    border-radius:
        50px;

    font-size:
        15px;

    font-weight:
        600;

    transition:
        all 0.3s ease;

}


.btn-outline-custom:hover {

    background:
        var(--primary-blue);

    color:
        var(--white);

    transform:
        translateY(-3px);

}


/* =========================================
   HERO IMAGE
========================================= */

.hero-image-wrapper {

    position:
        relative;

    width:
        100%;

    max-width:
        540px;

    height:
        570px;

    margin:
        auto;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

}


.image-circle {

    position:
        absolute;

    width:
        450px;

    height:
        450px;

    border-radius:
        50%;

    background:
        var(--gradient);

    opacity:
        0.12;

    animation:
        pulseCircle 5s
        ease-in-out
        infinite;

}


.hero-image {

    position:
        relative;

    width:
        410px;

    height:
        500px;

    object-fit:
        cover;

    border-radius:
        220px 220px 40px 40px;

    z-index:
        2;

    box-shadow:
        0 25px 60px
        rgba(
            10,
            78,
            138,
            0.18
        );

}


/* =========================================
   FLOATING SHAPES
========================================= */

.floating-shape {

    position:
        absolute;

    border-radius:
        50%;

    z-index:
        1;

}


.shape-one {

    width:
        70px;

    height:
        70px;

    background:
        var(--accent-gold);

    opacity:
        0.8;

    top:
        50px;

    right:
        30px;

    animation:
        floatOne 5s
        ease-in-out
        infinite;

}


.shape-two {

    width:
        35px;

    height:
        35px;

    background:
        var(--secondary-blue);

    bottom:
        80px;

    left:
        20px;

    animation:
        floatTwo 4s
        ease-in-out
        infinite;

}


.shape-three {

    width:
        55px;

    height:
        55px;

    background:
        var(--accent-gold);

    top:
        80px;

    left:
        20px;

    animation:
        floatOne 5s
        ease-in-out
        infinite;

}


.shape-four {

    width:
        30px;

    height:
        30px;

    background:
        var(--secondary-blue);

    right:
        20px;

    bottom:
        70px;

    animation:
        floatTwo 4s
        ease-in-out
        infinite;

}


.shape-five {

    width:
        65px;

    height:
        65px;

    background:
        var(--accent-gold);

    top:
        50px;

    right:
        20px;

    animation:
        floatOne 5s
        ease-in-out
        infinite;

}


.shape-six {

    width:
        35px;

    height:
        35px;

    background:
        var(--secondary-blue);

    bottom:
        60px;

    left:
        20px;

    animation:
        floatTwo 4s
        ease-in-out
        infinite;

}

/* =========================================
   FLOATING CARDS
========================================= */

.experience-card,
.quote-card,
.trust-card {

    position:
        absolute;

    z-index:
        5;

    background:
        rgba(
            255,
            255,
            255,
            0.95
        );

    backdrop-filter:
        blur(10px);

    padding:
        15px 20px;

    border-radius:
        16px;

    box-shadow:
        0 15px 40px
        rgba(
            10,
            78,
            138,
            0.15
        );

}


.experience-card {

    left:
        0;

    bottom:
        80px;

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

}


.experience-icon {

    width:
        42px;

    height:
        42px;

    border-radius:
        50%;

    background:
        #EAF5FC;

    color:
        var(--primary-blue);

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

}


.experience-card strong,
.trust-card strong {

    display:
        block;

    color:
        var(--primary-blue);

    font-size:
        13px;

}


.experience-card span,
.trust-card span {

    display:
        block;

    color:
        var(--light-text);

    font-size:
        10px;

    margin-top:
        2px;

}


.quote-card {

    right:
        -10px;

    bottom:
        80px;

    max-width:
        220px;

}


.quote-card i {

    color:
        var(--accent-gold);

    font-size:
        22px;

}


.quote-card p {

    color:
        var(--primary-blue);

    font-family:
        'Playfair Display',
        serif;

    font-size:
        14px;

    line-height:
        1.5;

    margin:
        5px 0 0;

}


.trust-card {

    left:
        0;

    bottom:
        80px;

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

}


.trust-card > i {

    font-size:
        30px;

    color:
        var(--secondary-blue);

}


/* =========================================
   ANIMATIONS
========================================= */

@keyframes floatOne {

    0%,
    100% {

        transform:
            translateY(0);

    }

    50% {

        transform:
            translateY(-20px);

    }

}


@keyframes floatTwo {

    0%,
    100% {

        transform:
            translateY(0);

    }

    50% {

        transform:
            translateY(15px);

    }

}


@keyframes pulseCircle {

    0%,
    100% {

        transform:
            scale(1);

    }

    50% {

        transform:
            scale(1.05);

    }

}


/* =========================================
   CAROUSEL
========================================= */

.carousel-indicators {

    bottom:
        30px;

}


.carousel-indicators button {

    width:
        9px !important;

    height:
        9px !important;

    border-radius:
        50%;

    background-color:
        var(--primary-blue);

    opacity:
        0.35;

}


.carousel-indicators button.active {

    opacity:
        1;

    width:
        28px !important;

    border-radius:
        10px;

    background:
        var(--accent-gold);

}


.carousel-control-prev,
.carousel-control-next {

    width:
        5%;

}


.carousel-control-prev-icon,
.carousel-control-next-icon {

    width:
        42px;

    height:
        42px;

    border-radius:
        50%;

    background-color:
        var(--primary-blue);

    background-size:
        50%;

}


/* =========================================
   MOBILE
========================================= */

@media
(max-width: 991px) {


    .main-navbar {

        padding:
            12px 0;

    }


    .navbar-collapse {

        background:
            var(--white);

        padding:
            20px;

        margin-top:
            15px;

        border-radius:
            15px;

        box-shadow:
            0 10px 30px
            rgba(
                10,
                78,
                138,
                0.1
            );

    }


    .navbar-nav {

        gap:
            0;

    }


    .nav-link {

        padding:
            12px 5px !important;

    }


    .navbar-call {

        margin-top:
            15px;

    }


    .call-btn {

        width:
            100%;

        justify-content:
            center;

    }


    .hero-slide {

        padding-top:
            100px;

    }


    .hero-content {

        text-align:
            center;

        margin:
            auto;

    }


    .hero-tag {

        justify-content:
            center;

    }


    .hero-content p {

        margin-left:
            auto;

        margin-right:
            auto;

    }


    .hero-buttons {

        justify-content:
            center;

    }


    .hero-image-wrapper {

        height:
            480px;

        margin-top:
            20px;

    }


    .hero-image {

        width:
            320px;

        height:
            400px;

    }


    .image-circle {

        width:
            360px;

        height:
            360px;

    }

}


@media
(max-width: 576px) {


    .logo-main {

        font-size:
            21px;

    }


    .logo-icon {

        width:
            42px;

        height:
            42px;

    }


    .hero-content h1 {

        font-size:
            42px;

    }


    .hero-content p {

        font-size:
            15px;

        line-height:
            1.8;

    }


    .hero-buttons {

        flex-direction:
            column;

        align-items:
            stretch;

    }


    .btn-primary-custom,
    .btn-outline-custom {

        justify-content:
            center;

    }


    .hero-image-wrapper {

        height:
            430px;

    }


    .hero-image {

        width:
            280px;

        height:
            350px;

    }


    .image-circle {

        width:
            310px;

        height:
            310px;

    }


    .experience-card,
    .quote-card,
    .trust-card {

        transform:
            scale(0.85);

    }


    .experience-card {

        left:
            -10px;

    }


    .quote-card {

        right:
            -20px;

    }

}


/* =========================================
   WELCOME / ABOUT SECTION
========================================= */

.welcome-section {

    position: relative;

    padding:
        110px 0;

    background:
        var(--white);

    overflow: hidden;

}


/* =========================================
   ABOUT IMAGE COLLAGE
========================================= */

.about-visual {

    position: relative;

    width: 100%;

    max-width: 540px;

    height: 560px;

    margin: auto;

}


/* =========================================
   DECORATIVE BLUE SHAPE
========================================= */

.about-blue-shape {

    position: absolute;

    width: 280px;

    height: 380px;

    left: 20px;

    top: 70px;

    background:
        linear-gradient(
            145deg,
            rgba(10, 78, 138, 0.12),
            rgba(79, 175, 222, 0.18)
        );

    border-radius:
        30px 120px 30px 120px;

    transform:
        rotate(-8deg);

    z-index: 1;

}


/* =========================================
   MAIN IMAGE
========================================= */

.about-main-image {

    position: absolute;

    width: 390px;

    height: 470px;

    top: 20px;

    left: 70px;

    overflow: hidden;

    border-radius:
        30px 30px 120px 30px;

    z-index: 2;

    box-shadow:
        0 25px 60px
        rgba(
            10,
            78,
            138,
            0.16
        );

}


.about-main-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform 0.6s ease;

}


.about-main-image:hover img {

    transform:
        scale(1.05);

}


/* =========================================
   SMALL SECONDARY IMAGE
========================================= */

.about-small-image {

    position: absolute;

    width: 180px;

    height: 180px;

    right: 5px;

    bottom: 85px;

    border-radius: 50%;

    overflow: hidden;

    border:
        8px solid
        var(--white);

    z-index: 4;

    box-shadow:
        0 15px 40px
        rgba(
            10,
            78,
            138,
            0.18
        );

}


.about-small-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform 0.5s ease;

}


.about-small-image:hover img {

    transform:
        scale(1.08);

}


/* =========================================
   GOLD DECORATIVE ELEMENT
========================================= */

.about-gold-line {

    position: absolute;

    width: 70px;

    height: 70px;

    border:
        2px solid
        var(--accent-gold);

    border-radius: 50%;

    left: 10px;

    bottom: 50px;

    z-index: 3;

}


/* =========================================
   TRUST BADGE
========================================= */

.about-trust-badge {

    position: absolute;

    left: 10px;

    bottom: 10px;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 12px;

    padding:
        14px 20px;

    background:
        rgba(
            255,
            255,
            255,
            0.96
        );

    backdrop-filter:
        blur(12px);

    border-radius:
        14px;

    box-shadow:
        0 15px 40px
        rgba(
            10,
            78,
            138,
            0.15
        );

    animation:
        floatTwo 4s
        ease-in-out
        infinite;

}


.about-trust-icon {

    width: 42px;

    height: 42px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    color:
        var(--white);

    background:
        var(--primary-blue);

    font-size: 16px;

}


.about-trust-badge strong {

    display: block;

    color:
        var(--primary-blue);

    font-size: 13px;

    font-weight: 600;

}


.about-trust-badge span {

    display: block;

    color:
        var(--light-text);

    font-size: 10px;

    margin-top: 3px;

}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .about-visual {

        max-width: 500px;

        margin-bottom: 30px;

    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 576px) {

    .about-visual {

        height: 430px;

    }


    .about-main-image {

        width: 280px;

        height: 350px;

        left: 30px;

        top: 20px;

        border-radius:
            25px 25px 90px 25px;

    }


    .about-blue-shape {

        width: 220px;

        height: 290px;

        left: 5px;

        top: 50px;

    }


    .about-small-image {

        width: 130px;

        height: 130px;

        right: 0;

        bottom: 70px;

        border-width: 6px;

    }


    .about-gold-line {

        width: 50px;

        height: 50px;

        left: 0;

        bottom: 40px;

    }


    .about-trust-badge {

        left: 0;

        bottom: 5px;

        padding:
            10px 14px;

        transform:
            scale(0.85);

        transform-origin:
            left bottom;

    }

}


.welcome-card strong {

    display:
        block;

    color:
        var(--primary-blue);

    font-size:
        13px;

}


.welcome-card span {

    display:
        block;

    color:
        var(--light-text);

    font-size:
        10px;

    margin-top:
        3px;

}


/* =========================================
   CONTENT
========================================= */

.welcome-content {

    max-width:
        570px;

    padding-left:
        20px;

}


/* SECTION LABEL */

.section-label {

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    color:
        var(--accent-gold);

    font-size:
        12px;

    font-weight:
        600;

    letter-spacing:
        2px;

    margin-bottom:
        18px;

}


.label-line {

    width:
        38px;

    height:
        2px;

    background:
        var(--accent-gold);

}


/* HEADING */

.welcome-content h2 {

    font-size:
        clamp(
            36px,
            4vw,
            48px
        );

    line-height:
        1.25;

    font-weight:
        700;

    margin-bottom:
        25px;

}


.welcome-content h2 span {

    background:
        var(--gradient);

    -webkit-background-clip:
        text;

    -webkit-text-fill-color:
        transparent;

    background-clip:
        text;

}


/* PARAGRAPHS */

.welcome-content p {

    color:
        var(--body-color);

    font-size:
        15px;

    line-height:
        1.9;

    margin-bottom:
        18px;

}


.welcome-intro {

    font-size:
        17px !important;

    color:
        var(--primary-blue) !important;

    font-weight:
        500;

}
/* =========================================
   FEATURES
========================================= */

.welcome-features {

    margin-top:
        28px;

    margin-bottom:
        30px;

}


.welcome-feature {

    display:
        flex;

    gap:
        15px;

    margin-bottom:
        22px;

}


.feature-icon {

    flex-shrink:
        0;

    width:
        48px;

    height:
        48px;

    border-radius:
        12px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    background:
        var(--light-bg);

    color:
        var(--primary-blue);

    font-size:
        20px;

}


.welcome-feature h5 {

    font-family:
        'Poppins',
        sans-serif;

    color:
        var(--primary-blue);

    font-size:
        16px;

    font-weight:
        600;

    margin-bottom:
        5px;

}


.welcome-feature p {

    font-size:
        13px;

    line-height:
        1.7;

    margin:
        0;

}


/* =========================================
   BUTTON
========================================= */

.welcome-btn {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        14px 27px;

    background:
        var(--primary-blue);

    color:
        var(--white);

    border-radius:
        50px;

    font-size:
        15px;

    font-weight:
        600;

    transition:
        all 0.3s ease;

}


.welcome-btn:hover {

    background:
        var(--hover-blue);

    color:
        var(--white);

    transform:
        translateY(-3px);

    box-shadow:
        0 12px 25px
        rgba(
            10,
            78,
            138,
            0.2
        );

}


/* =========================================
   RESPONSIVE
========================================= */

@media
(max-width: 991px) {


    .welcome-section {

        padding:
            80px 0;

    }


    


    .welcome-content {

        max-width:
            650px;

        margin:
            auto;

        padding-left:
            0;

    }

}


@media
(max-width: 576px) {


    .welcome-section {

        padding:
            70px 0;

    }

    .welcome-content h2 {

        font-size:
            34px;

    }


    .welcome-content p {

        font-size:
            14px;

    }

}


/* =========================================
   OUR SERVICES SECTION
========================================= */

.services-section {

    position: relative;

    padding:
        110px 0;

    background:
        var(--light-bg);

    overflow: hidden;

}


/* =========================================
   SECTION HEADER
========================================= */

.services-header {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 50px;

    margin-bottom: 55px;

}


.services-header h2 {

    font-size:
        clamp(
            36px,
            4vw,
            48px
        );

    line-height:
        1.25;

    margin:
        15px 0 0;

}


.services-header h2 span {

    display: block;

    background:
        var(--gradient);

    -webkit-background-clip:
        text;

    -webkit-text-fill-color:
        transparent;

    background-clip:
        text;

}


.services-intro {

    max-width:
        480px;

}


.services-intro p {

    margin:
        0;

    color:
        var(--body-color);

    font-size:
        15px;

    line-height:
        1.9;

}


/* =========================================
   SLIDER WRAPPER
========================================= */

.services-slider-wrapper {

    position: relative;

    padding:
        0 55px;

}


/* =========================================
   SERVICE CARD
========================================= */

.service-card {

    position: relative;

    height: 100%;

    min-height:
        370px;

    padding:
        38px 32px;

    background:
        var(--white);

    border:
        1px solid
        rgba(
            10,
            78,
            138,
            0.06
        );

    border-radius:
        22px;

    box-shadow:
        0 12px 40px
        rgba(
            10,
            78,
            138,
            0.06
        );

    transition:
        all 0.4s ease;

    overflow: hidden;

}


.service-card::before {

    content: '';

    position: absolute;

    width:
        130px;

    height:
        130px;

    right:
        -50px;

    top:
        -50px;

    border-radius:
        50%;

    background:
        rgba(
            79,
            175,
            222,
            0.08
        );

    transition:
        all 0.4s ease;

}


.service-card:hover {

    transform:
        translateY(-10px);

    box-shadow:
        0 25px 60px
        rgba(
            10,
            78,
            138,
            0.14
        );

}


.service-card:hover::before {

    transform:
        scale(2);

}


/* =========================================
   SERVICE ICON
========================================= */

.service-icon {

    width:
        65px;

    height:
        65px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    margin-bottom:
        25px;

    border-radius:
        18px;

    background:
        linear-gradient(
            135deg,
            rgba(
                10,
                78,
                138,
                0.10
            ),
            rgba(
                79,
                175,
                222,
                0.15
            )
        );

    color:
        var(--primary-blue);

    font-size:
        28px;

    transition:
        all 0.4s ease;

}


.service-card:hover
.service-icon {

    background:
        var(--primary-blue);

    color:
        var(--white);

    transform:
        rotate(-5deg);

}


/* =========================================
   SERVICE TITLE
========================================= */

.service-card h3 {

    position:
        relative;

    font-family:
        'Playfair Display',
        serif;

    color:
        var(--primary-blue);

    font-size:
        25px;

    line-height:
        1.3;

    margin-bottom:
        15px;

}


/* =========================================
   SERVICE DESCRIPTION
========================================= */

.service-card p {

    position:
        relative;

    color:
        var(--body-color);

    font-size:
        14px;

    line-height:
        1.8;

    margin-bottom:
        25px;

}


/* =========================================
   KNOW MORE LINK
========================================= */

.service-link {

    position:
        absolute;

    left:
        32px;

    bottom:
        30px;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    color:
        var(--primary-blue);

    font-size:
        14px;

    font-weight:
        600;

    transition:
        all 0.3s ease;

}


.service-link i {

    transition:
        transform 0.3s ease;

}


.service-link:hover {

    color:
        var(--accent-gold);

}


.service-link:hover i {

    transform:
        translateX(5px);

}


/* =========================================
   SLIDER NAVIGATION
========================================= */

.services-prev,
.services-next {

    position:
        absolute;

    top:
        50%;

    transform:
        translateY(-50%);

    width:
        48px;

    height:
        48px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        var(--white);

    color:
        var(--primary-blue);

    box-shadow:
        0 8px 25px
        rgba(
            10,
            78,
            138,
            0.12
        );

    cursor:
        pointer;

    z-index:
        10;

    transition:
        all 0.3s ease;

}


.services-prev {

    left:
        0;

}


.services-next {

    right:
        0;

}


.services-prev:hover,
.services-next:hover {

    background:
        var(--primary-blue);

    color:
        var(--white);

    transform:
        translateY(-50%)
        scale(1.08);

}


/* =========================================
   PAGINATION
========================================= */

.services-slider-wrapper
.swiper-pagination {

    position:
        relative;

    margin-top:
        35px;

}


.services-slider-wrapper
.swiper-pagination-bullet {

    width:
        9px;

    height:
        9px;

    background:
        var(--primary-blue);

    opacity:
        0.25;

    transition:
        all 0.3s ease;

}


.services-slider-wrapper
.swiper-pagination-bullet-active {

    width:
        28px;

    border-radius:
        10px;

    opacity:
        1;

    background:
        var(--accent-gold);

}


/* =========================================
   BOTTOM CTA
========================================= */

.services-bottom {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        20px;

    margin-top:
        50px;

}


.services-bottom p {

    margin:
        0;

    color:
        var(--body-color);

    font-size:
        14px;

}


.services-cta {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    color:
        var(--primary-blue);

    font-size:
        14px;

    font-weight:
        600;

}


.services-cta:hover {

    color:
        var(--accent-gold);

}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .services-header {

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            20px;

    }


    .services-header h2 span {

        display:
            inline;

    }

}


@media (max-width: 767px) {

    .services-section {

        padding:
            80px 0;

    }


    .services-slider-wrapper {

        padding:
            0 40px;

    }


    .service-card {

        min-height:
            350px;

        padding:
            32px 25px;

    }


    .service-link {

        left:
            25px;

    }


    .services-prev,
    .services-next {

        width:
            40px;

        height:
            40px;

    }


    .services-bottom {

        flex-direction:
            column;

        gap:
            10px;

    }

}


@media (max-width: 576px) {

    .services-header h2 {

        font-size:
            34px;

    }


    .services-slider-wrapper {

        padding:
            0 30px;

    }

}


/* =========================================
   IMPACT / STATISTICS SECTION
========================================= */

.impact-section {

    position: relative;

    padding:
        110px 0;

    background:
        linear-gradient(
            135deg,
            #0A4E8A 0%,
            #146AA5 50%,
            #4FAFDE 100%
        );

    color:
        var(--white);

    overflow: hidden;

}


/* =========================================
   DECORATIVE SHAPES
========================================= */

.impact-shape {

    position: absolute;

    border-radius:
        50%;

    pointer-events:
        none;

}


.impact-shape-one {

    width:
        400px;

    height:
        400px;

    right:
        -180px;

    top:
        -180px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.12
        );

}


.impact-shape-two {

    width:
        250px;

    height:
        250px;

    left:
        -120px;

    bottom:
        -100px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.10
        );

}


/* =========================================
   HEADER
========================================= */

.impact-header {

    position:
        relative;

    max-width:
        750px;

    margin:
        0 auto 65px;

    text-align:
        center;

    z-index:
        2;

}


.impact-label {

    justify-content:
        center;

    color:
        var(--white);

}


.impact-label .label-line {

    background:
        var(--accent-gold);

}


.impact-header h2 {

    font-family:
        'Playfair Display',
        serif;

    font-size:
        clamp(
            36px,
            4vw,
            50px
        );

    line-height:
        1.25;

    margin:
        15px 0 20px;

    color:
        var(--white);

}


.impact-header h2 span {

    display:
        block;

    color:
        #DDEFFC;

}


.impact-header p {

    max-width:
        650px;

    margin:
        auto;

    color:
        rgba(
            255,
            255,
            255,
            0.82
        );

    font-size:
        15px;

    line-height:
        1.9;

}


/* =========================================
   STATISTICS
========================================= */

.impact-stats {

    position:
        relative;

    z-index:
        2;

}


/* =========================================
   STAT CARD
========================================= */

.impact-stat {

    height:
        100%;

    padding:
        35px 25px;

    text-align:
        center;

    background:
        rgba(
            255,
            255,
            255,
            0.10
        );

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.15
        );

    border-radius:
        20px;

    backdrop-filter:
        blur(10px);

    transition:
        all 0.4s ease;

}


.impact-stat:hover {

    transform:
        translateY(-8px);

    background:
        rgba(
            255,
            255,
            255,
            0.16
        );

    box-shadow:
        0 20px 50px
        rgba(
            0,
            0,
            0,
            0.12
        );

}


/* =========================================
   ICON
========================================= */

.impact-icon {

    width:
        60px;

    height:
        60px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    margin:
        0 auto 20px;

    border-radius:
        50%;

    background:
        rgba(
            255,
            255,
            255,
            0.14
        );

    color:
        var(--white);

    font-size:
        25px;

    transition:
        all 0.4s ease;

}


.impact-stat:hover
.impact-icon {

    background:
        var(--accent-gold);

    transform:
        rotate(8deg)
        scale(1.05);

}


/* =========================================
   NUMBER
========================================= */

.impact-number {

    display:
        flex;

    justify-content:
        center;

    align-items:
        baseline;

    margin-bottom:
        8px;

}


.counter {

    font-family:
        'Playfair Display',
        serif;

    font-size:
        48px;

    line-height:
        1;

    font-weight:
        700;

    color:
        var(--white);

}


.counter-symbol {

    font-family:
        'Playfair Display',
        serif;

    font-size:
        28px;

    font-weight:
        700;

    color:
        var(--accent-gold);

    margin-left:
        3px;

}


/* =========================================
   STAT TITLE
========================================= */

.impact-stat h4 {

    font-family:
        'Poppins',
        sans-serif;

    font-size:
        15px;

    font-weight:
        600;

    color:
        var(--white);

    margin-bottom:
        10px;

}


/* =========================================
   STAT DESCRIPTION
========================================= */

.impact-stat p {

    margin:
        0;

    color:
        rgba(
            255,
            255,
            255,
            0.70
        );

    font-size:
        12px;

    line-height:
        1.7;

}


/* =========================================
   BOTTOM QUOTE
========================================= */

.impact-bottom {

    position:
        relative;

    max-width:
        700px;

    margin:
        65px auto 0;

    padding-top:
        35px;

    text-align:
        center;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            0.18
        );

    z-index:
        2;

}


.impact-bottom i {

    display:
        block;

    color:
        var(--accent-gold);

    font-size:
        28px;

    margin-bottom:
        15px;

}


.impact-bottom p {

    margin:
        0;

    color:
        rgba(
            255,
            255,
            255,
            0.90
        );

    font-family:
        'Playfair Display',
        serif;

    font-size:
        21px;

    line-height:
        1.6;

    font-style:
        italic;

}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 767px) {

    .impact-section {

        padding:
            80px 0;

    }


    .impact-header {

        margin-bottom:
            45px;

    }


    .impact-header h2 span {

        display:
            inline;

    }


    .impact-stat {

        padding:
            28px 18px;

    }


    .counter {

        font-size:
            40px;

    }


    .counter-symbol {

        font-size:
            23px;

    }


    .impact-bottom {

        margin-top:
            45px;

    }


    .impact-bottom p {

        font-size:
            18px;

    }

}


/* =========================================
   UPCOMING EVENTS SECTION
========================================= */

.events-section {

    position:
        relative;

    padding:
        110px 0;

    background:
        var(--white);

    overflow:
        hidden;

}


/* =========================================
   HEADER
========================================= */

.events-header {

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        50px;

    margin-bottom:
        55px;

}


.events-title h2 {

    font-size:
        clamp(
            36px,
            4vw,
            48px
        );

    line-height:
        1.25;

    margin:
        15px 0 0;

}


.events-title h2 span {

    display:
        block;

    background:
        var(--gradient);

    -webkit-background-clip:
        text;

    -webkit-text-fill-color:
        transparent;

    background-clip:
        text;

}


.events-intro {

    max-width:
        500px;

}


.events-intro p {

    margin:
        0;

    color:
        var(--body-color);

    font-size:
        15px;

    line-height:
        1.9;

}


/* =========================================
   SLIDER WRAPPER
========================================= */

.events-slider-wrapper {

    position:
        relative;

    padding:
        0 55px;

}


/* =========================================
   EVENT CARD
========================================= */

.event-card {

    height:
        100%;

    overflow:
        hidden;

    background:
        var(--white);

    border:
        1px solid
        rgba(
            10,
            78,
            138,
            0.08
        );

    border-radius:
        22px;

    box-shadow:
        0 12px 40px
        rgba(
            10,
            78,
            138,
            0.07
        );

    transition:
        all 0.4s ease;

}


.event-card:hover {

    transform:
        translateY(-8px);

    box-shadow:
        0 25px 60px
        rgba(
            10,
            78,
            138,
            0.14
        );

}


/* =========================================
   EVENT IMAGE
========================================= */

.event-image {

    position:
        relative;

    height:
        230px;

    overflow:
        hidden;

}


.event-image img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform 0.6s ease;

}


.event-card:hover
.event-image img {

    transform:
        scale(1.07);

}


/* =========================================
   DATE BADGE
========================================= */

.event-date {

    position:
        absolute;

    top:
        18px;

    left:
        18px;

    width:
        62px;

    height:
        68px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    background:
        var(--white);

    border-radius:
        12px;

    box-shadow:
        0 8px 25px
        rgba(
            0,
            0,
            0,
            0.12
        );

}


.event-date span {

    font-family:
        'Playfair Display',
        serif;

    font-size:
        25px;

    line-height:
        1;

    font-weight:
        700;

    color:
        var(--primary-blue);

}


.event-date small {

    margin-top:
        4px;

    color:
        var(--accent-gold);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        1px;

}


/* =========================================
   EVENT CONTENT
========================================= */

.event-content {

    padding:
        30px;

}


/* =========================================
   CATEGORY
========================================= */

.event-category {

    display:
        inline-block;

    margin-bottom:
        12px;

    color:
        var(--accent-gold);

    font-size:
        10px;

    font-weight:
        700;

    letter-spacing:
        1.5px;

}


/* =========================================
   EVENT TITLE
========================================= */

.event-content h3 {

    font-family:
        'Playfair Display',
        serif;

    color:
        var(--primary-blue);

    font-size:
        24px;

    line-height:
        1.35;

    margin-bottom:
        15px;

}


/* =========================================
   DESCRIPTION
========================================= */

.event-content p {

    color:
        var(--body-color);

    font-size:
        13px;

    line-height:
        1.8;

    margin-bottom:
        20px;

}


/* =========================================
   EVENT DETAILS
========================================= */

.event-details {

    padding-top:
        18px;

    margin-bottom:
        22px;

    border-top:
        1px solid
        rgba(
            10,
            78,
            138,
            0.08
        );

}


.event-details div {

    display:
        flex;

    align-items:
        center;

    gap:
        8px;

    margin-bottom:
        8px;

    color:
        var(--light-text);

    font-size:
        12px;

}


.event-details i {

    color:
        var(--secondary-blue);

    font-size:
        15px;

}


/* =========================================
   KNOW MORE LINK
========================================= */

.event-link {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        8px;

    color:
        var(--primary-blue);

    font-size:
        14px;

    font-weight:
        600;

    transition:
        all 0.3s ease;

}


.event-link i {

    transition:
        transform 0.3s ease;

}


.event-link:hover {

    color:
        var(--accent-gold);

}


.event-link:hover i {

    transform:
        translateX(5px);

}


/* =========================================
   NAVIGATION
========================================= */

.events-prev,
.events-next {

    position:
        absolute;

    top:
        50%;

    transform:
        translateY(-50%);

    width:
        48px;

    height:
        48px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        var(--white);

    color:
        var(--primary-blue);

    box-shadow:
        0 8px 25px
        rgba(
            10,
            78,
            138,
            0.12
        );

    cursor:
        pointer;

    z-index:
        10;

    transition:
        all 0.3s ease;

}


.events-prev {

    left:
        0;

}


.events-next {

    right:
        0;

}


.events-prev:hover,
.events-next:hover {

    background:
        var(--primary-blue);

    color:
        var(--white);

    transform:
        translateY(-50%)
        scale(1.08);

}


/* =========================================
   PAGINATION
========================================= */

.events-slider-wrapper
.swiper-pagination {

    position:
        relative;

    margin-top:
        35px;

}


.events-slider-wrapper
.swiper-pagination-bullet {

    width:
        9px;

    height:
        9px;

    background:
        var(--primary-blue);

    opacity:
        0.25;

}


.events-slider-wrapper
.swiper-pagination-bullet-active {

    width:
        28px;

    border-radius:
        10px;

    opacity:
        1;

    background:
        var(--accent-gold);

}


/* =========================================
   BOTTOM BUTTON
========================================= */

.events-bottom {

    display:
        flex;

    justify-content:
        center;

    margin-top:
        45px;

}


.events-btn {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        14px 28px;

    border:
        1px solid
        var(--primary-blue);

    border-radius:
        50px;

    color:
        var(--primary-blue);

    font-size:
        14px;

    font-weight:
        600;

    transition:
        all 0.3s ease;

}


.events-btn:hover {

    background:
        var(--primary-blue);

    color:
        var(--white);

    transform:
        translateY(-3px);

}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .events-header {

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            20px;

    }


    .events-title h2 span {

        display:
            inline;

    }

}


@media (max-width: 767px) {

    .events-section {

        padding:
            80px 0;

    }


    .events-slider-wrapper {

        padding:
            0 40px;

    }


    .event-content {

        padding:
            25px;

    }


    .events-prev,
    .events-next {

        width:
            40px;

        height:
            40px;

    }

}


@media (max-width: 576px) {

    .events-title h2 {

        font-size:
            34px;

    }


    .events-slider-wrapper {

        padding:
            0 30px;

    }


    .event-image {

        height:
            210px;

    }

}

/* =========================================
   TESTIMONIALS SECTION
========================================= */

.testimonials-section {

    position:
        relative;

    padding:
        110px 0;

    background:
        var(--light-bg);

    overflow:
        hidden;

}


/* =========================================
   DECORATIVE SHAPES
========================================= */

.testimonial-shape {

    position:
        absolute;

    border-radius:
        50%;

    pointer-events:
        none;

}


.testimonial-shape-one {

    width:
        300px;

    height:
        300px;

    top:
        -150px;

    right:
        -100px;

    border:
        1px solid
        rgba(
            79,
            175,
            222,
            0.20
        );

}


.testimonial-shape-two {

    width:
        220px;

    height:
        220px;

    bottom:
        -100px;

    left:
        -80px;

    border:
        1px solid
        rgba(
            196,
            138,
            66,
            0.20
        );

}


/* =========================================
   HEADER
========================================= */

.testimonials-header {

    position:
        relative;

    max-width:
        700px;

    margin:
        0 auto 60px;

    text-align:
        center;

    z-index:
        2;

}


.testimonials-header .section-label {

    justify-content:
        center;

}


.testimonials-header h2 {

    font-size:
        clamp(
            36px,
            4vw,
            48px
        );

    line-height:
        1.25;

    margin:
        15px 0 20px;

}


.testimonials-header h2 span {

    display:
        block;

    background:
        var(--gradient);

    -webkit-background-clip:
        text;

    -webkit-text-fill-color:
        transparent;

    background-clip:
        text;

}


.testimonials-header p {

    max-width:
        600px;

    margin:
        auto;

    color:
        var(--body-color);

    font-size:
        15px;

    line-height:
        1.9;

}


/* =========================================
   SLIDER WRAPPER
========================================= */

.testimonial-slider-wrapper {

    position:
        relative;

    max-width:
        900px;

    margin:
        auto;

    padding:
        0 55px;

}


/* =========================================
   TESTIMONIAL CARD
========================================= */

.testimonial-card {

    position:
        relative;

    padding:
        50px 55px;

    background:
        var(--white);

    border-radius:
        25px;

    text-align:
        center;

    box-shadow:
        0 15px 50px
        rgba(
            10,
            78,
            138,
            0.08
        );

    transition:
        all 0.4s ease;

}


.testimonial-card:hover {

    box-shadow:
        0 25px 65px
        rgba(
            10,
            78,
            138,
            0.13
        );

}


/* =========================================
   QUOTE ICON
========================================= */

.testimonial-quote {

    position:
        absolute;

    top:
        20px;

    left:
        30px;

}


.testimonial-quote i {

    font-size:
        60px;

    line-height:
        1;

    color:
        rgba(
            79,
            175,
            222,
            0.18
        );

}


/* =========================================
   RATING
========================================= */

.testimonial-rating {

    margin-bottom:
        22px;

}


.testimonial-rating i {

    margin:
        0 2px;

    color:
        var(--accent-gold);

    font-size:
        15px;

}


/* =========================================
   TESTIMONIAL TEXT
========================================= */

.testimonial-text {

    max-width:
        700px;

    margin:
        0 auto 30px;

    color:
        var(--body-color);

    font-family:
        'Playfair Display',
        serif;

    font-size:
        21px;

    line-height:
        1.8;

    font-style:
        italic;

}


/* =========================================
   CLIENT
========================================= */

.testimonial-client {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        14px;

}


.client-avatar {

    width:
        50px;

    height:
        50px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        linear-gradient(
            135deg,
            var(--primary-blue),
            var(--secondary-blue)
        );

    color:
        var(--white);

    font-size:
        20px;

}


.testimonial-client h4 {

    margin:
        0 0 3px;

    color:
        var(--primary-blue);

    font-family:
        'Poppins',
        sans-serif;

    font-size:
        14px;

    font-weight:
        600;

}


.testimonial-client span {

    color:
        var(--light-text);

    font-size:
        11px;

}


/* =========================================
   NAVIGATION
========================================= */

.testimonial-prev,
.testimonial-next {

    position:
        absolute;

    top:
        50%;

    transform:
        translateY(-50%);

    width:
        48px;

    height:
        48px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        var(--white);

    color:
        var(--primary-blue);

    box-shadow:
        0 8px 25px
        rgba(
            10,
            78,
            138,
            0.12
        );

    cursor:
        pointer;

    z-index:
        10;

    transition:
        all 0.3s ease;

}


.testimonial-prev {

    left:
        0;

}


.testimonial-next {

    right:
        0;

}


.testimonial-prev:hover,
.testimonial-next:hover {

    background:
        var(--primary-blue);

    color:
        var(--white);

    transform:
        translateY(-50%)
        scale(1.08);

}


/* =========================================
   PAGINATION
========================================= */

.testimonial-slider-wrapper
.swiper-pagination {

    position:
        relative;

    margin-top:
        35px;

}


.testimonial-slider-wrapper
.swiper-pagination-bullet {

    width:
        9px;

    height:
        9px;

    background:
        var(--primary-blue);

    opacity:
        0.25;

}


.testimonial-slider-wrapper
.swiper-pagination-bullet-active {

    width:
        28px;

    border-radius:
        10px;

    opacity:
        1;

    background:
        var(--accent-gold);

}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 767px) {

    .testimonials-section {

        padding:
            80px 0;

    }


    .testimonials-header {

        margin-bottom:
            45px;

    }


    .testimonials-header h2 span {

        display:
            inline;

    }


    .testimonial-slider-wrapper {

        padding:
            0 35px;

    }


    .testimonial-card {

        padding:
            45px 25px;

    }


    .testimonial-text {

        font-size:
            18px;

        line-height:
            1.7;

    }


    .testimonial-quote {

        left:
            15px;

        top:
            15px;

    }


    .testimonial-quote i {

        font-size:
            45px;

    }


    .testimonial-prev,
    .testimonial-next {

        width:
            38px;

        height:
            38px;

        font-size:
            13px;

    }

}




/* =========================================
   FOOTER
========================================= */

.site-footer {

    position:
        relative;

    background:
        #073B69;

    color:
        var(--white);

}

/* =========================================
   MAIN FOOTER
========================================= */

.footer-main {

    padding:
        80px 0 65px;

}


/* =========================================
   FOOTER LOGO
========================================= */

.footer-logo {

    display:
        inline-block;

    margin-bottom:
        25px;

}


.footer-logo img {

    width:
        190px;

    height:
        auto;

    max-height:
        70px;

    object-fit:
        contain;

}


/* =========================================
   FOOTER ABOUT
========================================= */

.footer-about p {

    max-width:
        350px;

    margin:
        0 0 25px;

    color:
        rgba(
            255,
            255,
            255,
            0.72
        );

    font-size:
        14px;

    line-height:
        1.9;

}


/* =========================================
   SOCIAL MEDIA
========================================= */

.footer-social {

    display:
        flex;

    gap:
        10px;

}


.footer-social a {

    width:
        40px;

    height:
        40px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            0.20
        );

    border-radius:
        50%;

    color:
        var(--white);

    font-size:
        15px;

    transition:
        all 0.3s ease;

}


.footer-social a:hover {

    background:
        var(--accent-gold);

    border-color:
        var(--accent-gold);

    color:
        var(--white);

    transform:
        translateY(-4px);

}


/* =========================================
   FOOTER WIDGET
========================================= */

.footer-widget h4 {

    position:
        relative;

    margin:
        0 0 25px;

    padding-bottom:
        12px;

    color:
        var(--white);

    font-family:
        'Playfair Display',
        serif;

    font-size:
        21px;

    font-weight:
        700;

}


.footer-widget h4::after {

    content:
        '';

    position:
        absolute;

    left:
        0;

    bottom:
        0;

    width:
        35px;

    height:
        2px;

    background:
        var(--accent-gold);

}


/* =========================================
   FOOTER LINKS
========================================= */

.footer-widget ul {

    padding:
        0;

    margin:
        0;

    list-style:
        none;

}


.footer-widget ul li {

    margin-bottom:
        12px;

}


.footer-widget ul li a {

    position:
        relative;

    color:
        rgba(
            255,
            255,
            255,
            0.70
        );

    font-size:
        13px;

    transition:
        all 0.3s ease;

}


.footer-widget ul li a:hover {

    padding-left:
        7px;

    color:
        var(--accent-gold);

}


.footer-widget ul li a::before {

    content:
        '→';

    position:
        absolute;

    left:
        -15px;

    opacity:
        0;

    transition:
        all 0.3s ease;

}


.footer-widget ul li a:hover::before {

    opacity:
        1;

}


/* =========================================
   CONTACT
========================================= */

.footer-contact {

    display:
        flex;

    align-items:
        flex-start;

    gap:
        12px;

    margin-bottom:
        20px;

}


.footer-contact-icon {

    width:
        35px;

    height:
        35px;

    flex-shrink:
        0;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        8px;

    background:
        rgba(
            255,
            255,
            255,
            0.10
        );

    color:
        var(--accent-gold);

    font-size:
        15px;

}


.footer-contact span {

    display:
        block;

    margin-bottom:
        4px;

    color:
        rgba(
            255,
            255,
            255,
            0.45
        );

    font-size:
        10px;

    text-transform:
        uppercase;

    letter-spacing:
        1px;

}


.footer-contact p {

    margin:
        0;

    color:
        rgba(
            255,
            255,
            255,
            0.75
        );

    font-size:
        13px;

    line-height:
        1.7;

}


.footer-contact a {

    color:
        rgba(
            255,
            255,
            255,
            0.75
        );

    font-size:
        13px;

    transition:
        color 0.3s ease;

}


.footer-contact a:hover {

    color:
        var(--accent-gold);

}


/* =========================================
   FOOTER BOTTOM
========================================= */

.footer-bottom {

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            0.12
        );

}


.footer-bottom-inner {

    min-height:
        75px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

}


.footer-bottom p {

    margin:
        0;

    color:
        rgba(
            255,
            255,
            255,
            0.55
        );

    font-size:
        12px;

}


/* =========================================
   LEGAL LINKS
========================================= */

.footer-legal {

    display:
        flex;

    align-items:
        center;

    gap:
        10px;

}


.footer-legal a {

    color:
        rgba(
            255,
            255,
            255,
            0.55
        );

    font-size:
        12px;

    transition:
        color 0.3s ease;

}


.footer-legal a:hover {

    color:
        var(--accent-gold);

}


.footer-legal span {

    color:
        rgba(
            255,
            255,
            255,
            0.25
        );

}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 767px) {

    .footer-main {

        padding:
            60px 0 45px;

    }


    .footer-bottom-inner {

        flex-direction:
            column;

        justify-content:
            center;

        padding:
            20px 0;

        text-align:
            center;

    }


    .footer-legal {

        flex-wrap:
            wrap;

        justify-content:
            center;

    }

}


@media (max-width: 576px) {

    .footer-logo img {

        width:
            170px;

    }


    .footer-about p {

        font-size:
            13px;

    }

}

/* =========================================
   FLOATING SOCIAL MEDIA BUTTONS
========================================= */

.floating-social {

    position:
        fixed;

    right:
        25px;

    bottom:
        25px;

    display:
        flex;

    flex-direction:
        column;

    gap:
        12px;

    z-index:
        9999;

}


/* =========================================
   SOCIAL BUTTON
========================================= */

.floating-social-btn {

    position:
        relative;

    width:
        52px;

    height:
        52px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    color:
        var(--white);

    font-size:
        22px;

    text-decoration:
        none;

    box-shadow:
        0 8px 25px
        rgba(
            0,
            0,
            0,
            0.18
        );

    transition:
        all 0.35s ease;

}


/* =========================================
   WHATSAPP
========================================= */

.floating-social-btn.whatsapp {

    background:
        #25D366;

}


/* =========================================
   INSTAGRAM
========================================= */

.floating-social-btn.instagram {

    background:
        linear-gradient(
            135deg,
            #833AB4,
            #E1306C,
            #F77737
        );

}


/* =========================================
   FACEBOOK
========================================= */

.floating-social-btn.facebook {

    background:
        #1877F2;

}


/* =========================================
   HOVER EFFECT
========================================= */

.floating-social-btn:hover {

    color:
        var(--white);

    transform:
        translateY(-5px)
        scale(1.08);

    box-shadow:
        0 12px 30px
        rgba(
            0,
            0,
            0,
            0.25
        );

}


/* =========================================
   TOOLTIP
========================================= */

.floating-tooltip {

    position:
        absolute;

    right:
        65px;

    top:
        50%;

    transform:
        translateY(-50%)
        translateX(10px);

    padding:
        7px 12px;

    border-radius:
        6px;

    background:
        var(--primary-blue);

    color:
        var(--white);

    font-family:
        'Poppins',
        sans-serif;

    font-size:
        11px;

    font-weight:
        500;

    white-space:
        nowrap;

    opacity:
        0;

    visibility:
        hidden;

    transition:
        all 0.3s ease;

}


/* =========================================
   TOOLTIP ARROW
========================================= */

.floating-tooltip::after {

    content:
        '';

    position:
        absolute;

    right:
        -5px;

    top:
        50%;

    transform:
        translateY(-50%);

    border-top:
        5px solid transparent;

    border-bottom:
        5px solid transparent;

    border-left:
        5px solid
        var(--primary-blue);

}


/* =========================================
   SHOW TOOLTIP
========================================= */

.floating-social-btn:hover
.floating-tooltip {

    opacity:
        1;

    visibility:
        visible;

    transform:
        translateY(-50%)
        translateX(0);

}


/* =========================================
   WHATSAPP PULSE
========================================= */

.floating-social-btn.whatsapp::before {

    content:
        '';

    position:
        absolute;

    inset:
        0;

    border-radius:
        50%;

    border:
        2px solid
        #25D366;

    animation:
        whatsappPulse 2s
        infinite;

}


@keyframes whatsappPulse {

    0% {

        transform:
            scale(1);

        opacity:
            0.8;

    }


    70% {

        transform:
            scale(1.35);

        opacity:
            0;

    }


    100% {

        transform:
            scale(1.35);

        opacity:
            0;

    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 576px) {

    .floating-social {

        right:
            15px;

        bottom:
            15px;

        gap:
            9px;

    }


    .floating-social-btn {

        width:
            45px;

        height:
            45px;

        font-size:
            19px;

    }


    /* Hide tooltips on mobile */

    .floating-tooltip {

        display:
            none;

    }

}


