.page-image { width:100%; max-height:28rem; object-fit:cover; display:block; margin:2rem 0; }
.contact-details { margin-top:2rem; }
.contact-action-grid { align-items:stretch; }
.contact-photo { background:var(--sand); min-height:100%; }
.contact-photo .page-image { height:100%; min-height:24rem; max-height:none; margin:0; object-fit:cover; }
.contact-form { display:grid; gap:.8rem; }
.contact-form label { display:grid; gap:.25rem; font-weight:bold; }
.contact-form input,.contact-form textarea { width:100%; border:1px solid var(--line); padding:.65rem; font:inherit; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.page-blocks { max-width:960px; margin:3rem auto 0; display:grid; gap:1.5rem; }
.page-block { padding:clamp(1.25rem,4vw,2.5rem); background:var(--sand); }
.page-block h2 { margin-top:0; font-size:clamp(1.45rem,3vw,2.2rem); }
.page-block p { margin-bottom:0; }
.page-block-image { display:grid; grid-template-columns:minmax(12rem,.9fr) minmax(0,1.1fr); gap:clamp(1rem,4vw,2.5rem); align-items:center; }
.page-block-image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
@media(max-width:700px){.page-block-image{grid-template-columns:1fr}}
