@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#ffffff;
    color:#222222;
    overflow-x:hidden;
    line-height:1.7;
}

img{
    width:100%;
    display:block;
}

ul{
    list-style:none;
}

a{
    text-decoration:none;
    color:inherit;
}
:root{

    --primary:#c41010;
    --primary-hover:#c41010;

    --white:#ffffff;
    --black:#222222;

    --radius:20px;

    --transition:.35s ease;
}
.container{

    width:90%;
    max-width:1400px;

    margin:auto;
}

section{

    padding:120px 0;
}

.section-label{

    display:inline-block;

    color:var(--primary);

    font-size:.95rem;
    font-weight:700;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:20px;
}
.btn{

    display:inline-flex;

    justify-content:center;
    align-items:center;

    padding:16px 35px;

    border-radius:50px;

    border:2px solid var(--primary);

    background:var(--primary);

    color:#fff;

    font-weight:600;

    transition:var(--transition);
}

.btn:hover{

    background:var(--primary-hover);

    border-color:var(--primary-hover);
}

.btn-outline{

    background:transparent;

    color:#fff;

    border:2px solid #fff;
}

.btn-outline:hover{

    background:#fff;

    color:var(--primary);
}

/* ===========================================
   NAVBAR
=========================================== */

#navbar{
    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: 90px;

    z-index: 9999;

    transition: .35s ease;
}

#navbar.scrolled{
    background: #c41010;

    backdrop-filter: blur(12px);

    box-shadow: 0 10px 30px rgba(0,0,0,.1);
}

.navbar{
    width: 90%;
    max-width: 1400px;

    height: 100%;

    margin: auto;

    display: flex;

    justify-content: space-between;

    align-items: center;
}

/* ===========================================
   LOGO
=========================================== */

.logo{
    display: flex;

    align-items: center;

    justify-content: center;
}

.logo img{
    width: auto;
    height: 70px;
}

/* ===========================================
   NAVIGATION
=========================================== */

nav{
    flex: 1;

    display: flex;

    justify-content: center;
}

.nav-links{
    display: flex;

    flex-direction: row;

    align-items: center;

    justify-content: center;

    gap: 50px;

    margin: 0;
    padding: 0;
}

.nav-links li{
    list-style: none;
}

.nav-links a{
    color: #ffffff;

    font-size: 16px;

    font-weight: 500;

    transition: .3s ease;
}

.nav-links a:hover{
    color: #000000;
}

/* ===========================================
   BUTTON
=========================================== */

.nav-btn{
    display: inline-flex;

    justify-content: center;

    align-items: center;

    padding: 14px 28px;

    border: 2px solid #ffffff;

    border-radius: 50px;

    color: #ffffff;

    font-weight: 600;

    transition: .35s ease;
}

.nav-btn:hover{
    background: #ffffff;

    color: #c41010;
}

/*=========================================
        HERO
=========================================*/
#hero{

    position:relative;

    width:100%;
    height:100vh;

    overflow:visible;

    display:flex;

    justify-content:center;
    align-items:center;
}

#hero::after{
    content: "";

    position: absolute;

    left: 0;
    bottom: -80px;

    width: 100%;
    height: 80px;

    background: linear-gradient(
        to top,
        transparent,
        rgba(0,0,0,.08),
        rgba(0,0,0,.15),
        rgba(0,0,0,.25)
    );

    pointer-events: none;

    z-index: 5;
}

.hero-video{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    z-index:1;
}
.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

    z-index:2;
}

/* bottom shadow */

.hero-overlay::after{

    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:100%;
    height:180px;

    background:linear-gradient(
        to bottom,
        transparent 0%,
        rgba(0,0,0,.10) 40%,
        rgba(0,0,0,.25) 70%,
        rgba(0,0,0,.50) 100%
    );

    z-index:4;
}
.hero-content{

    position:relative;

    z-index:3;

    text-align:center;

    color:#ffffff;

    max-width:1200px;

    margin:auto;
}
.hero-content h1{

    font-size:5rem;

    font-weight:800;

    line-height:1.1;

    text-transform:uppercase;

    margin-bottom:30px;
}

.hero-content h1 span{

    color:#c41010;
}
.hero-content p{

    max-width:900px;

    margin:auto auto 50px;

    font-size:1.2rem;

    font-weight:300;
}
.hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;
}

