/* Grand Rapids v3 homepage — dispatch board */
body.site-page main.grm{width:100% !important;max-width:none;margin:0}
.grm{color:#25313b;font-size:1.04rem;line-height:1.66}
.grm h2{font-family:'Franklin Gothic Medium','Arial Narrow',Arial,sans-serif;font-size:clamp(1.5rem,3.2vw,2rem);color:#2b4a63;margin:.2em 0 .5em}
.grm p{margin:.85em 0}
.grm a{color:#1d6b8f}
.grp-chip{display:inline-block;background:#e3f0e7;color:#1d5c30;font-weight:700;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.08em;padding:4px 12px;border-radius:999px;margin:0 0 10px}

.gr-hero{background:#2b4a63;color:#fff;border-bottom:4px solid #2e8540}
.gr-hero-in{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding:48px 24px}
.gr-hero-txt .grp-chip{background:rgba(255,255,255,.14);color:#a9e0b8}
.gr-hero h1{font-family:'Franklin Gothic Medium','Arial Narrow',Arial,sans-serif;font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.1;margin:0 0 12px;color:#fff}
.gr-sub{font-size:1.15rem;color:#c9d6e0;margin:0 0 24px}
.gr-hero-pic{margin:0}
.gr-hero-pic img{width:100%;max-height:400px;object-fit:cover;border-radius:8px;border:3px solid rgba(255,255,255,.2)}

.gr-call{display:inline-block;background:#2e8540;color:#fff !important;text-decoration:none;font-weight:700;
  font-size:1.12rem;padding:12px 30px;border-radius:4px;font-family:'Franklin Gothic Medium','Arial Narrow',Arial,sans-serif}
.gr-call:hover{background:#37a04d}
.gr-call-lg{font-size:1.3rem;padding:16px 36px}

.gr-strip{background:#eef2f5;border-bottom:1px solid #c6d2dc}
.gr-strip-in{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px 24px}
.gr-strip strong{display:block;color:#2b4a63;font-family:'Franklin Gothic Medium','Arial Narrow',Arial,sans-serif;font-size:1.05rem}
.gr-strip span{color:#5b6d7c;font-size:.88rem}

.gr-sec{max-width:760px;margin:0 auto;padding:30px 24px 4px}
.grp-ph{max-width:980px;margin:34px auto;padding:0 24px}
.grp-ph img{width:100%;max-height:430px;object-fit:cover;border-radius:6px;border:1px solid #c6d2dc}

.gr-shout{background:#2e8540;color:#fff;text-align:center;padding:42px 24px;margin:42px 0}
.gr-shout p{font-family:'Franklin Gothic Medium','Arial Narrow',Arial,sans-serif;font-size:1.5rem;margin:0 0 16px}
.gr-shout .gr-call{background:#2b4a63}
.gr-shout .gr-call:hover{background:#1d3549}
.gr-shout-note{font-size:.95rem !important;font-family:Tahoma,sans-serif !important;color:#d3ecda !important;margin:14px 0 0 !important}

.gr-faq{background:#eef2f5;border-top:3px solid #2b4a63;padding:46px 0;margin-top:44px}
.gr-faq-in{max-width:780px;margin:0 auto;padding:0 24px}
.gr-qa{background:#fff;border:1px solid #c6d2dc;border-left:4px solid #2e8540;border-radius:4px;padding:16px 20px;margin:12px 0}
.gr-q{font-weight:700;color:#2b4a63;margin:0 0 .4em}
.gr-a{margin:0;color:#41525f}

.gr-close{text-align:center;padding:54px 24px}
.gr-close p{max-width:42em;margin:0 auto 22px}

@media (max-width:860px){
  .gr-hero-in{grid-template-columns:1fr}
  .gr-strip-in{grid-template-columns:1fr 1fr}
  .gr-call-lg{font-size:1.15rem;padding:14px 28px}
}

/* ===== v3.1 polish: content image alignment + rhythm (2026-07-03) =====
   Fixes platform rule `body.site-page figure{margin:0}` out-specifying site
   figure classes (left-anchored images), oversized portrait images, and
   excessive vertical spacing. Append AFTER site css; idempotent by marker. */
figure[class$="-ph"],figure[class$="-photo"],figure[class$="-fig"],
figure.vnp-pic,figure.srp-pic,figure.pxp-pic,figure.hbp-cardpic,figure.sr-wide{
 max-width:720px !important;margin:24px auto !important;padding:0 20px !important;
 box-sizing:border-box;float:none;clear:both}
figure[class$="-ph"] img,figure[class$="-photo"] img,figure[class$="-fig"] img,
figure.vnp-pic img,figure.srp-pic img,figure.pxp-pic img,figure.hbp-cardpic img,figure.sr-wide img{
 width:100% !important;display:block;max-height:480px;object-fit:cover}
body main[class] h2{margin-top:30px}
main[class] section>h2:first-child,main[class] div>h2:first-child{margin-top:0}
body main[class] p{margin-top:12px;margin-bottom:12px}
main[class] section[class*="-sec"]{margin-top:32px}
