/*==================================
CONTACT HERO
==================================*/

.contact-hero{

padding:170px 0 120px;

background:linear-gradient(135deg,#08152D,#0D6EFD);

color:#fff;

position:relative;

overflow:hidden;

}

.contact-hero::before{

content:"";

position:absolute;

width:450px;

height:450px;

background:rgba(255,255,255,.08);

border-radius:50%;

top:-180px;

right:-150px;

}

.contact-hero::after{

content:"";

position:absolute;

width:300px;

height:300px;

background:rgba(255,255,255,.05);

border-radius:50%;

left:-100px;

bottom:-100px;

}

.contact-hero-content{

max-width:820px;

margin:auto;

text-align:center;

position:relative;

z-index:2;

}

.contact-hero-content h1{

font-size:60px;

line-height:1.15;

margin:25px 0;

}

.contact-hero-content p{

font-size:18px;

line-height:1.9;

opacity:.92;

}

/*==================================
INFO CARDS
==================================*/

.contact-info{

padding:110px 0;

background:#fff;

}

.info-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.info-card{

padding:40px 30px;

background:#fff;

border-radius:24px;

text-align:center;

box-shadow:0 15px 45px rgba(0,0,0,.06);

transition:.35s;

}

.info-card:hover{

transform:translateY(-10px);

box-shadow:0 25px 60px rgba(13,110,253,.12);

}

.info-icon{

width:80px;

height:80px;

margin:auto;

border-radius:50%;

background:linear-gradient(135deg,#0D6EFD,#53A8FF);

display:flex;

align-items:center;

justify-content:center;

font-size:30px;

color:#fff;

margin-bottom:25px;

}

.info-card h3{

font-size:24px;

margin-bottom:15px;

color:#08152D;

}

.info-card p{

font-weight:600;

margin-bottom:10px;

}

.info-card span{

color:#667085;

line-height:1.8;

}

/*==================================
FORM
==================================*/

.contact-form-section{

padding:120px 0;

background:#f8fbff;

}

.contact-wrapper{

display:grid;

grid-template-columns:420px 1fr;

gap:70px;

align-items:start;

}

.contact-left h2{

font-size:46px;

margin:20px 0;

line-height:1.2;

}

.contact-left p{

line-height:1.9;

margin-bottom:35px;

color:#667085;

}

.contact-points{

list-style:none;

padding:0;

}

.contact-points li{

display:flex;

align-items:center;

gap:12px;

margin-bottom:20px;

font-weight:600;

}

.contact-points i{

color:#0D6EFD;

}

.contact-right{

background:#fff;

padding:45px;

border-radius:30px;

box-shadow:0 20px 60px rgba(0,0,0,.06);

}

.form-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

}

.form-group{

margin-bottom:22px;

}

.form-group label{

display:block;

font-weight:600;

margin-bottom:10px;

color:#08152D;

}

.form-group input,

.form-group textarea,

.form-group select{

width:100%;

padding:16px 18px;

border:1px solid #dbe4ef;

border-radius:14px;

outline:none;

font-size:15px;

transition:.3s;

font-family:inherit;

}

.form-group input:focus,

.form-group textarea:focus,

.form-group select:focus{

border-color:#0D6EFD;

box-shadow:0 0 0 4px rgba(13,110,253,.12);

}

textarea{

resize:vertical;

}

/*==================================
MAP
==================================*/

.contact-map{

padding:120px 0;

background:#fff;

}

.map-box{

margin-top:60px;

border-radius:25px;

overflow:hidden;

box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.map-box iframe{

width:100%;

height:500px;

border:0;

display:block;

}

/*==================================
FAQ
==================================*/

.contact-faq{

padding:120px 0;

background:#f8fbff;

}

.faq-wrapper{

max-width:900px;

margin:60px auto 0;

}

.faq-item{

background:#fff;

border-radius:18px;

margin-bottom:20px;

overflow:hidden;

box-shadow:0 12px 30px rgba(0,0,0,.05);

}

.faq-question{

width:100%;

padding:24px 30px;

border:none;

background:none;

text-align:left;

font-size:18px;

font-weight:600;

cursor:pointer;

position:relative;

}

.faq-question::after{

content:"+";

position:absolute;

right:30px;

top:50%;

transform:translateY(-50%);

font-size:28px;

color:#0D6EFD;

}

.faq-answer{

padding:0 30px 25px;

line-height:1.9;

color:#667085;

}

/*==================================
CTA
==================================*/

.contact-cta{

padding:130px 0;

background:linear-gradient(135deg,#08152D,#0D6EFD);

color:#fff;

}

.contact-cta .cta-box{

max-width:850px;

margin:auto;

text-align:center;

}

.contact-cta span{

display:inline-block;

padding:10px 22px;

background:rgba(255,255,255,.12);

border-radius:40px;

margin-bottom:25px;

}

.contact-cta h2{

font-size:52px;

line-height:1.2;

margin-bottom:25px;

}

.contact-cta p{

font-size:18px;

line-height:1.9;

margin-bottom:40px;

opacity:.9;

}

.contact-cta .hero-buttons{

justify-content:center;

gap:20px;

}

/*==================================
RESPONSIVE
==================================*/

@media(max-width:1200px){

.contact-wrapper{

grid-template-columns:1fr;

}

}

@media(max-width:992px){

.info-grid{

grid-template-columns:repeat(2,1fr);

}

.form-grid{

grid-template-columns:1fr;

}

.contact-hero-content h1{

font-size:46px;

}

.contact-left h2{

font-size:38px;

}

}

@media(max-width:768px){

.contact-hero{

padding:140px 0 90px;

}

.contact-hero-content h1{

font-size:34px;

}

.contact-hero-content p{

font-size:16px;

}

.info-grid{

grid-template-columns:1fr;

}

.contact-right{

padding:30px 20px;

}

.contact-left h2{

font-size:30px;

}

.map-box iframe{

height:350px;

}

.contact-cta h2{

font-size:34px;

}

.hero-buttons{

flex-direction:column;

align-items:center;

}

.hero-buttons a{

width:100%;

max-width:280px;

text-align:center;

}

}