/* =========================================
CONTACT HERO
========================================= */

.contact-hero-section{

    padding:
    120px 0 80px;

    background:#f5f8fc;
}

.contact-hero-wrapper{

    background:
    linear-gradient(
        135deg,
        #071225,
        #111d3b
    );

    border-radius:40px;

    padding:80px;

    overflow:hidden;

    position:relative;
}

.contact-hero-wrapper::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    background:
    radial-gradient(
        rgba(124,58,237,.28),
        transparent 70%
    );

    right:-120px;
    top:-120px;
}

.contact-label{

    display:inline-block;

    padding:10px 22px;

    border-radius:100px;

    background:
    rgba(255,255,255,.08);

    color:#cdb8ff;

    font-size:13px;

    font-weight:700;

    margin-bottom:24px;
}

.contact-hero-content h1{

    font-size:72px;

    line-height:1.05;

    font-weight:800;

    color:#fff;

    margin-bottom:24px;
}

.contact-hero-content p{

    font-size:20px;

    line-height:1.9;

    color:#d8e3f2;

    margin-bottom:38px;
}

.contact-hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;
}

.contact-btn-primary{

    height:58px;

    padding:0 34px;

    border-radius:16px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
        135deg,
        #7c3aed,
        #a855f7
    );

    color:#fff;

    font-weight:700;

    text-decoration:none;
}

.contact-btn-secondary{

    height:58px;

    padding:0 34px;

    border-radius:16px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,255,255,.12);

    color:#fff;

    text-decoration:none;
}

.contact-hero-image img{

    width:100%;
}

/* =========================================
CONTACT INFO
========================================= */

.contact-info-section{

    padding:
    90px 0;
}

.contact-info-card{

    background:#fff;

    border-radius:32px;

    padding:45px 35px;

    height:100%;

    border:1px solid #edf2f8;

    box-shadow:
    0 20px 60px rgba(0,0,0,.04);

    transition:.35s ease;
}

.contact-info-card:hover{

    transform:
    translateY(-10px);
}

.contact-icon{

    width:75px;
    height:75px;

    border-radius:22px;

    display:flex;

    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
        135deg,
        #7c3aed,
        #a855f7
    );

    color:#fff;

    font-size:28px;

    margin-bottom:24px;
}

.contact-info-card h4{

    font-size:30px;

    font-weight:700;

    color:#071c38;

    margin-bottom:16px;
}

.contact-info-card p{

    color:#6d7b8c;

    line-height:1.9;

    margin-bottom:20px;
}

.contact-info-card a{

    color:#7c3aed;

    font-weight:700;

    text-decoration:none;
}

/* =========================================
CONTACT FORM
========================================= */

.contact-form-section{

    padding:
    30px 0 120px;
}

.contact-form-wrapper{

    background:#fff;

    border-radius:40px;

    padding:70px;

    box-shadow:
    0 30px 80px rgba(0,0,0,.05);
}

.contact-form-content span{

    display:inline-block;

    padding:10px 22px;

    border-radius:100px;

    background:
    rgba(124,58,237,.08);

    color:#7c3aed;

    font-size:13px;

    font-weight:700;

    margin-bottom:24px;
}

.contact-form-content h2{

    font-size:58px;

    line-height:1.1;

    font-weight:800;

    color:#071c38;

    margin-bottom:24px;
}

.contact-form-content p{

    color:#6d7b8c;

    line-height:1.9;

    margin-bottom:32px;
}

.contact-feature-item{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:18px;
}

.contact-feature-item i{

    color:#7c3aed;
}

.contact-feature-item span{

    background:none;

    padding:0;

    margin:0;

    color:#071c38;

    font-size:16px;
}

.modern-contact-form input,
.modern-contact-form select,
.modern-contact-form textarea{

    width:100%;

    border:none;

    outline:none;

    background:#f7f9fc;

    border-radius:18px;

    padding:18px 22px;

    font-size:16px;

    color:#071c38;
}

