/*==========================================================
style.css (Part 1)
MK Realestate Landing Page
==========================================================*/

/*==========================================================
CSS VARIABLES
==========================================================*/

:root{

    /* Brand Colors */

    --color-primary:#0f0f0f;
    --color-primary-light:#1b1b1b;
    --color-primary-soft:#262626;

    --color-secondary:#d4af37;
    --color-secondary-dark:#b68d1d;
    --color-secondary-light:#f1d87c;

    --color-bg:#ffffff;
    --color-bg-soft:#f8f8f8;
    --color-bg-dark:#111111;

    --color-text:#1d1d1d;
    --color-text-light:#666666;

    --color-border:#e9e9e9;

    --color-success:#2ba84a;
    --color-danger:#d62839;

    /* Shadows */

    --shadow-xs:0 2px 6px rgba(0,0,0,.05);

    --shadow-sm:0 8px 25px rgba(0,0,0,.08);

    --shadow-md:0 15px 45px rgba(0,0,0,.12);

    --shadow-lg:0 30px 70px rgba(0,0,0,.18);

    /* Radius */

    --radius-sm:10px;

    --radius-md:18px;

    --radius-lg:30px;

    --radius-xl:40px;

    --radius-full:999px;

    /* Transition */

    --transition:.35s ease;

    /* Width */

    --container:1280px;

    /* Typography */

    --fs-display:clamp(2.8rem,5vw,5rem);

    --fs-h1:clamp(2.2rem,4vw,4rem);

    --fs-h2:clamp(1.8rem,3vw,3rem);

    --fs-h3:clamp(1.3rem,2vw,1.8rem);

    --fs-body:clamp(.95rem,1vw,1.08rem);

    /* Spacing */

    --space-1:.5rem;
    --space-2:1rem;
    --space-3:1.5rem;
    --space-4:2rem;
    --space-5:3rem;
    --space-6:4rem;
    --space-7:6rem;
    --space-8:8rem;

}

/*==========================================================
RESET
==========================================================*/

*,
*::before,
*::after{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:"Cairo",sans-serif;

    background:var(--color-bg);

    color:var(--color-text);

    line-height:1.9;

    overflow-x:hidden;

    text-rendering:optimizeLegibility;

}

img{

    max-width:100%;

    display:block;

}

ul{

    list-style:none;

}

a{

    text-decoration:none;

    color:inherit;

}

button,
input,
textarea{

    font-family:inherit;

}

button{

    border:none;

    cursor:pointer;

}

section{

    padding:110px 0;

}

.container{

    width:min(92%,var(--container));

    margin-inline:auto;

}

/*==========================================================
SCROLLBAR
==========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-thumb{

    background:var(--color-secondary);

    border-radius:50px;

}

::-webkit-scrollbar-track{

    background:#f2f2f2;

}

/*==========================================================
TYPOGRAPHY
==========================================================*/

.section-heading{

    text-align:center;

    margin-bottom:70px;

}

.section-heading span{

    color:var(--color-secondary);

    font-weight:700;

    letter-spacing:1px;

    display:inline-block;

    margin-bottom:12px;

}

.section-heading h2{

    font-size:var(--fs-h2);

    margin-bottom:18px;

}

.section-heading p{

    max-width:700px;

    margin:auto;

    color:var(--color-text-light);

}

.section-subtitle{

    color:var(--color-secondary);

    font-weight:700;

    display:inline-block;

    margin-bottom:18px;

}

/*==========================================================
BUTTONS
==========================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:.7rem;

    min-width:160px;

    padding:16px 28px;

    border-radius:999px;

    transition:var(--transition);

    font-weight:700;

    position:relative;

}

.btn-primary{

    background:linear-gradient(135deg,
    var(--color-secondary),
    var(--color-secondary-dark));

    color:#000;

}

.btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:var(--shadow-md);

}

.btn-secondary{

    background:var(--color-primary);

    color:#fff;

}

.btn-secondary:hover{

    background:#1b1b1b;

}

.btn-outline{

    border:2px solid var(--color-secondary);

    color:var(--color-secondary);

    background:transparent;

}

.btn-outline:hover{

    background:var(--color-secondary);

    color:#000;

}

.btn-full{

    width:100%;

}

/*==========================================================
PAGE LOADER
==========================================================*/

.page-loader{

    position:fixed;

    inset:0;

    background:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    z-index:99999;

    transition:.6s;

}

.page-loader.hidden{

    opacity:0;

    visibility:hidden;

}

