/* Contact · macrostructure: Editorial enquiry · genre: restrained studio */

.contact-page{background:var(--bg);}
.contact-hero{padding:140px 0 40px}
.contact-hero__inner,.contact-form-layout{max-width:900px}
.contact-hero h1{font-family:var(--font-display);font-size:clamp(52px,6vw,88px);font-weight:600;line-height:1;letter-spacing:-.035em}
.contact-intro{max-width:48ch;margin-top:22px;color:var(--ink-dim);font-size:18px;line-height:1.5}

.contact-form-section{padding:12px 0 88px}
.success-panel h2{font-family:var(--font-display);font-size:clamp(30px,4vw,54px);font-weight:600;line-height:1;letter-spacing:-.025em}
.success-panel>p:last-child{margin-top:22px;color:var(--ink-dim);line-height:1.65}
.form-column{min-width:0}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
.field{display:grid;gap:10px}
.field--full{grid-column:1/-1}
.field label{font-family:var(--font-body);font-size:14px;color:var(--ink-dim)}
.field label span{color:var(--accent-text)}
.field input,.field select{width:100%;min-height:52px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:9px 0;font-family:var(--font-body);font-size:17px;line-height:1.4;transition:border-color .3s var(--ease),background-color .3s var(--ease)}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-dim) 50%),linear-gradient(135deg,var(--ink-dim) 50%,transparent 50%);background-position:calc(100% - 8px) 23px,calc(100% - 2px) 23px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:30px;cursor:pointer}
.field input::placeholder{color:var(--ink-faint)}
.field input:hover,.field select:hover{border-color:var(--ink-dim)}
.field input:focus,.field select:focus{outline:0;border-color:var(--accent);background-color:color-mix(in srgb,var(--accent) 5%,transparent)}
.field input:user-invalid,.field select:user-invalid{border-color:var(--accent)}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-note{margin-top:30px;color:var(--ink-faint);font-size:13px;line-height:1.6}
.form-note a,.email-fallback a{color:var(--accent-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-text) 50%,transparent);text-underline-offset:4px}
.form-note a:hover,.email-fallback a:hover{color:var(--ink)}
.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;margin-top:28px;padding:12px 20px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.submit-btn span{font-size:17px;line-height:1;letter-spacing:0}
.submit-btn:hover:not(:disabled){background:transparent;color:var(--accent-text)}
.submit-btn:focus-visible{outline-color:var(--accent-text);outline-offset:5px}
.submit-btn:disabled{cursor:wait;opacity:.62}
.form-status{min-height:26px;margin-top:20px;color:var(--ink-dim);font-size:14px;line-height:1.5}
.form-status.is-error{color:var(--accent-text)}
.form-status.is-success{color:var(--ink)}
.success-panel{padding:clamp(26px,4vw,54px);border:1px solid var(--line);background:var(--bg-raise)}
.success-panel .tag{margin-bottom:26px}
.success-panel:focus{outline:2px solid var(--accent);outline-offset:5px}
.email-fallback{margin-top:38px;color:var(--ink-dim);font-size:14px}
.email-fallback a{display:inline-flex;align-items:center;gap:10px;margin-left:6px}
.email-fallback a span{font-size:16px;text-decoration:none}

@media(max-width:560px){
  .field-grid{grid-template-columns:1fr;gap:25px}
  .field--full{grid-column:auto}
  .submit-btn{width:100%;margin-top:25px}
  .site-footer{padding-bottom:36px}
}
@media(prefers-reduced-motion:reduce){
  .field input,.field select,.submit-btn{transition:none}
}
