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

.contact-hero{

padding-top:150px;

padding-bottom:100px;

text-align:center;

background:linear-gradient(180deg,#F8FBFF,#fff);

}

.contact-content{

max-width:760px;

margin:auto;

}

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

.contact-grid{

display:grid;

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

gap:25px;

}

.contact-card{

padding:40px 25px;

text-align:center;

transition:.35s;

}

.contact-card:hover{

transform:translateY(-8px);

}

.contact-icon{

width:70px;

height:70px;

margin:auto;

margin-bottom:20px;

border-radius:50%;

background:var(--primary);

color:#fff;

display:flex;

align-items:center;

justify-content:center;

font-size:28px;

}

.contact-card h3{

margin-bottom:10px;

}

.contact-card p{

color:var(--gray);

}

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

@media(max-width:992px){

.contact-grid{

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

}

}

@media(max-width:576px){

.contact-grid{

grid-template-columns:1fr;

}

}

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

.contact-wrapper{

display:grid;

grid-template-columns:1fr 1fr;

gap:60px;

align-items:center;

}

.contact-points{

margin-top:35px;

display:grid;

gap:20px;

}

.point{

display:flex;

align-items:center;

gap:15px;

font-weight:500;

}

.point i{

color:var(--primary);

font-size:20px;

}

.contact-form{

padding:40px;

}

.input-group{

margin-bottom:20px;

}

.input-group input,

.input-group textarea{

width:100%;

padding:16px 18px;

border:1px solid #E2E8F0;

border-radius:14px;

font-size:15px;

transition:.3s;

background:#fff;

}

.input-group input:focus,

.input-group textarea:focus{

border-color:var(--primary);

box-shadow:0 0 0 3px rgba(0,210,106,.15);

}

.send-btn{

width:100%;

justify-content:center;

}

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

@media(max-width:992px){

.contact-wrapper{

grid-template-columns:1fr;

}

.contact-left{

text-align:center;

}

.point{

justify-content:center;

}

}

/*=====================================
        SUCCESS MODAL
======================================*/

.success-modal{

position:fixed;

inset:0;

background:rgba(0,0,0,.55);

display:flex;

justify-content:center;

align-items:center;

opacity:0;

visibility:hidden;

transition:.35s;

z-index:5000;

}

.success-modal.show{

opacity:1;

visibility:visible;

}

.success-box{

width:min(430px,92%);

background:#fff;

border-radius:24px;

padding:45px 35px;

text-align:center;

animation:popup .35s ease;

}

.success-icon{

width:90px;

height:90px;

margin:auto;

margin-bottom:25px;

border-radius:50%;

background:#16A34A;

display:flex;

justify-content:center;

align-items:center;

font-size:42px;

color:#fff;

}

.success-box h2{

margin-bottom:15px;

}

.success-box p{

color:#64748B;

line-height:1.8;

margin-bottom:30px;

}

@keyframes popup{

from{

transform:scale(.8);

opacity:0;

}

to{

transform:scale(1);

opacity:1;

}

}
/*=====================================
        OFFICE INFO
======================================*/

.office-grid{

display:grid;

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

gap:30px;

margin-top:50px;

}

.office-card{

padding:40px;

text-align:center;

transition:.35s;

}

.office-card:hover{

transform:translateY(-8px);

}

.office-icon{

font-size:40px;

color:var(--primary);

margin-bottom:20px;

}

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

.map-section{

padding-bottom:90px;

}

.map-card{

overflow:hidden;

border-radius:25px;

box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.map-card iframe{

width:100%;

height:450px;

border:none;

}

/*=====================================
        SOCIAL
======================================*/

.social-section{

background:#F8FBFF;

}

.social-grid{

display:grid;

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

gap:25px;

margin-top:50px;

}

.social-card{

background:#fff;

padding:22px;

border-radius:18px;

display:flex;

align-items:center;

justify-content:center;

gap:12px;

font-weight:600;

transition:.35s;

box-shadow:0 10px 25px rgba(0,0,0,.06);

}

.social-card:hover{

background:var(--primary);

color:#fff;

transform:translateY(-6px);

}

.social-card i{

font-size:22px;

}

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

@media(max-width:992px){

.office-grid{

grid-template-columns:1fr;

}

.social-grid{

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

}

}

@media(max-width:576px){

.social-grid{

grid-template-columns:1fr;

}

.map-card iframe{

height:300px;

}

}