/* CONTACT keeps the shared page typography and motion; inputs stay native. */
.contact-page-intro { padding-bottom:6vw; }
.contact-page-intro .page-intro { max-width:65vw; }
.contact-page-form { position:relative;z-index:4;margin:0 17.5vw;padding-bottom:10vw;font-family:var(--mincho);font-size:clamp(12px,1vw,17px); }
.contact-preview-note { font:10px/1.8 Arial,sans-serif;color:var(--muted-ink);margin-bottom:28px; }
.contact-recovery { display:flex;gap:24px;flex-wrap:wrap;margin:-12px 0 28px;font-size:14px;line-height:1.8; }
.contact-recovery[hidden] { display:none; }
.contact-recovery button { padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer; }
.contact-recovery button:disabled { opacity:.5;cursor:wait; }
.contact-recovery a { color:inherit; }
.field-tag { display:inline-block;font:9px/1.5 Arial,sans-serif;letter-spacing:.04em;color:var(--accent);margin-left:9px;vertical-align:middle; }
.field-tag.is-optional { color:var(--muted-ink); }
.field-help { font-size:10px;line-height:2;color:var(--muted-ink);margin-top:12px; }
.field-help a { text-decoration:underline;text-underline-offset:3px; }
.contact-field { display:grid;grid-template-columns:minmax(0,30%) minmax(0,1fr);gap:3vw;align-items:start;padding:30px 0;border-top:1px solid var(--rule-ink); }
.contact-field>label,.field-label { padding-top:10px;line-height:1.9;overflow-wrap:anywhere; }
.field-label label { display:block; }
.contact-field>div { min-width:0; }
.contact-field input,.contact-field textarea,.contact-field select { display:block;width:100%;min-width:0;border:0;border-radius:0;background:transparent;color:var(--text);font:inherit;line-height:1.9;padding:10px 0;box-shadow:none; }
.contact-field select { cursor:pointer; }
.contact-field input:focus-visible,.contact-field textarea:focus-visible,.contact-field select:focus-visible { outline:1px solid var(--accent);outline-offset:5px; }
.contact-field input::placeholder { color:var(--muted-ink); }
.contact-field textarea { resize:vertical;min-height:180px;max-height:65vh; }
.message-field { border-bottom:1px solid var(--rule-ink); }
.contact-submit-row { display:flex;flex-direction:column;align-items:center;gap:28px;padding-top:36px; }
.contact-submit-row>div { max-width:100%;font-size:inherit;line-height:1.9; }
.contact-submit-row .editorial-link { flex-shrink:0;margin:0;transform:translateX(var(--contact-submit-shift,0px)); }
.contact-submit-row button:disabled { opacity:.5;cursor:not-allowed; }
.contact-consent { display:flex;align-items:center;gap:10px; }
.contact-consent input { width:18px;height:18px;flex:none;margin:0;accent-color:var(--accent);cursor:pointer; }
.contact-consent input:focus-visible { outline:1px solid var(--accent);outline-offset:4px; }
.contact-consent label { cursor:pointer; }
.privacy-policy-link { text-decoration:underline;text-underline-offset:4px; }
.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
#contact-verification{display:flex;justify-content:center;margin-top:24px}
.contact-status { min-height:2em;margin-top:28px;font-size:12px;line-height:2;color:var(--accent); }
html[data-page="contact"] .site-footer { padding-top:0; }
@media(max-width:767px) {
 .contact-page-intro { padding-bottom:48px; }
 .contact-page-intro .page-intro { max-width:none;line-height:2.2; }
 .contact-page-form { margin:0 10vw;padding-bottom:24vw;font-size:14px; }
 .contact-preview-note { font-size:9px; }
 .contact-field { grid-template-columns:1fr;gap:12px;padding:24px 0; }
 .contact-field>label,.field-label { padding-top:0;font-size:12px; }
 .contact-field input,.contact-field textarea,.contact-field select { font-size:16px; }
 .contact-submit-row { padding-top:28px; }
 .contact-submit-row>div { font-size:12px; }
}
