/*=====================================
CONTACT HERO
======================================*/

.contact-hero{

    padding:150px 0 80px;

    text-align:center;

}

.contact-hero-content{

    max-width:850px;

    margin:auto;

}

.contact-hero-content h1{

    margin:24px auto 28px;

}

.contact-hero-content p{

    max-width:680px;

    margin:auto;

    font-size:18px;

    line-height:1.8;

    color:var(--text-light);

}
/*=====================================
CONTACT MAIN
======================================*/

.contact-main-section{

    padding-top:40px;

}

.contact-main-grid{

    display:grid;

    grid-template-columns:.8fr 1.2fr;

    gap:80px;

    align-items:start;

}
.contact-info{

    padding-top:20px;

}

.contact-info h2{

    margin:24px 0;

}

.contact-info > p{

    max-width:500px;

    line-height:1.8;

    color:var(--text-light);

}

.contact-details{

    display:flex;

    flex-direction:column;

    gap:20px;

    margin-top:42px;

}

.contact-detail{

    display:flex;

    align-items:center;

    gap:16px;

    color:inherit;

    text-decoration:none;

}

.contact-detail-icon{

    width:54px;

    height:54px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:16px;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.1);

}

.contact-detail-icon i{

    font-size:20px;

}

.contact-detail > span:last-child{

    display:flex;

    flex-direction:column;

    gap:5px;

}

.contact-detail small{

    font-size:12px;

    color:var(--secondary);

    text-transform:uppercase;

    letter-spacing:1px;

}
.contact-form-wrapper{

    padding:40px;

    border-radius:28px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.09);

    backdrop-filter:blur(20px);

}

.contact-form{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}

.form-group{

    display:flex;

    flex-direction:column;

    gap:9px;

}

.form-group label{

    font-size:13px;

    font-weight:600;

}

.form-group input,
.form-group select,
.form-group textarea{

    width:100%;

    padding:15px 17px;

    border-radius:12px;

    color:inherit;

    font-family:inherit;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.1);

    outline:none;

    transition:.3s ease;

}

.form-group textarea{

    resize:vertical;

    min-height:140px;

}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

    border-color:var(--secondary);

    box-shadow:

        0 0 0 3px rgba(0,212,255,.08);

}

.form-group input::placeholder,
.form-group textarea::placeholder{

    color:rgba(255,255,255,.4);

}
.form-group select{

    appearance:none;

    cursor:pointer;

}

.form-group select option{

    background:#101820;

    color:#fff;

}
.contact-submit{

    align-self:flex-start;

    display:inline-flex;

    align-items:center;

    gap:12px;

    border:none;

    cursor:pointer;

}

.contact-submit i{

    transition:.3s ease;

}

.contact-submit:hover i{

    transform:translateX(5px);

}
/*=====================================
CONTACT PROCESS
======================================*/

.contact-process-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

    margin-top:70px;

}

.contact-process-card{

    position:relative;

    padding:40px 32px;

    text-align:center;

    border-radius:24px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.09);

    transition:.4s ease;

}

.contact-process-card:hover{

    transform:translateY(-8px);

    border-color:rgba(0,212,255,.35);

}
.process-number{

    position:absolute;

    top:22px;

    right:24px;

    font-size:13px;

    letter-spacing:2px;

    color:var(--secondary);

}
.process-icon{

    width:72px;

    height:72px;

    margin:0 auto 26px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:20px;

    background:rgba(255,255,255,.07);

    border:1px solid rgba(255,255,255,.1);

}

.process-icon i{

    font-size:28px;

}
.contact-process-card h3{

    margin-bottom:14px;

}

.contact-process-card p{

    margin:0;

    line-height:1.7;

    color:var(--text-light);

}
/*=====================================
CONTACT CTA
======================================*/

.contact-cta-section{

    padding-top:40px;

}

.contact-cta-box{

    position:relative;

    overflow:hidden;

    text-align:center;

    padding:90px 60px;

    border-radius:32px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.09);

    backdrop-filter:blur(24px);

}

.contact-cta-glow{

    position:absolute;

    width:600px;

    height:600px;

    top:-350px;

    left:50%;

    transform:translateX(-50%);

    border-radius:50%;

    background:radial-gradient(

        circle,

        rgba(0,212,255,.2),

        transparent 70%

    );

    pointer-events:none;

}

.contact-cta-box h2{

    position:relative;

    z-index:1;

    max-width:800px;

    margin:24px auto;

}

.contact-cta-box p{

    position:relative;

    z-index:1;

    max-width:600px;

    margin:0 auto 36px;

    font-size:18px;

    line-height:1.8;

    color:var(--text-light);

}

.contact-cta-box .btn{

    position:relative;

    z-index:1;

    display:inline-flex;

    align-items:center;

    gap:12px;

}

.contact-cta-box .btn i{

    transition:.3s ease;

}

.contact-cta-box .btn:hover i{

    transform:translateX(5px);

}