/* v148 "Find us" map sections: live text + map art sitting directly on the page (no box, no baked-in words) */
html body .rv-findus { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 72px); align-items: center; margin: clamp(56px, 7vw, 96px) auto 0; max-width: 1100px; text-align: left; }
html body .rv-findus-text { max-width: 30em; display: flex; flex-direction: column; align-items: flex-start; }
html body .rv-findus-text > * { flex: none; }
html body .rv-findus-text h2 { margin-left: 0 !important; margin-right: 0 !important; }
html body .rv-findus-map { position: relative; width: 100%; max-width: 640px; justify-self: end; }
html body .rv-findus-circle { display: block; width: 100%; height: auto; border-radius: 50%; filter: drop-shadow(0 22px 40px rgba(23,56,79,.16)); }
html body .rv-findus-mi { order: 9; display: block; width: 230px; max-width: 70%; height: auto; margin: 26px 0 0 -28px; pointer-events: none; }
/* Contact: state map and zoom circle as one composition under centered text */
html body .rv-findus-wide { grid-template-columns: minmax(0, 1fr); margin-top: 0; max-width: none; text-align: center; }
html body .rv-findus-wide .rv-findus-text { max-width: 44em; margin: 0 auto; align-items: center; text-align: center; }
html body .rv-findus-wide .rv-findus-text h2 { margin-left: auto !important; margin-right: auto !important; }
html body .rv-findus-pair { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); align-items: center; gap: 0; max-width: 1160px; margin: -12px auto 0 !important; }
html body .rv-findus-state { display: block; width: 112%; height: auto; margin-right: -12%; position: relative; z-index: 0; }
html body .rv-findus-pair .rv-findus-circle { position: relative; z-index: 1; }
@media (max-width: 1024px) {
  html body .rv-findus { grid-template-columns: minmax(0, 1fr); text-align: center !important; gap: 28px; }
  html body .rv-findus-text { margin: 0 auto; align-items: center; }
  html body .rv-findus-text h2 { margin-left: auto !important; margin-right: auto !important; }
  html body .rv-findus-map { justify-self: center; max-width: 560px; margin: 0 auto !important; width: 94%; }
  html body .rv-findus-mi { order: -1; width: 150px; margin: -8px auto 2px; }
  html body .rv-findus-pair { grid-template-columns: minmax(0, 1fr); gap: 0; }
  html body .rv-findus-state { width: 100%; margin: 0 auto -8%; max-width: 560px; }
  html body .rv-findus-pair .rv-findus-circle { width: 86%; max-width: 520px; margin: 0 auto; }
}
/* v149 office scene art: larger, and painted straight onto the page (soft edges, paper tone takes the page color) */
html body section:has(> [data-r="two"] > figure[data-r="scene"]) { overflow: clip; }
html body [data-r="two"]:has(> figure[data-r="scene"]) { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important; gap: 24px !important; align-items: center !important; }
html body figure[data-r="scene"] { position: relative; width: 132% !important; margin: -6% -22% -6% -10% !important; }
html body figure[data-r="scene"] img { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
  mix-blend-mode: multiply;
  /* Nov 11: same size and soft oval as before, plus fades on every side. The page trims the picture where it runs past
     the screen, so the side fades are already fully clear at that point (no straight line anywhere). */
  --rv-scene-oval: radial-gradient(ellipse 56% 62% at 50% 46%, #000 44%, rgba(0,0,0,.85) 60%, rgba(0,0,0,.45) 78%, transparent 100%);
  --rv-scene-v: linear-gradient(to bottom, transparent, #000 15%, #000 85%, transparent);
  -webkit-mask-image: var(--rv-scene-oval), linear-gradient(to right, transparent, #000 13%, #000 72%, transparent 87%), var(--rv-scene-v);
  mask-image: var(--rv-scene-oval), linear-gradient(to right, transparent, #000 13%, #000 72%, transparent 87%), var(--rv-scene-v);
  -webkit-mask-composite: source-in, source-in; mask-composite: intersect; }
@media (max-width: 1024px) {
  html body [data-r="two"]:has(> figure[data-r="scene"]) { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
  html body figure[data-r="scene"] { width: 128% !important; margin: -2% 0 -8% -14% !important; max-width: none !important; }
  html body figure[data-r="scene"] img { -webkit-mask-image: var(--rv-scene-oval), linear-gradient(to right, transparent 10%, #000 24%, #000 76%, transparent 90%), var(--rv-scene-v); mask-image: var(--rv-scene-oval), linear-gradient(to right, transparent 10%, #000 24%, #000 76%, transparent 90%), var(--rv-scene-v); }
}
/* v151 watercolor "pull-out" maps: painted Michigan with the local map lifted out of it (one transparent picture, text stays live) */
html body .rv-pull, html body .rv-pull-img { display: block; width: 100%; height: auto; }
html body .rv-pull-wide { max-width: 1160px; margin: 8px auto 0 !important; }
html body .rv-findus:has(.rv-pull-fig) { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); max-width: 1160px; }
html body .rv-findus-map.rv-pull-fig { max-width: 720px; }
@media (max-width: 1024px) {
  html body .rv-findus:has(.rv-pull-fig) { grid-template-columns: minmax(0, 1fr); }
  html body .rv-findus-map.rv-pull-fig { width: 100%; max-width: 620px; margin: 0 auto !important; }
}
@media (max-width: 760px) {
  html body .rv-findus-map.rv-pull-fig, html body .rv-pull-wide { max-width: 480px; margin: 4px auto 0 !important; }
}
/* v151 Online Services: watercolor Michigan beside the hero text (stacked under it on phones) */
html body section:has(> figure.rv-mi-hero) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: clamp(24px, 4vw, 56px); }
html body section:has(> figure.rv-mi-hero) > [data-r="herocenter"] { text-align: left !important; margin: 0 !important; }
html body section:has(> figure.rv-mi-hero) > [data-r="herocenter"] > p { margin-left: 0 !important; margin-right: 0 !important; }
html body section:has(> figure.rv-mi-hero) [data-r="ctas"] { justify-content: flex-start !important; }
html body figure.rv-mi-hero img { display: block; width: 112%; max-width: none; height: auto; margin: -4% -6% -4% -4%; }
@media (max-width: 1024px) {
  html body section:has(> figure.rv-mi-hero) { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  html body section:has(> figure.rv-mi-hero) > [data-r="herocenter"] { text-align: center !important; margin: 0 auto !important; }
  html body section:has(> figure.rv-mi-hero) > [data-r="herocenter"] > p { margin-left: auto !important; margin-right: auto !important; }
  html body section:has(> figure.rv-mi-hero) [data-r="ctas"] { justify-content: center !important; }
  html body figure.rv-mi-hero { max-width: 620px; width: 100%; margin: 0 auto !important; }
  html body figure.rv-mi-hero img { width: 108%; margin: 0 -4%; }
}
@media (max-width: 760px) {
  html body figure.rv-mi-hero img { width: 112%; margin: 4px -6% 0; }
}
