/* Contact-only composition. Shared interior typography and footer stay intact. */
.interior .contact-layout.contact-form-layout{padding-right:0;padding-left:0;align-items:start;}
.contact-form-layout .opening-copy{padding-top:20px}
.contact-form-layout .contact-location{font-size:16px;color:var(--ink-muted);}
.contact-form-layout .contact-form-column{min-width:0}
.contact-form-layout form{min-width:0;background:var(--paper-elevated);border:1px solid var(--line);padding:32px}
.contact-form-layout fieldset{border:0;margin:0;padding:0;min-width:0}
.contact-form-layout .contact-topic{margin-bottom:28px}
.contact-form-layout .contact-topic legend,.contact-form-layout .contact-field label{color:var(--forest);font-size:15px;font-weight:500;margin-bottom:8px;padding:0}
.contact-form-layout .contact-topic legend span,.contact-form-layout .contact-field label span{font-weight:400;color:var(--ink-muted);font-size:13px}
.contact-form-layout .topic-choices{display:flex;flex-wrap:wrap;gap:8px}
.contact-form-layout .topic-choice{position:relative;cursor:pointer}
.contact-form-layout .topic-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0;inset:50% auto auto 50%}
.contact-form-layout .topic-choice span{display:block;border:1px solid #7c8076;padding:9px 13px;font-size:14px;line-height:1.5;color:var(--forest);transition:background-color .15s,border-color .15s}
.contact-form-layout .topic-choice:hover span{background:var(--paper-tint);border-color:var(--forest)}
.contact-form-layout .topic-choice input:checked+span{background:var(--forest);border-color:var(--forest);color:var(--paper)}
.contact-form-layout .topic-choice input:focus-visible+span{outline:2px solid var(--terracotta);outline-offset:3px}
.contact-form-layout .topic-choice input:disabled+span{cursor:wait;opacity:.65}
.contact-form-layout .contact-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form-layout .contact-field{margin-bottom:22px;min-width:0}
.contact-form-layout .contact-field label{display:block}
.contact-form-layout .contact-field input,.contact-form-layout .contact-field textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #7c8076;border-radius:0;padding:12px 14px;font:400 17px/1.5 var(--sans);color:var(--ink);background:var(--paper);box-shadow:none}
.contact-form-layout .contact-field textarea{min-height:192px;resize:vertical}
.contact-form-layout .contact-field input:focus-visible,.contact-form-layout .contact-field textarea:focus-visible,.contact-form-layout button:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}
.contact-form-layout .contact-field [aria-invalid="true"]{border-color:#9b3925}
.interior .contact-form-layout .field-error{font-size:14px;color:#9b3925;line-height:1.5;margin:6px 0 0}
.contact-form-layout .field-error:empty{display:none}
.interior .contact-form-layout .field-hint{font-size:14px;line-height:1.5;color:var(--ink-muted);margin:0 0 10px}
.contact-form-layout button{cursor:pointer}
.contact-form-layout button[type="submit"]{border:1px solid var(--forest);border-radius:0;font-family:var(--sans);font-weight:500;min-height:54px;padding:14px 24px;margin-top:20px;transition:background-color .15s,border-color .15s}
.contact-form-layout button[type="submit"]:hover:not(:disabled){background:#20483e;border-color:#20483e}
.contact-form-layout button[type="submit"]:active:not(:disabled){background:#081f1a}
.contact-form-layout button:disabled{cursor:not-allowed;opacity:.6}
.contact-form-layout [aria-busy="true"] button[type="submit"]{cursor:wait}
.contact-form-layout .verification-retry{font:500 15px/1.5 var(--sans);background:none;border:0;border-bottom:1px solid var(--forest);padding:6px 0;color:var(--forest);margin-top:8px}
.contact-form-layout .contact-verification{min-width:0}
.interior .contact-form-layout .contact-form-status,.interior .contact-form-layout .verification-status{font-size:15px;line-height:1.5;margin:12px 0 0;max-width:55ch}
.contact-form-layout .contact-form-status:empty,.contact-form-layout .verification-status:empty{display:none}
.contact-form-layout .contact-form-status[data-state="error"]{color:#9b3925}
.contact-form-layout .contact-form-status[data-state="success"]{color:var(--forest);font-weight:500}
.contact-form-layout .contact-form-status:focus{outline:2px solid var(--terracotta);outline-offset:5px}
.interior .contact-form-layout .contact-alternative{font-size:14px;margin-right:0;margin-left:0;}
.contact-form-layout [hidden]{display:none!important}
@media(max-width:1100px){.contact-form-layout form{padding:26px}}
@media(max-width:850px){.contact-form-layout .opening-copy{padding-top:0}.contact-form-layout .contact-form-column{margin-top:32px;max-width:680px}}
@media(max-width:600px){.contact-form-layout form{padding:22px 18px}.contact-form-layout .contact-field-pair{display:block}.contact-form-layout .contact-topic{margin-bottom:24px}.contact-form-layout .topic-choices{gap:8px}.contact-form-layout .topic-choice span{padding:8px 10px;font-size:13px}.contact-form-layout .contact-field{margin-bottom:20px}.contact-form-layout .contact-field textarea{min-height:180px}.contact-form-layout button[type="submit"]{width:100%}}
@media(prefers-reduced-motion:reduce){.contact-form-layout button,.contact-form-layout .topic-choice span{transition:none}}
