/* Greene Core components. Colors and fonts follow Elementor Site Settings (Global Colors / Fonts). */
.gr-cov,.gr-statemap,.gr-faq{
  --gr-green:var(--e-global-color-primary,#1a6b33);--gr-black:var(--e-global-color-secondary,#0f1214);
  --gr-lime:var(--e-global-color-accent,#3cb55a);--gr-text:var(--e-global-color-text,#5e656a);
  --gr-ink:var(--e-global-color-ink,#15181a);--gr-concrete:var(--e-global-color-concrete,#ecebe6);--gr-line:var(--e-global-color-line,#d6d5cf);
  --gr-cond:var(--e-global-typography-primary-font-family,"Barlow Condensed"),Impact,sans-serif;
  color:var(--gr-text)}
.gr-cov *,.gr-statemap *,.gr-faq *{box-sizing:border-box;min-width:0}
.gr-btn{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--gr-cond);font-weight:700;font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;padding:1.05rem 1.9rem;background:var(--gr-lime);color:#0b1a10;border:0;cursor:pointer;transition:.2s;text-decoration:none;line-height:1.2}
.gr-btn:hover{background:var(--gr-black);color:#fff}
.gr-btn-dark{background:var(--gr-black);color:#fff}
.gr-btn-dark:hover{background:var(--gr-green);color:#fff}
/* coverage */
.gr-cov-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.gr-usmap svg{width:100%;height:auto;display:block;overflow:visible}
.gr-us-state{fill:var(--gr-green);stroke:var(--gr-concrete);stroke-width:1.2;stroke-linejoin:round;cursor:pointer;transition:fill .15s}
.gr-us-state:hover,.gr-us-state:focus{fill:var(--gr-lime);outline:none}
.gr-us-state.is-active{fill:var(--gr-black)}
.gr-us-label{font:700 15px var(--gr-cond);fill:#fff;text-anchor:middle;letter-spacing:.06em}
.gr-us-dot{fill:#fff}
.gr-us-dot.is-active{fill:var(--gr-lime)}
.gr-legend{display:flex;gap:1.8rem;flex-wrap:wrap;margin-top:1.1rem;font-family:var(--gr-cond);font-weight:700;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gr-ink)}
.gr-legend span{display:inline-flex;align-items:center;gap:.55rem}
.gr-legend i{width:18px;aspect-ratio:1;background:var(--gr-green);position:relative;display:inline-block}
.gr-legend i.dot::after{content:"";position:absolute;top:2px;right:2px;width:5px;aspect-ratio:1;background:#fff;border-radius:50%}
.gr-cov-panel{background:#fff;padding:clamp(1.6rem,3vw,2.4rem);border-top:6px solid var(--gr-lime)}
.gr-check{display:flex;gap:.5rem;margin:0 0 1.6rem;padding-bottom:1.6rem;border-bottom:1px solid var(--gr-line)}
.gr-check input{flex:1;min-width:0;font:inherit;padding:.95rem 1rem;border:1px solid var(--gr-line);background:var(--gr-concrete);color:var(--gr-ink);border-radius:0}
.gr-check .gr-btn{padding:.95rem 1.2rem}
.gr-kicker{font-family:var(--gr-cond);font-weight:700;font-size:1rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gr-green)}
.gr-state{font-family:var(--gr-cond);text-transform:uppercase;color:var(--gr-ink);line-height:.95;font-weight:800;font-size:clamp(2.2rem,3.4vw,3rem);margin:.4rem 0 .8rem}
.gr-sub{margin:0}
.gr-list{list-style:none;columns:2;column-gap:1.4rem;line-height:2;font-size:.95rem;margin:.4rem 0 0;padding:0}
.gr-more{font-size:.9rem;margin:.6rem 0 0;font-style:italic}
.gr-cta{margin:1.4rem 0 0;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.gr-cta a:not(.gr-btn){color:var(--gr-green);font-weight:600}
.gr-page{font-family:var(--gr-cond);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
/* state map */
.gr-statemap{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.gr-mapbox{background:#fff;border:1px solid var(--gr-line);padding:clamp(.8rem,2vw,1.6rem)}
.gr-mapbox svg{width:100%;height:auto;display:block}
.gr-st-shape{fill:var(--gr-concrete);stroke:var(--gr-green);stroke-width:1.5}
.gr-st-hq{fill:var(--gr-ink)}
.gr-pin{fill:var(--gr-green);stroke:#fff;stroke-width:1.5;cursor:pointer;transition:r .15s,fill .15s}
.gr-pin.on{fill:var(--gr-ink);stroke:var(--gr-lime);stroke-width:3;r:12px}
.gr-pin-label{font:700 26px Arial,sans-serif;fill:var(--gr-ink);paint-order:stroke;stroke:#fff;stroke-width:7px;stroke-linejoin:round;pointer-events:none}
.gr-map-note{font-size:.85rem;margin:.9rem 0 0}
.gr-citylist{background:#fff;border:1px solid var(--gr-line);padding:1.4rem 1.4rem 1rem}
.gr-citylist .gr-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.8rem}
.gr-citylist h3{font-family:var(--gr-cond);font-weight:800;text-transform:uppercase;font-size:1.5rem;color:var(--gr-ink);margin:0;line-height:1}
.gr-count{font-family:var(--gr-cond);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gr-green)}
.gr-citylist input{width:100%;font:inherit;padding:.8rem .9rem;border:1px solid var(--gr-line);background:var(--gr-concrete);color:var(--gr-ink);margin-bottom:.8rem;border-radius:0}
.gr-citylist ul{list-style:none;margin:0;padding:0;columns:2;column-gap:1rem;max-height:26rem;overflow:auto}
.gr-citylist li{break-inside:avoid}
.gr-citylist button{font:inherit;font-size:.93rem;background:none;border:0;padding:.35rem .4rem;width:100%;text-align:left;color:var(--gr-text);cursor:pointer;display:flex;align-items:center;gap:.5rem;border-radius:0}
.gr-citylist button::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gr-green);flex:0 0 auto}
.gr-citylist button:hover,.gr-citylist button.on{color:var(--gr-ink);background:var(--gr-concrete)}
.gr-citylist button.on::before{background:var(--gr-lime)}
.gr-list-foot{border-top:1px solid var(--gr-line);margin:.8rem 0 0;padding-top:.8rem;font-size:.92rem}
.gr-list-foot a{color:var(--gr-green);font-weight:700;text-decoration:none}
/* faq */
.gr-faq details{border-top:1px solid var(--gr-line);padding:1.3rem 0;margin:0}
.gr-faq details:last-child{border-bottom:1px solid var(--gr-line)}
.gr-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;font-family:var(--gr-cond);font-weight:700;font-size:1.25rem;line-height:1.65;text-transform:uppercase;color:var(--gr-ink)}
.gr-faq summary::-webkit-details-marker{display:none}
.gr-faq summary::after{content:"+";color:var(--gr-green);font-size:1.4rem;line-height:1}
.gr-faq details[open] summary::after{content:"\2212"}
.gr-faq details p{margin:.6rem 0 0}
@media (max-width:1024px){.gr-cov-grid,.gr-statemap{grid-template-columns:1fr}}
@media (max-width:767px){.gr-us-label{display:none}.gr-us-dot{r:9px}.gr-citylist ul{max-height:18rem}.gr-pin-label{font-size:36px;stroke-width:9px}}
