
  * { box-sizing:border-box; }
  body { margin:0; background:#f4f5f6; }
  input, select, button { font-family:inherit; }
  a { text-decoration:none; color:inherit; }
  .g-state{grid-template-columns:repeat(5,minmax(0,1fr));}
  .g-cc{grid-template-columns:repeat(4,minmax(0,1fr));}
  .g-zip{grid-template-columns:repeat(6,minmax(0,1fr));}
  .g-state:not(:has(> a:not([hidden]) ~ a:not([hidden]) ~ a:not([hidden]))),.g-cc:not(:has(> a:not([hidden]) ~ a:not([hidden]) ~ a:not([hidden]))),.g-zip:not(:has(> a:not([hidden]) ~ a:not([hidden]) ~ a:not([hidden]))){display:flex !important; flex-wrap:wrap; justify-content:center; gap:10px;}
  .g-state:not(:has(> a:not([hidden]) ~ a:not([hidden]) ~ a:not([hidden]))) > a,.g-cc:not(:has(> a:not([hidden]) ~ a:not([hidden]) ~ a:not([hidden]))) > a,.g-zip:not(:has(> a:not([hidden]) ~ a:not([hidden]) ~ a:not([hidden]))) > a{width:240px;}
  [hidden] { display:none !important; }
  .cal-ph{ color:#5a6672; }
  .cal-val{ color:#0b2e4e; font-weight:600; }
  .cal-day{ height:36px; display:flex; align-items:center; justify-content:center; padding:0; border:0; background:transparent; font-family:inherit; font-size:13px; font-weight:600; border-radius:9px; cursor:pointer; color:#2a2a33; transition:background .1s, color .1s; }
  .cal-day:hover{ background:#eef4fc; color:#1277e1; }
  .cal-sel{ background:#1277e1 !important; color:#fff !important; }
  .cal-blank{ height:36px; }
  .cal-nav{ width:30px; height:30px; display:flex; align-items:center; justify-content:center; border:1px solid #e4e7eb; background:#fff; border-radius:8px; cursor:pointer; color:#5a6672; font-size:18px; line-height:1; user-select:none; }
  .cal-nav:hover{ border-color:#1277e1; color:#1277e1; }
  @media (max-width:1075px){.g-state,.g-cc,.g-zip{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media (max-width:726px){.g-state,.g-cc,.g-zip{grid-template-columns:1fr;}}
  .cta-link:hover{ text-decoration:underline; color:#0c5cb8 !important; }
  .btn-primary{ transition:background .14s, box-shadow .14s, transform .14s; }
  .btn-primary:hover{ background:#0f63bd !important; transform:translateY(-1px); }
  .btn-outline{ transition:background .14s, color .14s, box-shadow .14s; }
  .btn-outline:hover{ background:#1277e1 !important; color:#fff !important; }
  .rpt-toggle{ transition:background .12s; }
  .rpt-toggle:hover{ background:#fafbfc !important; }
  .cta-btn-light{ transition:filter .14s, transform .14s; }
  .cta-btn-light:hover{ filter:brightness(.92); transform:translateY(-1px); }
  .hdark{ transition:filter .15s; }
  .hdark:hover{ filter:brightness(.84); }
  .hbtn{ transition:filter .15s, transform .15s; }
  .hbtn:hover{ filter:brightness(.92); transform:translateY(-1px); }






  .rg-cta{ transition:filter .15s, transform .15s; }
  .rg-cta:hover{ filter:brightness(.9); transform:translateY(-1px); }
  .rg-more{ transition:background .14s, color .14s, transform .14s; }
  .rg-more:hover{ background:var(--rg-acc) !important; color:#fff !important; transform:translateY(-1px); }



  .maplibregl-popup { z-index:5; }
  .maplibregl-popup-content { font-family:'Public Sans',system-ui,sans-serif; border-radius:16px; padding:20px 22px; box-shadow:0 10px 34px rgba(40,40,51,.22); }
  .report-popup .maplibregl-popup-content { border-radius:16px; padding:20px 22px; }
  .maplibregl-popup-close-button { font-size:18px; color:#9a9aa2; padding:2px 7px; }



  .faq-a a{ color:#1277e1; font-weight:600; text-decoration:none; }
  .faq-a a:hover{ text-decoration:underline; }