/* ==========================================
   LEARN MORE
========================================== */

#learn-more{
    position:relative;

    overflow:hidden;

    padding:140px 0;
}

.learn-bg{
    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    z-index:0;
}

.learn-overlay{
    position:absolute;

    inset:0;

    background:rgba(255,255,255,.82);

    z-index:1;
}

.learn-container {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 140px;

    align-items: center;
}

/* LEFT SIDE */

.learn-content h2{
    font-size:4rem;

    line-height:1.1;

    font-weight:700;

    margin-bottom:35px;
}

.learn-content h2 span{
    color:#c41010;
}

.learn-content p{
    font-size:1.15rem;

    line-height:1.8;

    margin-bottom:40px;
}

/* RIGHT SIDE */

.learn-map {
    display: flex;
    justify-content: flex-end;
    align-items: center;

    transform: translateX(280px);
}

.learn-map img{
    width:200%;

    max-width:1200px;

    object-fit:contain;
}

/* ==========================================
   WHY CHOOSE - HIDDEN BY DEFAULT
========================================== */

#why-choose {
    position: relative;

    overflow: hidden;

    max-height: 0;

    padding-top: 0;
    padding-bottom: 0;

    opacity: 0;
    visibility: hidden;

    margin: 0;

    transition:
        max-height 0.8s ease,
        opacity 0.4s ease,
        padding 0.8s ease,
        visibility 0.4s ease;
}


/* ==========================================
   WHY CHOOSE - VISIBLE
========================================== */

#why-choose.active {
    max-height: 2000px;

    padding: 120px 0;

    opacity: 1;

    visibility: visible;
}


/* ==========================================
   WHY CHOOSE BACKGROUND
========================================== */

.why-bg {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: 0;
}


/* ==========================================
   WHY CHOOSE OVERLAY
========================================== */

.why-overlay {
    position: absolute;

    inset: 0;

    /*
        White overlay keeps the background visible
        but makes the content easier to read.
    */
    background: rgba(255, 255, 255, 0.88);

    z-index: 1;
}


/* ==========================================
   WHY CHOOSE CONTAINER
========================================== */

#why-choose .container {
    position: relative;

    z-index: 2;

    max-width: 1450px;

    margin: 0 auto;

    padding: 0 40px;
}


/* ==========================================
   TITLE
========================================== */

.why-title {
    text-align: center;

    font-size: 3rem;

    line-height: 1.2;

    margin: 0 0 70px;

    font-weight: 800;

    color: #222222;
}


/* RED HIGHLIGHT */

.why-title span {
    color: #c41010;
}


/* ==========================================
   WHY CHOOSE GRID
========================================== */

.why-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 30px;
}


/* ==========================================
   WHY CHOOSE CARDS
========================================== */

.why-card {
    background: #293b6e;

    border: none;

    border-radius: 25px;

    padding: 40px 30px;

    text-align: center;

    color: #ffffff;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}


/* ==========================================
   CARD COLORS
========================================== */

.card-1,
.card-2,
.card-3,
.card-4 {
    background: #293b6e;
}


/* ==========================================
   CARD ICON
========================================== */

.why-card i {
    display: block;

    font-size: 55px;

    color: #ffffff;

    margin-bottom: 25px;
}


/* ==========================================
   CARD TITLE
========================================== */

.why-card h3 {
    color: #ffffff;

    font-size: 1.5rem;

    font-weight: 700;

    margin-bottom: 15px;
}


/* ==========================================
   CARD DESCRIPTION
========================================== */

.why-card p {
    color: #ffffff;

    font-size: 1rem;

    line-height: 1.6;

    margin: 0;
}


/* ==========================================
   CARD HOVER
========================================== */

.why-card:hover {
    transform: translateY(-10px);

    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.18);
}

/* ==================================================
   SERVICES
================================================== */

#services {
    position: relative;
    overflow: visible;

    padding: 120px 0 150px;

    background: #293b6e;
}


/* ==================================================
   SECTION SHADOWS
================================================== */

#services::before {
    content: "";

    position: absolute;

    top: -60px;
    left: 0;

    width: 100%;
    height: 60px;

    background: linear-gradient(
        to top,
        rgba(0,0,0,.18),
        rgba(0,0,0,.08),
        transparent
    );

    pointer-events: none;

    z-index: 2;
}


