/* A warm, hopeful visual layer shared by the map and its service guides. */
:root{color:#29493e;background:#fffaf2;--ink:#29493e;--navy:#28654f;--teal:#28694f;--muted:#5b7167;--line:#e4e7d9;--red:#9d3e47}
body{background:#fffaf2;color:var(--ink)}
.site-header{background:#fffdf8;border-bottom:1px solid #eee8da;padding-top:21px;padding-bottom:21px}
.brand{color:#294f3d;letter-spacing:-.3px}.brand-mark rect{fill:#32785c}.brand-mark path{stroke:#ffe8a3}.brand-mark circle{fill:#ffe8a3}
.site-header nav>a{color:#446250}.urgent-button{border-radius:24px;background:#fff0e9;border-color:#ecc9bf;padding:11px 19px}
.emergency-strip{background:#faeee5;color:#694c42;padding-top:8px;padding-bottom:8px;border-bottom:1px solid #f0e1d5}.emergency-strip a{color:#8d3842}
.intro{padding:38px 6px 29px;gap:40px;align-items:center}.intro-copy{flex:1;max-width:800px}
.eyebrow{color:#43725a;font-size:11px;letter-spacing:1.25px}.little-sun{display:inline-block;color:#966818;font-size:20px;vertical-align:-2px;margin-right:6px}
.intro h1{font:400 clamp(43px,4.7vw,64px)/1.04 Georgia,serif;letter-spacing:-1.8px;margin:14px 0 19px;color:#315a42}
.intro h1 em{font-weight:400;color:#328266}.intro p{font-size:17px;line-height:1.65;color:#597060}.intro-copy>p:last-of-type{margin-bottom:0}
.hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:24px}.button{border-radius:24px;background:#28654f;border-color:#28654f;min-height:47px;padding:12px 21px}.button:hover{background:#1d543f}.button.secondary{background:#fffdf8;color:#28654f;border-color:#b9cfbb}.button.secondary:hover{background:#eef5e9}.button.danger{background:var(--red);border-color:var(--red)}.hero-actions .button span{font-size:20px;margin-left:9px}
.hero-side{width:340px;flex-shrink:0;text-align:center;align-self:center}.hope-landscape{display:block;width:100%;height:auto}.art-caption{font:italic 15px Georgia,serif!important;color:#5a735c!important;margin:4px 0 15px!important}
.research-stamp{display:flex;justify-content:center;border:0;padding:0;gap:12px;text-align:left}.research-stamp>strong{font-size:32px;color:#568163}.research-stamp>span{font-size:13px}.research-stamp small{font-size:11px;max-width:none}
.hope-message{display:flex;align-items:flex-start;gap:22px;padding:25px 29px;margin:0 0 30px;background:#fff0c9;border:1px solid #f1dfb0;border-radius:22px}
.hope-flower{font-size:48px;color:#9b6d29;line-height:1.1;flex-shrink:0}
.hope-message h2{font:400 24px/1.25 Georgia,serif;letter-spacing:-.3px;color:#635022;margin:0 0 10px}
.hope-message p{font-size:15px;line-height:1.7;color:#655a3f;margin:0;max-width:1120px}
.hope-message .hope-reassurance{font-size:13px;margin-top:9px;color:#746449}.hope-reassurance a{color:#655128;margin-left:9px;white-space:nowrap}
.care-map{border-radius:24px;padding:27px 28px 21px;border-color:#e5e7d9;background:#fffefb;box-shadow:0 5px 22px #52694706}
.map-heading h2{font:400 27px/1.25 Georgia,serif;letter-spacing:-.5px;color:#34543e}.map-heading .text-button{border-radius:22px;padding:9px 15px;background:#eef4e9;min-height:41px}
.map-intro{font-size:14px;margin-top:11px;color:#64735f}.flow-axis{color:#687762}.axis-line{background:#cbd4bd}.axis-line:after{border-color:#cbd4bd}
.flow-step{border:1px solid #d6dfcc;border-radius:17px;padding:18px 16px 13px;background:#eaf3e2;min-height:213px;transition:transform .15s,box-shadow .15s}
.flow-step:nth-child(2){background:#fcf1d2;border-color:#e9dcb6}.flow-step:nth-child(3){background:#e9f1f4;border-color:#d0e0e4}.flow-step:nth-child(4){background:#f1ebf6;border-color:#e0d5e9}.flow-step:nth-child(5){background:#fbeae1;border-color:#ebd5c9}
.flow-step:hover{transform:translateY(-3px);box-shadow:0 6px 15px #34544114;border-color:var(--level-color)}
.flow-step.active{background:#2f7055;border-color:#2f7055;color:#fff;box-shadow:0 5px 13px #30553d18}
.node-number{border:0;background:#ffffffb8;color:#3b6146;width:32px;height:32px}.node-kind{color:#596d59;font-size:11px}.node-description{color:#536955;font-size:13px}
.node-top{margin-bottom:15px}.flow-step>strong{font-size:21px;letter-spacing:-.45px}.node-bottom{border-color:#617b552b;font-size:12px}
.flow-step.active .node-number{background:#ffe5a0;color:#55471e;border-color:#ffe5a0}.flow-step.active .node-kind,.flow-step.active .node-description{color:#e2f0de}.flow-step.active .node-bottom{border-color:#8bae9459}.flow-step.active .node-bottom>span:last-child{color:#ffe5a0}
.flow-step:not(:last-child):after{color:#a9b69a}.branch{border-radius:16px;min-height:75px}.urgent-branch{background:#fff0eb;color:#963e45;border-color:#efd9d0}.other-branch{background:#f3eff9;color:#705480;border-color:#e5dcef}.branch-symbol{font-size:29px}.branch strong{font-size:15px}.branch small{font-size:12px}.map-footnote{color:#647060;line-height:1.7}
.options{padding-top:35px;gap:34px}.level-context h2{color:#3d6048;font-size:31px}.context-rule{border-radius:5px;width:46px;height:4px}
.resource-card{border-radius:19px;border-color:#e2e6d8;background:#fffefb;padding:24px;box-shadow:0 3px 10px #34544104}.resource-card:has(.provenance.vetted){border-top:3px solid #79a775}
.resource-card h3{font-size:22px;color:#34513f}.resource-card .area{color:#627461}.summary{color:#526653}.service-type{color:#3b7555}.cost-badge{border-radius:9px;padding:5px 8px;background:#edf3e4;color:#4e6540}.cost-badge.paid{background:#f4ebf8;color:#705580}
.tag{background:#f1f3e9;color:#5b6d53;border-radius:7px;padding:5px 8px}.card-bottom{border-color:#e7ebdd}.phone-link{color:#3b6148}.provenance.vetted{color:#39714a}.provenance.supplementary{color:#747562}
.resource-group-heading{border-color:#dfe4d3;padding-top:17px}.resource-group-heading h3{font:400 22px Georgia,serif;color:#4c6748}.resource-group-heading p{color:#6c7862}
.search-wrap{border-radius:24px;border-color:#d8dfcd;background:#fffefb;padding:0 15px;max-width:300px}.directory-filters select{border-color:#d2ddc8;border-radius:12px;background:#fffefb}.vetted-toggle input{accent-color:#32704f}.vetted-toggle{color:#62725c}.empty-state{border-radius:20px;border-color:#bccaad;background:#f7f9f0}
.starting-point{border-radius:20px;background:#edf4e2;border-color:#dbe5c9;padding:27px 29px}.starting-point strong{color:#46623d}.starting-icon{border-color:#a5bc86;color:#60773d}.starting-point p{color:#607054}
.site-footer{background:#f0f2e5;border-color:#e4e7d8;padding-top:30px;padding-bottom:30px;color:#64735e}.site-footer strong{color:#48603f}.site-footer a{color:#596e4f}
dialog{background:#fffdf7;border-radius:24px;box-shadow:0 18px 80px #31473540}dialog::backdrop{background:#29433691;backdrop-filter:blur(3px)}.dialog-close{background:#eef1e4;color:#4f6948}.service-dialog h2,dialog h2{color:#395c45}.detail-facts{background:#f4f6ea;border-radius:16px;border-color:#e0e5d1}.detail-facts dt{color:#637451}.detail-section p{color:#546851}.detail-note{background:#fff0cf;border-color:#d5aa51;border-radius:0 13px 13px 0}.service-levels button,.service-levels .level-link{border-color:#ccdcbf;color:#416b42;background:#f4f8ed}.emergency-call{border-radius:17px}.research-layout h1,.research-layout h2{color:#365e43}.research-layout p,.research-layout li{color:#53664e}.source-table th{background:#edf2e3}.source-table td{border-color:#e3e7d6}.research-alert{border-radius:0 15px 15px 0;background:#fff1cc}.research-toc{border-color:#dfe5d1}.research-toc a{color:#3e704d}
@media(max-width:1150px){.intro{gap:25px}.hero-side{width:280px}.intro h1{font-size:52px}.research-stamp{display:flex}.flow-step{padding:16px 13px 12px}.flow-step>strong{font-size:19px}.node-kind{font-size:10px}.hope-message{padding:23px 25px}.hero-actions{gap:15px}.hero-actions .text-button{font-size:13px}}
@media(max-width:850px){.hero-side{width:230px}.intro h1{font-size:46px}.intro p{font-size:16px}.hero-actions{gap:7px}.art-caption{font-size:13px!important}.research-stamp small{font-size:10px}.node-kind{display:none}.flow-step{min-height:205px}.flow-step>strong{font-size:18px}.options{gap:16px}.hope-message h2{font-size:23px}}
@media(max-width:600px){.site-header{padding:16px}.urgent-button{padding:9px 12px}.intro{padding:27px 2px 22px;gap:0;display:block}.intro h1{font-size:47px;max-width:none;letter-spacing:-1.3px;margin-top:9px}.intro .eyebrow{font-size:9px;letter-spacing:.7px}.little-sun{font-size:17px;margin-right:3px}.intro p{font-size:15px}.hero-actions{gap:9px;margin-top:19px}.hero-actions .button{font-size:13px;padding:10px 16px;min-height:43px}.hero-actions .text-button{font-size:12px}.hero-side{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:15px;gap:12px;text-align:left}.hope-landscape{width:125px;height:80px;flex-shrink:0}.hero-side .art-caption{display:none}.research-stamp{flex:1;justify-content:flex-start;gap:10px}.research-stamp>strong{font-size:30px}.research-stamp>span{font-size:12px}.research-stamp small{font-size:10px}.hope-message{padding:21px 19px;border-radius:19px;gap:12px;margin-bottom:23px}.hope-flower{font-size:28px}.hope-message h2{font-size:22px}.hope-message p{font-size:14px;line-height:1.7}.hope-message .hope-reassurance{font-size:12px}.hope-reassurance a{display:inline-block;margin:7px 0 0}.care-map{padding:21px 16px 17px;border-radius:21px}.map-heading{gap:12px;align-items:center}.map-heading h2{font-size:24px;max-width:145px}.map-heading .text-button{font-size:11px;padding:8px 11px;max-width:130px;line-height:1.5}.map-intro{font-size:13px}.flow-step{padding:14px 13px;border:1px solid #d6dfcc;min-height:0;border-radius:13px;gap:0 11px}.flow-step>strong{font-size:18px}.node-top{margin:0}.node-description{font-size:12px}.node-bottom{border:0}.flow-step:not(:last-child):after{background:#b9c6a8}.branch{min-height:68px;border-radius:13px}.branch strong{font-size:14px}.branch small{font-size:11px}.map-footnote{font-size:11px}.options{padding-top:28px;gap:10px}.resource-card{padding:21px;border-radius:17px}.resource-card h3{font-size:23px}.resource-group-heading h3{font-size:21px}.starting-point{padding:22px 18px;border-radius:18px}.site-footer{padding:25px 19px}.research-layout h1{font-size:35px}dialog{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.flow-step:hover{transform:none}}
@media print{.hero-side,.hero-actions,.hope-flower{display:none}.hope-message{background:#fff;border:1px solid #bbb}.intro h1{font-size:35px}.hope-message h2{font-size:20px}}


.crisis-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff0df;border:1px solid #e6cfb1;border-radius:20px;padding:26px;margin-bottom:24px}.crisis-entry h2{font:400 28px/1.25 Georgia,serif;margin-bottom:10px}.crisis-entry h2 a{color:var(--ink)}.crisis-entry p{margin:0;max-width:720px}.crisis-entry>.button{flex-shrink:0}.crisis-guide{max-width:900px}.crisis-guide p,.crisis-guide li,.crisis-guide blockquote{font-size:1rem;line-height:1.75}.crisis-guide section{scroll-margin-top:24px}.crisis-guide .crisis-safety{background:#fff0e9;border:1px solid #e7bfb2;border-radius:20px;padding:24px;margin:25px 0}.crisis-safety .button{margin-bottom:20px}.crisis-guide blockquote{margin:20px 0;padding:16px 22px;border-left:4px solid #bda04e;background:#fff4d8;border-radius:0 14px 14px 0}.site-footer>div:last-child{flex-wrap:wrap}.crisis-guide .research-alert p{margin:0}
@media(max-width:700px){.crisis-entry{display:block;padding:22px}.crisis-entry>.button{margin-top:18px}.crisis-entry h2{font-size:25px}.crisis-guide .crisis-safety{padding:20px}.crisis-guide h2{font-size:24px;line-height:1.3}}

.shell>.crisis-entry:first-child{margin-top:24px;margin-bottom:0}
