/* Regional guide additions; shared brand colors and components live in landing.css. */
.mg-skip { position: absolute; left: 12px; top: -100px; z-index: 1100; background: #fff; color: #1a1a1a; padding: 12px; }
.mg-skip:focus { top: 12px; }
.market-guide a:focus-visible, .market-guide audio:focus-visible { outline: 3px solid #a2b72a; outline-offset: 4px; }
.mg-header { background: var(--bg-dark); color: #fff; border-bottom: 4px solid var(--primary-green); padding: 52px 20px 44px; }
.mg-header-inner { max-width: 960px; margin: auto; }
.mg-eyebrow { color: #23752d; font-size: .76rem; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 10px; }
.mg-header .mg-eyebrow { color: #7ade86; }
.mg-header h1 { font-size: clamp(1.85rem, 4vw, 3rem); line-height: 1.2; max-width: 900px; margin-bottom: 18px; }
.mg-deck { color: var(--text-muted); max-width: 680px; font-size: 1.1rem; }
.mg-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 24px; }
.mg-actions .btn-cta, .mg-actions .btn-cta-outline { margin: 0; padding: 12px 24px; font-size: .85rem; }
.mg-breadcrumb { color: #444; font-size: .78rem; margin-bottom: 24px; overflow-wrap: anywhere; }
.mg-breadcrumb a, .mg-section a, .mg-campaign a { color: #23752d; text-underline-offset: 3px; }
.mg-intro { display: grid; grid-template-columns: 1.65fr 1fr; gap: 28px; margin-bottom: 24px; align-items: start; }
.mg-intro h2, .mg-section h2, .mg-campaign h2 { font-size: 1.5rem; line-height: 1.35; margin-bottom: 14px; }
.mg-intro p, .mg-section > p, .mg-campaign p { margin-bottom: 14px; }
.mg-area { background: #fff; padding: 22px; border-radius: 10px; border-top: 4px solid var(--primary-green); }
.mg-area h3 { font-size: .95rem; margin-bottom: 10px; }
.mg-area p { font-size: .86rem; color: #444; }
.mg-area p:last-child { font-size: .79rem; margin-bottom: 0; }
.mg-jump { display: flex; flex-wrap: wrap; gap: 8px; border-top: 1px solid #adb7bc; padding-top: 16px; margin-bottom: 30px; }
.mg-jump a { background: #fff; border: 1px solid #c0c9c4; border-radius: 6px; padding: 9px 13px; font-size: .8rem; font-weight: 700; color: #23752d; text-decoration: none; }
.mg-section { background: #fff; border-radius: 12px; padding: 28px; margin-bottom: 28px; }
.mg-section, .mg-campaign, .lp-demo { scroll-margin-top: 100px; }
.mg-stations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; gap: 12px; margin: 20px 0; }
.mg-stations li { background: #edf2f0; border: 1px solid #d1dcd5; padding: 18px; border-radius: 8px; }
.mg-stations a { font-weight: 800; display: block; overflow-wrap: anywhere; }
.mg-stations span { display: block; color: #555; font-size: .78rem; margin-top: 7px; }
.mg-section .mg-note { font-size: .8rem; color: #555; margin-bottom: 0; border-left: 3px solid #3bb34a; padding-left: 14px; }
.mg-context-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.mg-context-grid article { border-top: 2px solid #a2b72a; padding-top: 16px; }
.mg-context-grid h3 { font-size: 1rem; margin-bottom: 10px; }
.mg-context-grid p { font-size: .9rem; color: #444; margin-bottom: 12px; }
.mg-context-grid a { font-size: .82rem; }
.mg-campaign { background: #edf2f0; border: 1px solid #c4d1c8; border-radius: 12px; padding: 28px; margin-bottom: 28px; }
.mg-campaign h3 { font-size: 1rem; margin: 22px 0 10px; }
.mg-campaign ul { padding-left: 22px; margin-bottom: 20px; }
.mg-campaign li { padding-bottom: 7px; font-size: .9rem; }
.mg-campaign > a { font-weight: 700; }
.mg-demo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; text-align: left; }
.mg-demo-grid article { background: #252525; border: 1px solid #414141; border-radius: 8px; padding: 18px; min-width: 0; }
.mg-demo-grid h3 { color: #fff; font-size: .95rem; margin-bottom: 14px; }
.mg-demo-grid audio { display: block; width: 100%; }
.mg-call { color: #fff; font-weight: 700; text-underline-offset: 4px; }
.lp-cta-banner .mg-actions { justify-content: center; }
.mg-sources { font-size: .75rem; color: #555; border-top: 1px solid #bac3bf; padding-top: 20px; }
.market-guide footer a { color: #b1ebb8; }
@media (max-width: 700px) {
  .mg-header { padding: 34px 20px; }
  .mg-intro, .mg-context-grid, .mg-stations, .mg-demo-grid { grid-template-columns: 1fr; }
  .mg-section, .mg-campaign { padding: 22px; }
  .mg-actions { align-items: stretch; }
  .mg-actions .btn-cta, .mg-actions .btn-cta-outline { width: 100%; text-align: center; font-size: .78rem; padding: 12px 16px; }
  .market-guide .nav-container { gap: 10px; flex-wrap: wrap; }
  .market-guide .nav-logo { font-size: 1.1rem; }
  .market-guide .nav-links { gap: 12px; flex-wrap: wrap; }
  .market-guide .nav-links a { font-size: .75rem; }
}
