.lutf-sponsor-form {
    max-width: 46rem;
    margin: 2rem auto;
    color: #241c1b;
    background: #fffcf6;
    border: 1px solid #e6d6b6;
    border-radius: 1rem;
    overflow: hidden;
}
.lutf-sponsor-header {
    padding: clamp(1.25rem, 5vw, 2.5rem);
    background: #641628;
    color: #fff8e7;
    border-bottom: 4px solid #d2a655;
}
.lutf-sponsor-header h2 { color: inherit; margin: 0 0 .65rem; }
.lutf-sponsor-header p { margin: 0; }
.lutf-sponsor-form form { display: grid; gap: 1rem; padding: clamp(1.25rem, 5vw, 2.5rem); }
.lutf-sponsor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.lutf-sponsor-form label { display: block; font-weight: 650; }
.lutf-sponsor-form label span { font-size: .875em; font-weight: 400; }
.lutf-sponsor-form input:not([type=hidden]),
.lutf-sponsor-form select,
.lutf-sponsor-form textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    margin: .35rem 0 0;
    padding: .55rem .7rem;
    border: 1px solid #8f7b70;
    border-radius: .4rem;
    background: white;
    color: #241c1b;
    font: inherit;
    font-weight: 400;
}
.lutf-sponsor-form textarea { resize: vertical; }
.lutf-sponsor-form button {
    justify-self: start;
    min-height: 44px;
    padding: .65rem 1.1rem;
    border: 1px solid #641628;
    border-radius: .4rem;
    color: #fff8e7;
    background: #641628;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.lutf-sponsor-form button:hover { background: #48101e; }
.lutf-sponsor-form :focus-visible { outline: 3px solid #984c18; outline-offset: 3px; }
.lutf-sponsor-form .lutf-sponsor-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.lutf-sponsor-footnote { margin: 0; font-size: .875rem; }
.lutf-sponsor-footnote a { color: #641628; text-decoration: underline; }
.lutf-sponsor-notice {
    margin: 1.25rem;
    padding: .85rem 1rem;
    background: #f9edcc;
    border-left: 4px solid #946b2c;
}
@media (max-width: 600px) {
    .lutf-sponsor-grid { grid-template-columns: minmax(0, 1fr); }
}
.lutf-sponsor-form .lutf-sponsor-artwork {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #d1bd98;
    border-radius: .4rem;
}
.lutf-sponsor-artwork legend { font-weight: 700; }
.lutf-sponsor-artwork legend span { font-weight: 400; }
.lutf-sponsor-form .lutf-sponsor-consent input[type=checkbox] {
    display: inline-block;
    width: 1.2rem;
    min-height: 0;
    height: 1.2rem;
    vertical-align: middle;
    margin: 0 .3rem .1rem 0;
}