.modern-contact-form button{

    height:60px;

    border:none;

    padding:0 40px;

    border-radius:18px;

    background:
    linear-gradient(
        135deg,
        #7c3aed,
        #a855f7
    );

    color:#fff;

    font-weight:700;

    font-size:16px;

    box-shadow:
    0 18px 45px rgba(124,58,237,.25);
}

/* =========================================
MAP SECTION
========================================= */

.contact-map-section{

    padding:
    0 0 120px;
}

.contact-map-box iframe{

    width:100%;

    height:520px;

    border:none;

    border-radius:30px;
}

.business-hours-box{

    background:
    linear-gradient(
        135deg,
        #071225,
        #111d3b
    );

    padding:45px 35px;

    border-radius:32px;

    height:100%;
}

.business-hours-box span{

    color:#cdb8ff;

    font-size:13px;

    font-weight:700;
}

.business-hours-box h3{

    font-size:42px;

    font-weight:800;

    color:#fff;

    margin:
    18px 0 35px;
}

.business-hours-box ul{

    list-style:none;

    padding:0;

    margin:0;
}

.business-hours-box li{

    display:flex;

    justify-content:space-between;

    padding:18px 0;

    border-bottom:
    1px solid rgba(255,255,255,.08);
}

.business-hours-box strong{

    color:#fff;
}

.business-hours-box li span{

    color:#d8e3f2;

    font-size:15px;

    font-weight:500;
}

/* =========================================
MOBILE
========================================= */

@media(max-width:991px){

    .contact-hero-wrapper,
    .contact-form-wrapper{

        padding:40px 24px;
    }

    .contact-hero-content h1{

        font-size:44px;
    }

    .contact-form-content h2{

        font-size:38px;
    }

    .contact-hero-content p,
    .contact-form-content p{

        font-size:16px;
    }

    .contact-map-box iframe{

        height:380px;
    }

}


/* =========================================
CREATIVE CONTACT HERO
========================================= */

.creative-contact-hero{

    position:relative;

    overflow:hidden;

    padding:
    130px 0 110px;

    background:
    linear-gradient(
        135deg,
        #071225 0%,
        #111d3b 45%,
        #1a1446 100%
    );
}

/* =========================================
BACKGROUND GLOW
========================================= */

.creative-contact-bg-circle{

    position:absolute;

    border-radius:50%;

    filter:blur(40px);

    opacity:.35;
}

.circle-one{

    width:450px;
    height:450px;

    background:#7c3aed;

    top:-150px;
    right:-120px;
}

.circle-two{

    width:350px;
    height:350px;

    background:#2563eb;

    bottom:-120px;
    left:-100px;
}

/* =========================================
LEFT CONTENT
========================================= */

.creative-contact-content{

    position:relative;

    z-index:5;
}

.creative-contact-tag{

    display:inline-block;

    padding:12px 24px;

    border-radius:100px;

    background:
    rgba(255,255,255,.08);

    color:#cdb8ff;

    font-size:13px;

    font-weight:700;

    letter-spacing:.8px;

    margin-bottom:28px;
}

.creative-contact-content h1{

    font-size:78px;

    line-height:1.05;

    font-weight:800;

    color:#fff;

    margin-bottom:28px;
}

.creative-contact-content h1 span{

    background:
    linear-gradient(
        135deg,
        #8b5cf6,
        #d946ef
    );

    background-clip:text;

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;
}

.creative-contact-content p{

    font-size:20px;

    line-height:1.9;

    color:#dbe4f2;

    max-width:680px;

    margin-bottom:40px;
}

/* =========================================
BUTTONS
========================================= */

.creative-contact-buttons{

    display:flex;

    align-items:center;

    gap:18px;

    flex-wrap:wrap;

    margin-bottom:55px;
}

.creative-btn-primary{

    height:62px;

    padding:0 38px;

    border-radius:18px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    text-decoration:none;

    background:
    linear-gradient(
        135deg,
        #7c3aed,
        #a855f7
    );

    color:#fff;

    font-size:16px;

    font-weight:700;

    box-shadow:
    0 18px 45px rgba(124,58,237,.32);
}

