:root{--ink:#102f2a;--forest:#123f36;--forest-2:#0c3029;--teal:#078ca4;--copper:#c87443;--paper:#f4f0e8;--sand:#e7dece;--white:#fffdf8;--line:rgba(16,47,42,.18);--serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}img{display:block;max-width:100%}a{color:inherit}.mhf-skip{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-150%);background:#fff;padding:10px 16px}.mhf-skip:focus{transform:none}.mhf-header{height:90px;position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;padding:0 clamp(24px,5vw,78px);border-bottom:1px solid rgba(255,255,255,.25);color:white;transition:background .3s}.mhf-header.is-scrolled{position:fixed;background:rgba(12,48,41,.97);box-shadow:0 10px 35px rgba(0,0,0,.12)}.mhf-brand{width:162px;height:60px;display:block;overflow:hidden}.mhf-brand img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}.mhf-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(18px,2.4vw,38px)}.mhf-nav a:not(.mhf-button){font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;text-decoration:none;font-weight:700}.mhf-menu{display:none;background:none;border:0;color:#fff}
.mhf-hero{height:100svh;min-height:650px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--forest-2)}.mhf-hero__image{position:absolute;inset:0;width:100%;height:108%;object-fit:cover;object-position:center;will-change:transform}.mhf-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,20,.9) 0%,rgba(4,24,20,.66) 35%,rgba(4,24,20,.08) 70%),linear-gradient(0deg,rgba(4,24,20,.4),transparent 45%)}.mhf-hero__content{position:relative;z-index:2;color:#fff;max-width:710px;margin-left:clamp(24px,9vw,145px);padding-top:55px}.mhf-eyebrow,.mhf-kicker{text-transform:uppercase;letter-spacing:.19em;font-size:.72rem;font-weight:800;color:var(--copper);margin:0 0 18px}.mhf-hero h1{font:400 clamp(3.4rem,6.2vw,6.9rem)/.94 var(--serif);letter-spacing:-.055em;margin:0 0 28px}.mhf-hero__content>p:not(.mhf-eyebrow){font-size:clamp(1rem,1.3vw,1.2rem);max-width:570px;color:rgba(255,255,255,.83);margin:0 0 32px}
.mhf-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;padding:clamp(90px,12vw,180px) clamp(24px,9vw,145px);align-items:start}.mhf-intro h2,.mhf-section-head h2,.mhf-region h2,.mhf-history h2,.mhf-contact h2{font:400 clamp(2.45rem,4.3vw,4.75rem)/1.02 var(--serif);letter-spacing:-.04em;margin:0}.mhf-intro__copy{margin-top:28px;max-width:520px}.mhf-intro__copy p{font-size:1.05rem;margin:0 0 18px}
.mhf-priorities{background:var(--white);padding:clamp(85px,10vw,150px) clamp(24px,7vw,110px)}.mhf-section-head{display:grid;grid-template-columns:1.7fr .9fr;gap:0 5vw;align-items:end;margin-bottom:72px}.mhf-section-head .mhf-kicker{grid-column:1/-1;align-self:start}.mhf-section-head>p:last-child{margin:0;border-left:1px solid var(--line);padding-left:34px}/* Image-backed focus cards. */
.mhf-priority-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.mhf-priority{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:490px;padding:28px 24px;overflow:hidden;border-radius:4px;background:var(--forest-2);color:var(--white);text-decoration:none}
.mhf-priority__image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .65s var(--ease)}
.mhf-priority:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,24,20,.04) 15%,rgba(4,24,20,.3) 38%,rgba(4,24,20,.9) 64%,#041814 78%)}
.mhf-priority__body{display:block}
.mhf-priority__body strong{display:block;font:400 clamp(1.7rem,2.2vw,2.45rem)/1.06 var(--serif);letter-spacing:-.025em}
.mhf-priority__body small{display:block;font-size:.9rem;line-height:1.55;margin-top:16px;color:var(--white)}
.mhf-priority>b{display:grid;place-items:center;flex-shrink:0;margin-top:24px;border:1px solid rgba(255,255,255,.55);border-radius:50%;width:38px;height:38px;font:26px/1 Arial;transition:background .25s,color .25s,transform .25s var(--ease)}
.mhf-priority>b svg{display:block}
.mhf-priority:hover .mhf-priority__image,.mhf-priority:focus-visible .mhf-priority__image{transform:scale(1.045)}
.mhf-priority:hover>b,.mhf-priority:focus-visible>b{background:var(--white);color:var(--forest);transform:translateX(4px)}