#services::after {
    content: "";

    position: absolute;

    bottom: -60px;
    left: 0;

    width: 100%;
    height: 60px;

    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.18),
        rgba(0,0,0,.08),
        transparent
    );

    pointer-events: none;

    z-index: 2;
}


/* ==================================================
   CONTAINER
================================================== */

#services .container {
    max-width: 1450px;

    margin: 0 auto;

    padding: 0 40px;
}


/* ==================================================
   SECTION TITLE
================================================== */

#services .section-label {
    display: block;

    text-align: center;

    color: #c41010;

    font-size: .95rem;

    font-weight: 700;

    letter-spacing: 4px;

    text-transform: uppercase;

    margin-bottom: 20px;
}


#services h2 {
    text-align: center;

    font-size: 3.4rem;

    line-height: 1.2;

    font-weight: 800;

    color: #ffffff;

    margin-bottom: 70px;
}


/* ==================================================
   SERVICES SLIDER
================================================== */

.services-slider {
    position: relative;
}


.serviceSwiper {
    width: 90%;

    overflow: visible;

    padding: 20px 0 70px;
}


.swiper-slide {
    display: flex;

    align-items: stretch;

    height: auto;
}


/* ==================================================
   SERVICE CARD
================================================== */

.service-card {
    width: 100%;

    height: 600px;

    padding: 22px;

    display: flex;

    flex-direction: column;

    background: #c41010;

    border-radius: 24px;

    overflow: hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}


.service-card:hover {
    transform: translateY(-8px);

    box-shadow:
        0 18px 40px rgba(0,0,0,.2);
}


/* ==================================================
   SERVICE IMAGE
================================================== */

.service-image {
    position: relative;

    width: 100%;

    height: 440px;

    margin-bottom: 22px;

    border-radius: 18px;

    overflow: hidden;

    cursor: pointer;
}


/* ==================================================
   BOTH IMAGES
================================================== */

.service-image img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition:
        opacity .4s ease,
        visibility .4s ease,
        transform .4s ease;
}


/* ==================================================
   NORMAL IMAGE
================================================== */

.service-image .image-default {
    opacity: 1;

    visibility: visible;

    z-index: 1;
}


/* ==================================================
   HOVER IMAGE
================================================== */
.image-hover {
    opacity: 0;
    z-index: 2;
    pointer-events: none;
}

.image-default {
    opacity: 1;
    z-index: 1;
    cursor: pointer;
}

.service-image .image-hover {
    opacity: 0;

    visibility: hidden;

    z-index: 2;
}


/* ==================================================
   HOVER EFFECT
================================================== */

.service-card:hover .service-image .image-default {
    opacity: 0;

    visibility: hidden;

    transform: scale(1.05);
}


.service-card:hover .service-image .image-hover {
    opacity: 1;

    visibility: visible;

    transform: scale(1.05);
}


/* ==================================================
   SERVICE CONTENT
================================================== */

.service-info {
    padding: 0 10px 10px;
}


.service-info h3 {
    color: #ffffff;

    font-size: 2.3rem;

    font-weight: 700;

    line-height: 1.25;

    margin-bottom: 18px;
}


.service-info p {
    color: #ffffff;

    font-size: 1.15rem;

    line-height: 1.7;

    margin: 0;
}


/* ==================================================
   SWIPER ARROWS
================================================== */

.swiper-button-prev,
.swiper-button-next {
    width: 60px;

    height: 60px;

    display: flex;

    justify-content: center;

    align-items: center;

    background: transparent;

    color: #c41010 !important;

    font-size: 55px;

    font-weight: bold;

    z-index: 100;
}


/* Remove Swiper's default arrow */
.swiper-button-prev::after,
.swiper-button-next::after {
    display: none !important;

    content: none !important;
}


/* Remove SVG/icon */
.swiper-button-prev i,
.swiper-button-next i,
.swiper-button-prev svg,
.swiper-button-next svg {
    display: none !important;
}


/* ==================================================
   CUSTOM ARROWS
================================================== */

.swiper-button-prev::before,
.swiper-button-next::before {
    font-size: 28px;

    font-weight: 700;

    color: #c41010;
}


