/* Shared finishing details and the contact experience. */
.header { top:0; }
.contact-page { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,86px); padding-block:64px 90px; align-items:start; }
.contact-intro h1 { font-size:clamp(40px,4.8vw,64px); line-height:1.08; letter-spacing:-.05em; margin:24px 0; }
.contact-intro h1 span { color:#2c9273; }
.contact-intro>p:not(.eyebrow) { font-size:17px; line-height:1.8; color:#52635c; max-width:500px; }
.contact-photo { margin:30px 0 0; border-radius:24px; overflow:hidden; }
.contact-photo img { display:block; width:100%; height:auto; }
.contact-panel { background:#fff; border:1px solid #dfe7e1; border-radius:28px; padding:clamp(24px,3vw,44px); box-shadow:0 14px 45px #173d2e08; }
.contact-panel h2 { font-size:32px; letter-spacing:-.035em; margin:14px 0; }
.contact-panel>p:not(.eyebrow) { font-size:15px; line-height:1.7; color:#52635c; }
.contact-panel .field { font-size:14px; margin-top:26px; }
.contact-panel select { font-size:16px; min-height:52px; }
.contact-panel .button { min-height:56px; font-size:16px; background:#2c9273; color:#fff; border-color:#2c9273; }
.contact-panel .button:hover { background:#216e57; border-color:#216e57; }
.contact-panel .contact-email-help { font-size:12px; text-align:center; }
.contact-address { padding-block:26px; border-block:1px solid #e4ebe5; margin-top:25px; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.contact-address>span { color:#65746c; font-size:13px; }
.contact-address>a { font-size:clamp(19px,2.1vw,25px); color:#1e644e; font-weight:600; overflow-wrap:anywhere; }
.contact-address .text-link { background:none; cursor:pointer; padding:0; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
#contact-copy-status:empty { display:none; }
#contact-copy-status { font-size:13px; color:#1e644e; margin:0; }
.contact-note { background:#f0f6f1; padding:20px; border-radius:16px; margin-top:26px; }
.contact-note strong { font-size:15px; }
.contact-note p,.contact-panel .contact-terms { font-size:13px; line-height:1.75; margin:9px 0 0; color:#52635c; }
.contact-panel .contact-terms { margin-top:22px; }
.contact-policy-links { display:flex; gap:20px; margin-top:20px; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.policy-layout .prose p,.reading-body p { color:#47584f; }
.policy-layout nav>a { line-height:1.6; }
.footer-note p { color:#58695e; }
:focus-visible { outline:3px solid #267d60; outline-offset:4px; }
@media(max-width:760px) { .contact-page { grid-template-columns:1fr; padding-block:34px 55px; gap:32px; } .contact-intro .back-link { margin-bottom:25px; } .contact-photo { max-width:600px; } .contact-panel h2 { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