.loader-circle{

    width:70px;

    height:70px;

    border-radius:50%;

    border:5px solid #eee;

    border-top-color:var(--color-secondary);

    animation:spin .8s linear infinite;

}

@keyframes spin{

    to{

        transform:rotate(360deg);

    }

}

/*==========================================================
HEADER
==========================================================*/

.site-header{

    position:fixed;

    inset-inline:0;

    top:0;

    z-index:1000;

    padding:18px 0;

    transition:var(--transition);

}

.site-header.scrolled{

    background:rgba(15,15,15,.95);

    backdrop-filter:blur(14px);

    box-shadow:var(--shadow-sm);

}

.header-wrapper{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo{

    font-size:1.7rem;

    font-weight:900;

    color:#fff;

}

.logo span{

    color:var(--color-secondary);

}

.nav-list{

    display:flex;

    gap:32px;

}

.nav-list a{

    color:#fff;

    font-weight:600;

    transition:var(--transition);

    position:relative;

}

.nav-list a::after{

    content:"";

    position:absolute;

    bottom:-8px;

    right:0;

    width:0;

    height:2px;

    background:var(--color-secondary);

    transition:var(--transition);

}

.nav-list a:hover::after{

    width:100%;

}

.header-actions{

    display:flex;

    gap:14px;

    align-items:center;

}

.mobile-toggle{

    display:none;

    background:none;

    color:#fff;

    font-size:2rem;

}

/*==========================================================
HERO
==========================================================*/

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    position:relative;

    overflow:hidden;

    background:
    radial-gradient(circle at top right,
    rgba(212,175,55,.12),
    transparent 30%),
    linear-gradient(130deg,
    #090909,
    #181818);

}

/*==========================================================
style.css (Part 2)
HERO + FEATURES + ABOUT + SERVICES
==========================================================*/

/*==========================================================
HERO
==========================================================*/

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            rgba(0,0,0,.55),
            rgba(0,0,0,.65)
        );

    z-index:1;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:
        radial-gradient(circle at 20% 20%,
        rgba(212,175,55,.18),
        transparent 40%),
        radial-gradient(circle at 80% 80%,
        rgba(212,175,55,.10),
        transparent 35%);

    animation:floatingBackground 10s ease-in-out infinite alternate;

    z-index:0;

}

@keyframes floatingBackground{

    from{

        transform:scale(1);

    }

    to{

        transform:scale(1.08);

    }

}

.hero .container{

    position:relative;

    z-index:5;

}

.hero-grid{

    display:grid;

    grid-template-columns:1.3fr .7fr;

    gap:70px;

    align-items:center;

}

.hero-content{

    color:#fff;

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    padding:10px 22px;

    border-radius:999px;

    background:rgba(212,175,55,.12);

    border:1px solid rgba(212,175,55,.35);

    color:var(--color-secondary);

    font-weight:700;

    margin-bottom:25px;

}

.hero-content h1{

    font-size:var(--fs-display);

    line-height:1.15;

    margin-bottom:28px;

    font-weight:900;

}

.hero-content p{

    font-size:1.1rem;

    max-width:680px;

    color:#d7d7d7;

    margin-bottom:35px;

}

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

    margin-bottom:45px;

}

.hero-stats{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

}

.stat-card{

    padding:24px;

    background:rgba(255,255,255,.05);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    text-align:center;

    transition:.35s;

}

.stat-card:hover{

    transform:translateY(-8px);

    border-color:rgba(212,175,55,.5);

}

.stat-card h3{

    color:var(--color-secondary);

    font-size:2rem;

    margin-bottom:10px;

}

.stat-card span{

    color:#ddd;

    font-size:.95rem;

}

/*==========================================================
FLOATING CARD
==========================================================*/

.hero-card{

    display:flex;

    justify-content:center;

}

.floating-card{

    width:100%;

    max-width:400px;

    padding:40px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    border-radius:30px;

    border:1px solid rgba(255,255,255,.15);

    color:#fff;

    box-shadow:var(--shadow-lg);

    animation:floatCard 5s ease-in-out infinite;

}

@keyframes floatCard{

    50%{

        transform:translateY(-10px);

    }

}

.floating-card h3{

    margin-bottom:25px;

    color:var(--color-secondary);

    font-size:1.8rem;

}

.floating-card ul{

    display:grid;

    gap:18px;

    margin-bottom:35px;

}

.floating-card li{

    font-size:1rem;

}

