/* /contact — the petition. */

.petition {
    margin: 2.5rem 0;
    padding: 2.5rem;
    background: linear-gradient(160deg, var(--ink-panel), var(--ink-raised));
    border: 2px solid var(--gold-deep);
    border-radius: 3px;
    box-shadow: inset 0 1px 0 var(--gold-veil), 0 18px 40px rgba(0, 0, 0, 0.55);
}

.field {
    margin-bottom: 1.75rem;
}

.field label {
    display: block;
    margin-bottom: 0.5rem;
    font-family: var(--font-accent);
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold);
}

.field input,
.field textarea {
    width: 100%;
    padding: 0.9rem 1rem;
    font-family: var(--font-body);
    font-size: 1.15rem;
    color: var(--parchment);
    background: rgba(0, 0, 0, 0.45);
    border: 2px solid var(--gold-deep);
    border-radius: 2px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.field textarea {
    resize: vertical;
    line-height: 1.6;
}

.field input::placeholder,
.field textarea::placeholder {
    color: var(--parchment-dim);
    font-style: italic;
    opacity: 0.6;
}

.field input:focus,
.field textarea:focus {
    outline: none;
    border-color: var(--gold-bright);
    box-shadow: 0 0 0 1px var(--gold-bright), 0 0 26px var(--gold-ghost);
}

.field-hint {
    margin: 0.5rem 0 0;
    font-size: 0.95rem;
    font-style: italic;
    color: var(--parchment-dim);
}

.card-set {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.contact-card p {
    max-width: none;
    margin-bottom: 0.3em;
}

@media (max-width: 720px) {
    .petition {
        padding: 1.5rem;
    }
}
