.contact-main {
    min-height:70vh;
}

.contact-container {
    width:min(1180px,calc(100% - 48px));
    margin:0 auto;
}

.contact-hero {
    padding:100px 0 70px;
}

.contact-eyebrow {
    color:#0099ff;
    font-size:13px;
    font-weight:900;
    letter-spacing:.16em;
}

.contact-hero h1 {
    margin:16px 0 14px;
    font-size:clamp(50px,7vw,86px);
    line-height:1;
}

.contact-hero p {
    max-width:780px;
    font-size:20px;
    line-height:1.65;
}

.contact-section {
    padding:20px 0 90px;
}

.contact-layout {
    display:grid;
    grid-template-columns:
        minmax(0,1.45fr)
        minmax(300px,.55fr);
    gap:28px;
    align-items:start;
}

.contact-form-card,
.contact-aside {
    border-radius:28px;
    padding:30px;
    background:rgba(255,255,255,.92);
    box-shadow:0 25px 65px rgba(0,30,70,.09);
}

.contact-card-heading span,
.contact-aside > span {
    color:#0099ff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
}

.contact-card-heading h2,
.contact-aside h2 {
    margin:8px 0 22px;
    font-size:30px;
}

.contact-form {
    display:grid;
    gap:17px;
}

.contact-grid-two {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.contact-form label {
    display:grid;
    gap:7px;
    font-weight:800;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width:100%;
    box-sizing:border-box;
    border:1px solid rgba(30,100,160,.25);
    border-radius:13px;
    padding:12px 14px;
    font:inherit;
}

.contact-form textarea {
    resize:vertical;
}

.contact-consent {
    display:flex !important;
    grid-template-columns:none;
    align-items:flex-start;
    gap:10px !important;
}

.contact-consent input {
    width:auto;
    margin-top:4px;
}

.contact-submit {
    justify-self:start;
}

.contact-honeypot {
    position:absolute;
    left:-10000px;
    width:1px;
    height:1px;
    overflow:hidden;
}

.contact-alert {
    margin-bottom:20px;
    padding:14px 16px;
    border-radius:12px;
    background:#ffe4e7;
    color:#8a1023;
    font-weight:800;
}

.contact-alert.success {
    background:#d8f8e9;
    color:#086942;
}

.contact-aside img {
    display:block;
    width:120px;
    height:auto;
    margin:0 auto 25px;
}

.contact-aside p {
    line-height:1.65;
}

.contact-topic-list {
    display:grid;
    gap:11px;
    margin-top:25px;
    font-weight:800;
}

.contact-footer {
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    align-items:center;
    min-height:70px;
    padding:12px 30px;
    background:#0099ff;
    color:#fff;
    font-weight:800;
}

.contact-footer > :nth-child(2) {
    text-align:center;
}

.contact-footer > :nth-child(3) {
    text-align:right;
}

.contact-footer a {
    color:#fff;
    text-decoration:none;
}

.contact-footer a:hover {
    text-decoration:underline;
}

html[data-theme="dark"] .contact-form-card,
html[data-theme="dark"] .contact-aside {
    background:#0b223b;
    color:#fff;
}

html[data-theme="dark"] .contact-form input,
html[data-theme="dark"] .contact-form select,
html[data-theme="dark"] .contact-form textarea {
    background:#08192d;
    color:#fff;
}

@media(max-width:900px) {

    .contact-layout {
        grid-template-columns:1fr;
    }
}

@media(max-width:650px) {

    .contact-container {
        width:min(100% - 28px,1180px);
    }

    .contact-grid-two {
        grid-template-columns:1fr;
    }

    .contact-footer {
        grid-template-columns:1fr;
        gap:7px;
        text-align:center;
        padding:18px;
    }

    .contact-footer > :nth-child(2),
    .contact-footer > :nth-child(3) {
        text-align:center;
    }
}
