.contact-intro { min-height: 500px; display: grid; align-items: center; }
.contact-intro-inner { position: relative; z-index: 1; padding-block: clamp(4rem, 7vw, 6rem); }
.contact-intro h1 { max-width: 930px; margin-bottom: 0; color: var(--ocean); font-size: clamp(3.6rem, 7.4vw, 7rem); font-weight: 540; }
.threads-contact { right: -6%; bottom: -28%; width: min(68vw, 900px); height: 115%; opacity: 0.15; }
.contact-form-section { padding: clamp(5rem, 9vw, 8rem) 0; color: var(--white); background: var(--green); }
.contact-form-layout { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(3rem, 8vw, 7rem); align-items: start; }
.contact-form-heading h2 { margin-bottom: 1.5rem; font-size: clamp(2.6rem, 5vw, 4.8rem); font-weight: 520; }
.contact-form-heading p { color: #dce9e5; }
.contact-form { padding: clamp(1.5rem, 4vw, 3rem); color: var(--ink); background: var(--paper); }
.form-field { margin-bottom: 1.5rem; }
.form-field label { display: flex; justify-content: space-between; margin-bottom: 0.55rem; color: var(--ocean); font-weight: 700; }
.form-field label span { color: var(--muted); font-size: 0.76rem; font-weight: 500; }
.form-field input, .form-field textarea { width: 100%; padding: 0.9rem 1rem; border: 1px solid rgba(5,61,87,0.3); border-radius: 0; color: var(--ink); background: var(--white); font: inherit; }
.form-field textarea { resize: vertical; }
.field-help { margin: -0.15rem 0 0.7rem; color: var(--muted); font-size: 0.82rem; }
.form-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.form-status { margin: 0 0 1.5rem; padding: 1rem 1.1rem; border-left: 4px solid currentColor; background: var(--white); font-size: 0.95rem; font-weight: 650; }
.form-status[hidden] { display: none; }
.form-status.success { color: var(--green); background: #e7f0ed; }
.form-status.error { color: #8a2525; background: #f7e8e5; }
.contact-form button[disabled] { cursor: wait; opacity: 0.7; }
.contact-alternative { padding: clamp(4rem, 7vw, 6rem) 0; background: var(--stone); }
.contact-alternative-inner h2 { max-width: 820px; margin-bottom: 1rem; color: var(--ocean); font-weight: 520; }
.contact-alternative-links { display: flex; gap: 1.5rem; flex-wrap: wrap; }
@media (max-width: 850px) { .contact-form-layout { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .contact-intro { min-height: auto; } .contact-intro h1 { font-size: clamp(3rem, 14vw, 4.8rem); } .threads-contact { right: -52%; width: 145vw; opacity: 0.1; } .contact-form { padding: 1.4rem 1.1rem; } }
