/*==================================================
CONTACT PAGE
PART 1
Hero + Contact Options
==================================================*/

/*------------------------------------
Hero
------------------------------------*/

.contact-hero{
    position:relative;
    padding:120px 0 90px;
    background:linear-gradient(135deg,#0d1b3d 0%,#17366f 100%);
    overflow:hidden;
}

.contact-hero::before{
    content:"";
    position:absolute;
    top:-150px;
    right:-150px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(212,175,55,.08);
}

.contact-hero::after{
    content:"";
    position:absolute;
    bottom:-170px;
    left:-170px;
    width:430px;
    height:430px;
    border-radius:50%;
    background:rgba(255,255,255,.04);
}

.contact-hero .hero-grid{

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:70px;
    position:relative;
    z-index:2;

}

.contact-hero .hero-content{

    flex:1;
    max-width:620px;

}

.contact-hero .hero-tag{

    display:inline-block;

    padding:8px 18px;

    margin-bottom:22px;

    border-radius:30px;

    background:rgba(212,175,55,.15);

    border:1px solid rgba(212,175,55,.35);

    color:#d4af37;

    font-size:.82rem;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

}

.contact-hero h1{

    color:#ffffff;

    font-size:3.6rem;

    line-height:1.15;

    margin-bottom:28px;

}

.contact-hero p{

    color:rgba(255,255,255,.88);

    font-size:1.12rem;

    line-height:1.9;

    margin-bottom:40px;

}

.contact-hero .hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.hero-buttons .btn{

    min-width:220px;
    text-align:center;

}

.contact-hero .hero-image{

    flex:1;
    text-align:right;

}

.contact-hero .hero-image img{

    width:100%;
    max-width:560px;
    animation:contactFloat 5s ease-in-out infinite;

}

@keyframes contactFloat{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }

    100%{
        transform:translateY(0);
    }

}



/*------------------------------------
Contact Options
------------------------------------*/

.contact-options{

    padding:100px 0;

    background:#ffffff;

}

.contact-options .section-title{

    text-align:center;

    margin-bottom:70px;

}

.contact-options .section-title span{

    color:#d4af37;

    font-size:.85rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.contact-options .section-title h2{

    margin-top:15px;

    font-size:2.7rem;

    color:#10244d;

    line-height:1.25;

}

.contact-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.contact-card{

    background:#ffffff;

    padding:45px 30px;

    border-radius:20px;

    border-top:5px solid #d4af37;

    text-align:center;

    box-shadow:0 18px 40px rgba(0,0,0,.08);

    transition:.35s ease;

}

.contact-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 55px rgba(0,0,0,.12);

}

.contact-card i{

    width:80px;

    height:80px;

    line-height:80px;

    border-radius:50%;

    background:#10244d;

    color:#d4af37;

    font-size:2rem;

    margin-bottom:28px;

}

.contact-card h3{

    color:#10244d;

    font-size:1.4rem;

    margin-bottom:18px;

}

.contact-card p{

    color:#666;

    line-height:1.8;

    font-size:1rem;

}

/*==================================================
CONTACT PAGE
PART 2
Contact Form + Contact Information
==================================================*/

/*------------------------------------
Contact Form Section
------------------------------------*/

.contact-form-section{

    padding:110px 0;

    background:#f8f9fc;

}

.form-grid{

    display:grid;

    grid-template-columns:1.5fr 1fr;

    gap:45px;

    align-items:start;

}

/*------------------------------------
Form Box
------------------------------------*/

