/*====================================================
CONTACT PAGE
PART-1
Hero Section
====================================================*/

.contact-hero{

    position:relative;

    overflow:hidden;

    padding:120px 0 100px;

    background:
    linear-gradient(
        180deg,
        #fffdf9 0%,
        #fff8f1 55%,
        #ffffff 100%
    );

}

/*----------------------------------
Background Shapes
-----------------------------------*/

.hero-bg-shape{

    position:absolute;

    border-radius:50%;

    pointer-events:none;

    filter:blur(2px);

}

.hero-bg-shape.shape-1{

    width:420px;

    height:420px;

    top:-180px;

    left:-180px;

    background:

    radial-gradient(

        circle,

        rgba(255,153,0,.12),

        transparent 72%

    );

}

.hero-bg-shape.shape-2{

    width:340px;

    height:340px;

    right:-120px;

    top:80px;

    background:

    radial-gradient(

        circle,

        rgba(255,94,98,.10),

        transparent 70%

    );

}

.hero-bg-shape.shape-3{

    width:250px;

    height:250px;

    left:45%;

    bottom:-120px;

    background:

    radial-gradient(

        circle,

        rgba(255,190,70,.10),

        transparent 70%

    );

}

/*----------------------------------
Heading
-----------------------------------*/

.contact-hero .hero-title{

    font-size:60px;

    font-weight:800;

    line-height:1.15;

    color:#172554;

    margin:22px 0;

}

