.bg-aurora{height:140vh}
.bg-mesh{z-index:0;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 58%,transparent 99%);mask-image:linear-gradient(to bottom,#000 58%,transparent 99%)}
.card-rows div{display:grid;grid-template-columns:104px 1fr;gap:4px 14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15.5px;align-items:baseline}
.card-rows dd{color:var(--gray);text-align:left}
.cta-row{gap:14px}
.map-box{background:#fff;transition:border-color .2s ease, box-shadow .2s ease}
.city{align-items:stretch;position:relative}
.city .thumb{position:relative;flex:0 0 196px;border-radius:14px;overflow:hidden;background:var(--chip)}
.city .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1);transition:transform .35s ease,filter .35s ease,opacity .35s ease}
.city:not(.is-link) .thumb img{opacity:.5}
.city.is-link:hover .thumb img{filter:none;transform:scale(1.05)}
.city .meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gray);margin:0 0 7px}
.city .meta .code{font-weight:800;letter-spacing:.1em;color:var(--blue-dark)}
.city .meta .status{margin-left:0}
@media (max-width:640px){.city{flex-direction:column}}
@media (max-width:640px){.city .thumb{flex:none;width:100%;height:150px}}
.city.soon .meta .code{color:var(--gray)}
.status.collecting{background:#fdf3e3;color:#8a5a00}
.also-serves .as-label{font-weight:600;font-size:15px;display:block;margin-bottom:7px;color:var(--char)}
.also-serves .as-row{display:flex;flex-wrap:wrap;gap:8px 18px}
.also-serves label{display:inline-flex;align-items:center;gap:7px;font-weight:500;margin:0}
.also-serves input{width:auto;padding:0}
.map-link{text-decoration:none;color:inherit}
.map-link:hover{opacity:1}
.map-title{color:var(--blue)}
.map-box:hover{border-color:var(--blue);box-shadow:0 10px 26px rgba(7,60,110,.10)}
.map-box:hover .map-title{color:var(--blue-dark)}
:root[data-theme="dark"] .wordmark img{content:url("echode-logo-light.png")}
:root[data-theme="dark"] .live-card{background:#131e28;border-color:#2b4356;box-shadow:0 24px 60px rgba(0,0,0,.5)}
:root[data-theme="dark"] .map-box{background:#131e28}
:root[data-theme="dark"] .city{background:#131e28}
:root[data-theme="dark"] .city.is-link:hover{box-shadow:0 10px 26px rgba(0,0,0,.45)}
:root[data-theme="dark"] .status.collecting{background:#3d2f10;color:#f2c169}
:root[data-theme="dark"] .steps{background:rgba(13,22,30,.85)}
:root[data-theme="dark"] .step{background:#131e28}
:root[data-theme="dark"] .fact-card{background:#1b2836}
:root[data-theme="dark"] form{background:#131e28}
:root[data-theme="dark"] #txgrad stop:first-child{stop-color:#1d3042}
:root[data-theme="dark"] #txgrad stop:last-child{stop-color:#101d29}
:root[data-theme="dark"] .map-box polygon[fill="#eef4f9"]{fill:#1d3042}
:root[data-theme="dark"] .map-box polygon[fill="#e6eff6"]{fill:#182a3c}
:root[data-theme="dark"] .map-box polygon[fill="#f4f8fb"]{fill:#22364c}
:root[data-theme="dark"] .map-box g[stroke="#cfe2f1"]{stroke:#3d6a94}
:root[data-theme="dark"] .map-box path[stroke="#0a74b8"]{stroke:#3aa5ec}
:root[data-theme="dark"] .map-box circle[fill="#7d97a8"]{fill:#8fa9bd}
:root[data-theme="dark"] .map-box circle[fill="#0a74b8"]{fill:#3aa5ec}
:root[data-theme="dark"] .map-box circle[stroke="#ffffff"]{stroke:#131e28}
:root[data-theme="dark"] .map-box text[fill="#2f4a5a"]{fill:#cfe3f2;stroke:#131e28}
:root[data-theme="dark"] .map-box text[fill="#075a8f"]{fill:#8ecbf7;stroke:#131e28}

/* About ECHO + DE diagram: light/dark swap follows the page theme */
.about-diagram{max-width:560px;margin:30px auto 0}
.about-diagram img{display:block;width:100%;height:auto}
.about-diagram img.about-diagram-dark{display:none}
:root[data-theme="dark"] .about-diagram-light{display:none}
:root[data-theme="dark"] .about-diagram-dark{display:block}

.about-lede{color:var(--gray);font-size:1.05rem;line-height:1.7;margin:16px 0 0}
.about-lede strong{color:var(--char)}
.about-cards{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin:2.6rem 0 0;padding:0}
.about-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.6rem;cursor:default}
.about-ic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--blue-soft);color:var(--blue-dark);margin-bottom:1rem}
.about-ic svg{width:26px;height:26px;display:block}
.about-card h3{font-size:1.08rem;font-weight:700;letter-spacing:-.01em;color:var(--char);margin:0 0 .4rem}
.about-card p{font-size:.95rem;color:var(--gray);line-height:1.6;margin:0}
.about-note{color:var(--gray);font-size:1.02rem;line-height:1.7;margin:2.6rem 0 0}
#about p.sign{color:var(--char);font-weight:600;margin:14px 0 0}
:root[data-theme="dark"] .about-card{background:#131e28}
@media (max-width:876px){.about-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.about-cards{grid-template-columns:1fr}}
.stat-n{font-weight:800;color:var(--blue-dark);font-size:1.1em;margin-right:2px}