/* ==================================================
   PAGINATION
================================================== */

.services-slider .swiper-pagination {
    position: absolute !important;

    left: 50% !important;

    bottom: -45px !important;

    transform: translateX(-50%) !important;

    width: auto !important;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 10px;

    z-index: 20;
}

/* ==========================================
   Gallery Modal
========================================== */

.gallery-modal {
    position: fixed;
    inset: 0;

    display: flex;
    justify-content: center;
    align-items: center;

    background: rgba(0, 0, 0, 0);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.35s ease,
        background 0.35s ease,
        visibility 0.35s ease;

    z-index: 999999;
}

.gallery-modal.active {
    opacity: 1;
    visibility: visible;

    background: rgba(0, 0, 0, 0.92);
}

.gallery-image {
    max-width: 90vw;
    max-height: 85vh;

    border-radius: 20px;

    transform: scale(0.9);

    transition:
        transform 0.35s ease,
        opacity 0.35s ease;

    opacity: 0;
}
.gallery-modal.active .gallery-image {
    transform: scale(1);
    opacity: 1;
}

.gallery-close{

    position: absolute;

    top: 30px;
    right: 40px;

    color: white;

    font-size: 50px;

    cursor: pointer;
}

.gallery-prev,
.gallery-next{

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 60px;
    height: 60px;

    border: none;

    border-radius: 50%;

    background: rgba(255,255,255,.2);

    color: white;

    font-size: 30px;

    cursor: pointer;
}

.gallery-prev,
.gallery-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);

    width: 70px;
    height: 70px;

    display: flex;
    justify-content: center;
    align-items: center;

    border: none;
    outline: none;

    border-radius: 50%;

    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);

    color: #ffffff;

    font-size: 40px;
    font-weight: bold;

    cursor: pointer;

    z-index: 999999;
}

.gallery-prev {
    left: 50px;
}

.gallery-next {
    right: 50px;
}

.gallery-prev:hover,
.gallery-next:hover {
    background: #c41010;
}
.gallery-prev span,
.gallery-next span {
    font-size: 48px;
    line-height: 1;
}

/* ==========================================
   CONTACT
========================================== */

#contact{
    position:relative;

    overflow:hidden;

    padding:140px 0;

    background:#ffffff;
}

/* background image */

.contact-bg{
    position:absolute;

    inset:0;

    z-index:0;
}

.contact-bg img{
    width:100%;
    height:100%;

    object-fit:cover;
}

/* overlay */

.contact-overlay{
    position:absolute;

    inset:0;

    background:rgba(255,255,255,.80);

    z-index:1;
}

/* content */

.contact-container{
    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:1fr 520px;

    gap:80px;

    align-items:center;
}

/* LEFT SIDE */

.contact-left h2 {
    margin: 20px 0 30px;

    font-size: 4rem;
    font-weight: 800;
    line-height: 1.1;
}

.contact-left span {
    color: #c41010;
}

.contact-left p {
    max-width: 550px;

    font-size: 1.05rem;
    line-height: 1.9;
}

/* RIGHT SIDE */

.contact-right {
    padding: 40px;

    border-radius: 25px;

    background: #293b6e;

    box-shadow: 0 25px 50px rgba(0, 0, 0, .12);
}

.contact-right form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.contact-right input,
.contact-right textarea {
    width: 100%;

    padding: 18px;

    border: none;
    outline: none;

    border-radius: 12px;

    font-size: 15px;

    font-family: "Poppins", sans-serif;
}

.contact-right textarea {
    resize: none;
}

.contact-right button {
    height: 60px;

    border: none;
    border-radius: 12px;

    background: #ffffff;

    font-size: 16px;
    font-weight: 700;

    cursor: pointer;

    transition: .3s;
}

.contact-right button:hover {
    background: #c41010;
    color: #ffffff;
}
/* ==========================================
   SISTER COMPANY
========================================== */

#sister-company{
    padding:140px 0;
}

.sister-card{
    margin-top:60px;

    background:#d9d9d9;

    border-radius:30px;

    padding:60px;

    display:grid;

    grid-template-columns:250px 1fr;

    gap:60px;

    align-items:center;

    box-shadow:0 20px 40px rgba(0,0,0,.1);
}

