
.contact-page .contact-header { height: 60px; min-height: 0; display: block; }
.contact-page .contact-header > header { background: var(--section-bg); }
.contact-page .contact-layout { display: block; padding-top: clamp(20px, 3vw, 46px); }
.contact-feature {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: var(--quarter-gap);
 border-bottom: 1px solid var(--editorial-rule);
 margin-bottom: clamp(32px, 4vw, 64px);
}
.contact-artwork { position: relative; margin: 0; min-width: 0; }
.contact-artwork img {
 display: block;
 width: 100%;
 height: auto;
 mix-blend-mode: multiply;
}
.contact-invitation {
 margin: clamp(18px, 2.5vw, 36px) 0;
 padding-top: 12px;
 border-top: 1px solid var(--editorial-rule);
}
.contact-invitation p { margin: 0 0 12px; }
@media (hover: hover) { .contact-artwork img:hover { mix-blend-mode: normal; } }
.contact-panel { min-width: 0; border-inline-end: 1px solid var(--editorial-rule); padding-inline: calc(3 * var(--quarter-gap)); }
.contact-panel h1 { margin: 0; font-weight: 550; letter-spacing: -.055em; font-size: clamp(36px, 4vw, 70px); line-height: 1.06; }
.contact-panel .editorial-heading::after { inset-inline-end: 0; }
.contact-form { padding: 18px 0 clamp(48px, 6vw, 84px); scroll-margin-top: 110px; }
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.contact-form p { margin: 0 0 15px; }
.contact-form label { display: block; margin: 0 0 6px; font-weight: 600; color: var(--ink); font-size: 14px; }
.contact-form label span, .contact-form__required span { color: #ae3626; }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea {
 display: block;
 width: 100%;
 margin: 0;
 padding: 10px 12px;
 border: 1px solid #000;
 border-radius: 0;
 background: var(--section-bg);
 color: var(--ink);
 font: inherit;
}
.contact-form textarea { resize: vertical; }
.contact-form .contact-consent label { display: flex; align-items: start; gap: 8px; font-weight: 400; }
.contact-form .contact-consent input { width: auto; margin: 4px 0 0; accent-color: var(--ink); }
.contact-form .contact-consent label span { color: inherit; }
.contact-form button { padding: 10px 18px; border: 1px solid var(--ink); border-radius: 999px; background: transparent; font: inherit; }
.contact-form button:hover { background: var(--ink); color: var(--section-bg); }
.contact-captcha__code {
 display: block;
 width: fit-content;
 margin: 8px 0 10px;
 padding: 10px 18px;
 border: 1px solid #000;
 background: var(--section-bg);
 color: #000;
 font: 700 24px monospace;
 letter-spacing: .22em;
}
.contact-captcha__hint { display: block; margin: 4px 0 6px; }
.contact-captcha__hint, .contact-form__required { font-size: 13px; }
.contact-alert { padding: 12px 14px; margin-bottom: 18px; border: 1px solid var(--editorial-rule); }
.contact-alert--error { color: #8a271b; }
.contact-alert--success { color: #225a3d; }
.contact-alert ul { margin: 6px 0 0; padding-inline-start: 20px; }
.contact-honeypot { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
@media (max-width: 840px) {
 .contact-feature { grid-template-columns: minmax(0, 1fr); }
 .contact-artwork img { position: static; display: block; height: auto; max-height: 48svh; }
 .contact-panel { border-inline-end: 0; padding-inline: 0; }
}
@media (max-width: 650px) { .contact-page .contact-header { height: 100px; } }
@media (max-width: 520px) { .contact-grid { grid-template-columns: minmax(0, 1fr); } }

.contact-page { color-scheme: light; }
.contact-page .contact-layout > .editorial-footer { position: static; }
