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

.contact-hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    background:
    linear-gradient(
        90deg,
        rgba(10,25,55,.88) 0%,
        rgba(10,25,55,.78) 35%,
        rgba(10,25,55,.35) 60%,
        rgba(10,25,55,.05) 100%
    ),
    url("../assets/imgs/contactHero.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}

.hero-overlay{

    width:100%;

    padding:160px 0 120px;

}

.hero-content{

    max-width:620px;

    color:white;

}

.hero-tag{

    display:inline-block;

    padding:10px 20px;

    border-radius:999px;

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

    backdrop-filter:blur(10px);

    font-weight:600;

    letter-spacing:.5px;

    margin-bottom:25px;

}

.hero-content h1{

    font-size:4.3rem;

    line-height:1.1;

    margin-bottom:25px;

    font-weight:800;

}

.hero-content h1 span{

    color:#60A5FA;

}

.hero-content p{

    font-size:1.15rem;

    line-height:1.9;

    color:#E2E8F0;

    margin-bottom:45px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

@media(max-width:768px){

.contact-hero{

    background-position:72% center;

}

.hero-content{

    text-align:center;

    max-width:100%;

}

.hero-content h1{

    font-size:2.9rem;

}

.hero-buttons{

    justify-content:center;

}

}

/*====================================
        CONTACT SECTION
====================================*/

.contact-section{

    padding:120px 0;

    background:#F8FBFF;

}

.contact-wrapper{

    display:grid;

    grid-template-columns:380px 1fr;

    gap:55px;

    align-items:start;

}

/*==============================*/

.contact-info{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.info-card{

    display:flex;

    gap:18px;

    align-items:flex-start;

    padding:28px;

    background:#fff;

    border-radius:22px;

    border:1px solid rgba(37,99,235,.08);

    box-shadow:0 15px 35px rgba(15,23,42,.05);

    transition:.35s;

}

.info-card:hover{

    transform:translateY(-6px);

    box-shadow:0 25px 45px rgba(37,99,235,.12);

}

.info-icon{

    width:62px;

    height:62px;

    border-radius:18px;

    background:#2563EB;

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.6rem;

    flex-shrink:0;

}

.info-card h3{

    margin-bottom:8px;

    font-size:1.15rem;

    color:#0F172A;

}

.info-card p{

    color:#64748B;

    line-height:1.7;

}

/*==============================*/

.contact-form{

    background:white;

    padding:45px;

    border-radius:26px;

    border:1px solid rgba(37,99,235,.08);

    box-shadow:0 20px 45px rgba(15,23,42,.05);

}

.input-group{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    margin-bottom:20px;

}

.contact-form input,

.contact-form textarea{

    width:100%;

    padding:18px 22px;

    border:1px solid #D6E2F5;

    border-radius:14px;

    outline:none;

    font-size:1rem;

    font-family:'Poppins',sans-serif;

    transition:.3s;

}

.contact-form textarea{

    resize:none;

    margin-bottom:28px;

}

.contact-form input:focus,

.contact-form textarea:focus{

    border-color:#2563EB;

    box-shadow:0 0 0 5px rgba(37,99,235,.10);

}

.contact-form button{

    width:100%;

    border:none;

    cursor:pointer;

    font-size:1rem;

}

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

@media(max-width:992px){

.contact-wrapper{

    grid-template-columns:1fr;

}

.contact-info{

    display:grid;

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.contact-section{

    padding:80px 0;

}

.contact-info{

    grid-template-columns:1fr;

}

.input-group{

    grid-template-columns:1fr;

}

.contact-form{

    padding:30px 22px;

}

.info-card{

    padding:22px;

}

}

/*====================================
        OFFICE LOCATION
====================================*/

.office-location{

    padding:120px 0;

    background:#FFFFFF;

}

.office-wrapper{

    display:grid;

    grid-template-columns:1.6fr 1fr;

    gap:45px;

    align-items:stretch;

}

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

.office-map{

    overflow:hidden;

    border-radius:24px;

    box-shadow:0 20px 45px rgba(15,23,42,.08);

    border:1px solid rgba(37,99,235,.08);

}

.office-map iframe{

    width:100%;

    height:100%;

    min-height:500px;

    border:none;

}

/*==============================
      DETAILS CARD
==============================*/

.office-details{

    background:#fff;

    border-radius:24px;

    padding:40px;

    border:1px solid rgba(37,99,235,.08);

    box-shadow:0 20px 45px rgba(15,23,42,.06);

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.office-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

    margin-bottom:28px;

}

.office-icon{

    width:58px;

    height:58px;

    background:#2563EB;

    color:#fff;

    border-radius:16px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1.4rem;

    flex-shrink:0;

}

.office-text h3{

    font-size:1.15rem;

    margin-bottom:8px;

    color:#0F172A;

}

.office-text p{

    color:#64748B;

    line-height:1.8;

}

.office-details .btn-primary{

    margin-top:18px;

    width:100%;

    justify-content:center;

}

/*====================================
            HOVER
====================================*/

.office-details:hover{

    transform:translateY(-5px);

    transition:.35s;

    box-shadow:0 30px 60px rgba(37,99,235,.10);

}

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

@media(max-width:992px){

.office-wrapper{

    grid-template-columns:1fr;

}

.office-map iframe{

    min-height:420px;

}

}

@media(max-width:768px){

.office-location{

    padding:80px 0;

}

.office-details{

    padding:28px;

}

.office-item{

    gap:15px;

}

.office-icon{

    width:50px;

    height:50px;

    font-size:1.2rem;

}

.office-map iframe{

    min-height:320px;

}

}