.om-contact-page{
    width:100%;
    max-width:none;
    margin:0;
    padding:42px clamp(18px,4vw,72px) 70px;
    background:#fff;
}

.om-contact-hero{
    background:#111;
    color:#fff;
    border-top:4px solid #BC0D0D;
    padding:44px clamp(22px,4vw,56px);
    margin-bottom:32px;
}

.om-contact-kicker{
    margin:0 0 10px;
    color:#ff3b3b;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:.85rem;
}

.om-contact-hero h1{
    margin:0;
    color:#fff;
    font-size:clamp(2.2rem,4vw,4.6rem);
    line-height:1;
    font-weight:950;
}

.om-contact-hero p{
    margin:18px 0 0;
    max-width:760px;
    color:rgba(255,255,255,.82);
    font-size:1.12rem;
    line-height:1.6;
}

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

.om-contact-card{
    background:#fff;
    border-top:4px solid #BC0D0D;
    border-bottom:1px solid #ddd;
    padding:32px;
}

.om-contact-card h2{
    margin:0 0 12px;
    color:#111;
    font-size:1.65rem;
    font-weight:950;
}

.om-contact-intro{
    margin:0 0 26px;
    color:#555;
    line-height:1.65;
}

.om-contact-form-card form{
    display:grid;
    gap:18px;
}

.om-contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.om-contact-form-card label{
    display:grid;
    gap:8px;
    color:#111;
    font-weight:900;
}

.om-contact-form-card input[type="text"],
.om-contact-form-card input[type="email"],
.om-contact-form-card textarea{
    width:100%;
    border:1px solid #d8d8d8;
    background:#fff;
    color:#111;
    padding:13px 14px;
    font:inherit;
    font-weight:600;
    border-radius:0;
}

.om-contact-form-card textarea{
    resize:vertical;
    min-height:180px;
}

.om-contact-form-card input:focus,
.om-contact-form-card textarea:focus{
    outline:3px solid rgba(188,13,13,.14);
    border-color:#BC0D0D;
}

.om-contact-consent{
    display:flex !important;
    grid-template-columns:auto 1fr;
    align-items:flex-start;
    gap:12px !important;
    color:#444 !important;
    font-weight:700 !important;
    line-height:1.45;
}

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

.om-contact-actions{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}

.om-contact-actions button{
    border:0;
    background:#BC0D0D;
    color:#fff;
    font-weight:950;
    padding:14px 20px;
    cursor:pointer;
    border-radius:0;
}

.om-contact-actions button:hover{
    background:#a90b0b;
}

#contactStatus{
    color:#111;
    font-weight:800;
}

.hp-field{
    position:absolute !important;
    left:-9999px !important;
    width:1px;
    height:1px;
    overflow:hidden;
}

.om-contact-info-card{
    background:#f7f7f7;
}

.om-contact-info-block{
    padding:18px 0;
    border-bottom:1px solid #ddd;
}

.om-contact-info-block strong{
    display:block;
    color:#BC0D0D;
    font-weight:950;
    margin-bottom:6px;
}

.om-contact-info-block p{
    margin:0;
    color:#222;
    line-height:1.55;
    font-weight:700;
}

.om-contact-info-block a{
    color:#111;
    text-decoration:none;
    font-weight:900;
}

.om-contact-info-block a:hover{
    color:#BC0D0D;
}

.om-contact-info-block small{
    display:block;
    margin-top:8px;
    color:#666;
    line-height:1.45;
    font-weight:700;
}

.om-contact-map-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:24px;
    background:#111;
    color:#fff;
    text-decoration:none;
    font-weight:950;
    padding:14px 18px;
}

.om-contact-map-btn:hover{
    color:#fff;
    text-decoration:none;
    background:#BC0D0D;
}

@media(max-width:980px){
    .om-contact-layout{
        grid-template-columns:1fr;
    }
}

@media(max-width:680px){
    .om-contact-page{
        padding:24px 12px 46px;
    }

    .om-contact-hero{
        padding:32px 22px;
    }

    .om-contact-card{
        padding:24px 18px;
    }

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

    .om-contact-actions button{
        width:100%;
    }

    .om-contact-actions{
        align-items:stretch;
    }
}