.contact-form{

    background:#ffffff;

    padding:50px;

    border-radius:24px;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.contact-form .section-title{

    text-align:left;

    margin-bottom:40px;

}

.contact-form .section-title span{

    color:#d4af37;

    font-size:.85rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.contact-form .section-title h2{

    margin-top:12px;

    font-size:2.3rem;

    color:#10244d;

    line-height:1.3;

}

/*------------------------------------
Form Layout
------------------------------------*/

.form-row{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

    margin-bottom:20px;

}

.contact-form input,

.contact-form select,

.contact-form textarea{

    width:100%;

    padding:16px 18px;

    border:1px solid #d8dbe4;

    border-radius:12px;

    font-size:1rem;

    font-family:inherit;

    color:#333;

    background:#fff;

    transition:.30s;

}

.contact-form textarea{

    resize:vertical;

    min-height:170px;

    margin-top:20px;

}

.contact-form select{

    margin-top:5px;

}

.contact-form input:focus,

.contact-form select:focus,

.contact-form textarea:focus{

    outline:none;

    border-color:#d4af37;

    box-shadow:0 0 0 4px rgba(212,175,55,.12);

}

.contact-form button{

    margin-top:30px;

}



/*------------------------------------
Right Information Panel
------------------------------------*/

.contact-info{

    background:linear-gradient(135deg,#0d1b3d,#17366f);

    padding:50px 40px;

    border-radius:24px;

    color:#fff;

    box-shadow:0 20px 45px rgba(13,27,61,.30);

}

.contact-info h3{

    font-size:2rem;

    margin-bottom:35px;

    color:#ffffff;

}

/*------------------------------------
Info Items
------------------------------------*/

.info-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

    margin-bottom:32px;

}

.info-item:last-child{

    margin-bottom:0;

}

.info-item i{

    width:62px;

    height:62px;

    line-height:62px;

    border-radius:50%;

    text-align:center;

    background:rgba(212,175,55,.15);

    color:#d4af37;

    font-size:1.4rem;

    flex-shrink:0;

}

.info-item h4{

    color:#ffffff;

    font-size:1.15rem;

    margin-bottom:8px;

}

.info-item p{

    color:rgba(255,255,255,.82);

    line-height:1.8;

    font-size:.98rem;

}

/*==================================================
CONTACT PAGE
PART 3
FAQ + Office + Map
==================================================*/


/*------------------------------------
FAQ Section
------------------------------------*/

.faq-section{

    padding:110px 0;

    background:#ffffff;

}

.faq-section .section-title{

    text-align:center;

    margin-bottom:70px;

}

.faq-section .section-title span{

    display:inline-block;

    color:#d4af37;

    font-size:.85rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.faq-section .section-title h2{

    margin-top:15px;

    font-size:2.6rem;

    color:#10244d;

    line-height:1.3;

}

.faq-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.faq-item{

    background:#ffffff;

    padding:35px;

    border-radius:20px;

    border-left:5px solid #d4af37;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.35s;

}

.faq-item:hover{

    transform:translateY(-8px);

    box-shadow:0 22px 45px rgba(0,0,0,.12);

}

.faq-item h3{

    color:#10244d;

    font-size:1.25rem;

    margin-bottom:18px;

    line-height:1.4;

}

.faq-item p{

    color:#666;

    line-height:1.9;

    font-size:1rem;

}



/*------------------------------------
Office Section
------------------------------------*/

.office-section{

    padding:110px 0;

    background:#f8f9fc;

}

.office-grid{

    display:grid;

    grid-template-columns:1fr 1.15fr;

    gap:55px;

    align-items:center;

}



/*------------------------------------
Office Content
------------------------------------*/

.section-tag{

    display:inline-block;

    margin-bottom:20px;

    color:#d4af37;

    font-size:.85rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.office-content h2{

    font-size:2.6rem;

    color:#10244d;

    margin-bottom:22px;

}

.office-content>p{

    color:#666;

    line-height:1.9;

    margin-bottom:40px;

}



/*------------------------------------
Office Details
------------------------------------*/

.office-details{

    display:flex;

    flex-direction:column;

    gap:28px;

    margin-bottom:45px;

}

.office-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

}

.office-item i{

    width:60px;

    height:60px;

    line-height:60px;

    text-align:center;

    border-radius:50%;

    background:#10244d;

    color:#d4af37;

    font-size:1.35rem;

    flex-shrink:0;

}

.office-item h4{

    color:#10244d;

    margin-bottom:8px;

    font-size:1.15rem;

}

.office-item p{

    color:#666;

    line-height:1.8;

}



/*------------------------------------
Social Icons
------------------------------------*/

.social-links{

    display:flex;

    gap:18px;

}

.social-links a{

    width:50px;

    height:50px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#10244d;

    color:#ffffff;

    font-size:1.1rem;

    transition:.35s;

}

.social-links a:hover{

    background:#d4af37;

    color:#10244d;

    transform:translateY(-6px);

}



/*------------------------------------
Google Map
------------------------------------*/

.office-map{

    height:100%;

    min-height:520px;

    overflow:hidden;

    border-radius:24px;

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.office-map iframe{

    width:100%;

    height:100%;

    border:none;

}

/*==================================================
CONTACT PAGE
PART 4
CTA + Responsive
==================================================*/


/*------------------------------------
Final CTA
------------------------------------*/

.contact-cta{

    padding:110px 0;

    background:#ffffff;

}

.cta-box{

    background:linear-gradient(135deg,#0d1b3d,#17366f);

    border-radius:30px;

    padding:80px 60px;

    text-align:center;

    color:#ffffff;

    position:relative;

    overflow:hidden;

}

.cta-box::before{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    top:-120px;

    right:-120px;

    background:rgba(212,175,55,.08);

}

.cta-box::after{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    left:-100px;

    bottom:-100px;

    background:rgba(255,255,255,.05);

}

.cta-box>*{

    position:relative;

    z-index:2;

}

.cta-box span{

    display:inline-block;

    margin-bottom:18px;

    color:#d4af37;

    font-size:.85rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.cta-box h2{

    font-size:2.9rem;

    line-height:1.25;

    margin-bottom:22px;

}

.cta-box p{

    max-width:760px;

    margin:0 auto 40px;

    color:rgba(255,255,255,.88);

    line-height:1.9;

    font-size:1.05rem;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}



/*------------------------------------
Responsive
------------------------------------*/

@media(max-width:1200px){

.contact-grid{

grid-template-columns:repeat(2,1fr);

}

.form-grid{

grid-template-columns:1fr;

}

.office-grid{

grid-template-columns:1fr;

}

.contact-hero .hero-grid{

gap:50px;

}

}



@media(max-width:992px){

.contact-hero{

padding:90px 0 70px;

}

.contact-hero .hero-grid{

flex-direction:column;

text-align:center;

}

.contact-hero .hero-content{

max-width:100%;

}

.contact-hero .hero-buttons{

justify-content:center;

}

.contact-hero h1{

font-size:2.9rem;

}

.contact-hero .hero-image{

text-align:center;

}

.contact-hero .hero-image img{

max-width:480px;

}

.contact-options,

.contact-form-section,

.faq-section,

.office-section,

.contact-cta{

padding:80px 0;

}

.cta-box{

padding:60px 40px;

}

.cta-box h2{

font-size:2.4rem;

}

}



@media(max-width:768px){

.contact-grid{

grid-template-columns:1fr;

}

.faq-grid{

grid-template-columns:1fr;

}

.form-row{

grid-template-columns:1fr;

}

.contact-form{

padding:35px;

}

.contact-info{

padding:35px;

}

.office-map{

min-height:380px;

}

.cta-box{

padding:50px 30px;

}

.cta-box h2{

font-size:2rem;

}

}



@media(max-width:576px){

.contact-hero{

padding:70px 0 60px;

}

.contact-hero h1{

font-size:2.2rem;

}

.contact-hero p{

font-size:1rem;

}

.contact-card{

padding:35px 25px;

}

.contact-card i{

width:70px;

height:70px;

line-height:70px;

font-size:1.7rem;

}

.contact-form{

padding:28px;

}

.contact-info{

padding:28px;

}

.office-content h2{

font-size:2rem;

}

.contact-options .section-title h2,

.faq-section .section-title h2{

font-size:2rem;

}

.cta-box{

padding:45px 25px;

}

.cta-box h2{

font-size:1.8rem;

}

.cta-buttons{

flex-direction:column;

align-items:center;

}

.social-links{

justify-content:center;

}

}