.mhf-region{min-height:720px;display:grid;grid-template-columns:1fr 1fr;background:var(--copper);color:var(--forest-2);overflow:hidden}.mhf-region__map{position:relative;min-width:0;min-height:560px;align-self:stretch;background:#efcfb9;overflow:hidden}
.mhf-county-map{position:absolute;inset:0;display:block;width:100%;height:100%}
.mhf-county{fill:#e9c9b2;stroke:#dcb79c;stroke-width:1;stroke-linejoin:round}
.mhf-county--served{fill:var(--forest);stroke:#e8c1a6;stroke-width:2}
.mhf-map-label{font:500 12px var(--sans);letter-spacing:.07em;text-anchor:middle;fill:#674831}
.mhf-map-label--served{font:400 13px var(--serif);fill:var(--white);letter-spacing:.02em}
.mhf-map-pulse{fill:none;stroke:var(--white);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none;transform-origin:0 0;animation:mhf-detroit-pulse 10s linear infinite}
.mhf-map-pulse--two{animation-delay:-3.333s}.mhf-map-pulse--three{animation-delay:-6.667s}
.mhf-map-dot{fill:var(--copper);stroke:none;transform-origin:0 0;animation:mhf-detroit-dot 4s ease-in-out infinite}
@keyframes mhf-detroit-dot{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}
.mhf-map-leader{fill:none;stroke:var(--forest);stroke-width:1.5}
.mhf-map-detroit{font:700 19px var(--sans);fill:var(--forest-2);paint-order:stroke;stroke:#efcfb9;stroke-width:4px;stroke-linejoin:round}
.mhf-map-water{font:italic 12px var(--serif);fill:#674831;text-anchor:middle}

@keyframes mhf-detroit-pulse{0%{transform:scale(.65);opacity:.85}45%{opacity:.5}100%{transform:scale(12);opacity:0}}
.mhf-region__content{padding:clamp(70px,8vw,130px);align-self:center}.mhf-region .mhf-kicker{color:var(--forest)}.mhf-region__content>p:not(.mhf-kicker){font-size:1.05rem;max-width:480px}.mhf-counties{display:flex;gap:8px;flex-wrap:wrap;margin-top:35px}.mhf-counties button{border:1px solid var(--sand);border-radius:999px;background:var(--sand);color:var(--forest);min-height:44px;padding:10px 16px;text-transform:uppercase;font-family:var(--sans);font-size:.68rem;letter-spacing:.12em;font-weight:700;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}
.mhf-history{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:stretch;padding:clamp(75px,8vw,115px) clamp(24px,7vw,110px);background:var(--white);color:var(--ink)}
.mhf-history__copy{max-width:540px;padding:16px 0}
.mhf-history__eyebrow{display:flex;align-items:center;gap:18px;margin-bottom:22px;flex-wrap:wrap}
.mhf-history__eyebrow .mhf-kicker{margin:0}
.mhf-history__eyebrow>span{border-left:1px solid var(--line);padding-left:18px;font-size:.75rem;color:#4d615d}
.mhf-history h2{font-size:clamp(2.35rem,3.5vw,3.7rem);line-height:1.08;letter-spacing:-.04em;margin-bottom:28px}
.mhf-history h2 em{font-weight:400;color:var(--copper)}
.mhf-history__copy>p{font-size:1rem;line-height:1.75;color:#4d615d;margin:0 0 18px}
.mhf-history__copy .mhf-button{margin-top:12px}
.mhf-history__visual{position:relative;min-width:0;min-height:360px;border-radius:4px;overflow:hidden;box-shadow:0 16px 36px -16px rgba(16,47,42,.23)}
.mhf-history__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% center}
.mhf-contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:clamp(85px,10vw,145px) clamp(24px,9vw,145px);background:var(--sand)}.mhf-contact__main>p:not(.mhf-kicker){max-width:520px;margin:25px 0}.mhf-contact__details{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--ink);padding-top:28px;align-self:end}.mhf-contact__details div{display:flex;flex-direction:column}.mhf-contact__details span{text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;font-weight:800;color:var(--copper);margin-bottom:8px}.mhf-contact__details strong{font-family:var(--serif);font-size:1.2rem}.mhf-contact__details a,.mhf-contact__details address{font-style:normal;font-size:.84rem;margin-top:6px;text-decoration-color:rgba(16,47,42,.35)}.mhf-footer{background:#08241f;color:white;padding:58px clamp(24px,7vw,110px) 28px;display:grid;grid-template-columns:220px 1fr 1fr;gap:48px;align-items:start}.mhf-brand--footer{width:200px;height:90px}.mhf-footer p{font:400 1.4rem/1.25 var(--serif);margin:16px 0}.mhf-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mhf-footer nav a{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}.mhf-footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;color:rgba(255,255,255,.55)}
.mhf-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.mhf-reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:3px solid #f1a66e;outline-offset:4px}
@media(max-width:980px){.mhf-menu{display:flex;margin-left:auto;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem}.mhf-menu i{width:19px;border-top:1px solid #fff}.mhf-menu i:last-child{margin-left:-29px;transform:translateY(5px)}.mhf-nav{position:absolute;top:90px;left:0;width:100%;background:var(--forest-2);padding:28px;display:none;flex-direction:column;align-items:stretch;gap:20px}.mhf-nav.is-open{display:flex}.mhf-priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mhf-priority{min-height:480px}.mhf-priority__body strong{font-size:2rem}.mhf-region{grid-template-columns:1fr}.mhf-region__map{order:2;min-height:0;height:clamp(400px,75vw,680px)}.mhf-contact{grid-template-columns:1fr;gap:70px}}
@media(max-width:680px){.mhf-header{height:74px;padding:0 20px}.mhf-brand{width:132px;height:50px}.mhf-nav{top:74px}.mhf-hero{min-height:620px}.mhf-hero__content{margin:0 22px;padding-top:30px}.mhf-hero h1{font-size:clamp(3.1rem,15vw,4.6rem)}.mhf-hero__image{object-position:66% center}.mhf-hero__shade{background:linear-gradient(90deg,rgba(4,24,20,.88),rgba(4,24,20,.36)),linear-gradient(0deg,rgba(4,24,20,.5),transparent)}.mhf-intro{grid-template-columns:1fr;gap:45px}.mhf-section-head{display:block}.mhf-section-head>p:last-child{border:0;padding:0;margin-top:25px}.mhf-priority-grid{grid-template-columns:1fr;gap:20px}.mhf-priority{min-height:460px;padding:28px}.mhf-priority__body strong{font-size:2.15rem}.mhf-priority__body small{font-size:.94rem;max-width:32ch}.mhf-region{min-height:0}.mhf-region__content{padding:80px 24px}.mhf-region__map{min-height:0;height:auto;aspect-ratio:9/8}.mhf-history,.mhf-contact{grid-template-columns:1fr}.mhf-history{gap:32px;padding:70px 24px}.mhf-history__copy{padding:0}.mhf-history__visual{min-height:0;aspect-ratio:4/3}.mhf-contact__details{grid-template-columns:1fr}.mhf-footer{grid-template-columns:1fr;gap:25px}.mhf-footer small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.mhf-priority__image,.mhf-priority>b{transition:none}.mhf-priority:hover .mhf-priority__image,.mhf-priority:focus-visible .mhf-priority__image,.mhf-priority:hover>b,.mhf-priority:focus-visible>b{transform:none}html{scroll-behavior:auto}.mhf-reveal{opacity:1;transform:none;transition:none}.mhf-map-pulse{animation:none}}

/* Community portrait with a gently pulsing heart at its corner. */
.mhf-intro__care{position:relative;min-width:0;min-height:0;align-self:stretch;perspective:1000px}
.mhf-intro__portrait{position:absolute;inset:0;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s var(--ease)}
.mhf-intro__care.is-tilting .mhf-intro__portrait{transition:transform .12s ease-out}
.mhf-intro__image{width:100%;height:100%;object-fit:cover;object-position:center 55%;border-radius:4px;box-shadow:0 24px 48px -14px rgba(16,47,42,.25),0 8px 18px -8px rgba(16,47,42,.15)}
.mhf-care-mark{position:absolute;right:-16px;bottom:-20px;display:block;width:120px;height:120px;padding:12px;margin:0;overflow:visible;border-radius:50%;background:var(--paper);box-shadow:0 6px 24px rgba(16,47,42,.08)}
.mhf-care-mark__heart{transform-origin:120px 108px;animation:mhf-love-beat 4.5s ease-in-out infinite}
@keyframes mhf-love-beat{0%,42%,100%{transform:scale(1)}14%{transform:scale(1.045)}24%{transform:scale(1)}33%{transform:scale(1.025)}}
@media(max-width:680px){.mhf-intro__care{aspect-ratio:4/5;margin-bottom:18px}.mhf-care-mark{width:100px;height:100px;right:-10px;bottom:-18px;padding:10px}}
@media(prefers-reduced-motion:reduce){.mhf-care-mark__heart{animation:none}.mhf-intro__portrait{transform:none;transition:none}}

/* Shared call-to-action buttons. */
.mhf-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;max-width:100%;min-height:54px;padding:8px 8px 8px 24px;border:1px solid var(--forest);border-radius:999px;background:var(--forest);color:var(--white);font-size:.88rem;font-weight:600;line-height:1.35;letter-spacing:normal;text-transform:none;text-decoration:none;box-shadow:0 5px 14px rgba(16,47,42,.1);transition:background .25s,box-shadow .25s,transform .25s var(--ease)}
.mhf-button>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--sand);color:var(--forest)}
.mhf-button svg{display:block;transition:transform .25s var(--ease)}
.mhf-button:hover,.mhf-button:focus-visible{background:var(--forest-2);box-shadow:0 9px 20px rgba(16,47,42,.17);transform:translateY(-2px)}
.mhf-button:hover svg,.mhf-button:focus-visible svg{transform:translateX(2px)}
.mhf-button:active{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.mhf-button,.mhf-button svg{transition:none}.mhf-button:hover,.mhf-button:focus-visible,.mhf-button:hover svg,.mhf-button:focus-visible svg{transform:none}}

.mhf-intro__copy .mhf-button{margin-top:16px}
.mhf-nav__cta.mhf-button{flex-shrink:0}

/* Reversed palette for calls to action on dark backgrounds. */
.mhf-button--light{background:var(--sand);border-color:var(--sand);color:var(--forest)}
.mhf-button--light>span{background:var(--forest);color:var(--white)}
.mhf-button--light:hover,.mhf-button--light:focus-visible{background:var(--white);border-color:var(--white);color:var(--forest)}

/* Linked county highlights change only the fill color. */
.mhf-county-target{cursor:pointer;outline:none}
.mhf-county-hit{fill:transparent;stroke:none;pointer-events:all}
.mhf-county-visual{pointer-events:none}
.mhf-county-visual .mhf-county--served{transition:fill .4s}

.mhf-county-target.is-active .mhf-county--served{fill:#28745f}
.mhf-county-target:focus-visible .mhf-county--served{stroke:#f1a66e;stroke-width:3}
.mhf-counties button.is-active{background:var(--forest);border-color:var(--forest);color:var(--white);box-shadow:0 5px 12px rgba(12,48,41,.15)}
.mhf-map-playback{display:block;margin-top:12px;padding:8px 0;min-height:44px;border:0;background:none;color:var(--forest-2);font:500 .72rem var(--sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@media(prefers-reduced-motion:reduce){.mhf-county-visual,.mhf-county-visual .mhf-county--served,.mhf-counties button{transition:none}.mhf-county-target.is-active .mhf-county-visual{transform:none;filter:none}.mhf-map-playback{display:none}}

@media(prefers-reduced-motion:reduce){.mhf-map-pulse--two,.mhf-map-pulse--three{display:none}}

@media(prefers-reduced-motion:reduce){.mhf-map-dot{animation:none}}

/* Detroit waterfront backdrop for the left half of the service region. */
.mhf-region__scene{position:relative;isolation:isolate;display:flex;min-width:0;background:var(--forest-2)}
.mhf-region__photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 38%}
.mhf-region__scene:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,24,20,.18) 0%,rgba(4,24,20,.64) 34%,rgba(4,24,20,.91) 72%,rgba(4,24,20,.97) 100%)}
.mhf-region__scene .mhf-region__content{width:100%;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;color:var(--white)}
.mhf-region__scene .mhf-kicker{color:#efb48e}
.mhf-region__scene .mhf-map-playback{align-self:flex-start;color:var(--white)}
@media(max-width:980px){.mhf-region__scene{min-height:620px}}
@media(max-width:680px){.mhf-region__scene{min-height:580px}}

/* Silent community film behind the hero copy, with a still-image fallback. */
.mhf-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .8s var(--ease);pointer-events:none}
.mhf-hero__video.is-ready{opacity:1}



@media(max-width:680px){.mhf-hero__video{object-position:70% center}}
@media(prefers-reduced-motion:reduce){.mhf-hero__video{display:none;transition:none}}