/*==========================================================
FEATURES
==========================================================*/

.features{

    background:var(--color-bg-soft);

}

.features-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.feature-card{

    background:#fff;

    border-radius:24px;

    padding:40px 30px;

    text-align:center;

    transition:.35s;

    border:1px solid var(--color-border);

    box-shadow:var(--shadow-xs);

}

.feature-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-md);

}

.feature-icon{

    width:78px;

    height:78px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2rem;

    margin:0 auto 25px;

    background:linear-gradient(
        135deg,
        var(--color-secondary),
        var(--color-secondary-dark)
    );

}

.feature-card h3{

    margin-bottom:15px;

    font-size:1.35rem;

}

.feature-card p{

    color:var(--color-text-light);

}

/*==========================================================
ABOUT
==========================================================*/

.about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.image-box{

    min-height:560px;

    border-radius:35px;

    background:
        linear-gradient(
            135deg,
            #0f0f0f,
            #262626
        );

    display:flex;

    align-items:center;

    justify-content:center;

    position:relative;

    overflow:hidden;

}

.image-box::before{

    content:"";

    position:absolute;

    width:350px;

    height:350px;

    border-radius:50%;

    background:rgba(212,175,55,.15);

    filter:blur(40px);

}

.image-box span{

    position:relative;

    font-size:5rem;

    font-weight:900;

    color:var(--color-secondary);

}

.about-content h2{

    font-size:var(--fs-h2);

    margin-bottom:25px;

}

.about-content p{

    color:var(--color-text-light);

    margin-bottom:35px;

}

.about-list{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

    margin-bottom:45px;

}

.about-item{

    padding:16px 18px;

    background:var(--color-bg-soft);

    border-radius:16px;

    border:1px solid var(--color-border);

    font-weight:600;

}

.about-actions{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

/*==========================================================
SERVICES
==========================================================*/

.services{

    background:#0f0f0f;

    color:#fff;

}

.services .section-heading h2{

    color:#fff;

}

.services .section-heading p{

    color:#cfcfcf;

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.service-card{

    background:#171717;

    border-radius:26px;

    padding:40px;

    transition:.35s;

    border:1px solid rgba(255,255,255,.06);

    position:relative;

    overflow:hidden;

}

.service-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(212,175,55,.08),
        transparent
    );

    opacity:0;

    transition:.35s;

}

.service-card:hover::before{

    opacity:1;

}

.service-card:hover{

    transform:translateY(-10px);

    border-color:rgba(212,175,55,.45);

}

.service-number{

    font-size:3rem;

    font-weight:900;

    color:rgba(212,175,55,.25);

    margin-bottom:18px;

}

.service-card h3{

    color:#fff;

    margin-bottom:18px;

    font-size:1.5rem;

}

.service-card p{

    color:#cfcfcf;

    line-height:1.9;

}

/*==========================================================
style.css (Part 3)
PROJECTS + COUNTERS + TESTIMONIALS + FAQ + CTA + CONTACT
==========================================================*/

/*==========================================================
PROJECTS
==========================================================*/

.projects{

    background:var(--color-bg);

}

.projects-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:32px;

}

.project-card{

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

    border:1px solid var(--color-border);

}