/* ==========================================
   LOGO
========================================== */

.sister-logo{
    display:flex;

    justify-content:center;

    align-items:center;
}

.sister-logo img{
    width:220px;

    height:auto;
}

/* ==========================================
   CONTENT
========================================== */

.sister-content h2{
    font-size:42px;

    margin-bottom:20px;

    color:#1b3d8d;
}

.sister-tag{
    display:inline-block;

    padding:10px 20px;

    margin-bottom:25px;

    border-radius:50px;

    background:#129e9d;

    color:#ffffff;

    font-weight:600;
}

.sister-content p{
    margin-bottom:30px;

    line-height:1.8;
}

/* ==========================================
   SERVICES
========================================== */

.sister-services{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

    margin-bottom:35px;
}

/* ==========================================
   BUTTON
========================================== */

.visit-btn{
    display:inline-block;

    padding:15px 35px;

    border-radius:50px;

    background:#129e9d;

    color:#ffffff;

    font-weight:700;

    transition:.3s ease;
}

.visit-btn:hover{
    transform:translateY(-3px);
}

/* ==========================================
   FOOTER
========================================== */

#footer{
    position: relative;
    margin-top: 60px;
    background: #aa0e0e;
    padding: 80px 0 30px;
}

#footer::before{
    content: "";

    position: absolute;

    top: -60px;
    left: 0;

    width: 100%;
    height: 60px;

    background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.35),
    rgba(0, 0, 0, 0.20),
    rgba(0, 0, 0, 0.08),
    transparent
);

    pointer-events: none;
}

.footer-top{
    display:grid;

    grid-template-columns:1fr 1fr 1fr 1.5fr;

    gap:50px;

    color:#ffffff;
}

/* ==========================================
   LOGO
========================================== */

.footer-logo{
    width:120px;

    margin-bottom:25px;
}

/* ==========================================
   HEADINGS
========================================== */

.footer-col h3{
    margin-bottom:25px;

    font-size:22px;

    font-weight:700;
}

/* ==========================================
   LISTS
========================================== */

.footer-col ul{
    padding:0;
}

.footer-col li{
    list-style:none;

    margin-bottom:15px;
}

.footer-col a{
    transition:.3s ease;
}

.footer-col a:hover{
    opacity:.8;
}

/* ==========================================
   MAP
========================================== */

.map-container{
    margin-top:20px;

    overflow:hidden;

    border-radius:16px;

    height:180px;
}

.map-container iframe{
    width:100%;
    height:100%;

    border:none;
}

.sister-card{
    margin-top:80px;

    background:#d9d9d9;

    border-radius:30px;

    padding:60px;

    display:grid;

    grid-template-columns:250px 1fr;

    gap:60px;

    align-items:center;
}

.copyright{
    margin-top:60px;

    text-align:center;

    color:#ffffff;
}


/* ===============================================================================================================================
                                                RESPONSIVE
================================================================================================================================= */

/* ==========================================================
   GLOBAL RESPONSIVE DESIGN
   PARK ADS / ADQUARTERS
   ========================================================== */

/* ----------------------------------------------------------
   GLOBAL
   ---------------------------------------------------------- */

html {
    width: 100%;
    overflow-x: hidden;
}

body {
    width: 100%;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
}

.container {
    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px;
}


/* ==========================================================
   LARGE TABLETS / SMALL LAPTOPS
   992px - 1199px
   ========================================================== */

@media (max-width: 1199px) {

    .container {
        padding-left: 35px;
        padding-right: 35px;
    }


    /* -----------------------------
       HERO
       ----------------------------- */

    #hero {
        min-height: 100vh;
    }

    .hero-content h1 {
        font-size: 4rem;
    }


    /* -----------------------------
       LEARN MORE / ABOUT
       ----------------------------- */

    #learn-more {
        padding: 110px 0;
    }

    .learn-container {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .learn-content h2 {
        font-size: 3.2rem;
    }

    .learn-content p {
        font-size: 1.05rem;
    }

    .learn-map img {
        max-width: 600px;
    }


    /* -----------------------------
       WHY CHOOSE
       ----------------------------- */

    .why-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .why-title {
        font-size: 2.7rem;
    }


    /* -----------------------------
       SERVICES
       ----------------------------- */

    #services h2 {
        font-size: 3rem;
    }

    .serviceSwiper {
        width: 95%;
    }

    .service-card {
        height: 580px;
    }

    .service-image {
        height: 350px;
    }

    .service-info h3 {
        font-size: 2rem;
    }


    /* -----------------------------
       SISTER COMPANY
       ----------------------------- */

    .sister-card {
        gap: 40px;
    }


    /* -----------------------------
       FOOTER
       ----------------------------- */

    .footer-top {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }

}


