:root{
--navy:#17324d;--navy2:#0f2740;--teal:#155e75;--teal2:#0e7490;--aqua:#e6f6f8;--cream:#fffaf0;
--white:#fff;--ink:#1f2937;--muted:#64748b;--line:#d9e4e8;--gold:#d8a94b;--yellow:#facc15;
--green:#166534;--greenbg:#ecfdf3;--red:#b91c1c;--redbg:#fff1f1;--blue:#2457d6;--blue2:#1d4ed8;
--shadow:0 16px 45px rgba(24,54,76,.10);--radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#fbfefd 0%,#fffdf6 100%);line-height:1.6}
button,input{font:inherit}
button,a{touch-action:manipulation}
a{color:var(--teal);text-underline-offset:3px}
img{max-width:100%}
.shell{width:min(1120px,calc(100% - 32px));margin:auto}
.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:16px;top:12px;z-index:999;background:#fff;color:#000;padding:10px 14px;border-radius:8px}
.site-header{position:sticky;top:0;z-index:50;background:linear-gradient(135deg,var(--navy2),var(--teal));color:#fff;box-shadow:0 5px 18px rgba(15,23,42,.14)}
.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:850;font-size:clamp(1.1rem,3vw,1.5rem);letter-spacing:-.02em}
.logo{width:44px;height:44px;border:2px solid rgba(255,255,255,.85);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:24px}
.a11y{display:flex;gap:8px}.icon-btn{width:43px;height:43px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;font-weight:850;cursor:pointer}.icon-btn:hover,.icon-btn:focus-visible{background:#fff;color:var(--navy);outline:3px solid rgba(250,204,21,.55);outline-offset:2px}
.hero{padding:64px 0 46px;background:radial-gradient(circle at 90% 10%,rgba(250,204,21,.20),transparent 30%),linear-gradient(135deg,#eefafb,#fff9df)}
.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:center}
.eyebrow,.kicker{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:var(--aqua);color:var(--teal);font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.kicker-red{background:#fee2e2;color:#991b1b}.kicker-light{background:rgba(255,255,255,.18);color:#fff}
h1{font-size:clamp(2.25rem,6vw,4.2rem);line-height:1.02;margin:18px 0 16px;max-width:820px;color:var(--navy);letter-spacing:-.045em}
h2{color:var(--navy);letter-spacing:-.025em}
.lead{font-size:clamp(1.05rem,2vw,1.22rem);max-width:800px;margin:0;color:#526273}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.micro{font-size:.88rem;color:var(--muted);max-width:760px}
.hero-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:22px}.hero-card h2{margin:0 0 10px;font-size:1.2rem}.hero-card a{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f3;text-decoration:none}.hero-card a:last-child{border-bottom:0}.hero-card strong{color:var(--navy)}.hero-card span{color:var(--muted);font-size:.92rem}
main{padding:34px 0 70px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}

.emergency-panel{display:grid;grid-template-columns:74px 1fr;gap:22px;padding:clamp(22px,5vw,36px);background:var(--redbg);border:2px solid #fecaca;border-radius:28px;margin-bottom:30px}
.emergency-icon{width:64px;height:64px;border-radius:18px;background:#dc2626;color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:950}
.emergency-main h2{margin:8px 0 8px;font-size:clamp(1.75rem,4vw,2.6rem)}.emergency-main>p{margin:0;color:#4b5563;max-width:850px}
.emergency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.emergency-grid article{background:#fff;border:1px solid #f6d5d5;border-radius:18px;padding:18px}.emergency-grid h3{margin:0 0 6px;color:var(--navy)}.emergency-grid p{margin:0;color:#526273}

.finder{padding:clamp(22px,5vw,38px);scroll-margin-top:95px}
.section-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:24px}.section-head h2{margin:8px 0 8px;font-size:clamp(1.65rem,4vw,2.45rem);line-height:1.12}.section-head p{margin:0;color:var(--muted);max-width:760px}.trust-chip{white-space:nowrap;background:var(--greenbg);color:var(--green);border:1px solid #b7e5c7;border-radius:999px;padding:8px 12px;font-weight:800;font-size:.82rem}
.zip-form{max-width:720px}.zip-form label{display:block;font-weight:800;margin-bottom:8px;color:var(--navy)}.zip-row{display:grid;grid-template-columns:1fr auto;gap:10px}.zip-row input{height:54px;border:1.5px solid #b9cbd2;border-radius:14px;padding:0 16px;font-size:1.1rem;min-width:0}.zip-row input:focus{outline:3px solid rgba(14,116,144,.15);border-color:var(--teal2)}.field-help{margin:7px 0 0;color:var(--muted);font-size:.82rem}
.status{margin-top:16px}.status.loading,.status.error,.status.success{padding:12px 14px;border-radius:12px}.status.loading{background:#eff6ff;color:#1d4ed8}.status.error{background:#fef2f2;color:#b91c1c}.status.success{background:var(--greenbg);color:var(--green)}
.location-summary{margin-top:20px;padding:14px 16px;border-radius:14px;background:#f8fafc;border:1px solid var(--line);font-weight:750;color:var(--navy)}
.provider-groups{margin-top:24px;display:grid;gap:22px}.provider-section{border-top:1px solid var(--line);padding-top:20px}.provider-title{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:12px}.provider-title h3{margin:0;color:var(--navy);font-size:1.25rem}.provider-title span{font-size:.78rem;color:var(--muted);font-weight:700}
.result-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.provider-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.provider-card h4{margin:0 0 5px;color:var(--navy);font-size:1.03rem;line-height:1.3}.provider-card p{margin:3px 0;color:#526273;font-size:.9rem}.provider-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf9fa;color:var(--teal);font-weight:800;font-size:.72rem}.rating{background:#fff7d6;color:#795900}.provider-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.small-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:999px;text-decoration:none;font-weight:800;font-size:.82rem;background:var(--teal);color:#fff}.small-btn.alt{background:#eef3f5;color:var(--navy)}.empty{grid-column:1/-1;padding:14px;border:1px dashed #cbd5e1;border-radius:14px;color:var(--muted);background:#fafafa}
.official-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.official-links a{padding:8px 11px;border:1px solid #cbd8dc;border-radius:999px;text-decoration:none;font-weight:750;font-size:.83rem;background:#fff}

.human-help{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center;margin:28px 0;background:linear-gradient(135deg,var(--blue2),#2f5fd8);color:#fff;border-radius:28px;padding:clamp(24px,5vw,38px);box-shadow:0 18px 46px rgba(37,87,214,.2)}
.human-help h2{color:#fff;margin:8px 0 8px;font-size:clamp(1.7rem,4vw,2.5rem)}.human-help p{margin:0;color:#eef3ff;max-width:700px}.human-actions{display:grid;gap:10px}.human-btn{display:flex;justify-content:center;align-items:center;min-height:54px;border-radius:999px;background:#fff;color:var(--blue2);font-weight:900;text-decoration:none;padding:12px 18px}.human-btn-warm{background:#fff2bd;color:#8a3f0c}.human-link{color:#fff;text-align:center;font-weight:750}

.resource-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0 48px}.resource-card{display:flex;flex-direction:column;gap:5px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 9px 28px rgba(24,54,76,.07)}.resource-card>span{font-size:1.55rem}.resource-card strong{color:var(--navy)}.resource-card small{color:var(--muted);line-height:1.45}

.resource-hub{scroll-margin-top:95px;margin-top:10px}.accordion-list{display:grid;gap:16px}.accordion-item{border:1px solid #f1df9a;background:#fffdf4;border-radius:24px;overflow:hidden;box-shadow:0 12px 34px rgba(108,83,16,.06)}
.accordion-trigger{width:100%;border:0;background:#fff;display:grid;grid-template-columns:60px 1fr 44px;gap:16px;align-items:start;padding:24px;text-align:left;cursor:pointer;color:var(--ink)}
.accordion-trigger:hover,.accordion-trigger:focus-visible{background:#fffdf5;outline:3px solid rgba(216,169,75,.2);outline-offset:-3px}
.acc-icon{width:56px;height:56px;border-radius:17px;background:#eef5ff;color:#1d4ed8;display:grid;place-items:center;font-size:1.55rem;font-weight:900}.acc-copy{display:grid;gap:5px}.acc-copy strong{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.15}.acc-copy small{font-size:.95rem;color:var(--muted);line-height:1.5}.acc-chevron{width:42px;height:42px;border-radius:50%;border:1px solid #f1df9a;display:grid;place-items:center;color:var(--navy);font-size:1.35rem;transition:transform .2s ease}.accordion-trigger[aria-expanded="true"] .acc-chevron{transform:rotate(180deg)}
.accordion-panel{padding:0 24px 24px;border-top:1px solid #f5e8bb;background:linear-gradient(180deg,#fffdf5,#fff)}.info-grid{display:grid;gap:14px;padding-top:16px}.info-grid.two{grid-template-columns:repeat(2,1fr)}.info-grid.three{grid-template-columns:repeat(3,1fr)}
.info-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}.info-card h3{margin:0 0 9px;color:var(--navy);font-size:1.08rem}.info-card p{margin:0;color:#526273}.info-card ul,.info-card ol{margin:0;padding-left:20px}.info-card li{margin:7px 0}.info-card-blue{background:#eef6ff;border-color:#cfe1f7}.info-card-warm{background:#fffaf0;border-color:#f0dfad}
.dynamic-near{font-weight:800;color:var(--teal)}
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-top:16px}.tool-grid article{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fbfdfd}.tool-grid h3{margin:0 0 10px;color:var(--navy)}.tool-grid ul{padding-left:20px;margin:0}.tool-grid li{margin:7px 0}.print-row{display:flex;justify-content:flex-end;margin-top:16px}

.care-guide{scroll-margin-top:95px;margin-top:52px}.quiz{max-width:900px;margin:auto;padding:clamp(22px,5vw,42px)}
.progressline{height:8px;background:#edf2f4;border-radius:999px;overflow:hidden;margin-bottom:12px}.progressbar{height:100%;width:25%;background:linear-gradient(90deg,var(--teal),#38a3b8);transition:width .3s ease}
.progresscopy{display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem;margin-bottom:28px}.question{display:none}.question.active{display:block;animation:fade .25s ease}@keyframes fade{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
.question h3{margin:0 0 8px;color:var(--navy);font-size:clamp(1.35rem,3vw,1.8rem)}.question p{margin:0 0 20px;color:var(--muted)}
.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.option{position:relative;border:1.5px solid #cbd8dc;border-radius:16px;padding:16px 17px;background:#fff;cursor:pointer;text-align:left;transition:.18s ease;min-height:68px;display:flex;align-items:center;gap:12px;color:var(--ink)}
.option:hover,.option:focus-visible{border-color:var(--teal2);box-shadow:0 0 0 3px rgba(14,116,144,.1);outline:none}.option.selected{border-color:var(--teal);background:#edf9fa;color:var(--navy);font-weight:800}.dot{width:20px;height:20px;border:2px solid #91a7af;border-radius:50%;flex:0 0 auto;display:grid;place-items:center}.selected .dot{border-color:var(--teal)}.selected .dot:after{content:"";width:10px;height:10px;background:var(--teal);border-radius:50%}
.actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.btn{border:0;border-radius:999px;padding:12px 20px;font-weight:850;cursor:pointer;transition:.18s ease;text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-primary{background:var(--teal);color:#fff}.btn-primary:not(:disabled):hover{background:#0e566a;transform:translateY(-1px)}.btn-secondary{background:#eef3f5;color:var(--navy)}
#results{display:none;max-width:1000px;margin:32px auto 0}.resultHero{padding:clamp(24px,5vw,40px);background:linear-gradient(135deg,#eefafa,#fff);border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}.resultLabel{color:var(--teal);text-transform:uppercase;letter-spacing:.12em;font-weight:850;font-size:.78rem}.resultHero h2{margin:7px 0 12px;font-size:clamp(1.8rem,5vw,2.8rem);color:var(--navy);line-height:1.1}.resultHero p{margin:0;max-width:760px;font-size:1.05rem;color:#536574}
.resultGrid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;padding:22px}.panel{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}.panel h3{margin:0 0 14px;color:var(--navy)}.steps{list-style:none;margin:0;padding:0;display:grid;gap:13px}.steps li{display:grid;grid-template-columns:32px 1fr;gap:11px;align-items:start}.num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--aqua);color:var(--teal);font-weight:900}.consider ul{padding-left:20px;margin:8px 0 0}.consider li{margin:8px 0}.contacts{margin-top:18px;background:var(--greenbg);border-color:#b7e5c7}.contacts strong{color:var(--green)}.restart{display:flex;justify-content:center;padding:0 22px 26px}

.suggest-box{margin-top:48px;padding:clamp(22px,5vw,34px);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.suggest-box h2{margin:7px 0 6px}.suggest-box p{margin:0;color:var(--muted);max-width:760px}.copy-status{font-size:.85rem;color:var(--green);font-weight:800}
.disclaimer{max-width:1000px;margin:28px auto 0;padding:18px;text-align:left;color:var(--muted);font-size:.9rem;background:#fff;border:1px solid var(--line);border-radius:14px}
footer{border-top:1px solid var(--line);padding:30px 0 40px;color:var(--muted);font-size:.9rem;background:#fff}.footer-grid{display:flex;justify-content:space-between;gap:22px;align-items:center}.footer-grid strong{color:var(--navy);font-size:1.05rem}.footer-links{display:flex;flex-wrap:wrap;gap:14px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

body.large-text{font-size:118%}
body.high-contrast{--navy:#fff;--navy2:#000;--teal:#ffdf00;--teal2:#ffdf00;--aqua:#000;--cream:#000;--white:#000;--ink:#fff;--muted:#eee;--line:#fff;--green:#fff;--greenbg:#000;background:#000;color:#fff}
body.high-contrast .site-header,body.high-contrast .hero{background:#000}
body.high-contrast .card,body.high-contrast .provider-card,body.high-contrast .resource-card,body.high-contrast .tool-grid article,body.high-contrast .hero-card,body.high-contrast .option,body.high-contrast .disclaimer,body.high-contrast footer,body.high-contrast .accordion-item,body.high-contrast .accordion-trigger,body.high-contrast .accordion-panel,body.high-contrast .info-card,body.high-contrast .emergency-panel,body.high-contrast .emergency-grid article{background:#000;color:#fff;border-color:#fff}
body.high-contrast .btn-primary,body.high-contrast .small-btn{background:#ffdf00;color:#000}
body.high-contrast .btn-secondary,body.high-contrast .small-btn.alt,body.high-contrast .official-links a{background:#000;color:#fff;border:1px solid #fff}
body.high-contrast .option.selected{background:#222;border-color:#ffdf00}
body.high-contrast a{color:#ffdf00}
body.high-contrast .human-help{background:#000;border:2px solid #fff}
body.high-contrast .acc-copy strong,body.high-contrast .info-card h3,body.high-contrast .emergency-grid h3,body.high-contrast .human-help h2{color:#fff}

@media(max-width:900px){
.hero-grid,.human-help{grid-template-columns:1fr}.resource-strip{grid-template-columns:repeat(2,1fr)}.tool-grid,.info-grid.three{grid-template-columns:1fr 1fr}.hero-card{max-width:640px}.section-head{flex-direction:column}.trust-chip{white-space:normal}.emergency-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
.topbar{min-height:68px}.logo{width:39px;height:39px}.icon-btn{width:39px;height:39px}.hero{padding:40px 0 34px}.options,.result-cards,.tool-grid,.info-grid.two,.info-grid.three,.emergency-grid{grid-template-columns:1fr}.resultGrid{grid-template-columns:1fr}.quiz{padding:24px 18px}.actions .btn{flex:1}.progresscopy{font-size:.82rem}.resource-strip{grid-template-columns:1fr 1fr}.zip-row{grid-template-columns:1fr}.zip-row .btn{width:100%}.provider-title{align-items:flex-start;flex-direction:column}.hero-card a{grid-template-columns:1fr;gap:1px}.footer-grid{align-items:flex-start;flex-direction:column}.emergency-panel{grid-template-columns:1fr}.accordion-trigger{grid-template-columns:54px 1fr 40px;padding:19px 16px;gap:12px}.acc-icon{width:50px;height:50px}.accordion-panel{padding:0 16px 18px}.suggest-box{grid-template-columns:1fr}.print-row{justify-content:stretch}.print-row .btn{width:100%}
}
@media(max-width:440px){
.shell{width:min(100% - 22px,1120px)}.resource-strip{grid-template-columns:1fr}.a11y{gap:5px}.icon-btn{width:36px;height:36px;font-size:.82rem}.brand{font-size:1rem}.accordion-trigger{grid-template-columns:48px 1fr 34px}.acc-icon{width:46px;height:46px;border-radius:14px;font-size:1.25rem}.acc-copy strong{font-size:1.14rem}.acc-copy small{font-size:.88rem}.acc-chevron{width:34px;height:34px}
}
@media print{
.site-header,.hero,.finder,.human-help,.resource-strip,.care-guide,.suggest-box,footer,.accordion-trigger:not([aria-controls="panel-caregiver"]){display:none!important}
body{background:#fff;color:#000;font-size:12pt}
.resource-hub>.section-head,.accordion-item:not(:last-child){display:none!important}
#panel-caregiver{display:block!important;border:0;padding:0}
.tool-grid{grid-template-columns:repeat(2,1fr)}
.disclaimer{border:0;padding:0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Legal & privacy pages */
.legal-home-link{color:#fff;text-decoration:none;font-weight:800;border:1px solid rgba(255,255,255,.35);padding:8px 12px;border-radius:999px}
.legal-home-link:hover,.legal-home-link:focus-visible{background:#fff;color:var(--navy);outline:none}
.legal-page{max-width:980px;padding-top:42px;padding-bottom:64px}
.legal-hero{padding:clamp(22px,5vw,38px);background:linear-gradient(135deg,#eefafa,#fffaf0);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);margin-bottom:22px}
.legal-hero h1{font-size:clamp(2rem,5vw,3.4rem);max-width:none;margin:14px 0 12px}
.legal-hero p{max-width:820px;color:#536574;margin:0 0 10px}
.legal-date{font-size:.9rem;color:var(--muted)!important}
.legal-callout,.emergency-legal,.source-note,.copyright-banner{border-radius:16px;padding:16px 18px;margin:18px 0}
.legal-callout{background:#eef6ff;border:1px solid #cfe1f7;color:#24415d}
.emergency-legal{background:#fff1f1;border:1px solid #fecaca;color:#7f1d1d}
.source-note{background:#f8fafc;border:1px solid var(--line);color:#526273;font-size:.92rem}
.copyright-banner{background:#12263f;color:#fff;font-weight:900;text-align:center;font-size:1.05rem}
.legal-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0}
.legal-card{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;text-decoration:none;box-shadow:0 10px 26px rgba(24,54,76,.06)}
.legal-card>span{grid-row:1/3;width:44px;height:44px;border-radius:14px;background:#eef5ff;display:grid;place-items:center;font-size:1.25rem}
.legal-card strong{color:var(--navy);font-size:1.05rem}
.legal-card small{color:var(--muted);line-height:1.45;margin-top:3px}
.legal-card:hover,.legal-card:focus-visible{border-color:var(--teal2);outline:3px solid rgba(14,116,144,.10)}
.legal-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(18px,4vw,26px);margin:14px 0}
.legal-section h2{font-size:1.35rem;margin:0 0 10px}
.legal-section h3{color:var(--navy)}
.legal-section p{margin:8px 0;color:#4b5563}
.legal-section ul,.legal-section ol{margin:8px 0;padding-left:22px}
.legal-section li{margin:7px 0}
.legal-footer{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}
.legal-footer strong{color:var(--navy)}
.legal-footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px 14px}
.legal-footer-links a{font-weight:750}
.disclaimer a{font-weight:800}
body.high-contrast .legal-hero,body.high-contrast .legal-section,body.high-contrast .legal-card,body.high-contrast .legal-callout,body.high-contrast .emergency-legal,body.high-contrast .source-note{background:#000;color:#fff;border-color:#fff}
body.high-contrast .legal-hero p,body.high-contrast .legal-section p,body.high-contrast .legal-card small,body.high-contrast .legal-date{color:#eee!important}
body.high-contrast .legal-card strong,body.high-contrast .legal-section h2,body.high-contrast .legal-section h3,body.high-contrast .legal-footer strong{color:#fff}
@media(max-width:720px){
.legal-card-grid{grid-template-columns:1fr}
.legal-footer{grid-template-columns:1fr}
.legal-footer-links{justify-content:flex-start}
.legal-home-link{font-size:.8rem;padding:7px 10px}
}


/* Main navigation + living tribute */
.nav-shell{display:flex;align-items:center;gap:14px}
.site-nav{display:flex;align-items:center;gap:6px}
.site-nav a{color:#fff;text-decoration:none;font-weight:760;padding:9px 11px;border-radius:999px;font-size:.88rem}
.site-nav a:hover,.site-nav a:focus-visible{background:rgba(255,255,255,.16);outline:none}
.lang-switch{display:flex;align-items:center;border:1px solid rgba(255,255,255,.35);border-radius:999px;overflow:hidden;margin-left:4px}
.lang-switch a{padding:8px 10px!important;border-radius:0!important;font-size:.78rem}
.lang-switch a.active{background:#fff;color:var(--navy)}
.menu-toggle{display:none;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;font-size:1.25rem;cursor:pointer}
.menu-panel{display:none}
.tribute-section{margin:34px 0 46px;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:28px;align-items:stretch;background:linear-gradient(135deg,#fffdf7,#f8fbfb);border:1px solid #ead9a8;border-radius:28px;padding:clamp(18px,4vw,30px);box-shadow:var(--shadow);scroll-margin-top:95px}
.tribute-photo{min-height:0;border-radius:22px;overflow:hidden;background:#f7f4ed;box-shadow:0 16px 38px rgba(38,48,65,.16);border:3px solid #fff}.tribute-photo-img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center top}
.tribute-copy{display:flex;flex-direction:column;justify-content:center;padding:8px 4px}
.tribute-label{display:inline-flex;align-self:flex-start;padding:7px 12px;border-radius:999px;background:#fff3cf;color:#7c5513;font-weight:850;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}
.tribute-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5vw,3.45rem);line-height:1.04;margin:14px 0 4px;color:var(--navy)}
.tribute-subtitle{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.2rem,2.5vw,1.65rem);color:#8a5b16;font-weight:750;margin:0 0 18px}
.tribute-copy p{font-size:1.02rem;color:#4b5563;margin:0 0 14px}
.tribute-signature{margin-top:7px;font-weight:850;color:var(--navy)!important}
.tribute-motto{margin-top:5px!important;text-transform:uppercase;letter-spacing:.11em;font-size:.78rem!important;color:#8a5b16!important;font-weight:850}
.tribute-note{border-left:4px solid #e0b84f;padding-left:14px}
body.high-contrast .tribute-section{background:#000;border-color:#fff}
body.high-contrast .tribute-copy p,body.high-contrast .tribute-subtitle,body.high-contrast .tribute-motto{color:#fff!important}
body.high-contrast .tribute-label{background:#ffdf00;color:#000}
@media(max-width:980px){
.site-nav{display:none}
.menu-toggle{display:grid;place-items:center}
.menu-panel.open{display:grid;position:absolute;right:16px;top:70px;z-index:70;min-width:245px;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow)}
.menu-panel a{color:var(--navy);text-decoration:none;font-weight:800;padding:11px 12px;border-radius:12px}
.menu-panel a:hover,.menu-panel a:focus-visible{background:#eef6f7;outline:none}
.menu-panel .lang-switch{border-color:var(--line);margin:7px 0 0}
.menu-panel .lang-switch a{color:var(--navy)}
.menu-panel .lang-switch a.active{background:var(--navy);color:#fff}
}
@media(max-width:760px){
.tribute-section{grid-template-columns:1fr;gap:20px;padding:14px}
.tribute-photo{min-height:430px}
.tribute-copy{padding:6px 8px 12px}
.topbar{position:relative}
.nav-shell .a11y{display:none}
}
@media(max-width:440px){.tribute-photo{min-height:360px}.tribute-copy h2{font-size:2.15rem}}

.menu-tool{border:0;background:transparent;color:var(--navy);font:inherit;font-weight:800;text-align:left;padding:11px 12px;border-radius:12px;cursor:pointer}
.menu-tool:hover,.menu-tool:focus-visible{background:#eef6f7;outline:none}

.tribute-family{margin:-5px 0 4px!important;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1.08rem!important;color:#5f6670!important;font-weight:650}.tribute-signature+.tribute-family{padding-top:1px}body.high-contrast .tribute-family{color:#fff!important}@media(max-width:760px){.tribute-photo-img{min-height:0;height:auto;aspect-ratio:420/565;object-fit:cover}.tribute-family{font-size:1rem!important}}

.header-lang-switch{
  display:flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.10);
  flex:0 0 auto;
}
.header-lang-switch a{
  min-width:40px;
  padding:8px 10px;
  color:#fff;
  text-decoration:none;
  text-align:center;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.04em;
}
.header-lang-switch a.active{
  background:#fff;
  color:var(--navy);
}
.header-lang-switch a:hover,
.header-lang-switch a:focus-visible{
  background:rgba(255,255,255,.24);
  outline:none;
}
.header-lang-switch a.active:hover,
.header-lang-switch a.active:focus-visible{
  background:#fff;
  color:var(--navy);
}
@media(max-width:760px){
  .header-lang-switch a{min-width:36px;padding:7px 8px;font-size:.74rem}
  .nav-shell{gap:7px}
}


/* Senior life local discovery */
.featured-provider-section{background:linear-gradient(180deg,#f7fbff,#fff);border:1px solid #dbe9f5;border-radius:18px;padding:18px}
.provider-note{margin:0 0 14px;color:#536574;font-size:.9rem;line-height:1.5}
.assignment-tag{background:#eef8ee;color:#246b3d}
.supplier-items{margin-top:10px!important;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid var(--line);font-size:.84rem!important;line-height:1.45}
.supplier-items strong{color:var(--navy)}

.senior-life{scroll-margin-top:95px;margin:42px 0 30px;padding:clamp(22px,5vw,34px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#f7fbff,#fffdf5);box-shadow:var(--shadow)}
.senior-life .section-head{margin-bottom:18px}
.senior-life .section-head h2{margin:6px 0 8px;font-size:clamp(1.7rem,4vw,2.5rem)}
.senior-life .section-head p{margin:0;color:#536574;max-width:760px}
.local-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.local-service-card{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:start;min-height:150px;padding:18px;border:1px solid #d7e2e8;border-radius:18px;background:#fff;text-decoration:none;box-shadow:0 8px 24px rgba(24,54,76,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.local-service-card>span{grid-row:1/3;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#eef6ff;font-size:1.35rem}
.local-service-card strong{color:var(--navy);font-size:1rem;line-height:1.25}
.local-service-card small{color:var(--muted);line-height:1.45;margin-top:4px}
.local-service-card:hover,.local-service-card:focus-visible{transform:translateY(-2px);border-color:#9dcfd6;box-shadow:0 14px 30px rgba(24,54,76,.1);outline:none}
.events-finder{margin-top:20px;padding:22px;border-radius:22px;background:#17324d;color:#fff}
.events-copy h3{color:#fff;margin:5px 0 8px;font-size:clamp(1.35rem,3vw,1.9rem)}
.events-copy p{margin:0;color:#dce8ef;max-width:820px}
.events-finder .kicker{color:#fff1b9}
.event-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.event-link-grid a{display:flex;align-items:center;min-height:52px;padding:12px 14px;border-radius:14px;background:#fff;color:var(--navy);text-decoration:none;font-weight:850;line-height:1.25}
.event-link-grid a:hover,.event-link-grid a:focus-visible{background:#edf7f8;outline:3px solid rgba(255,255,255,.25)}
.events-note{margin:14px 0 0!important;color:#cbd8df!important;font-size:.82rem!important;line-height:1.5}
.local-place-label{font-weight:900;color:var(--teal)}
.events-finder .local-place-label{color:#fff1b9}
body.high-contrast .senior-life,body.high-contrast .local-service-card,body.high-contrast .featured-provider-section,body.high-contrast .supplier-items{background:#000;color:#fff;border-color:#fff}
body.high-contrast .local-service-card strong,body.high-contrast .supplier-items strong,body.high-contrast .senior-life h2{color:#fff}
body.high-contrast .local-service-card small,body.high-contrast .provider-note,body.high-contrast .supplier-items{color:#eee}
@media(max-width:900px){
  .local-service-grid,.event-link-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .local-service-grid,.event-link-grid{grid-template-columns:1fr}
  .senior-life{padding:16px}
  .local-service-card{min-height:0}
  .provider-title{align-items:flex-start;flex-direction:column}
  .featured-provider-section{padding:14px}
}


/* Funeral and bereavement guide */
.funeral-page{padding-bottom:48px}
.funeral-hero{margin:34px 0 24px;padding:clamp(24px,5vw,42px);border:1px solid #cfe4d4;border-radius:28px;background:linear-gradient(135deg,#f2fbf3,#fffdf6);box-shadow:var(--shadow)}
.funeral-hero h1{margin:8px 0 12px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,6vw,4.4rem);line-height:1}
.funeral-hero>p{max-width:850px;color:#4f6170;font-size:1.05rem;line-height:1.65}
.funeral-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 16px}
.funeral-family-note{margin-top:18px!important;padding-top:16px;border-top:1px solid #dce9df;font-size:.95rem!important}
.funeral-review-note{margin:0 0 34px;padding:16px 18px;border-radius:16px;background:#eef6ff;border:1px solid #cfe1f7;color:#42576a}
.funeral-section{scroll-margin-top:92px;margin:44px 0}
.funeral-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.funeral-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;box-shadow:0 8px 24px rgba(24,54,76,.06)}
.funeral-card>span{font-size:1.5rem}.funeral-card h3{margin:8px 0;color:var(--navy)}.funeral-card p{margin:0;color:#536574;line-height:1.55}
.funeral-card-warm{background:#fffaf0;border-color:#f0dfad}
.funeral-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(24,54,76,.05)}
.funeral-table{width:100%;border-collapse:collapse;min-width:760px}
.funeral-table th,.funeral-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.funeral-table th{background:#f7fafb;color:var(--navy);font-size:.92rem}.funeral-table td{color:#4f6170}.funeral-table tr:last-child td{border-bottom:0}
.rights-panel{margin-top:18px;padding:22px;border-radius:20px;background:#eef6ff;border:1px solid #cfe1f7}
.rights-panel h3{margin-top:0;color:var(--navy)}.rights-panel li{margin:9px 0;line-height:1.5}
.funeral-link-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.funeral-option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.funeral-option-grid article{border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px}
.funeral-option-grid article>span{font-size:1.6rem}.funeral-option-grid h3{margin:8px 0;color:var(--navy)}.funeral-option-grid p{margin:0 0 8px;color:#536574;line-height:1.5}
.funeral-option-grid a{font-weight:800}.funeral-option-vet{border-color:#b9ccef!important;background:#f7faff!important}
.funeral-local-box{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(24,54,76,.05)}
.funeral-local-box label{display:block;font-weight:850;color:var(--navy);margin-bottom:8px}
.funeral-zip-row{display:grid;grid-template-columns:minmax(0,260px) auto;gap:10px;justify-content:start}
.funeral-zip-row input{min-height:52px;border:1.5px solid #bdcbd2;border-radius:14px;padding:0 14px;font:inherit}
.funeral-local-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.funeral-local-links a{display:inline-flex;padding:10px 13px;border-radius:999px;background:#eef6ff;color:var(--navy);font-weight:850;text-decoration:none;cursor:pointer}
.funeral-local-status{margin:10px 0 0;color:var(--green);font-weight:750}
.funeral-support-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.funeral-support-grid article{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.funeral-support-grid h3{margin-top:0;color:var(--navy)}.funeral-support-grid p{color:#536574;line-height:1.55}
.funeral-source-box{margin:42px 0 20px;padding:22px;border-radius:18px;background:#f8fafb;border:1px solid var(--line)}.funeral-source-box h2{margin-top:0;color:var(--navy)}.funeral-source-box li{margin:8px 0}
.family-close{margin:28px 0 0;padding:30px;border-radius:24px;background:linear-gradient(135deg,#17324d,#245574);color:#fff;text-align:center}.family-close>span{font-size:2rem}.family-close h2{color:#fff;margin:8px 0}.family-close p{max-width:780px;margin:10px auto;color:#eef4f7;line-height:1.6}
body.high-contrast .funeral-hero,body.high-contrast .funeral-review-note,body.high-contrast .funeral-card,body.high-contrast .funeral-table-wrap,body.high-contrast .funeral-table th,body.high-contrast .rights-panel,body.high-contrast .funeral-option-grid article,body.high-contrast .funeral-local-box,body.high-contrast .funeral-support-grid article,body.high-contrast .funeral-source-box{background:#000;color:#fff;border-color:#fff}
body.high-contrast .funeral-hero h1,body.high-contrast .funeral-card h3,body.high-contrast .funeral-option-grid h3,body.high-contrast .funeral-local-box label,body.high-contrast .funeral-support-grid h3,body.high-contrast .funeral-source-box h2,body.high-contrast .funeral-table th{color:#fff}
body.high-contrast .funeral-card p,body.high-contrast .funeral-option-grid p,body.high-contrast .funeral-support-grid p,body.high-contrast .funeral-hero>p{color:#eee}
@media(max-width:900px){.funeral-option-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.funeral-card-grid,.funeral-support-grid,.funeral-option-grid{grid-template-columns:1fr}.funeral-zip-row{grid-template-columns:1fr}.funeral-zip-row .btn{width:100%}.funeral-hero-actions .btn{width:100%}}
@media print{.site-header,footer,.funeral-hero-actions,.funeral-local-box{display:none!important}.funeral-page{width:100%!important}.funeral-card,.funeral-option-grid article,.funeral-support-grid article{break-inside:avoid;box-shadow:none}.funeral-hero,.family-close{box-shadow:none}}

/* Senior Care Compass live brand banner */
.brand-banner{
  background:
    radial-gradient(circle at 82% 18%,rgba(216,169,75,.20),transparent 28%),
    linear-gradient(135deg,#fffdf7 0%,#f7fbff 54%,#eef8f6 100%);
  border-bottom:1px solid #dde6ea;
  overflow:hidden;
}
.brand-banner-inner{
  min-height:230px;
  display:grid;
  grid-template-columns:minmax(250px,.9fr) minmax(360px,1.3fr) minmax(190px,.65fr);
  gap:28px;
  align-items:center;
  padding-top:22px;
  padding-bottom:22px;
}
.brand-banner-logo{
  display:block;
  text-decoration:none;
}
.brand-banner-logo img{
  display:block;
  width:100%;
  max-width:390px;
  height:auto;
}
.brand-banner-copy{min-width:0}
.brand-banner-eyebrow{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  background:#fff4d8;
  color:#8a5b16;
  border:1px solid #eed8a4;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
}
.brand-banner-headline{
  margin:10px 0 4px;
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.55rem,3vw,2.45rem);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.035em;
}
.brand-banner-tagline{
  margin:0;
  color:#526273;
  font-size:1rem;
  font-weight:650;
}
.brand-banner-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:15px;
}
.brand-banner-actions .btn{min-height:44px;padding:10px 15px}
.brand-banner-trust{
  display:grid;
  gap:9px;
  align-content:center;
}
.brand-banner-trust span{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid #dbe5e8;
  background:rgba(255,255,255,.86);
  color:var(--navy);
  font-size:.88rem;
  font-weight:800;
  box-shadow:0 5px 14px rgba(23,50,77,.05);
}
body.high-contrast .brand-banner{
  background:#000;
  border-color:#fff;
}
body.high-contrast .brand-banner-headline,
body.high-contrast .brand-banner-tagline,
body.high-contrast .brand-banner-trust span{color:#fff}
body.high-contrast .brand-banner-trust span{background:#000;border-color:#fff}
body.high-contrast .brand-banner-eyebrow{background:#ffdf00;color:#000;border-color:#ffdf00}
@media(max-width:980px){
  .brand-banner-inner{
    grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);
  }
  .brand-banner-trust{
    grid-column:1/-1;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .brand-banner-trust span{justify-content:center;text-align:center}
}
@media(max-width:700px){
  .brand-banner-inner{
    grid-template-columns:1fr;
    gap:12px;
    min-height:0;
    padding-top:16px;
    padding-bottom:18px;
    text-align:center;
  }
  .brand-banner-logo img{
    max-width:340px;
    margin:0 auto;
  }
  .brand-banner-eyebrow{font-size:.69rem}
  .brand-banner-headline{font-size:clamp(1.45rem,7vw,2rem)}
  .brand-banner-tagline{font-size:.95rem}
  .brand-banner-actions{justify-content:center}
  .brand-banner-actions .btn{flex:1 1 145px}
  .brand-banner-trust{
    grid-column:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .brand-banner-trust span{padding:9px 8px;font-size:.78rem}
}
