.contact-main { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(32px, 7vw, 120px); align-items: start; max-width: 1180px; margin: 0 auto; padding: 70px 0; min-height: calc(100svh - 174px); }
.contact-intro h1 { margin: 25px 0; }
.contact-plane { display: block; max-width: 100%; height: auto; width: 280px; margin: 10px 0 -50px -18px; }
.form-card { border: 1px solid var(--line); border-radius: 5px; background: var(--paper); padding: 32px; margin-top: 6px; min-width: 0; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { margin-bottom: 24px; min-width: 0; }
.field label { display: block; font-size: 12px; margin-bottom: 10px; }
.field input, .field textarea { display: block; width: 100%; background: #fcfcf8; color: var(--ink); border: 1px solid #9dadaa; border-radius: 3px; padding: 12px; font: 16px/1.5 Arial, Helvetica, sans-serif; }
.field textarea { resize: vertical; min-height: 160px; max-height: 600px; }
.field input:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.field-hint, .privacy-note { color: var(--muted); font-size: 11px; line-height: 1.7; margin: 9px 0 0; }
.privacy-note { border-top: 1px solid var(--line); margin-top: 25px; padding-top: 20px; }
.privacy-note a { text-decoration: underline; text-underline-offset: 3px; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.turnstile { min-height: 65px; }
.form-status { margin: 10px 0 18px; font-size: 12px; line-height: 1.6; min-height: 20px; }
.form-status[data-error="true"] { color: #913c2d; }
.form-notice { font-size: 13px; line-height: 1.7; }
.sent { padding: 45px 0; }
.sent:focus { outline: none; }
.sent-mark { display: block; font-size: 54px; color: #628b72; margin-bottom: 28px; }
.sent h2 { font: 400 38px/1.12 Georgia, serif; letter-spacing: -1.5px; margin: 15px 0; }
.sent p:not(.eyebrow) { font-size: 14px; line-height: 1.8; color: var(--muted); margin-bottom: 30px; }
@media (max-width: 900px) { .contact-main { gap: 30px; padding: 45px 0; }.form-card { padding: 24px; }.field-row { grid-template-columns: 1fr; gap: 0; } }
@media (max-width: 600px) { .contact-main { grid-template-columns: 1fr; padding: 35px 0; gap: 30px; min-height: calc(100svh - 143px); }.contact-intro h1 br { display: none; }.contact-plane { display: none; }.form-card { padding: 22px 18px; margin: 0; }.contact-intro .intro-copy { margin-bottom: 20px; }.contact-intro h1 { margin: 22px 0 16px; }.contact-intro h1 em::before { content: ' '; }.form-card .launch { width: 100%; }.sent { padding: 10px 0; } }