.contact-hero .hero-title span{

    display:block;

    background:

    linear-gradient(

        90deg,

        #ff9800,

        #ff5e62

    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    background-clip:text;

}

/*----------------------------------
Description
-----------------------------------*/

.contact-hero .hero-desc{

    max-width:620px;

    font-size:18px;

    line-height:1.9;

    color:#64748b;

    margin-bottom:40px;

}

/*----------------------------------
Buttons
-----------------------------------*/

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.btn-primary-custom,

.btn-outline-custom{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    min-width:215px;

    height:58px;

    padding:0 30px;

    border-radius:50px;

    font-weight:700;

    text-decoration:none;

    transition:.35s;

}

.btn-primary-custom{

    color:#fff;

    background:

    linear-gradient(

        135deg,

        #ff9800,

        #ff5e62

    );

    box-shadow:

    0 16px 35px rgba(255,122,0,.28);

}

.btn-primary-custom:hover{

    color:#fff;

    transform:translateY(-3px);

    box-shadow:

    0 24px 45px rgba(255,122,0,.35);

}

.btn-outline-custom{

    color:#ff7a18;

    background:#fff;

    border:2px solid #ffd5b5;

}

.btn-outline-custom:hover{

    color:#fff;

    background:#ff7a18;

    border-color:#ff7a18;

}

/*----------------------------------
Hero Image
-----------------------------------*/

.hero-image-wrapper{

    position:relative;

    text-align:center;

}

.hero-image{

    position:relative;

    z-index:2;

    width:100%;

    max-width:560px;

    border-radius:30px;

    box-shadow:

    0 30px 70px rgba(15,23,42,.10);

    transition:.45s;

}

.hero-image:hover{

    transform:translateY(-10px);

}

/*----------------------------------
Glow
-----------------------------------*/

.hero-glow{

    position:absolute;

    width:420px;

    height:420px;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    border-radius:50%;

    background:

    radial-gradient(

        circle,

        rgba(255,153,0,.18),

        transparent 70%

    );

    z-index:1;

}

/*----------------------------------
Animation
-----------------------------------*/

.contact-hero .hero-title,

.contact-hero .hero-desc,

.hero-buttons{

    animation:contactFade .8s ease both;

}

@keyframes contactFade{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*----------------------------------
Responsive
-----------------------------------*/

@media(max-width:991px){

    .contact-hero{

        text-align:center;

        padding:90px 0 70px;

    }

    .contact-hero .hero-title{

        font-size:46px;

    }

    .contact-hero .hero-desc{

        margin:0 auto 35px;

    }

    .hero-buttons{

        justify-content:center;

        margin-bottom:45px;

    }

}

@media(max-width:767px){

    .contact-hero{

        padding:75px 0 60px;

    }

    .contact-hero .hero-title{

        font-size:34px;

        line-height:1.3;

    }

    .contact-hero .hero-desc{

        font-size:16px;

        line-height:1.8;

    }

    .hero-buttons{

        flex-direction:column;

    }

    .btn-primary-custom,

    .btn-outline-custom{

        width:100%;

    }

    .hero-image{

        max-width:100%;

    }

}

/*====================================================
CONTACT PAGE
PART-2
Contact Information
====================================================*/

.contact-info-section{

    position:relative;

    padding:110px 0;

    background:#ffffff;

    overflow:hidden;

}

/*----------------------------------
Background Decoration
-----------------------------------*/

.contact-info-section::before{

    content:"";

    position:absolute;

    width:340px;

    height:340px;

    top:-140px;

    left:-140px;

    border-radius:50%;

    background:rgba(255,153,0,.05);

}

.contact-info-section::after{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    right:-100px;

    bottom:-100px;

    border-radius:50%;

    background:rgba(255,94,98,.05);

}

/*----------------------------------
Section Heading
-----------------------------------*/

.contact-info-section .section-heading{

    max-width:760px;

    margin:0 auto 60px;

}

.contact-info-section .section-heading h2{

    font-size:46px;

    font-weight:800;

    color:#172554;

    margin:18px 0;

}

.contact-info-section .section-heading h2 span{

    background:linear-gradient(
        90deg,
        #ff9800,
        #ff5e62
    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    background-clip:text;

}

.contact-info-section .section-heading p{

    color:#64748b;

    line-height:1.9;

    font-size:17px;

}

/*----------------------------------
Contact Card
-----------------------------------*/

.contact-card{

    position:relative;

    height:100%;

    padding:38px 28px;

    border-radius:26px;

    background:#ffffff;

    border:1px solid #ffe6d0;

    text-align:center;

    transition:.35s;

    box-shadow:

    0 20px 45px rgba(15,23,42,.05);

}

.contact-card:hover{

    transform:translateY(-10px);

    box-shadow:

    0 30px 60px rgba(15,23,42,.10);

}

/* Gradient Border */

.contact-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    border-radius:26px 26px 0 0;

    background:

    linear-gradient(

        90deg,

        #ff9800,

        #ff5e62

    );

}

/*----------------------------------
Icon
-----------------------------------*/

.contact-icon{

    width:82px;

    height:82px;

    margin:0 auto 24px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:

    linear-gradient(

        135deg,

        #ff9800,

        #ff5e62

    );

    color:#fff;

    font-size:32px;

    box-shadow:

    0 18px 35px rgba(255,122,0,.28);

    transition:.35s;

}

.contact-card:hover .contact-icon{

    transform:rotate(-8deg) scale(1.08);

}

/*----------------------------------
Heading
-----------------------------------*/

.contact-card h4{

    color:#172554;

    font-size:24px;

    font-weight:700;

    margin-bottom:15px;

}

/*----------------------------------
Description
-----------------------------------*/

.contact-card p{

    color:#64748b;

    font-size:16px;

    line-height:1.8;

    margin-bottom:18px;

}

/*----------------------------------
Links
-----------------------------------*/

.contact-card a{

    display:inline-block;

    color:#ff7a18;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

    word-break:break-word;

}

.contact-card a:hover{

    color:#ff5e62;

}

/*----------------------------------
Quick Response Box
-----------------------------------*/

.quick-response{

    margin-top:70px;

    padding:40px 45px;

    border-radius:30px;

    background:

    linear-gradient(

        135deg,

        #fff7ef,

        #fffdfb

    );

    border:1px solid #ffe2c7;

    box-shadow:

    0 20px 45px rgba(15,23,42,.05);

}

.quick-response h3{

    font-size:30px;

    font-weight:800;

    color:#172554;

    margin-bottom:12px;

}

.quick-response h3 i{

    color:#ff9800;

    margin-right:10px;

}

.quick-response p{

    color:#64748b;

    font-size:17px;

    line-height:1.8;

    margin-bottom:0;

}

.quick-response .btn-primary-custom{

    min-width:240px;

}

/*----------------------------------
Responsive
-----------------------------------*/

@media(max-width:991px){

    .contact-info-section{

        padding:90px 0;

    }

    .quick-response{

        text-align:center;

    }

    .quick-response .text-lg-end{

        text-align:center !important;

        margin-top:30px;

    }

}

@media(max-width:767px){

    .contact-info-section{

        padding:75px 0;

    }

    .contact-info-section .section-heading h2{

        font-size:34px;

    }

    .contact-card{

        padding:30px 22px;

    }

    .contact-icon{

        width:68px;

        height:68px;

        font-size:26px;

    }

    .contact-card h4{

        font-size:22px;

    }

    .quick-response{

        padding:28px 22px;

        border-radius:22px;

    }

    .quick-response h3{

        font-size:24px;

    }

    .quick-response .btn-primary-custom{

        width:100%;

    }

}

/*====================================================
CONTACT PAGE
PART-3
Premium Contact Form
====================================================*/

.contact-form-section{

    position:relative;

    padding:110px 0;

    overflow:hidden;

    background:

    linear-gradient(
        180deg,
        #fffdf9 0%,
        #fff7ef 100%
    );

}

/*----------------------------------
Background Glow
-----------------------------------*/

.contact-form-section::before{

    content:"";

    position:absolute;

    width:340px;

    height:340px;

    top:-120px;

    right:-120px;

    border-radius:50%;

    background:rgba(255,153,0,.06);

}

.contact-form-section::after{

    content:"";

    position:absolute;

    width:280px;

    height:280px;

    left:-120px;

    bottom:-120px;

    border-radius:50%;

    background:rgba(255,94,98,.05);

}

/*----------------------------------
Left Content
-----------------------------------*/

.contact-form-content{

    position:relative;

    z-index:2;

}

.contact-form-content h2{

    font-size:48px;

    font-weight:800;

    color:#172554;

    line-height:1.2;

    margin:20px 0;

}

.contact-form-content h2 span{

    display:block;

    background:

    linear-gradient(

        90deg,

        #ff9800,

        #ff5e62

    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    background-clip:text;

}

.contact-form-content p{

    color:#64748b;

    font-size:17px;

    line-height:1.9;

    margin-bottom:35px;

}

/*----------------------------------
Feature List
-----------------------------------*/

.contact-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

}

.feature-item{

    display:flex;

    align-items:center;

    gap:12px;

    padding:18px 20px;

    border-radius:18px;

    background:#ffffff;

    border:1px solid #ffe5cd;

    transition:.35s;

}

.feature-item:hover{

    transform:translateY(-5px);

    box-shadow:

    0 18px 35px rgba(15,23,42,.08);

}

.feature-item i{

    color:#ff9800;

    font-size:18px;

}

.feature-item span{

    color:#172554;

    font-weight:600;

}

/*----------------------------------
Form Card
-----------------------------------*/

.contact-form-card{

    position:relative;

    z-index:2;

    padding:45px;

    border-radius:30px;

    background:rgba(255,255,255,.82);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,230,210,.9);

    box-shadow:

    0 30px 70px rgba(15,23,42,.08);

}

/*----------------------------------
Labels
-----------------------------------*/

.contact-form-card label{

    display:block;

    margin-bottom:10px;

    color:#172554;

    font-weight:700;

}

/*----------------------------------
Inputs
-----------------------------------*/

.contact-form-card .form-control,

.contact-form-card .form-select{

    height:58px;

    border-radius:16px;

    border:1px solid #ffe1c2;

    background:#ffffff;

    box-shadow:none;

    padding:0 18px;

    transition:.35s;

}

.contact-form-card textarea.form-control{

    height:auto;

    padding:16px 18px;

    resize:none;

}

/*----------------------------------
Focus
-----------------------------------*/

.contact-form-card .form-control:focus,

.contact-form-card .form-select:focus{

    border-color:#ff9800;

    box-shadow:

    0 0 0 5px rgba(255,152,0,.12);

}

/*----------------------------------
Placeholder
-----------------------------------*/

.contact-form-card input::placeholder,

.contact-form-card textarea::placeholder{

    color:#94a3b8;

}

/*----------------------------------
Submit Button
-----------------------------------*/

.contact-form-card .btn-primary-custom{

    height:60px;

    border:none;

    font-size:17px;

    font-weight:700;

    border-radius:50px;

    transition:.35s;

}

.contact-form-card .btn-primary-custom:hover{

    transform:translateY(-3px);

}

/*----------------------------------
Animation
-----------------------------------*/

.contact-form-card{

    animation:contactFormFade .8s ease;

}

@keyframes contactFormFade{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*----------------------------------
Responsive
-----------------------------------*/

@media(max-width:991px){

    .contact-form-section{

        padding:90px 0;

    }

    .contact-form-content{

        margin-bottom:35px;

    }

    .contact-features{

        grid-template-columns:1fr;

    }

}

@media(max-width:767px){

    .contact-form-section{

        padding:75px 0;

    }

    .contact-form-content h2{

        font-size:34px;

    }

    .contact-form-card{

        padding:28px 22px;

        border-radius:22px;

    }

    .contact-form-card .form-control,

    .contact-form-card .form-select{

        height:54px;

    }

}
/*====================================================
CONTACT PAGE
PART-4
Office Location
====================================================*/

.office-location-section{

    position:relative;

    overflow:hidden;

    padding:110px 0;

    background:#ffffff;

}

/*----------------------------------
Background Decoration
-----------------------------------*/

.office-location-section::before{

    content:"";

    position:absolute;

    width:380px;

    height:380px;

    left:-180px;

    top:-180px;

    border-radius:50%;

    background:rgba(255,153,0,.05);

}

.office-location-section::after{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    right:-120px;

    bottom:-120px;

    border-radius:50%;

    background:rgba(255,94,98,.05);

}

/*----------------------------------
Office Card
-----------------------------------*/

.office-card{

    height:100%;

    padding:40px;

    border-radius:28px;

    background:#ffffff;

    border:1px solid #ffe4cb;

    box-shadow:

        0 20px 45px rgba(15,23,42,.05);

}

/*----------------------------------
Office Item
-----------------------------------*/

.office-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

    margin-bottom:35px;

}

.office-item:last-child{

    margin-bottom:0;

}

/*----------------------------------
Icon
-----------------------------------*/

.office-icon{

    width:68px;

    height:68px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    background:

        linear-gradient(

            135deg,

            #ff9800,

            #ff5e62

        );

    color:#ffffff;

    font-size:26px;

    box-shadow:

        0 16px 35px rgba(255,122,0,.25);

    transition:.35s;

}

.office-item:hover .office-icon{

    transform:rotate(-8deg) scale(1.08);

}

/*----------------------------------
Content
-----------------------------------*/

.office-item h4{

    font-size:24px;

    font-weight:700;

    color:#172554;

    margin-bottom:10px;

}

.office-item p{

    margin:0;

    color:#64748b;

    line-height:1.9;

    font-size:16px;

}

/*----------------------------------
Google Map
-----------------------------------*/

.office-map{

    position:relative;

    overflow:hidden;

    border-radius:30px;

    border:1px solid #ffe5d2;

    background:#ffffff;

    box-shadow:

        0 25px 60px rgba(15,23,42,.08);

}

.office-map iframe{

    display:block;

    width:100%;

    height:560px;

    border:0;

}

/*----------------------------------
Hover
-----------------------------------*/

.office-card,

.office-map{

    transition:.35s;

}

.office-card:hover,

.office-map:hover{

    transform:translateY(-6px);

    box-shadow:

        0 35px 70px rgba(15,23,42,.10);

}

/*----------------------------------
Responsive
-----------------------------------*/

@media(max-width:991px){

    .office-location-section{

        padding:90px 0;

    }

    .office-card{

        margin-bottom:35px;

    }

    .office-map iframe{

        height:420px;

    }

}

@media(max-width:767px){

    .office-location-section{

        padding:75px 0;

    }

    .office-card{

        padding:28px 22px;

        border-radius:22px;

    }

    .office-item{

        gap:15px;

        margin-bottom:28px;

    }

    .office-icon{

        width:58px;

        height:58px;

        border-radius:16px;

        font-size:22px;

    }

    .office-item h4{

        font-size:20px;

    }

    .office-map{

        border-radius:22px;

    }

    .office-map iframe{

        height:320px;

    }

}
/*====================================================
CONTACT PAGE
PART-5
CTA + Final Polish
====================================================*/

/*====================================================
CTA SECTION
====================================================*/

.contact-cta-section{

    position:relative;

    overflow:hidden;

    padding:120px 0;

    background:

    linear-gradient(

        180deg,

        #fff8f1 0%,

        #ffffff 100%

    );

}

/*----------------------------------
CTA BOX
-----------------------------------*/

.contact-cta-box{

    position:relative;

    overflow:hidden;

    border-radius:34px;

    padding:70px;

    background:

    linear-gradient(

        135deg,

        #ff9800,

        #ff7a18,

        #ff5e62

    );

    box-shadow:

    0 35px 70px rgba(255,122,0,.25);

}

/*----------------------------------
Heading
-----------------------------------*/

.contact-cta-box h2{

    color:#fff;

    font-size:52px;

    font-weight:800;

    line-height:1.2;

    margin:22px 0;

}

.contact-cta-box h2 span{

    display:block;

}

/*----------------------------------
Paragraph
-----------------------------------*/

.contact-cta-box p{

    color:rgba(255,255,255,.95);

    font-size:18px;

    line-height:1.9;

    margin-bottom:30px;

}

/*----------------------------------
Features
-----------------------------------*/

.cta-feature-list{

    list-style:none;

    margin:0;

    padding:0;

}

.cta-feature-list li{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:14px;

    color:#fff;

    font-weight:600;

}

.cta-feature-list li i{

    color:#fff;

    font-size:18px;

}

/*----------------------------------
Buttons
-----------------------------------*/

.cta-action{

    display:flex;

    flex-direction:column;

    gap:18px;

    align-items:flex-end;

}

.btn-outline-light-custom{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    width:240px;

    height:56px;

    border-radius:50px;

    border:2px solid rgba(255,255,255,.65);

    background:rgba(255,255,255,.12);

    color:#fff;

    font-weight:700;

    text-decoration:none;

    backdrop-filter:blur(10px);

    transition:.35s;

}

.btn-outline-light-custom:hover{

    background:#fff;

    color:#ff7a18;

}

/*----------------------------------
Floating Circles
-----------------------------------*/

.cta-circle{

    position:absolute;

    border-radius:50%;

    background:rgba(255,255,255,.10);

    animation:contactFloat 8s ease-in-out infinite;

}

.circle-1{

    width:180px;

    height:180px;

    top:-50px;

    right:-50px;

}

.circle-2{

    width:120px;

    height:120px;

    bottom:-30px;

    left:8%;

    animation-delay:1.5s;

}

.circle-3{

    width:80px;

    height:80px;

    right:30%;

    bottom:50px;

    animation-delay:3s;

}

.circle-4{

    width:60px;

    height:60px;

    top:25%;

    right:12%;

    animation-delay:2s;

}

/*----------------------------------
Animation
-----------------------------------*/

@keyframes contactFloat{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

}

/*----------------------------------
Smooth Hover
-----------------------------------*/

.contact-card,

.contact-form-card,

.office-card,

.office-map,

.contact-cta-box{

    transition:all .35s ease;

}

/*----------------------------------
Focus
-----------------------------------*/

.contact-card:hover,

.contact-form-card:hover,

.office-card:hover,

.office-map:hover{

    transform:translateY(-6px);

}

/*----------------------------------
Selection
-----------------------------------*/

.contact-page ::selection{

    background:#ff9800;

    color:#fff;

}

/*====================================================
RESPONSIVE
====================================================*/

@media(max-width:991px){

    .contact-cta-box{

        padding:50px 35px;

        text-align:center;

    }

    .cta-action{

        align-items:center;

        margin-top:35px;

    }

    .contact-cta-box h2{

        font-size:40px;

    }

}

@media(max-width:767px){

    .contact-cta-section{

        padding:80px 0;

    }

    .contact-cta-box{

        padding:35px 24px;

        border-radius:24px;

    }

    .contact-cta-box h2{

        font-size:30px;

    }

    .contact-cta-box p{

        font-size:16px;

    }

    .cta-action{

        width:100%;

    }

    .cta-action .btn-primary-custom,

    .cta-action .btn-outline-light-custom{

        width:100%;

    }

}


.contact-hero .section-badge, .contact-info-section .section-badge, 
.contact-form-section .section-badge, .office-location-section .section-badge, 
.contact-cta-section .section-badge{
  display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    margin-bottom: 25px;
    border-radius: 50px;
    background: #fff3e6;
    color: #ff7a00;
    font-size: 14px;
    font-weight: 700;
}