/*======================================================
    CONTACT LAYOUT
======================================================*/

.contact-section{
    padding:100px 7%;

    background:
        radial-gradient(circle at top left, rgba(184,115,51,.10), transparent 34%),
        radial-gradient(circle at bottom right, rgba(255,255,255,.05), transparent 28%),
        #0D0D0F;
}

.contact-section .container{
    width:100%;
    max-width:1480px;
    margin:0 auto;
}

/* main glass wrapper */
.contact-card{
    display:grid;
    grid-template-columns:340px minmax(0,1fr);
    gap:44px;
    align-items:start;

    width:100%;

    padding:44px;

    border-radius:36px;

    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(26px);
    -webkit-backdrop-filter:blur(26px);

    box-shadow:0 40px 120px rgba(0,0,0,.40);
}

/*======================================================
    LEFT INFO CARD
======================================================*/

.contact-info{
    position:sticky;
    top:120px;

    min-height:520px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:42px 34px;

    border-radius:30px;

    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.09);

    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);

    box-shadow:0 25px 80px rgba(0,0,0,.28);

    transition:.35s ease;
}

.contact-info:hover{
    transform:translateY(-7px);

    border-color:rgba(184,115,51,.35);

    box-shadow:
        0 35px 100px rgba(0,0,0,.48),
        0 0 0 1px rgba(184,115,51,.10);
}

.contact-info span{
    display:inline-flex;

    margin-bottom:22px;

    color:var(--primary);

    font-size:.76rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.contact-info h2{
    margin-bottom:26px;

    color:#fff;

    font-size:clamp(1.5rem,2.0vw,2.2rem);
    line-height:1.05;
}

.contact-info p{
    color:rgba(255,255,255,.74);

    font-size:.98rem;
    line-height:1.75;
}

/*======================================================
    FORM AREA
======================================================*/

.contact-form-area{
    width:100%;

    padding:46px;

    border-radius:34px;

    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);

    box-shadow:0 25px 80px rgba(0,0,0,.28);

    transition:.35s ease;
}

.contact-form-area:hover{
    transform:translateY(-4px);
    border-color:rgba(184,115,51,.22);
}

/* progress */
.steps-header{
    margin-bottom:34px;
}

.progress-line{
    width:100%;
    height:7px;

    border-radius:999px;

    background:rgba(255,255,255,.07);

    overflow:hidden;
}

.progress-fill{
    width:25%;
    height:100%;

    border-radius:999px;

    background:linear-gradient(
        90deg,
        var(--primary),
        var(--primary-light)
    );

    transition:.45s ease;
}