.decision-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid;border-radius:999px;padding:6px 9px;font-size:9.5px;font-weight:900;letter-spacing:.04em;white-space:nowrap}.decision-pill.compact{padding:5px 8px;font-size:9px}.decision-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.freshness{white-space:nowrap}.freshness-fresh{color:#4d7557}.freshness-aging{color:#80681e}.freshness-weak{color:#8b5b49}
.opportunity-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:start;padding:12px 0;border-bottom:1px solid #ddd8cc}.rank{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e7ece4;color:#536052;font-size:11px;font-weight:850;margin-top:2px}.opportunity-titleline{display:flex;align-items:flex-start;gap:8px}.opportunity-titleline>div{min-width:0}.region{display:block;font-size:9.5px;font-weight:850;text-transform:uppercase;letter-spacing:.075em;color:#858a82}.opportunity-row h3{font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.15;margin:2px 0 0;color:#29342b}.opportunity-titleline .decision-pill{margin-left:auto}.opportunity-reason{font-size:13px;line-height:1.4;color:#48534a;margin:6px 0 5px}.opportunity-meta{display:flex;flex-wrap:wrap;gap:5px;color:#747d73;font-size:10.5px;line-height:1.35}.opportunity-meta strong{color:#4d5b4f}.detail-link{align-self:center;display:inline-flex;align-items:center;gap:3px;text-decoration:none;font-size:10.5px;font-weight:800;color:#526554;padding:6px 0}
.map-section{margin:0 0 24px}.map-section .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:7px}.map-section .section-heading h2{font-family:Georgia,"Times New Roman",serif;margin:0;font-size:23px;color:#263329}.map-section .eyebrow{display:block;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#7c8679;margin-bottom:4px}.map-hint{font-size:11px;color:#778078;white-space:nowrap;display:flex;align-items:center;gap:4px}.section-intro{font-size:12.5px;line-height:1.45;color:#697269;margin:0 0 10px;max-width:720px}.map-frame{position:relative;height:auto;aspect-ratio:1000/760;border:1px solid #c7d1ca;border-radius:16px;overflow:hidden;background:#dbe8e5}.map-frame:after{content:"";position:absolute;inset:0;background:url('/maps/great-lakes-water.svg') center/100% 100% no-repeat;pointer-events:none;z-index:2}.census-map{display:block;width:100%;height:100%;background:#dbe8e5}.map-region-label{fill:#708178;font:700 18px Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:3px;opacity:.58;text-anchor:middle;pointer-events:none}.map-loading,.map-fallback{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;background:#e7eee9;color:#5f6d63;font-size:12px;text-align:center;padding:20px;z-index:3}.map-fallback strong{font-size:14px;color:#39463c}.map-fallback span{max-width:290px}.map-selected-panel{position:absolute;z-index:5;left:10px;right:10px;bottom:10px;background:rgba(255,253,248,.97);border:1px solid #cfd4cc;border-radius:12px;padding:12px 38px 11px 12px;box-shadow:0 7px 24px rgba(30,50,38,.17);backdrop-filter:blur(8px)}.map-panel-close{position:absolute;right:9px;top:9px;border:0;background:#ecefe9;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;color:#586359;cursor:pointer}.map-panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.map-panel-top strong{display:block;font:700 16px Georgia,"Times New Roman",serif}.map-selected-panel p{font-size:12.5px;line-height:1.4;margin:7px 0 6px;color:#465149}.map-panel-meta{display:flex;flex-wrap:wrap;gap:5px;font-size:10.5px;color:#6c766e;margin-bottom:5px}.map-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin:8px 2px 0;font-size:10px;color:#68736b}.map-legend span,.wave-legend span{display:flex;align-items:center;gap:4px}.map-legend i,.wave-legend i{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.wave-legend{display:flex;flex-wrap:wrap;gap:6px 10px;margin:8px 2px 0;padding-top:8px;border-top:1px dotted #d5d1c5;font-size:9.5px;color:#68736b}.wave-note{font-size:10.5px!important;font-weight:800;color:#526454!important}.map-source{font-size:9.5px;color:#8a8f88;margin:7px 2px 0}.map-source:after{content:" Great Lakes shoreline: Natural Earth, public domain."}.census-map g[role="button"]:focus-visible circle:nth-last-child(2){stroke:#173c25;stroke-width:6px}
.destination-detail{border-bottom:1px solid #d5d1c5;scroll-margin-top:12px}.destination-detail summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:12px 0;cursor:pointer}.destination-detail summary::-webkit-details-marker{display:none}.destination-detail summary strong{display:block;font:700 16px Georgia,"Times New Roman",serif}.detail-chevron{color:#707a72;transition:transform .16s ease}.destination-detail[open] .detail-chevron{transform:rotate(180deg)}.detail-body{padding:0 0 15px 0}.detail-answer{background:#fbfaf5;border:1px solid #ddd8cc;border-radius:11px;padding:11px 12px}.detail-answer .eyebrow{display:block;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#7c8679;margin-bottom:4px}.detail-answer h3{font:700 18px Georgia,"Times New Roman",serif;margin:0 0 5px}.detail-answer p{font-size:13px;line-height:1.45;color:#4e584f;margin:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ddd8cc;border:1px solid #ddd8cc;border-radius:10px;overflow:hidden;margin:9px 0 0}.detail-grid div{background:#fffdf8;padding:9px}.detail-grid dt{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#838980;font-weight:850}.detail-grid dd{font-size:12px;font-weight:750;color:#414c43;margin:3px 0 0}.weather-callout{display:flex;align-items:center;gap:7px;margin-top:9px;background:#fff0e7;border:1px solid #e7ae8d;color:#7b421e;border-radius:9px;padding:9px 10px;font-size:12px;font-weight:750}.zone-progress{margin-top:10px;border-top:1px solid #ded9cd;padding-top:10px}.zone-progress .eyebrow{display:block;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#7c8679;margin-bottom:4px}.zone-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;font-size:11.5px;border-bottom:1px dotted #ddd8cc}.zone-row:last-child{border-bottom:0}.zone-row strong{color:#4f5d50}.detail-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:10px;font-size:10.5px;color:#7b8279}.detail-footer a{display:inline-flex;align-items:center;gap:4px;font-weight:800;color:#4b624f;text-decoration:none}.data-empty{display:flex;gap:11px;border:1px solid #d5cec0;background:#fbf8f1;border-radius:14px;padding:16px;color:#5a625a}.data-empty strong{display:block}.data-empty p{margin:4px 0 0;font-size:13px;line-height:1.4}
@media(min-width:720px){.opportunity-row{grid-template-columns:32px minmax(0,1fr) 58px;padding:13px 2px}.map-selected-panel{left:16px;right:auto;width:420px;bottom:16px}.detail-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:430px){.opportunity-row{grid-template-columns:26px minmax(0,1fr)}.detail-link{grid-column:2;justify-self:start;padding-top:0}.opportunity-titleline{display:block}.opportunity-titleline .decision-pill{margin-top:6px}.map-selected-panel{padding-right:38px}.map-panel-top{display:block}.map-panel-top .decision-pill{margin-top:6px}.destination-detail summary{grid-template-columns:minmax(0,1fr) auto}.destination-detail summary .decision-pill{grid-column:1;justify-self:start}.detail-chevron{grid-column:2;grid-row:1/3}.detail-grid{grid-template-columns:1fr 1fr}.map-region-label{font-size:22px;letter-spacing:2px}.wave-legend{font-size:9px}}
@media(prefers-reduced-motion:reduce){.detail-chevron{transition:none}}
