* {
box-sizing: border-box;
}
body {
margin: 0;
padding: clamp(1rem, 5vw, 3rem);
background: #f2e3de;
color: #2b151d;
font-family: system-ui, sans-serif;
}
.contact-form {
width: min(100%, 42rem);
margin-inline: auto;
padding: clamp(1.25rem, 5vw, 3rem);
border: 4px solid #2b151d;
background: #f7efe6;
}
.contact-form__eyebrow {
margin: 0 0 0.6rem;
color: #8e2f50;
font-size: 0.78rem;
font-weight: 900;
letter-spacing: 0.12em;
text-transform: uppercase;
}
#contact-help {
max-width: 42ch;
margin: -0.75rem 0 1.5rem;
color: #5c3b45;
line-height: 1.55;
}
.contact-form h1 {
max-width: 13ch;
margin: 0 0 2rem;
font-size: clamp(2rem, 7vw, 3.5rem);
line-height: 1.05;
}
.field-row {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1rem;
}
.field {
margin-bottom: 1.25rem;
}
.field label {
display: block;
margin-bottom: 0.4rem;
font-weight: 850;
}
.field p {
margin: -0.1rem 0 0.5rem;
color: #7a5560;
font-size: 0.85rem;
}
.field input,
.field textarea {
width: 100%;
border: 2px solid #2b151d;
background: #ffffff;
color: #2b151d;
font: inherit;
}
.field input {
min-height: 3rem;
padding: 0.6rem 0.75rem;
}
.field textarea {
min-height: 8rem;
padding: 0.75rem;
resize: vertical;
}
.field input:focus-visible,
.field textarea:focus-visible,
.contact-form button:focus-visible {
outline: 4px solid #d94f9d;
outline-offset: 3px;
}
.contact-form button {
min-height: 3rem;
padding: 0.7rem 1.1rem;
border: 2px solid #2b151d;
background: #b0436a;
color: #f7efe6;
font: inherit;
font-weight: 850;
cursor: pointer;
}
.contact-form button:hover {
background: #8e2f50;
}
@media (max-width: 34rem) {
.field-row {
grid-template-columns: 1fr;
gap: 0;
}
}