.project-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.project-image{

    height:260px;

    background:
    linear-gradient(
    135deg,
    var(--color-primary),
    #2b2b2b);

    display:flex;

    justify-content:center;

    align-items:center;

    color:var(--color-secondary);

    font-size:2rem;

    font-weight:800;

    letter-spacing:2px;

}

.project-content{

    padding:32px;

}

.project-content h3{

    margin-bottom:14px;

    font-size:1.6rem;

}

.project-content p{

    color:var(--color-text-light);

    margin-bottom:24px;

}

.project-content a{

    color:var(--color-secondary);

    font-weight:700;

    transition:var(--transition);

}

.project-content a:hover{

    padding-right:10px;

}

/*==========================================================
COUNTERS
==========================================================*/

.counter-section{

    background:
    linear-gradient(
    135deg,
    #0f0f0f,
    #1b1b1b);

    color:#fff;

}

.counter-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.counter-item{

    text-align:center;

}

.counter-item h2{

    font-size:3.5rem;

    color:var(--color-secondary);

    margin-bottom:12px;

    font-weight:900;

}

.counter-item span{

    color:#ddd;

}

/*==========================================================
TESTIMONIALS
==========================================================*/

.testimonials{

    background:var(--color-bg-soft);

}

.testimonial-slider{

    max-width:850px;

    margin:auto;

    position:relative;

}

.testimonial-card{

    display:none;

    background:#fff;

    padding:60px;

    border-radius:30px;

    box-shadow:var(--shadow-sm);

    text-align:center;

    animation:fadeIn .5s ease;

}

.testimonial-card.active{

    display:block;

}

.testimonial-card p{

    font-size:1.15rem;

    color:var(--color-text-light);

    margin-bottom:28px;

    line-height:2;

}

.testimonial-card h4{

    color:var(--color-secondary);

    font-size:1.3rem;

}

@keyframes fadeIn{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

/*==========================================================
FAQ
==========================================================*/

.faq{

    background:#fff;

}

.faq-wrapper{

    max-width:900px;

    margin:auto;

}

.faq-item{

    border:1px solid var(--color-border);

    margin-bottom:18px;

    border-radius:18px;

    overflow:hidden;

    transition:var(--transition);

}

.faq-item.active{

    box-shadow:var(--shadow-sm);

}

.faq-question{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:24px 30px;

    background:#fff;

    font-size:1.1rem;

    font-weight:700;

}

.faq-question span{

    color:var(--color-secondary);

    font-size:1.6rem;

    transition:var(--transition);

}

.faq-item.active .faq-question span{

    transform:rotate(45deg);

}

.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:max-height .4s ease;

}

.faq-item.active .faq-answer{

    max-height:250px;

}

.faq-answer p{

    padding:0 30px 28px;

    color:var(--color-text-light);

}

/*==========================================================
CTA
==========================================================*/

.cta-section{

    background:
    linear-gradient(
    135deg,
    #111,
    #222);

}

.cta-box{

    text-align:center;

    color:#fff;

    padding:70px;

    border-radius:35px;

    border:1px solid rgba(212,175,55,.25);

    background:
    linear-gradient(
    145deg,
    rgba(255,255,255,.04),
    rgba(255,255,255,.02));

}

.cta-box span{

    color:var(--color-secondary);

    display:block;

    margin-bottom:16px;

    font-weight:700;

}

.cta-box h2{

    font-size:var(--fs-h2);

    margin-bottom:22px;

}

.cta-box p{

    max-width:720px;

    margin:0 auto 35px;

    color:#ddd;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:18px;

    flex-wrap:wrap;

}

/*==========================================================
CONTACT
==========================================================*/

.contact{

    background:var(--color-bg-soft);

}

.contact-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

}

.contact-info h2{

    font-size:var(--fs-h2);

    margin-bottom:22px;

}

.contact-info>p{

    color:var(--color-text-light);

    margin-bottom:35px;

}

.contact-items{

    display:grid;

    gap:22px;

}

.contact-item{

    display:flex;

    gap:18px;

    align-items:flex-start;

    background:#fff;

    border-radius:20px;

    padding:22px;

    box-shadow:var(--shadow-xs);

}

.contact-icon{

    width:58px;

    height:58px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:var(--color-secondary);

    font-size:1.4rem;

}

.contact-form-wrapper{

    background:#fff;

    padding:40px;

    border-radius:30px;

    box-shadow:var(--shadow-md);

}

.contact-form{

    display:grid;

    gap:22px;

}

.form-group{

    display:flex;

    flex-direction:column;

    gap:10px;

}

.form-group label{

    font-weight:700;

}

.form-group input,
.form-group textarea{

    width:100%;

    padding:16px 18px;

    border:1px solid var(--color-border);

    border-radius:14px;

    transition:var(--transition);

    resize:none;

    background:#fff;

}

.form-group input:focus,
.form-group textarea:focus{

    outline:none;

    border-color:var(--color-secondary);

    box-shadow:0 0 0 4px rgba(212,175,55,.15);

}

.form-group input.error{

    border-color:var(--color-danger);

}

.form-group input.success{

    border-color:var(--color-success);

}

/*==========================================================
style.css (Part 4)
FOOTER + UTILITIES + ANIMATIONS + RESPONSIVE
==========================================================*/

/*==========================================================
FOOTER
==========================================================*/

.site-footer{

    background:var(--color-primary);

    color:#fff;

    padding-top:90px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1fr;

    gap:50px;

    padding-bottom:60px;

}

.footer-logo{

    display:inline-flex;

    margin-bottom:22px;

}

.footer-about p{

    color:#c8c8c8;

    max-width:420px;

}

.site-footer h3{

    margin-bottom:24px;

    color:var(--color-secondary);

    font-size:1.2rem;

}

.site-footer ul{

    display:grid;

    gap:14px;

}

.site-footer li{

    color:#d4d4d4;

    transition:var(--transition);

}

.site-footer a:hover{

    color:var(--color-secondary);

    padding-right:8px;

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.08);

    text-align:center;

    padding:28px 0;

    color:#bfbfbf;

}

/*==========================================================
BACK TO TOP
==========================================================*/

.back-to-top{

    position:fixed;

    left:30px;

    bottom:30px;

    width:55px;

    height:55px;

    border-radius:50%;

    background:var(--color-secondary);

    color:#000;

    font-size:1.3rem;

    font-weight:800;

    box-shadow:var(--shadow-md);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:var(--transition);

    z-index:999;

}

.back-to-top.show{

    opacity:1;

    visibility:visible;

}

.back-to-top:hover{

    transform:translateY(-6px);

}

/*==========================================================
GLOBAL ANIMATIONS
==========================================================*/

.fade-up{

    opacity:0;

    transform:translateY(40px);

    transition:all .8s ease;

}

.fade-up.show{

    opacity:1;

    transform:none;

}

.scale-in{

    transform:scale(.9);

    opacity:0;

    transition:all .6s ease;

}

.scale-in.show{

    opacity:1;

    transform:scale(1);

}

.hover-lift{

    transition:var(--transition);

}

.hover-lift:hover{

    transform:translateY(-8px);

}

.glow{

    box-shadow:0 0 25px rgba(212,175,55,.25);

}

/*==========================================================
SELECTION
==========================================================*/

::selection{

    background:var(--color-secondary);

    color:#000;

}

/*==========================================================
FOCUS ACCESSIBILITY
==========================================================*/

a:focus,
button:focus,
input:focus,
textarea:focus{

    outline:3px solid rgba(212,175,55,.35);

    outline-offset:3px;

}

/*==========================================================
UTILITY CLASSES
==========================================================*/

.text-center{

    text-align:center;

}

.text-right{

    text-align:right;

}

.mt-1{margin-top:var(--space-1);}
.mt-2{margin-top:var(--space-2);}
.mt-3{margin-top:var(--space-3);}
.mt-4{margin-top:var(--space-4);}
.mt-5{margin-top:var(--space-5);}

.mb-1{margin-bottom:var(--space-1);}
.mb-2{margin-bottom:var(--space-2);}
.mb-3{margin-bottom:var(--space-3);}
.mb-4{margin-bottom:var(--space-4);}
.mb-5{margin-bottom:var(--space-5);}

.hidden{

    display:none !important;

}

/*==========================================================
RESPONSIVE
==========================================================*/

@media (max-width:1200px){

    .hero-grid{

        grid-template-columns:1fr;

        gap:60px;

    }

    .about-grid{

        grid-template-columns:1fr;

    }

    .contact-grid{

        grid-template-columns:1fr;

    }

    .footer-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:992px){

    section{

        padding:90px 0;

    }

    .nav-list{

        position:fixed;

        top:90px;

        right:-100%;

        width:300px;

        height:calc(100vh - 90px);

        background:#111;

        flex-direction:column;

        padding:40px;

        gap:28px;

        transition:.4s;

        box-shadow:var(--shadow-lg);

    }

    .nav-list.active{

        right:0;

    }

    .mobile-toggle{

        display:block;

    }

    .header-actions .btn{

        display:none;

    }

    .features-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .services-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .projects-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .counter-grid{

        grid-template-columns:repeat(2,1fr);

        gap:40px;

    }

}

@media (max-width:768px){

    .hero{

        text-align:center;

    }

    .hero-buttons{

        justify-content:center;

    }

    .hero-stats{

        grid-template-columns:1fr;

    }

    .about-list{

        grid-template-columns:1fr;

    }

    .features-grid,

    .services-grid,

    .projects-grid{

        grid-template-columns:1fr;

    }

    .cta-box{

        padding:45px 30px;

    }

    .footer-grid{

        grid-template-columns:1fr;

    }

    .testimonial-card{

        padding:40px 25px;

    }

    .project-image{

        height:220px;

    }

}

@media (max-width:576px){

    html{

        font-size:15px;

    }

    .container{

        width:94%;

    }

    .btn{

        width:100%;

    }

    .hero-buttons{

        flex-direction:column;

    }

    .about-actions{

        flex-direction:column;

    }

    .cta-buttons{

        flex-direction:column;

    }

    .contact-form-wrapper{

        padding:25px;

    }

    .floating-card{

        padding:30px 24px;

    }

    .counter-item h2{

        font-size:2.7rem;

    }

    .back-to-top{

        left:18px;

        bottom:18px;

        width:48px;

        height:48px;

    }

}

@media (prefers-reduced-motion:reduce){

    *{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}

/*==========================================================
END OF FILE
==========================================================*/




/*=========================================
Root Variables
=========================================*/

:root{

--primary:#2563eb;

--text:#222;

--white:#ffffff;

--border:#e5e7eb;

--radius:16px;

--shadow:
0 8px 25px rgba(0,0,0,.08);

--transition:.35s ease;

--container:1280px;

}

/*=========================================
Reset
=========================================*/




img{

display:block;

width:100%;

height:100%;

object-fit:cover;

}

a{

text-decoration:none;

color:inherit;

}

/*=========================================
Container
=========================================*/

.container{

width:min(100% - 40px,var(--container));

margin:auto;

}

/*=========================================
Gallery Section
=========================================*/

.gallery-section{

padding:80px 0;

}

.section-title{

font-size:40px;

font-weight:800;

text-align:center;

margin-bottom:45px;

color:#111827;

}

/*=========================================
Gallery Grid
=========================================*/

.gallery{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}

/*=========================================
Gallery Item
=========================================*/

.gallery-item{

position:relative;

overflow:hidden;

border-radius:var(--radius);

background:var(--white);

box-shadow:var(--shadow);

aspect-ratio:1/1;

cursor:pointer;

transition:var(--transition);

}

.gallery-item img{

transition:.6s ease;

}

.gallery-item:hover{

transform:translateY(-8px);

}

.gallery-item:hover img{

transform:scale(1.08);

}

/*=========================================
Responsive
=========================================*/

@media(max-width:992px){

.gallery{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.gallery-section{

padding:60px 0;

}

.section-title{

font-size:32px;

margin-bottom:30px;

}

.gallery{

grid-template-columns:1fr;

gap:20px;

}

.container{

width:min(100% - 24px,var(--container));

}

}

@media(max-width:480px){

.section-title{

font-size:28px;

}

.gallery{

gap:16px;

}

.gallery-item{

border-radius:12px;

}

}



/*==========================================================/*==========================================================*/




.contact_banner{

position:relative;

height:240px;

background:url("images/background.jpg") center center/cover no-repeat;

display:flex;

align-items:center;

justify-content:center;

overflow:hidden;

}

.contact_banner__overlay{

position:absolute;

inset:0;

background:var(--overlay);

backdrop-filter:blur(1px);

}

.contact_banner__content{

position:relative;

width:100%;

height:100%;

display:flex;

align-items:center;

justify-content:center;

}

.contact_banner__image{

position:absolute;

left:50%;

transform:translateX(-50%);

bottom:0;

height:100%;

display:flex;

align-items:flex-end;

}

.contact_banner__image img{

height:100%;

width:auto;

object-fit:contain;

}

/*=====================================================
BUTTON
=====================================================*/

.contact_banner__cta{

position:absolute;

left:50%;

top:50%;

transform:translate(-50%,-50%);

z-index:5;

}

.btn-whatsapp{

display:inline-flex;

align-items:center;

justify-content:center;

padding:18px 42px;

background:#062a67;

color:#ffffff;

font-size:22px;

font-weight:700;

transition:var(--transition);

box-shadow:

0 12px 30px rgba(0,0,0,.25);

min-width:250px;

}

.btn-whatsapp:hover{

background:var(--primary-hover);

transform:translateY(-3px);

box-shadow:

0 18px 40px rgba(0,0,0,.30);

}

.btn-whatsapp:active{

transform:translateY(0);

}

.btn-whatsapp:focus-visible{

outline:3px solid #ffffff;

outline-offset:4px;

}

/*=====================================================
RESPONSIVE
=====================================================*/

@media(max-width:992px){

.contact_banner{

height:220px;

}

.btn-whatsapp{

font-size:20px;

padding:16px 34px;

min-width:220px;

}

}

@media(max-width:768px){

.contact_banner{

height:180px;

}

.contact_banner__image{

width:85%;

}

.btn-whatsapp{

font-size:17px;

padding:14px 28px;

min-width:200px;

}

}

@media(max-width:480px){

.contact_banner{

height:150px;

}

.btn-whatsapp{

font-size:15px;

padding:12px 20px;

min-width:170px;

}

}