/* Personal correspondence, within Manzanita's existing identity. */
body.contact-page { padding-top:0; color:#01173e; background:#fff; }
.contact-page .correspondence { width:min(1160px,90%); margin:0 auto; padding:164px 0 76px; }
.correspondence-opening { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:clamp(45px,7vw,115px); padding-bottom:60px; border-bottom:1px solid #bca47a; }
.correspondence-eyebrow { font:500 13px/1.7 var(--sans); color:#65502f; letter-spacing:.09em; text-transform:uppercase; margin:0 0 18px; }
.correspondence h1 { font:400 clamp(48px,5.3vw,76px)/1.1 var(--serif); letter-spacing:-.035em; margin:0 0 26px; text-wrap:balance; }
.correspondence h1 em { font-weight:400; color:#846a40; }
.correspondence-lead { max-width:39ch; font:400 18px/1.9 var(--sans); color:#354153; margin:0; }
.correspondence-address { font-style:normal; border-left:1px solid #d4c6af; padding:4px 0 2px 36px; margin-bottom:7px; }
.correspondence-name { font:400 25px/1.4 var(--serif); margin-bottom:3px; }
.correspondence-role { color:#65502f; font:400 15px/1.7 var(--sans); margin-bottom:28px; }
.correspondence-address a { display:block; color:#01173e; width:fit-content; max-width:100%; text-decoration:underline; text-decoration-color:#bca47a; text-decoration-thickness:1px; text-underline-offset:6px; overflow-wrap:anywhere; }
.correspondence-email { font:400 clamp(16px,1.3vw,19px)/1.8 var(--sans); margin-bottom:12px; }
.correspondence-phone { font:400 20px/1.7 var(--sans); margin-bottom:26px; }
.correspondence-address a.correspondence-story { font:400 14px/1.8 var(--sans); color:#65502f; }
.correspondence-story span { margin-left:10px; }
.correspondence-writing { padding:48px 0 52px; }
.correspondence-section-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:14px 30px; margin-bottom:35px; }
.correspondence h2 { font:400 34px/1.35 var(--serif); letter-spacing:-.02em; margin:0; }
.correspondence-section-heading>p { font:400 16px/1.8 var(--sans); color:#4b5665; }
.correspondence-form { display:grid; grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr); gap:28px 62px; align-items:start; }
.correspondence-field { margin-bottom:26px; min-width:0; }
.correspondence-field label { display:block; font:400 16px/1.65 var(--sans); color:#23334c; margin-bottom:9px; }
.correspondence-optional { font-size:13px; color:#65502f; margin-left:6px; }
.correspondence-field input,.correspondence-field textarea { display:block; width:100%; min-width:0; border:1px solid #b7b2a9; border-radius:0; padding:13px 14px; background:#fdfcfa; color:#01173e; font:400 16px/1.65 var(--sans); box-shadow:none; }
.correspondence-field input { min-height:51px; }
.correspondence-field textarea { min-height:292px; resize:vertical; }
.correspondence-field textarea::placeholder { color:#626a73; opacity:1; }
.correspondence-field input:focus,.correspondence-field textarea:focus { outline:2px solid #b49b70; outline-offset:3px; border-color:#01173e; }
.correspondence-message .correspondence-field { margin-bottom:18px; }
.correspondence-send-row { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.correspondence-required { font:400 13px/1.7 var(--sans); color:#65502f; }
.correspondence-send { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:52px; padding:13px 24px; background:#01173e; border:1px solid #01173e; border-radius:0; color:#fff; font:400 15px/1.6 var(--sans); cursor:pointer; }
.correspondence-send span[aria-hidden="true"] { color:#d9c6a5; font-size:20px; }
.correspondence-send:hover { background:#18345d; }
.correspondence-send:disabled { opacity:.55; cursor:not-allowed; }
.correspondence-privacy-link { display:block; width:fit-content; margin-top:19px; color:#4b5665; font:400 13px/1.8 var(--sans); text-underline-offset:4px; }
.correspondence-status { grid-column:1/-1; font:400 16px/1.8 var(--sans); color:#01173e; padding:18px 22px; border-left:2px solid #b49b70; background:#f5f1e9; }
.correspondence-practice { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:30px; border-top:1px solid #d4c6af; padding-top:31px; }
.correspondence-practice .correspondence-eyebrow { margin-bottom:10px; }
.correspondence-practice div>p:last-child { font:400 16px/1.8 var(--sans); color:#354153; }
.contact-page a:focus-visible,.contact-page button:focus-visible { outline:2px solid #01173e; outline-offset:5px; }
@media(max-width:1000px) {
 .contact-page .correspondence { padding-top:146px; }
 .correspondence-opening { grid-template-columns:1.1fr 1fr; gap:40px; }
 .correspondence-address { padding-left:25px; }
 .correspondence h1 { font-size:clamp(48px,5.8vw,58px); }
 .correspondence-form { gap:34px; grid-template-columns:1fr 1.15fr; }
}
@media(max-width:760px) {
 .contact-page .correspondence { width:calc(100% - 50px); padding-top:125px; padding-bottom:55px; }
 .correspondence-opening { grid-template-columns:1fr; gap:35px; padding-bottom:39px; }
 .correspondence h1 { font-size:clamp(42px,8vw,58px); margin-bottom:21px; }
 .correspondence-lead { font-size:17px; max-width:43ch; }
 .correspondence-address { padding:25px 0 0; border-left:0; border-top:1px solid #d4c6af; margin:0; }
 .correspondence-role { margin-bottom:19px; }
 .correspondence-email { font-size:16px; }
 .correspondence-phone { font-size:19px; margin-bottom:18px; }
 .correspondence-writing { padding:33px 0 40px; }
 .correspondence h2 { font-size:30px; }
 .correspondence-section-heading { margin-bottom:27px; gap:11px; }
 .correspondence-form { grid-template-columns:1fr; gap:2px; }
 .correspondence-field { margin-bottom:23px; }
 .correspondence-field textarea { min-height:235px; }
 .correspondence-practice { grid-template-columns:1fr; gap:26px; padding-top:28px; }
 .correspondence-practice .correspondence-eyebrow { margin-bottom:5px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.contact-page .correspondence .privacy-note { margin:38px 0 0; padding:0; max-width:none; }

.correspondence-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.correspondence-field [aria-invalid="true"] { border-color:#884432; }
.correspondence-status[hidden] { display:none; }

/* A confirmed submission replaces the form with an unmistakable thank-you. */
.correspondence-form[hidden], .correspondence-success[hidden] { display:none; }
.correspondence-success { display:grid; grid-template-columns:48px minmax(0,1fr); gap:24px; padding:44px; border-top:2px solid #b49b70; background:#f5f1e9; scroll-margin-top:130px; }
.correspondence-success-mark { display:grid; place-items:center; width:48px; height:48px; border:1px solid #b49b70; border-radius:50%; color:#01173e; font:400 26px/1 var(--sans); }
.correspondence-success .correspondence-eyebrow { margin:0 0 10px; }
.correspondence .correspondence-success h2 { font:400 clamp(36px,4vw,46px)/1.2 var(--serif); margin:0 0 18px; }
.correspondence-success-copy { max-width:52ch; margin:0; color:#23334c; font:400 18px/1.8 var(--sans); }
.correspondence-success-contact { margin:24px 0 0; color:#4b5665; font:400 16px/1.8 var(--sans); }
.correspondence-success a { color:#01173e; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.correspondence-success:focus { outline:2px solid #b49b70; outline-offset:5px; }
@media(max-width:760px) {
 .correspondence-success { grid-template-columns:1fr; gap:20px; padding:28px 24px; }
 .correspondence-success-copy { font-size:17px; }
}