/* ==========================================================
   TABLETS
   768px - 991px
   ========================================================== */

@media (max-width: 991px) {

    .container {
        padding-left: 25px;
        padding-right: 25px;
    }


    /* -----------------------------
       NAVBAR
       ----------------------------- */

    .navbar {
        padding-left: 25px;
        padding-right: 25px;
    }


    /* -----------------------------
       HERO
       ----------------------------- */

    .hero-content {
        text-align: center;
        max-width: 750px;
        margin: 0 auto;
    }

    .hero-content h1 {
        font-size: 3.5rem;
    }

    .hero-content p {
        font-size: 1rem;
    }


    /* -----------------------------
       LEARN MORE
       ----------------------------- */

    #learn-more {
        padding: 100px 0;
    }

    .learn-container {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center;
    }

    .learn-content {
        max-width: 750px;
        margin: 0 auto;
    }

    .learn-content h2 {
        font-size: 3.2rem;
    }

    .learn-content p {
        font-size: 1.05rem;
    }

    .learn-map {
        justify-content: center;
    }

    .learn-map img {
        width: 80%;
        max-width: 600px;
    }


    /* -----------------------------
       WHY CHOOSE
       ----------------------------- */

    #why-choose {
        padding: 90px 0;
    }

    .why-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-card {
        padding: 35px 25px;
    }


    /* -----------------------------
       SERVICES
       ----------------------------- */

    #services {
        padding: 100px 0 130px;
    }

    #services h2 {
        font-size: 2.8rem;
        margin-bottom: 50px;
    }

    .serviceSwiper {
        width: 90%;
    }

    .service-card {
        height: 550px;
    }

    .service-image {
        height: 320px;
    }

    .service-info h3 {
        font-size: 1.9rem;
    }

    .service-info p {
        font-size: 1rem;
    }


    /* -----------------------------
       SISTER COMPANY
       ----------------------------- */

    .sister-card {
        flex-direction: column;
        text-align: center;
        gap: 35px;
    }

    .sister-logo {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .sister-content {
        width: 100%;
    }

    .sister-services {
        justify-content: center;
    }


    /* -----------------------------
       CONTACT
       ----------------------------- */

    .contact-container {
        grid-template-columns: 1fr;
        gap: 50px;
    }


    /* -----------------------------
       FOOTER
       ----------------------------- */

    .footer-top {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* ==========================================================
   MOBILE
   767px AND BELOW
   ========================================================== */

@media (max-width: 767px) {

    /* -----------------------------
       GLOBAL
       ----------------------------- */

    .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    section {
        width: 100%;
    }


    /* -----------------------------
       NAVBAR
       ----------------------------- */

    .navbar {
        padding: 15px 20px;
    }

    .navbar-logo img {
        max-width: 150px;
    }


    /* -----------------------------
       HERO
       ----------------------------- */

    #hero {
        min-height: 100svh;
        padding: 100px 20px 60px;
    }

    .hero-content {
        width: 100%;
        text-align: center;
    }

    .hero-content h1 {
        font-size: 2.4rem;
        line-height: 1.15;
    }

    .hero-content p {
        font-size: .95rem;
        line-height: 1.6;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }

    .hero-buttons .btn {
        width: 100%;
        max-width: 260px;
    }


    /* -----------------------------
       SECTION LABELS
       ----------------------------- */

    .section-label {
        font-size: .75rem !important;
        letter-spacing: 3px !important;
    }


    /* -----------------------------
       LEARN MORE / ABOUT
       ----------------------------- */

    #learn-more {
        padding: 80px 0;
    }

    .learn-container {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .learn-content {
        text-align: center;
        width: 100%;
    }

    .learn-content h2 {
        font-size: 2.35rem;
        line-height: 1.15;
        margin-bottom: 25px;
    }

    .learn-content p {
        font-size: .95rem;
        line-height: 1.7;
        margin-bottom: 30px;
    }

    .learn-content p br {
        display: none;
    }

    .learn-map {
        width: 100%;
        justify-content: center;
    }

    .learn-map img {
        width: 100%;
        max-width: 450px;
    }


    /* -----------------------------
       WHY CHOOSE
       ----------------------------- */

    #why-choose {
        padding: 70px 0;
    }

    .why-title {
        font-size: 2.1rem;
        line-height: 1.2;
        margin-bottom: 40px;
    }

    .why-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .why-card {
        width: 100%;
        padding: 35px 25px;
    }

    .why-card i {
        font-size: 45px;
        margin-bottom: 18px;
    }

    .why-card h3 {
        font-size: 1.4rem;
    }

    .why-card p {
        font-size: .95rem;
        line-height: 1.6;
    }


    /* -----------------------------
       SERVICES
       ----------------------------- */

    #services {
        padding: 80px 0 120px;
    }

    #services .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    #services h2 {
        font-size: 2.25rem;
        line-height: 1.2;
        margin-bottom: 40px;
    }

    #services h2 br {
        display: none;
    }

    .services-slider {
        width: 100%;
    }

    .serviceSwiper {
        width: 100%;
        padding-top: 10px;
    }

    .swiper-slide {
        width: 100%;
    }

    .service-card {
        height: auto;
        min-height: 500px;
        border-radius: 20px;
    }

    .service-image {
        height: 280px;
        margin-bottom: 18px;
        border-radius: 16px;
    }

    .service-info {
        padding: 0 15px 20px;
    }

    .service-info h3 {
        font-size: 1.7rem;
        line-height: 1.2;
        margin-bottom: 12px;
    }

    .service-info p {
        font-size: .95rem;
        line-height: 1.6;
    }


    /* HIDE DESKTOP SERVICE ARROWS */

    .swiper-button-prev,
    .swiper-button-next {
        display: none !important;
    }


    /* -----------------------------
       SERVICE PAGINATION
       ----------------------------- */

    .services-slider .swiper-pagination {
        bottom: -35px !important;
    }

    .services-slider .swiper-pagination-bullet {
        width: 9px !important;
        height: 9px !important;
    }

    .services-slider .swiper-pagination-bullet-active {
        width: 25px !important;
    }


    /* -----------------------------
       GALLERY
       ----------------------------- */

    .gallery-image {
        max-width: 90vw;
        max-height: 75vh;
        border-radius: 12px;
    }

    .gallery-close {
        top: 20px;
        right: 20px;
        font-size: 40px;
    }

    .gallery-prev,
    .gallery-next {
        width: 50px;
        height: 50px;
        font-size: 30px;
    }

    .gallery-prev {
        left: 15px;
    }

    .gallery-next {
        right: 15px;
    }

    .gallery-prev span,
    .gallery-next span {
        font-size: 30px;
    }


    /* -----------------------------
       SISTER COMPANY
       ----------------------------- */

    #sister-company {
        padding: 70px 0;
    }

    .sister-card {
        padding: 30px 20px;
        border-radius: 22px;
        flex-direction: column;
        gap: 25px;
        text-align: center;
    }

    .sister-logo img {
        width: 180px;
        max-width: 100%;
    }

    .sister-content h2 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .sister-tag {
        font-size: .9rem;
    }

    .sister-content p {
        font-size: .95rem;
        line-height: 1.7;
    }

    .sister-services {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .visit-btn {
        display: inline-block;
        width: 100%;
        max-width: 250px;
    }


    /* -----------------------------
       CONTACT
       ----------------------------- */

    #contact {
        padding: 70px 0;
    }

    .contact-container {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .contact-info h2 {
        font-size: 2.2rem;
    }

    .contact-info p {
        font-size: .95rem;
        line-height: 1.7;
    }

    .contact-form {
        width: 100%;
    }

    .contact-form input,
    .contact-form textarea,
    .contact-form select {
        width: 100%;
        font-size: 1rem;
    }


    /* -----------------------------
       FOOTER
       ----------------------------- */

    #footer {
        padding: 60px 0 25px;
    }

    .footer-top {
        grid-template-columns: 1fr;
        gap: 35px;
        text-align: center;
    }

    .footer-col {
        width: 100%;
    }

    .footer-logo {
        max-width: 180px;
    }

    .footer-col ul {
        padding: 0;
        list-style: none;
    }

    .footer-col h3 {
        font-size: 1.2rem;
    }

    .footer-col p,
    .footer-col li,
    .footer-col a {
        font-size: .95rem;
    }

    #footer .sister-card {
        margin-top: 40px;
    }

    .copyright {
        text-align: center;
        font-size: .85rem;
        margin-top: 30px;
    }

}


