/* Phase-one homepage refinement. Intentionally isolated from dedicated pages. */
.home-refined .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.home-refined .path-process { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); background: var(--cream); padding-block: clamp(4rem, 7vw, 7rem); }
.home-refined .path-process::before { width: 980px; height: 980px; left: -650px; opacity: .65; }
.home-refined .path-process::after { display: none; }
.home-refined .process-heading h2 { font-size: clamp(2.7rem, 4.6vw, 4.8rem); line-height: 1.06; letter-spacing: -.025em; text-wrap: balance; max-width: 510px; }
.home-refined .process-heading > p:last-child { font-size: 1rem; line-height: 1.75; max-width: 40ch; color: #425b64; }
.home-refined .process-rule { margin-block: 1.75rem; background: #c77e4c; width: 56px; }
.home-refined .process-journey { position: relative; min-width: 0; padding-block: 32px 76px; }
.home-refined .process-route { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.home-refined .process-route path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.home-refined .route-bed { stroke: #d6e2de; stroke-width: 16; }
.home-refined .route-progress { stroke: var(--teal); stroke-width: 3; }
.home-refined .process-list { padding: 0; margin: 0; min-height: 0; display: grid; gap: 30px; }
.home-refined .process-list::before { display: block; inset: 50px auto 0 31px; width: 2px; height: auto; background: #c6d8d3; box-shadow: none; }
.home-refined .route-ready .process-list::before { display: none; }
.home-refined .process-list::after, .home-refined .process-list li::before { display: none; }
.home-refined .process-list li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 18px; align-items: center; margin: 0; padding: 0 42px 0 0; }
.home-refined .process-list li:nth-child(even) { padding: 0 0 0 42px; margin: 0; }
.home-refined .process-number { width: 64px; height: 64px; margin: 0; font-size: 1.45rem; font-weight: 700; border: 1px solid #6d9a99; background: var(--cream); box-shadow: 0 5px 14px rgba(20,43,56,.07); color: var(--teal-deep); }
.home-refined .process-number::after { content: ''; position: absolute; right: -5px; width: 9px; height: 9px; border-radius: 50%; background: #c77e4c; box-shadow: 0 0 0 5px var(--cream); }
.home-refined .process-card { display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 18px; padding: 23px; min-height: 148px; border: 1px solid #dbe2dc; border-right: 4px solid var(--teal); border-radius: 8px; background: #fffdf9; box-shadow: 0 8px 24px rgba(20,43,56,.025); transition: transform 220ms ease-out, box-shadow 220ms ease-out; }
.home-refined .process-card:hover { transform: none; box-shadow: 0 8px 24px rgba(20,43,56,.025); }
.home-refined .process-icon { width: 60px; height: 60px; background: #e8efea; color: var(--teal-deep); }
.home-refined .process-icon svg { width: 30px; height: 30px; }
.home-refined .process-list h3 { font-size: 1.125rem; line-height: 1.3; margin: 0 0 9px; font-weight: 700; }
.home-refined .process-list p { font-size: 1rem; line-height: 1.6; color: #425b64; margin: 0; }
.home-refined .process-list li.is-reached .process-number { background: var(--teal-deep); color: #fffdf9; border-color: var(--teal-deep); }
.home-refined .process-list li.is-reached .process-card { box-shadow: 0 10px 28px rgba(20,43,56,.08); }
.home-refined .process-arrival { position: absolute; bottom: 0; left: 42px; width: 64px; height: 64px; border: 10px solid #d6e2de; border-radius: 50%; background: var(--teal-deep); display: grid; place-items: center; color: #fffdf9; box-shadow: 0 0 0 9px rgba(8,125,127,.045); }
.home-refined .process-arrival svg { width: 26px; height: 26px; }

/* One compact service-area destination, with real text links beside the supplied map. */
.home-refined .local-reach { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(3rem, 6vw, 6rem); border-top: 1px solid #dce3dd; }
.home-refined .local-reach .service-map { width: 100%; max-width: 395px; justify-self: center; }
.home-refined .local-reach .service-map img { width: 100%; height: auto; display: block; }
.home-refined .local-reach h2 { font-size: clamp(2.6rem, 4vw, 4.2rem); line-height: 1.05; margin-bottom: 1.4rem; }
.home-refined .local-reach .intro-content > p { font-size: 1rem; line-height: 1.7; max-width: 54ch; }
.home-refined .local-reach .intro-content > .eyebrow { font-size: .8rem; }
.home-refined .local-city-links { margin: 1.8rem 0 1rem; display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.6rem; }
.home-refined .local-city-links a { border-bottom: 1px solid #c9d8d2; padding: 1rem 0; display: flex; justify-content: space-between; gap: .7rem; align-items: center; color: var(--navy); font-size: 1rem; font-weight: 600; }
.home-refined .local-city-links a span { color: var(--teal-deep); }
.home-refined .local-city-links a:hover { color: var(--teal-deep); }
.home-refined .local-reach .local-neighbors { color: #425b64; font-size: .9rem; margin-bottom: 1.8rem; }
.home-refined .local-reach a:focus-visible { outline: 2px solid var(--teal-deep); outline-offset: 5px; }

/* The desktop keeps whole-card links and flips. Touch uses native disclosures. */
.home-refined .matter-card { min-width: 0; perspective: 1200px; }
.home-refined .matter-desktop { display: block; color: white; height: 100%; min-height: 275px; }
.home-refined .matter-desktop article { min-height: 275px; }
.home-refined .matter-mobile { display: none; }
.home-refined .injury-grid h3 { font-size: 1.15rem; }
.home-refined .injury-grid p { font-size: 1rem; line-height: 1.55; color: #c7d5d9; }
.home-refined .injury-card-back h3 { font-family: var(--serif); font-size: 1.8rem; }
.home-refined .injury-card-back p:not(.card-kicker) { color: #f4f7f6; }
.home-refined .injury-card-back .card-kicker { font-size: .8rem; }
.home-refined .injury-card-back .card-link { font-size: .82rem; }
.home-refined .matter-desktop:focus-visible { outline: 3px solid var(--peach); outline-offset: 4px; position: relative; z-index: 5; }
@media (hover:hover) and (pointer:fine) {
  .home-refined .matter-desktop:hover article, .home-refined .matter-desktop:focus-visible article { transform: rotateY(180deg); box-shadow: 0 18px 32px rgba(0,0,0,.18); }
}
@media (max-width:1100px) {
  .home-refined .path-process { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 2rem; }
  .home-refined .process-list li { padding-right: 22px; gap: 12px; grid-template-columns: 52px minmax(0,1fr); }
  .home-refined .process-list li:nth-child(even) { padding-left: 22px; }
  .home-refined .process-number { width: 52px; height: 52px; font-size: 1.2rem; }
  .home-refined .process-card { padding: 18px; grid-template-columns: 1fr; gap: 12px; }
  .home-refined .process-icon { width: 48px; height: 48px; }
  .home-refined .process-icon svg { width: 26px; height: 26px; }
  .home-refined .process-arrival { left: 16px; }
}
@media (max-width:800px) {
  .home-refined .path-process { grid-template-columns: minmax(0,1fr); gap: 1.7rem; }
  .home-refined .process-heading h2 { max-width: 620px; font-size: clamp(2.5rem,7vw,3.6rem); }
  .home-refined .process-heading > p:last-child { max-width: 55ch; }
  .home-refined .process-list { gap: 24px; }
  .home-refined .process-card { grid-template-columns: 48px minmax(0,1fr); min-height: 140px; }
  .home-refined .process-journey { max-width: 650px; width: 100%; margin-inline: auto; }
  .home-refined .local-reach { grid-template-columns: minmax(0,1fr); gap: 2.3rem; }
  .home-refined .local-reach .intro-content { grid-row: 1; }
  .home-refined .local-reach .service-map { max-width: 330px; }
}
@media (max-width:700px), (hover:none), (pointer:coarse) {
  .home-refined .injury-grid { display: grid; grid-template-columns: 1fr; max-width: 680px; gap: 0; }
  .home-refined .matter-desktop { display: none; }
  .home-refined .matter-mobile { display: block; border-top: 1px solid #38505c; background: transparent; }
  .home-refined .matter-card:last-child { border-bottom: 1px solid #38505c; }
  .home-refined .matter-mobile summary { display: flex; align-items: center; gap: 18px; padding: 24px 4px; list-style: none; cursor: pointer; min-height: 100px; }
  .home-refined .matter-mobile summary::-webkit-details-marker { display: none; }
  .home-refined .matter-summary-text { display: grid; gap: 8px; flex: 1; }
  .home-refined .matter-summary-text strong { color: #fffdf9; font-size: 1.15rem; line-height: 1.3; }
  .home-refined .matter-summary-text > span { color: #c7d5d9; font-size: 1rem; line-height: 1.55; }
  .home-refined .matter-plus { flex: 0 0 30px; color: var(--peach); font-size: 1.6rem; text-align: center; transition: transform 180ms ease-out; }
  .home-refined .matter-mobile[open] .matter-plus { transform: rotate(45deg); }
  .home-refined .matter-mobile[open] summary { padding-bottom: 16px; }
  .home-refined .matter-detail { padding: 0 4px 26px; max-width: 60ch; }
  .home-refined .matter-detail h4 { margin: 0 0 .5rem; font: 600 1rem/1.5 var(--sans); color: #fffdf9; }
  .home-refined .matter-detail p { margin: 0; }
  .home-refined .matter-detail a { display: inline-flex; align-items: center; min-height: 44px; margin-top: .65rem; font-size: 1rem; font-weight: 600; color: var(--peach); text-decoration: underline; text-underline-offset: 5px; }
  .home-refined .matter-mobile summary:focus-visible, .home-refined .matter-detail a:focus-visible { outline: 2px solid var(--peach); outline-offset: 4px; }
}
@media (max-width:480px) {
  .home-refined .process-list li, .home-refined .process-list li:nth-child(even) { grid-template-columns: 40px minmax(0,1fr); gap: 12px; padding: 0; }
  .home-refined .process-number { width: 40px; height: 40px; font-size: 1rem; box-shadow: none; }
  .home-refined .process-number::after { width: 7px; height: 7px; right: -4px; box-shadow: 0 0 0 3px var(--cream); }
  .home-refined .process-card { display: block; padding: 20px; min-height: 0; border-right-width: 3px; }
  .home-refined .process-icon { margin-bottom: 14px; }
  .home-refined .process-list h3 { font-size: 1.125rem; }
  .home-refined .process-list p { font-size: 1rem; }
  .home-refined .process-arrival { width: 40px; height: 40px; border-width: 6px; left: 0; }
  .home-refined .process-arrival svg { width: 22px; height: 22px; }
  .home-refined .process-list::before { left: 19px; }
  .home-refined .local-city-links { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .home-refined .process-card, .home-refined .matter-plus { transition: none; }
  .home-refined .matter-desktop article { transition: none; }
}
