.mae-form {
    display: grid;
    gap: 1.18rem 1rem;
    max-width: 48rem;
    margin: 1.75rem 0 2.5rem;
    padding: clamp(1.05rem, 3vw, 2.15rem);
    border: 1px solid #d8cab8;
    border-radius: 1.1rem;
    background: #fffdf8;
    color: #17202d;
    box-shadow: 0 15px 45px #3024150d;
    box-sizing: border-box;
}
.mae-form p { margin: 0; }
.mae-invitation { padding: 0 0 1rem; border-bottom: 1px solid #d8cab8; overflow-wrap: anywhere; }
.mae-invitation h2 { margin: 0 0 .55rem; font-size: clamp(1.45rem, 3vw, 2.15rem); }
.mae-invitation p { white-space: pre-line; }
.mae-form label { display: grid; gap: .42rem; min-width: 0; font-size: .9rem; font-weight: 650; }
.mae-form small { color: #535a62; font-weight: 400; }
.mae-form :is(input:not([type="checkbox"]):not([type="hidden"]), select, textarea) {
    box-sizing: border-box;
    width: 100%;
    min-height: 3rem;
    border: 1px solid #b4a89a;
    border-radius: .56rem;
    padding: .63rem .78rem;
    background: #fff;
    color: #17202d;
    font: inherit;
    font-size: 1rem;
    font-weight: 400;
}
.mae-form .mae-check { display: flex; align-items: baseline; gap: .6rem; font-weight: 400; }
.mae-form input[type="checkbox"] { width: 1rem; height: 1rem; flex: none; accent-color: #152133; }
.mae-form .mae-honey { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mae-price > p:first-child { display: flex; justify-content: space-between; padding: .35rem .05rem; color: #535a62; }
.mae-form .mae-quote {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1rem;
    justify-content: space-between;
    padding: .85rem 1rem;
    border-radius: .55rem;
    background: #f0e5d6;
}
.mae-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: end;
    justify-self: start;
    min-height: 3rem;
    padding: .62rem 1.15rem;
    border: 1px solid transparent;
    border-radius: 100vmax;
    background: #17202d;
    color: #fffdf8;
    font: inherit;
    font-size: .87rem;
    font-weight: 650;
    cursor: pointer;
    text-decoration: none;
}
.mae-button:hover { background: #344257; color: white; }
.mae-form :focus-visible, .mae-button:focus-visible { outline: 3px solid #ab6c3e; outline-offset: 3px; }
.mae-notice, .mae-verification {
    max-width: 48rem;
    padding: 1.15rem 1.25rem;
    border-radius: .55rem;
    border-left: 3px solid #a46a3f;
    background: #f0e5d6;
    color: #17202d;
}
.mae-error { background: #faebe2; color: #713322; }
.mae-verification h2 { margin: .35rem 0 1rem; }
.mae-verification .mae-status { font-weight: 700; color: #82532f; }
.mae-verification dt { font-weight: 650; }
.mae-verification dd { margin: 0 0 .7rem; overflow-wrap: anywhere; }
.mae-verify-form { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
@media (min-width: 620px) {
    .mae-form[data-mae-application] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mae-form[data-mae-application] > :not(.mae-field-half) { grid-column: 1 / -1; }
}
@media (max-width: 360px) {
    .mae-verify-form { grid-template-columns: 1fr; }
}