/* ==========================================================
   SMALL PHONES
   480px AND BELOW
   ========================================================== */

@media (max-width: 480px) {

    .container {
        padding-left: 15px;
        padding-right: 15px;
    }


    /* HERO */

    .hero-content h1 {
        font-size: 2rem;
    }


    /* ABOUT */

    .learn-content h2 {
        font-size: 2rem;
    }

    .learn-content p {
        font-size: .9rem;
    }


    /* WHY CHOOSE */

    .why-title {
        font-size: 1.8rem;
    }


    /* SERVICES */

    #services h2 {
        font-size: 2rem;
    }

    .service-card {
        min-height: 470px;
    }

    .service-image {
        height: 250px;
    }

    .service-info h3 {
        font-size: 1.5rem;
    }


    /* SISTER COMPANY */

    .sister-content h2 {
        font-size: 1.7rem;
    }


    /* GALLERY */

    .gallery-prev,
    .gallery-next {
        width: 45px;
        height: 45px;
    }

    .gallery-prev {
        left: 10px;
    }

    .gallery-next {
        right: 10px;
    }

}

/* =================================
   PARK ADS SUCCESS MODAL
================================= */

#successModal.contact-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 100vw !important;
    height: 100vh !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 20px !important;
    box-sizing: border-box !important;

    background: rgba(0, 0, 0, 0.72) !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    z-index: 2147483647 !important;

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

