/* =========================
   CONTACT HERO
========================= */

.contact-hero-section{
    position: relative;

    overflow: hidden;

    padding:
        80px 0;

    background:
        linear-gradient(
            135deg,
            #071019 0%,
            #0b1826 45%,
            #102337 100%
        );
}

/* GRID */
.contact-hero-grid{
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(255,255,255,.018) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.018) 1px,
            transparent 1px
        );

    background-size: 60px 60px;

    mask-image:
        radial-gradient(
            circle at center,
            black,
            transparent 85%
        );
}

/* GLOW */
.contact-hero-glow{
    position: absolute;

    width: 500px;
    height: 500px;

    border-radius: 50%;

    background: rgba(245,158,11,.12);

    filter: blur(140px);

    top: -180px;
    right: -120px;
}

/* CONTENT */
.contact-hero-content{
    position: relative;
    z-index: 2;
}

/* BADGE */
.contact-hero-badge{
    display: inline-flex;

    padding: 12px 18px;

    border-radius: 999px;

    background: rgba(255,255,255,.05);

    border: 1px solid rgba(255,255,255,.08);

    color: #f59e0b;

    font-size: .8rem;
    font-weight: 700;

    letter-spacing: .14em;
    text-transform: uppercase;

    margin-bottom: 26px;
}

/* TITLE */
.contact-hero-title{
    font-size: clamp(3rem,5vw,5.5rem);

    line-height: .95;

    font-weight: 900;

    letter-spacing: -0.05em;

    color: #fff;

    margin-bottom: 28px;
}

.contact-hero-title span{
    display: block;

    background:
        linear-gradient(
            90deg,
            #f59e0b,
            #ffd089
        );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* TEXT */
.contact-hero-text{
    color: rgba(255,255,255,.72);

    line-height: 2;

    font-size: 1.05rem;

    margin-bottom: 40px;
}

/* INFO */
.contact-hero-info{
    display: flex;
    flex-direction: column;

    gap: 18px;

    margin-bottom: 35px;
}

/* CARD */
.contact-info-card{
    display: flex;
    align-items: center;
    gap: 18px;

    padding: 20px;

    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.03)
        );

    border: 1px solid rgba(255,255,255,.08);
}

.contact-info-card i{
    width: 56px;
    height: 56px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            #f59e0b,
            #ffd089
        );

    color: #0b2c4d;

    font-size: 1.2rem;
}

.contact-info-card small{
    display: block;

    color: rgba(255,255,255,.55);

    margin-bottom: 6px;
}

.contact-info-card strong{
    color: #fff;

    font-size: 1rem;
}

/* SOCIALS */
.contact-socials{
    display: flex;
    gap: 14px;
}

.contact-social-btn{
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background: rgba(255,255,255,.05);

    border: 1px solid rgba(255,255,255,.08);

    color: #fff;

    text-decoration: none;

    transition: .3s ease;
}

.contact-social-btn:hover{
    transform: translateY(-4px);

    background: #f59e0b;

    color: #0b2c4d;
}

/* MAP */
.contact-map-wrapper{
    overflow: hidden;

    border-radius: 34px;

    height: 100%;

    min-height: 650px;

    border: 1px solid rgba(255,255,255,.08);

    box-shadow:
        0 40px 90px rgba(0,0,0,.4);
}

.contact-map-wrapper iframe{
    width: 100%;
    height: 650px;

    display: block;

    border: 0;

    filter:
        grayscale(.15)
        contrast(1.05)
        brightness(.92);
}

/* MOBILE */
@media (max-width: 768px){

    .contact-hero-section{
        padding:
            40px 0;
    }

    .contact-hero-title{
        line-height: 1;
    }

    .contact-map-wrapper{
        min-height: 420px;
    }

}

/* =========================
   CONTACT FORM
========================= */

.contact-form-section{
    padding:
        80px 0
        120px;

    background:
        linear-gradient(
            180deg,
            #102337 0%,
            #071019 100%
        );
}

/* CARD */
.contact-form-card{
    padding: 60px;

    border-radius: 40px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.03)
        );

    border: 1px solid rgba(255,255,255,.08);

    backdrop-filter: blur(18px);

    box-shadow:
        0 30px 80px rgba(0,0,0,.28);
}

/* HEADER */
.contact-form-header{
    max-width: 800px;

    margin:
        0 auto
        50px;
}

/* BADGE */
.contact-form-badge{
    display: inline-flex;

    padding: 12px 18px;

    border-radius: 999px;

    background: rgba(255,255,255,.05);

    border: 1px solid rgba(255,255,255,.08);

    color: #f59e0b;

    font-size: .8rem;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .14em;

    margin-bottom: 24px;
}

/* TITLE */
.contact-form-title{
    font-size: clamp(3rem,5vw,5rem);

    line-height: .95;

    font-weight: 900;

    letter-spacing: -0.05em;

    color: #fff;
}

.contact-form-title span{
    display: block;

    background:
        linear-gradient(
            90deg,
            #f59e0b,
            #ffd089
        );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* GRID */
.contact-form-grid{
    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 24px;
}

/* FULL */
.contact-field.full,
.contact-submit.full{
    grid-column: 1 / -1;
}

/* INPUTS */
.contact-field input,
.contact-field select,
.contact-field textarea{
    width: 100%;

    padding: 18px 22px;

    border-radius: 20px;

    border: 1px solid rgba(255,255,255,.08);

    background: rgba(255,255,255,.04);

    color: #fff;

    outline: none;

    transition: .3s ease;
}

.contact-field input::placeholder,
.contact-field textarea::placeholder{
    color: rgba(255,255,255,.45);
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus{
    border-color:
        rgba(245,158,11,.45);

    background:
        rgba(255,255,255,.06);
}

/* BUTTON */
.contact-submit button{
    border: none;

    padding: 18px 30px;

    border-radius: 999px;

    background: #f59e0b;

    color: #0b2c4d;

    font-weight: 800;

    transition: .3s ease;
}

.contact-submit button:hover{
    transform: translateY(-4px);

    background: #ffb733;
}

/* MOBILE */
@media (max-width: 768px){

    .contact-form-section{
        padding:
            40px 0
            70px;
    }

    .contact-form-card{
        padding: 35px 25px;
    }

    .contact-form-title{
        line-height: 1;
    }

    .contact-form-grid{
        grid-template-columns: 1fr;
    }

}

/* SELECT */
.contact-field select{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    cursor: pointer;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,.03)
        );

    color: #fff;
}

/* OPTIONS */
.contact-field select option{
    background: #102337;
    color: #fff;
}