/* September 19: wrapping corrections and exactly three visual exceptions.
   No theme replacement. Existing CIS colors and type remain authoritative. */
:where(h1,h2,h3,h4,summary,legend){text-wrap:balance}
:where(main p){text-wrap:pretty}
:where(.frame,.form-grid,.footer-columns,.sh-service-body)>*{min-width:0}
:where(a.button,button.button){max-width:100%;white-space:normal;text-wrap:balance;line-height:1.4}
:where(.resource-card h3,.resource-result h3){overflow-wrap:anywhere}
.site-footer summary{line-height:1.4}
.sh-hero h1{max-width:18ch}
.sh-choices label{min-width:0}
.sh-row-actions{min-width:0}
/* Contact: direct channel is the primary object; visit preparation is second. */
.expanded-contact .expanded-hero{padding-bottom:32px}
.expanded-contact .expanded-hero p{max-width:48ch}
.expanded-contact .office-channels{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto auto;gap:0 64px;border-top:2px solid var(--green,#004c33);padding:32px 0 24px}
.expanded-contact .office-call{grid-row:1 / 3;align-self:center}
.expanded-contact .office-call h2{font:600 15px/1.5 Arial,sans-serif;letter-spacing:.025em;margin-bottom:16px}
.expanded-contact .office-channels .office-phone{font-size:clamp(34px,4.5vw,64px);line-height:1.12;letter-spacing:-.025em;white-space:nowrap}
.expanded-contact .office-text,.expanded-contact .office-email{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:baseline;gap:16px;padding:16px 0}
.expanded-contact .office-email{border-top:1px solid #ccd9d3}
.expanded-contact .office-channels :is(.office-text,.office-email) h2{font-size:22px;margin:0}
.expanded-contact .office-email a{overflow-wrap:anywhere}
.expanded-contact .office-contact-context{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;padding:16px 0 28px}
.expanded-contact .office-visit{background:linear-gradient(115deg,#edf8f5 0%,#f8fbfa 62%,#fff 100%);padding:36px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;border-top:0;border-left:4px solid #20b2aa}
.expanded-contact .office-address address{font-size:clamp(27px,2.7vw,38px);line-height:1.3;max-width:22ch}
.expanded-contact .office-arrival h3{font-size:24px}
.expanded-contact .office-safe{padding:36px 0 20px;max-width:76ch}
.expanded-contact .office-safe h2{font-size:27px}
.expanded-contact .office-routing{display:flex;flex-wrap:wrap;gap:0 32px;border-top:1px solid #ccd9d3;padding:12px 0 32px}
.expanded-contact .office-routing a{padding-block:12px;min-height:44px}
/* Donate: online route verification first; mailing instructions as a document. */
.page-donate-now .giving-heading{align-items:center;padding-block:28px 38px}
.page-donate-now .giving-heading p{max-width:46ch}
.page-donate-now .giving-methods{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:60px;border-top:2px solid #004c33;padding-block:36px 44px}
.page-donate-now .giving-online{padding:0;border:0}
.page-donate-now .giving-method-label{font:600 14px/1.5 Arial,sans-serif;letter-spacing:.035em;margin:0 0 16px;color:#36564b}
.page-donate-now .giving-online h2{font-size:clamp(36px,4vw,52px);line-height:1.1;max-width:15ch;margin:0 0 22px}
.page-donate-now .giving-online>p:not(.giving-method-label){max-width:46ch}
.page-donate-now .giving-online>.button{margin-top:12px;padding:16px 26px}
.page-donate-now .giving-online .giving-status{font-size:14px;margin:14px 0 26px}
.page-donate-now .giving-online details{border-top:1px solid #ccd9d3;padding-top:18px;max-width:46ch}
.page-donate-now .giving-mail{padding:26px 30px;background:linear-gradient(145deg,#edf8f5,#f9fbfa);border:1px solid #d5e4dd;border-top:5px solid #20b2aa;align-self:start}
.page-donate-now .giving-mail h2{font-size:29px;margin:0 0 24px}
.page-donate-now .giving-mail dl>div{display:block;margin:0 0 24px}
.page-donate-now .giving-mail dt{font-size:13px;line-height:1.5;color:#52655d;margin:0 0 6px}
.page-donate-now .giving-mail dd{font-size:17px;line-height:1.6;margin:0}
.page-donate-now .giving-records{padding-block:32px 45px;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:60px}
.page-donate-now .giving-identity h2{font-size:28px;max-width:18ch}
.page-donate-now .giving-details summary{font-size:23px;line-height:1.4;padding-block:18px}
/* Referral: consent -> two identities -> follow-up, without new fields. */
.expanded-refer-someone .expanded-hero{padding-bottom:25px}
.expanded-refer-someone .referral-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:0 0 36px;counter-reset:referral}
.expanded-refer-someone .referral-steps li{counter-increment:referral;display:flex;align-items:baseline;gap:12px;border-top:1px solid #baccc3;padding:16px 0}
.expanded-refer-someone .referral-steps li::before{content:counter(referral,decimal-leading-zero);font-size:14px;color:#52655d;font-variant-numeric:tabular-nums}
.expanded-refer-someone .referral-steps a{font-weight:600;line-height:1.45}
.expanded-refer-someone .referral-task{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:64px;border:0;padding-top:0}
.expanded-refer-someone .referral-permission{background:linear-gradient(90deg,#edf8f5,#fff);padding:22px 26px;border-left:3px solid #20b2aa;margin-bottom:32px}
.expanded-refer-someone .referral-permission h2{font-size:28px;margin-top:0}
.expanded-refer-someone #contact-form>h2{font-size:34px}
.expanded-refer-someone .referral-identity{border:0;border-top:1px solid #b9ccc2;padding:24px 0 0;margin-top:32px}
.expanded-refer-someone .referral-identity legend{font-size:24px;line-height:1.4;padding-right:18px}
.expanded-refer-someone .referral-step-number{font:500 13px/1.5 Arial,sans-serif;vertical-align:middle;margin-right:10px;color:#52655d}
.expanded-refer-someone .referral-context{border-top:0;padding-top:4px;font-size:16px}
.expanded-refer-someone .referral-context h2{font-size:26px;line-height:1.25}
.expanded-refer-someone .referral-exclusions{list-style:none;padding:0;margin:12px 0 22px}
.expanded-refer-someone .referral-exclusions li{padding:10px 0 10px 18px;border-bottom:1px solid #d5e0da;position:relative}
.expanded-refer-someone .referral-exclusions li::before{content:'−';position:absolute;left:0;color:#52655d}
.expanded-refer-someone :is(#referral-consent,#contact-form,#referral-followup){scroll-margin-top:30px}
@media(max-width:900px){
 .expanded-contact .office-channels{gap:0 28px}.expanded-contact .office-text,.expanded-contact .office-email{grid-template-columns:1fr;gap:6px}
 .expanded-contact .office-visit{gap:28px;padding:28px}
 .page-donate-now .giving-methods,.page-donate-now .giving-records{gap:30px}
 .expanded-refer-someone .referral-task{gap:30px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
 .expanded-refer-someone .form-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
 .expanded-contact .office-channels{grid-template-columns:1fr;gap:0;padding-top:24px}.expanded-contact .office-call{grid-row:auto;padding-bottom:22px}.expanded-contact .office-text,.expanded-contact .office-email{grid-template-columns:48px minmax(0,1fr);gap:14px}.expanded-contact .office-text{border-top:1px solid #ccd9d3}
 .expanded-contact .office-contact-context{display:block}.expanded-contact .office-visit{grid-template-columns:1fr;gap:26px;padding:24px 20px}.expanded-contact .office-safe{padding-top:28px}
 .page-donate-now .giving-methods,.page-donate-now .giving-records{grid-template-columns:1fr;gap:30px}.page-donate-now .giving-mail{padding:24px}.page-donate-now .giving-heading{display:block}.page-donate-now .giving-heading>a{display:inline-block;margin-top:18px}
 .expanded-refer-someone .referral-steps ol{grid-template-columns:1fr;gap:0;margin-bottom:24px}.expanded-refer-someone .referral-steps li{padding:12px 0}.expanded-refer-someone .referral-task{grid-template-columns:1fr;gap:32px}.expanded-refer-someone .referral-permission{padding:18px}.expanded-refer-someone .referral-context{border-top:1px solid #b9ccc2;padding-top:25px}
 .sh-hero h1{max-width:none}.sh-row-actions .button{width:100%}
}
/* Clear inherited counters from the retired referral composition. */
.cis-interior.expanded-refer-someone .referral-steps{margin:0 auto;padding:0}
.cis-interior.expanded-refer-someone .referral-steps li{padding:16px 0;position:relative}
.cis-interior.expanded-refer-someone .referral-steps li::before{position:static;inset:auto;flex:0 0 22px;font:500 14px/1.5 Arial,sans-serif}

/* Narrow-screen contact identifiers keep their full reading width. */
@media(max-width:400px){.expanded-contact .office-email{grid-template-columns:1fr;gap:8px}}
.page-donate-now .giving-heading>a{min-width:150px}
