.contact-hero{

    background:#24375f;

    color:#fff;

    text-align:center;

    padding:120px 20px;

}

.contact-hero h1{

    font-size:56px;

    font-weight:800;

    margin-bottom:20px;

}

.contact-hero h1 span{

    color:var(--theme-primary);

}

.contact-hero p{

    font-size:22px;

    color:rgba(255,255,255,.75);

    max-width:800px;

    margin:0 auto;

    line-height:1.8;

}

@media (max-width:768px){

.contact-hero{

    padding:90px 20px;

}

.contact-hero h1{

    font-size:40px;

}

.contact-hero p{

    font-size:18px;

}

}

.contact-info{

    padding:120px 20px;

    background:#f8f9fc;

}

.contact-cards{

    display:grid;

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

    gap:35px;

    margin-top:70px;

}

.contact-card{

    background:#fff;

    border-radius:20px;

    padding:50px 40px;

    text-align:center;

    box-shadow:0 18px 45px rgba(0,0,0,.08);

    transition:.3s;

    border:2px solid transparent;

}

.contact-card:hover{

    transform:translateY(-8px);

    border-color:var(--theme-primary);

    box-shadow:0 28px 55px rgba(0,0,0,.12);

}

.contact-icon{

    width:80px;

    height:80px;

    margin:0 auto 30px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(37,99,235,.08);

    color:var(--theme-primary);

    font-size:30px;

}

.contact-card h3{

    font-size:28px;

    margin-bottom:18px;

}

.contact-card p{

    color:#666;

    line-height:1.8;

}

@media (max-width:768px){

.contact-cards{

    grid-template-columns:1fr;

}

}

.contact-card a{

    color:#666;

    text-decoration:none;

    font-size:18px;

    transition:.3s;

}

.contact-card a:hover{

    color:var(--theme-primary);

}

.contact-form-section{

    background:#ffffff;

    padding:120px 20px;

}

.contact-form{

    max-width:900px;

    margin:70px auto 0;

    background:#fff;

    padding:60px;

    border-radius:20px;

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

}

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:30px;

}

.form-group{

    margin-bottom:30px;

}

.form-group label{

    display:block;

    font-weight:700;

    margin-bottom:12px;

    color:#24375f;

}

.form-group input,

.form-group textarea{

    width:100%;

    border:2px solid #e5e7eb;

    border-radius:14px;

    padding:16px 18px;

    font-size:16px;

    transition:.3s;

}

.form-group textarea{

    resize:vertical;

    min-height:260px;

}

.form-group input:focus,

.form-group textarea:focus{

    border-color:var(--theme-primary);

    outline:none;

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

}

.contact-form button{

    background:var(--theme-primary);

    color:#fff;

    border:none;

    border-radius:12px;

    padding:16px 40px;

    font-size:17px;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

.contact-form button:hover{

    background:var(--theme-primary-hover);

    transform:translateY(-2px);

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

}

@media (max-width:768px){

.form-row{

    grid-template-columns:1fr;

}

.contact-form{

    max-width:820px;

}

}

.form-group input:focus,

.form-group textarea:focus{

    border-color:var(--theme-primary);

    box-shadow:0 0 0 4px rgba(185,153,82,.15);

}

/* ===========================
   FAQ
=========================== */

.faq-section{

    padding:120px 20px;

    background:#f8f9fc;

}

.faq-list{

    max-width:900px;

    margin:70px auto 0;

}

.faq-item{

    background:#fff;

    border-radius:18px;

    margin-bottom:20px;

    overflow:hidden;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

    transition:.3s;

}

.faq-item:hover{

    transform:translateY(-3px);

}

.faq-question{

    width:100%;

    background:none;

    border:none;

    padding:28px 35px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    cursor:pointer;

    font-size:20px;

    font-weight:700;

    color:#24375f;

}

.faq-question i{

    color:var(--theme-primary);

    transition:.3s;

}

.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:max-height .35s ease;

}

.faq-answer p{

    padding:0 35px 30px;

    color:#666;

    line-height:1.8;

    font-size:16px;

}

.faq-item.active .faq-answer{

    max-height:200px;

}

.faq-item.active .faq-question i{

    transform:rotate(180deg);

}