.creative-btn-secondary{

    height:62px;

    padding:0 38px;

    border-radius:18px;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    text-decoration:none;

    border:
    1px solid rgba(255,255,255,.12);

    background:
    rgba(255,255,255,.04);

    color:#fff;

    font-size:16px;

    font-weight:600;
}

/* =========================================
STATS
========================================= */

.creative-contact-stats{

    display:flex;

    align-items:center;

    gap:25px;

    flex-wrap:wrap;
}

.creative-stat-box{

    min-width:160px;

    padding:28px;

    border-radius:24px;

    background:
    rgba(255,255,255,.05);

    backdrop-filter:blur(10px);

    border:
    1px solid rgba(255,255,255,.06);
}

.creative-stat-box h3{

    font-size:42px;

    font-weight:800;

    color:#fff;

    margin-bottom:10px;
}

.creative-stat-box span{

    color:#cfd8e6;

    font-size:15px;
}

/* =========================================
RIGHT WRAPPER
========================================= */

.creative-contact-right-wrapper{

    position:relative;

    display:flex;

    align-items:center;
    justify-content:center;
}

/* =========================================
IMAGE
========================================= */

.creative-contact-image-wrapper{

    position:relative;

    text-align:center;
}

.creative-contact-image-wrapper img{

    width:100%;

    max-width:700px;

    position:relative;

    z-index:2;

    animation:
    floatImage 5s ease-in-out infinite;
}

/* =========================================
FLOATING CARDS
========================================= */

.floating-card{

    position:absolute;

    display:flex;

    align-items:center;

    gap:14px;

    padding:16px 22px;

    border-radius:20px;

    background:
    rgba(255,255,255,.08);

    backdrop-filter:blur(16px);

    border:
    1px solid rgba(255,255,255,.08);

    color:#fff;

    z-index:3;

    box-shadow:
    0 15px 45px rgba(0,0,0,.2);

    animation:
    floatingCard 4s ease-in-out infinite;
}

.floating-card i{

    width:48px;
    height:48px;

    border-radius:14px;

    display:flex;

    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
        135deg,
        #7c3aed,
        #a855f7
    );

    font-size:18px;
}

.floating-card span{

    font-size:15px;

    font-weight:600;
}

.card-one{

    top:60px;
    left:0;
}

.card-two{

    top:250px;
    right:-20px;
}

.card-three{

    bottom:50px;
    left:40px;
}

/* =========================================
ENQUIRY FORM
========================================= */

.hero-enquiry-form{

    position:absolute;

    /* right:-20px;
    bottom:-30px; */

    width:460px;

    padding:34px;

    border-radius:30px;

    background:
    rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    border:
    1px solid rgba(255,255,255,.08);

    box-shadow:
    0 25px 60px rgba(0,0,0,.28);

    z-index:5;
}

.hero-form-badge{

    display:inline-block;

    padding:10px 18px;

    border-radius:100px;

    background:
    rgba(124,58,237,.18);

    color:#d7c2ff;

    font-size:12px;

    font-weight:700;

    margin-bottom:18px;
}

.hero-enquiry-form h3{

    font-size:32px;

    line-height:1.2;

    font-weight:800;

    color:#fff;

    margin-bottom:14px;
}

.hero-enquiry-form p{

    font-size:15px;

    line-height:1.8;

    color:#d6e0ef;

    margin-bottom:28px;
}

.hero-form-group{

    margin-bottom:16px;
}

.hero-form-group input,
.hero-form-group select{

    width:100%;

    height:58px;

    border:none;

    outline:none;

    border-radius:16px;

    padding:0 18px;

    background:
    rgba(255,255,255,.08);

    color:#fff;

    font-size:15px;
}

.hero-form-group input::placeholder{

    color:#c7d2e1;
}

.hero-form-group select{

    color:#c7d2e1;
}

.hero-enquiry-form button{

    width:100%;

    height:58px;

    border:none;

    border-radius:16px;

    background:
    linear-gradient(
        135deg,
        #7c3aed,
        #a855f7
    );

    color:#fff;

    font-size:16px;

    font-weight:700;

    margin-top:8px;

    box-shadow:
    0 18px 45px rgba(124,58,237,.28);

    transition:.3s ease;
}

