.contact-page{background:var(--white)}
.contact-hero{padding:64px 0 80px;background:var(--paper);border-bottom:1px solid var(--ink)}
.contact-hero__grid,.contact-form-grid{display:grid;gap:48px}
.breadcrumb{display:flex;gap:10px;margin-bottom:48px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.breadcrumb a{font-weight:700;text-decoration-color:var(--green-dark)}
.contact-hero h1{max-width:780px;margin:0;font-size:clamp(3.8rem,10vw,8rem);font-weight:800;line-height:.86;letter-spacing:-.06em}
.contact-hero .lede{margin:32px 0 0}
.contact-direct{align-self:end;border-top:2px solid var(--ink)}
.contact-direct a{display:grid;gap:8px;padding:24px 0;border-bottom:1px solid var(--ink);text-decoration:none}
.contact-direct span{color:var(--grey);font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.contact-direct strong{overflow-wrap:anywhere;font-size:clamp(1.25rem,2.7vw,2rem);line-height:1.15}
.contact-direct a:hover strong{text-decoration:underline;text-decoration-color:var(--green-dark);text-underline-offset:6px}
.contact-form-section{background:var(--white)}
.contact-form-grid{align-items:start}
.contact-form-grid .section-title{font-size:clamp(2.8rem,6vw,5.25rem)}
.contact-form{display:grid;gap:28px;padding:24px;border:2px solid var(--ink);background:var(--paper);box-shadow:8px 8px 0 var(--green)}
.contact-field-grid{display:grid;gap:20px}
.contact-field-grid label{display:grid;gap:8px;font-weight:800}
.contact-field-grid label small{display:inline;font-weight:500;color:var(--grey)}
.contact-field-grid input{width:100%;min-height:56px;padding:12px 14px;border:1px solid var(--ink);border-radius:0;background:var(--white);color:var(--ink)}
.contact-field-grid input:focus{outline:3px solid var(--green);outline-offset:1px}
.contact-consent{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.45}
.contact-consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--green-dark)}
.contact-form .button{justify-self:start}
.form-setup-note{margin:0;color:var(--grey);font-size:13px;line-height:1.5}
.form-alert{padding:18px;border:2px solid var(--ink);background:#fff1c9}
.form-alert p{margin:6px 0 0}
@media(min-width:700px){.contact-hero{padding:88px 0 104px}.contact-hero__grid,.contact-form-grid{grid-template-columns:1fr 1fr}.contact-form{padding:32px}.contact-field-grid{grid-template-columns:1fr 1fr}.contact-field-grid .field-wide{grid-column:1/-1}}