#successModal.contact-modal.show {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#successModal .contact-modal-content {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    max-width: 440px !important;
    height: auto !important;
    min-height: 0 !important;

    margin: auto !important;
    padding: 40px 32px 32px !important;

    box-sizing: border-box !important;

    background: #ffffff !important;
    border-radius: 18px !important;

    text-align: center !important;

    color: #222222 !important;

    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.4) !important;

    transform: translateY(-15px) !important;
    transition: transform 0.25s ease;
}

#successModal.contact-modal.show
.contact-modal-content {
    transform: translateY(0) !important;
}

#successModal .modal-close {
    position: absolute !important;
    top: 10px !important;
    right: 12px !important;

    width: 35px !important;
    height: 35px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: none !important;
    border-radius: 50% !important;

    background: transparent !important;
    color: #222222 !important;

    font-size: 28px !important;
    line-height: 35px !important;

    cursor: pointer !important;
}

#successModal .modal-close:hover {
    background: #eeeeee !important;
}

#successModal .modal-check {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 70px !important;
    height: 70px !important;

    margin: 0 auto 20px !important;

    border-radius: 50% !important;

    background: #c41010 !important;
    color: #ffffff !important;

    font-size: 42px !important;
    font-weight: 700 !important;
}

#successModal h3 {
    display: block !important;

    margin: 0 0 12px !important;

    color: #222222 !important;

    font-size: 27px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

#successModal p {
    display: block !important;

    margin: 0 0 25px !important;

    color: #555555 !important;

    font-size: 16px !important;
    line-height: 1.6 !important;
}

#successModal .modal-ok-button {
    display: block !important;

    width: 100% !important;

    padding: 15px 20px !important;
    margin: 0 !important;

    border: none !important;
    border-radius: 10px !important;

    background: #c41010 !important;
    color: #ffffff !important;

    font-size: 16px !important;
    font-weight: 700 !important;

    cursor: pointer !important;
}

#successModal .modal-ok-button:hover {
    background: #c41010 !important;
}

@media (max-width: 600px) {
    #successModal .contact-modal-content {
        max-width: 340px !important;
        padding: 38px 24px 25px !important;
    }

    #successModal h3 {
        font-size: 23px !important;
    }

    #successModal p {
        font-size: 14px !important;
    }
}