.hero-enquiry-form button:hover{

    transform:
    translateY(-3px);
}

/* =========================================
ANIMATION
========================================= */

@keyframes floatImage{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-16px);
    }

    100%{
        transform:translateY(0px);
    }

}

@keyframes floatingCard{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-10px);
    }

    100%{
        transform:translateY(0px);
    }

}

/* =========================================
RESPONSIVE
========================================= */

@media(max-width:991px){

    .creative-contact-hero{

        padding:
        110px 0 80px;
    }

    .creative-contact-content{

        text-align:center;
    }

    .creative-contact-content h1{

        font-size:48px;
    }

    .creative-contact-content p{

        font-size:17px;
    }

    .creative-contact-buttons{

        justify-content:center;
    }

    .creative-contact-stats{

        justify-content:center;
    }

    .creative-contact-right-wrapper{

        margin-top:70px;

        flex-direction:column;
    }

    .hero-enquiry-form{

        position:relative;

        right:auto;
        bottom:auto;

        width:100%;

        margin-top:35px;
    }

}

@media(max-width:575px){

    .creative-contact-content h1{

        font-size:40px;
    }

    .creative-stat-box{

        width:100%;
    }

    .floating-card{

        display:none;
    }

    .hero-enquiry-form{

        padding:28px 22px;

        border-radius:24px;
    }

    .hero-enquiry-form h3{

        font-size:26px;
    }

}


/* =========================================
TEXTAREA SAME STYLE AS INPUTS
========================================= */

.hero-form-group textarea{

    width:100%;

    min-height:140px;

    border:none;

    outline:none;

    resize:none;

    border-radius:16px;

    padding:18px;

    background:
    rgba(255,255,255,.08);

    color:#fff;

    font-size:15px;

    line-height:1.7;

    transition:.3s ease;

    backdrop-filter:blur(8px);
}

.hero-form-group textarea::placeholder{

    color:#c7d2e1;
}

.hero-form-group textarea:focus,
.hero-form-group input:focus,
.hero-form-group select:focus{

    background:
    rgba(255,255,255,.12);

    box-shadow:
    0 0 0 2px rgba(168,85,247,.35);
}


/* =========================================
FORM TOAST
========================================= */

.form-toast{

    position:fixed;

    top:30px;
    right:30px;

    width:340px;

    padding:18px 20px;

    border-radius:20px;

    background:#0f172a;

    display:flex;

    align-items:center;

    gap:16px;

    z-index:99999;

    box-shadow:
    0 25px 60px rgba(0,0,0,.35);

    border:
    1px solid rgba(255,255,255,.08);

    transform:
    translateX(420px);

    opacity:0;

    visibility:hidden;

    transition:.45s ease;
}

.form-toast.show{

    transform:
    translateX(0);

    opacity:1;

    visibility:visible;
}

.toast-icon{

    width:52px;
    height:52px;

    border-radius:16px;

    display:flex;

    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
        135deg,
        #7c3aed,
        #a855f7
    );

    color:#fff;

    font-size:22px;

    flex-shrink:0;
}

.toast-content h5{

    color:#fff;

    font-size:17px;

    font-weight:700;

    margin-bottom:4px;
}

.toast-content p{

    color:#cbd5e1;

    font-size:14px;

    margin:0;
}

@media(max-width:575px){

    .form-toast{

        width:calc(100% - 30px);

        right:15px;
        left:15px;

        top:20px;
    }

}

/* =========================================
BUTTON LOADER
========================================= */

.btn-loader{

    width:18px;
    height:18px;

    border:2px solid rgba(255,255,255,.35);

    border-top-color:#fff;

    border-radius:50%;

    display:inline-block;

    animation:
    spinLoader .7s linear infinite;

    margin-right:10px;

    vertical-align:middle;
}

@keyframes spinLoader{

    to{
        transform:rotate(360deg);
    }

}