.contact-page { background: var(--paper); }
.contact-page #contact-page { min-height: calc(100svh - 80px); }
.contact-page-layout { display: grid; grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr); min-height: calc(100svh - 80px); }
.contact-page .contact-form-intro { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: clamp(32px, 4vw, 64px) clamp(28px, 4.5vw, 72px) 0; border-right: 1px solid #60734a40; background: var(--paper); }
.contact-page .contact-form-heading { position: relative; z-index: 1; max-width: none; }
.contact-page h1 { margin: 22px 0; color: var(--green); font: 400 clamp(2.6rem, 4.3vw, 4.8rem)/1.02 Georgia, serif; letter-spacing: -.04em; }
.contact-page .contact-form-heading > p:last-child { max-width: 390px; color: var(--text-secondary); font-size: clamp(1rem, 1.2vw, 1.25rem); line-height: 1.6; }
.contact-page .contact-form-eyebrow { color: #60734a; font-size: .75rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.contact-page .contact-form-intelligence-layer { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .09; pointer-events: none; }
.contact-direct { position: relative; z-index: 1; margin: auto 0 30px; padding-top: 42px; }
.contact-direct p { margin: 0 0 12px; color: #60734a; font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.contact-direct a { color: var(--green); text-underline-offset: 4px; }
.contact-landscape { position: relative; z-index: 1; display: block; width: calc(100% + clamp(56px, 9vw, 144px)); max-width: none; height: clamp(170px, 26svh, 290px); margin-inline: calc(-1 * clamp(28px, 4.5vw, 72px)); object-fit: cover; }
.contact-page .contact-form { display: block; align-self: center; width: 100%; max-width: 920px; padding: clamp(28px, 3.4vw, 56px); background: transparent; }
.contact-page .contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.contact-page .contact-field-label { display: block; margin-bottom: 9px; color: var(--green); font-size: .9rem; font-weight: 600; }
.contact-page .contact-form :is(input:not([type="checkbox"]), select, textarea) { box-sizing: border-box; width: 100%; min-height: 46px; padding: 12px 14px; border: 1px solid #60734a70; border-radius: 0; color: var(--green); background: #ffffff80; font: inherit; font-size: .9rem; }
.contact-page .contact-form :is(input, select, textarea):focus-visible { outline: 2px solid #60734a; outline-offset: 2px; }
.contact-page .contact-form-message { display: block; margin-top: 24px; }
.contact-page .contact-form textarea { min-height: 140px; resize: vertical; }
.contact-page .contact-form-consent { display: flex; align-items: flex-start; gap: 12px; margin: 20px 0; color: var(--text-secondary); font-size: .8rem; line-height: 1.5; }
.contact-page .contact-form-consent input { flex-shrink: 0; width: 17px; height: 17px; margin-top: 2px; }
.contact-page .contact-form-submit { width: 100%; min-height: 52px; margin-top: 16px; border-radius: 0; }
.contact-page .contact-form-status:empty { display: none; }
.contact-page .contact-form-status { margin: 12px 0; padding: 12px; font-size: .9rem; line-height: 1.5; }
.contact-page .contact-privacy-note { color: var(--text-secondary); font-size: .8rem; line-height: 1.6; margin: 16px 0 0; }
@media (max-width: 850px) {
  .contact-page-layout { grid-template-columns: 1fr; }
  .contact-page .contact-form-intro { padding: 32px 24px 0; border-right: 0; border-bottom: 1px solid #60734a40; }
  .contact-page h1 { max-width: 520px; }
  .contact-direct { margin-top: 0; padding-top: 22px; }
  .contact-landscape { width: calc(100% + 48px); height: 180px; margin-inline: -24px; }
  .contact-page .contact-form { padding: 32px 24px; max-width: none; }
}
@media (max-width: 520px) { .contact-page .contact-form-grid { grid-template-columns: 1fr; gap: 18px; } }
