
/* Critical UX rule: hidden overlays must never render on initial load. */
[hidden] { display: none !important; }
:root {
  --bg: #f4f6f8;
  --panel: #ffffff;
  --text: #182230;
  --muted: #697586;
  --line: #e5e9ef;
  --accent: #285c4d;
  --accent-soft: #eaf3ef;
  --review: #a46b16;
  --shadow: 0 10px 30px rgba(31, 42, 55, .10);
}

* { box-sizing: border-box; }
html, body, #app { margin: 0; height: 100%; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: var(--bg); }
button, input, select { font: inherit; }

.topbar {
  height: 64px; background: #17231f; color: #fff; display:flex; align-items:center; justify-content:space-between;
  padding: 0 18px; border-bottom: 1px solid rgba(255,255,255,.08);
}
.brand { display:flex; align-items:center; gap:11px; }
.brand-mark { width:36px; height:36px; border:1px solid rgba(255,255,255,.35); border-radius:10px; display:grid; place-items:center; font-weight:800; }
.brand-name { font-weight:750; letter-spacing:.1px; }
.brand-subtitle { font-size:11px; color:#aab8b2; margin-top:2px; }
.top-actions { display:flex; gap:8px; }
.ghost-btn,.primary-btn,.toolbar-btn,.mode-btn,.save-btn,.secondary-btn { border:0; cursor:pointer; text-decoration:none; }
.ghost-btn { color:#d6dedb; background:transparent; padding:9px 11px; }
.primary-btn { background:#e4efe9; color:#173d31; padding:9px 14px; border-radius:9px; font-weight:700; }

.toolbar {
  height: 58px; background:#fff; border-bottom:1px solid var(--line); display:flex; gap:9px; align-items:center; padding:9px 14px; position:relative; z-index:4;
}
.search-wrap { min-width:310px; flex:0 1 420px; position:relative; }
.search-icon { position:absolute; left:12px; top:9px; color:#84909d; }
.search-wrap input, .toolbar select { height:40px; border:1px solid var(--line); border-radius:9px; background:#fbfcfd; outline:none; }
.search-wrap input { width:100%; padding:0 12px 0 35px; }
.toolbar select { padding:0 30px 0 10px; color:#394657; }
.toolbar-btn { background:#f6f7f9; color:#536171; border-radius:9px; height:40px; padding:0 13px; }
.toolbar-btn.active { background:var(--accent-soft); color:var(--accent); font-weight:700; }
.map-mode { margin-left:auto; display:flex; background:#f1f3f5; border-radius:9px; padding:3px; }
.mode-btn { height:34px; padding:0 13px; background:transparent; color:#667383; border-radius:7px; }
.mode-btn.active { background:#fff; color:#17231f; box-shadow:0 1px 4px rgba(0,0,0,.10); font-weight:700; }

.workspace { height:calc(100% - 122px); display:grid; grid-template-columns: 320px minmax(380px,1fr) 350px; }
.left-panel,.right-panel { background:#fff; min-width:0; overflow:auto; }
.left-panel { border-right:1px solid var(--line); }
.right-panel { border-left:1px solid var(--line); padding:18px; }
.panel-head { display:flex; justify-content:space-between; align-items:flex-start; padding:18px 16px 12px; }
.eyebrow { color:#80909d; font-size:10px; letter-spacing:1.5px; font-weight:800; }
h1 { font-size:21px; margin:4px 0 0; }
h2 { margin:4px 0 6px; font-size:23px; letter-spacing:-.3px; }
h3 { margin:0 0 8px; font-size:14px; }
.count-pill { background:#edf1f3; color:#475462; padding:5px 9px; border-radius:999px; font-size:12px; font-weight:700; }

.market-status { margin:0 12px 12px; background:#f7f9fa; border:1px solid var(--line); padding:10px; border-radius:10px; display:flex; gap:9px; font-size:11px; color:var(--muted); }
.status-dot { width:8px; height:8px; border-radius:50%; background:#d1a34a; margin-top:3px; flex:0 0 auto; }
.market-status.loaded .status-dot { background:#3d8c70; }
.market-status.error .status-dot { background:#b45146; }

.list { border-top:1px solid var(--line); }
.project-row { padding:13px 15px; border-bottom:1px solid var(--line); cursor:pointer; transition:.12s ease; }
.project-row:hover,.project-row.active { background:#f5f9f7; }
.project-row-title { display:flex; align-items:center; gap:8px; font-weight:700; font-size:13px; }
.mini-dot { width:8px; height:8px; border-radius:50%; background:#39775f; }
.mini-dot.review { background:#b77a20; }
.project-row-meta { margin-top:5px; color:#7b8793; font-size:11px; display:flex; gap:6px; flex-wrap:wrap; }

.map-wrap { position:relative; overflow:hidden; }
#map { position:absolute; inset:0; }
.map-legend { position:absolute; z-index:2; bottom:14px; left:14px; background:rgba(255,255,255,.95); box-shadow:var(--shadow); border-radius:10px; padding:9px 11px; font-size:10px; display:flex; gap:13px; align-items:center; }
.legend-dot { width:8px; height:8px; border-radius:50%; display:inline-block; margin-right:5px; }
.legend-dot.verified { background:#285c4d; }
.legend-dot.review { background:#b77a20; }
.legend-area { display:inline-block; width:14px; height:9px; border:2px solid #477d6b; background:rgba(71,125,107,.13); margin-right:5px; }
.hover-district { position:absolute; z-index:5; pointer-events:none; background:#17231f; color:#fff; padding:6px 8px; border-radius:7px; font-size:11px; box-shadow:var(--shadow); transform:translate(12px,12px); }

.empty-detail { min-height:100%; display:grid; place-content:center; text-align:center; color:#7b8793; padding:30px; }
.empty-icon { font-size:35px; margin-bottom:8px; }
.empty-detail h2 { color:#4c5968; }
.empty-detail p { max-width:220px; font-size:13px; }
.detail-top { display:flex; justify-content:space-between; gap:12px; }
.detail-top p { color:var(--muted); font-size:12px; margin:0; }
.save-btn { width:40px; height:40px; border-radius:10px; background:#f5f7f8; font-size:20px; color:#5e6873; }
.save-btn.saved { background:#eaf3ef; color:#285c4d; }
.status-row { display:flex; gap:8px; align-items:flex-start; margin:17px 0; }
.status-badge { padding:6px 9px; border-radius:999px; background:#eaf3ef; color:#285c4d; font-size:10px; font-weight:800; }
.status-badge.warning{white-space:normal;line-height:1.35;border-radius:10px;max-width:72%;}
.confidence { color:#7c8996; font-size:11px; }
.summary-block { border:1px solid var(--line); border-radius:11px; padding:13px; background:#fafbfc; }
.summary-block p { font-size:12px; line-height:1.55; margin:0; color:#4b5865; }
.facts { margin:15px 0; }
.facts div { display:flex; justify-content:space-between; gap:20px; padding:9px 0; border-bottom:1px solid var(--line); font-size:11px; }
.facts dt { color:#7b8793; }
.facts dd { margin:0; text-align:right; color:#344250; font-weight:650; }
.detail-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:15px 0; }
.secondary-btn { display:grid; place-items:center; padding:9px; border:1px solid var(--line); border-radius:9px; color:#355244; font-size:11px; background:#fff; }
.secondary-btn.disabled { color:#adb5bd; pointer-events:none; background:#f6f7f8; }
.roadmap-note { margin-top:17px; padding:12px; border-left:3px solid #9bbcaf; background:#f3f8f6; font-size:11px; color:#52625d; line-height:1.5; }

.today-drawer { position:fixed; inset:0; z-index:20; background:rgba(12,20,17,.36); display:grid; place-items:center; }
.today-card { width:min(640px,calc(100% - 30px)); background:#fff; border-radius:17px; padding:24px; box-shadow:0 30px 80px rgba(0,0,0,.28); position:relative; }
.close-btn { position:absolute; right:16px; top:12px; border:0; background:transparent; font-size:25px; cursor:pointer; color:#7a8791; }
.today-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:20px 0; }
.today-grid div { border:1px solid var(--line); border-radius:12px; padding:14px; }
.today-grid strong { display:block; font-size:26px; }
.today-grid span { display:block; font-size:10px; color:#7d8995; margin-top:5px; }
.today-note { font-size:12px; color:#697582; line-height:1.55; margin:0; }

.maplibregl-popup-content { border-radius:10px; padding:10px 12px; box-shadow:var(--shadow); }
.map-popup strong { font-size:12px; }
.map-popup span { display:block; font-size:10px; color:#71808d; margin-top:3px; }

@media (max-width: 1050px) {
  .workspace { grid-template-columns:280px 1fr; }
  .right-panel { position:absolute; right:14px; top:135px; bottom:14px; width:330px; z-index:6; border:1px solid var(--line); border-radius:13px; box-shadow:var(--shadow); }
}
@media (max-width: 760px) {
  .toolbar select,.toolbar-btn { display:none; }
  .search-wrap { min-width:0; }
  .workspace { grid-template-columns:1fr; }
  .left-panel { display:none; }
  .right-panel { width:calc(100% - 24px); top:auto; left:12px; right:12px; height:40%; bottom:12px; }
  .today-grid { grid-template-columns:1fr 1fr; }
}

.project-row-facts { margin-top:7px; display:flex; flex-direction:column; gap:2px; color:#465565; font-size:10px; }
.today-event-list { margin:14px 0; display:grid; gap:8px; }
.today-event { border:1px solid var(--line); border-radius:10px; padding:10px 12px; cursor:pointer; display:grid; grid-template-columns:1fr auto; gap:2px 10px; }
.today-event strong { font-size:12px; }
.today-event span { font-size:10px; color:#285c4d; font-weight:700; }
.today-event small { grid-column:1 / -1; color:#89949f; font-size:9px; }
.no-events { border:1px dashed #ccd4da; background:#fafbfc; color:#667482; border-radius:11px; padding:14px; font-size:11px; line-height:1.5; }

.stage-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.review-mark{margin-left:auto;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#c4493f;color:#fff;font-weight:900;font-size:11px;}
.status-badge.warning{background:#fff0ee;color:#a3362f;border:1px solid #e9b7b2;}
.stage-legend{max-width:min(760px,calc(100% - 28px));flex-wrap:wrap;row-gap:7px;}
.stage-legend>div{white-space:nowrap;}
.legend-review{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#c4493f;color:#fff;font-size:10px;font-weight:900;margin-right:5px;}
.detail-actions{grid-template-columns:repeat(3,1fr);}

/* v1.7.1 readability hotfix */
.stage-legend .legend-dot{width:12px;height:12px;box-shadow:0 0 0 1px rgba(0,0,0,.16);}
.stage-legend>div{font-weight:700;}

/* v1.7.2 map overlay visibility */
.stage-legend{
  background:rgba(255,255,255,.97);
  border:1px solid rgba(23,106,93,.16);
}


/* v1.8.0 Leaflet stability rewrite */
.leaflet-container{
  width:100%;
  height:100%;
  font:inherit;
  background:#eef2f3;
}

.leaflet-control-zoom{
  border:1px solid rgba(44,61,70,.16)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.08)!important;
}
.leaflet-control-zoom a{
  color:#27343d!important;
  border-bottom:1px solid #e5e9ef!important;
}
.leaflet-control-attribution{
  font-size:9px!important;
  background:rgba(255,255,255,.82)!important;
}

.leaf-project-pin{
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--pin);
  border:3px solid #fff;
  box-shadow:0 1px 5px rgba(0,0,0,.30);
}

.leaf-review-pin{
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#D7191C;
  border:3px solid #fff;
  box-shadow:
    0 0 0 4px rgba(255,45,32,.24),
    0 2px 7px rgba(0,0,0,.30);
  color:#fff;
  font-weight:900;
  font-size:16px;
}
.leaf-review-pin span{
  transform:translateY(-.5px);
}

.leaf-cluster-pin{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#243B53;
  color:#fff;
  border:3px solid #fff;
  box-shadow:0 2px 8px rgba(0,0,0,.30);
  font-weight:800;
  font-size:12px;
}

.district-hover-tooltip{
  border:0!important;
  border-radius:7px!important;
  background:#153d34!important;
  color:#fff!important;
  box-shadow:0 5px 16px rgba(0,0,0,.18)!important;
  font-size:11px!important;
  font-weight:700!important;
  padding:6px 8px!important;
}
.district-hover-tooltip:before{
  border-top-color:#153d34!important;
}

/* Keep Leaflet overlay panes over the MapLibre basemap canvas. */
.leaflet-maplibre-gl{
  z-index:200!important;
}
.leaflet-overlay-pane{
  z-index:400!important;
}
.leaflet-marker-pane{
  z-index:600!important;
}
.leaflet-tooltip-pane{
  z-index:650!important;
}


/* v1.8.1 stable UI fix: keep the stage legend above all Leaflet panes. */
.map-legend,
.stage-legend{
  z-index: 1100 !important;
  pointer-events: none;
}

.stage-legend{
  left: 16px;
  bottom: 14px;
}


/* ================================================================
   v1.9.3 UX STRUCTURE — NORAKET
   Stable v1.8.1 Leaflet map engine is not changed.
   ================================================================ */

:root{
  --noraket:#244f43;
  --noraket-dark:#142c25;
  --noraket-soft:#e8f1ee;
  --noraket-gold:#d5aa55;
}

.topbar{height:68px;padding:0 18px;background:#14241f;}
.brand-button{
  border:0;background:transparent;color:inherit;cursor:pointer;padding:0;text-align:left;
}
.brand-mark{
  width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.30);
  position:relative;display:grid;place-items:center;font-weight:900;font-size:18px;
  background:rgba(255,255,255,.035);
}
.brand-mark i{
  position:absolute;width:7px;height:7px;border-radius:50%;
  right:5px;bottom:5px;background:var(--noraket-gold);box-shadow:0 0 0 2px #14241f;
}
.brand-name{font-size:18px;font-weight:820;letter-spacing:.1px;}
.brand-subtitle{font-size:11px;color:#adbbb5;}
.build-version{
  margin-left:7px;padding:2px 5px;border-radius:5px;background:rgba(255,255,255,.08);
  font-size:9px;color:#96aaa2;
}
.top-actions{align-items:center;}
.top-divider{height:22px;width:1px;background:rgba(255,255,255,.15);margin:0 3px;}
.login-btn,.signup-btn{
  border:0;cursor:pointer;border-radius:9px;height:36px;padding:0 13px;font-weight:700;
}
.login-btn{background:transparent;color:#d5dfda;}
.signup-btn{background:#eef5f2;color:#173d31;}
.signup-btn:hover{background:#fff;}
.login-btn:hover,.ghost-btn:hover{color:#fff;background:rgba(255,255,255,.06);border-radius:9px;}

.toolbar{height:58px;padding:9px 14px;z-index:1201;}
.filter-btn{
  height:40px;border:1px solid var(--line);background:#fff;border-radius:9px;
  padding:0 12px;cursor:pointer;color:#344250;font-weight:700;
  display:flex;align-items:center;gap:7px;
}
.filter-btn:hover,.filter-btn.active{background:var(--noraket-soft);color:var(--noraket);}
.filter-count{
  min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--noraket);
  color:#fff;display:inline-grid;place-items:center;font-size:10px;
}
.filters-popover{
  position:absolute;z-index:1600;top:51px;left:14px;width:min(660px,calc(100vw - 28px));
  background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 22px 60px rgba(26,39,34,.18);
  padding:17px;
}
.filters-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;}
.filters-head h3{font-size:17px;margin:3px 0 0;}
.icon-close{border:0;background:#f3f5f6;border-radius:8px;width:31px;height:31px;cursor:pointer;color:#6f7c88;font-size:18px;}
.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.filter-grid label{display:grid;gap:5px;font-size:10px;color:#71808b;font-weight:700;}
.filter-grid select,.filter-grid input{
  width:100%;height:39px;border:1px solid var(--line);border-radius:9px;background:#fbfcfd;
  padding:0 10px;color:#344250;outline:none;
}
.filter-grid select:focus,.filter-grid input:focus{border-color:#79a99a;box-shadow:0 0 0 3px rgba(50,111,92,.09);}
.check-row{margin-top:13px;display:flex;gap:8px;align-items:center;font-size:12px;color:#465565;}
.filters-footer{
  margin-top:14px;padding-top:12px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:18px;align-items:center;
  font-size:10px;color:#84909b;line-height:1.4;
}
.reset-filters-btn{
  white-space:nowrap;border:0;background:#eef3f1;color:#285c4d;border-radius:8px;padding:8px 10px;font-weight:750;cursor:pointer;
}

.workspace{height:calc(100% - 126px);grid-template-columns:360px minmax(390px,1fr) 350px;}
.panel-head{padding:18px 16px 13px;}
.scope-count{margin-top:6px;font-size:11px;color:#6c7a87;line-height:1.4;font-weight:600;}

.project-row{display:grid;grid-template-columns:92px 1fr;gap:11px;padding:11px 13px;min-height:94px;}
.project-thumb{
  width:92px;height:72px;border-radius:9px;overflow:hidden;background:#e7eeeb;position:relative;align-self:center;
}
.project-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.project-thumb:after{
  content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);border-radius:9px;pointer-events:none;
}
.project-card-copy{min-width:0;align-self:center;}
.project-row-title span.project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.project-row-title{font-size:12.5px;}
.project-row-meta{margin-top:4px;}
.project-row-facts{margin-top:6px;}
.project-row-facts .price{font-weight:750;color:#354a42;}

.scope-bar{
  position:absolute;z-index:1000;top:13px;left:14px;right:78px;
  display:flex;align-items:center;gap:7px;pointer-events:none;
}
.scope-home,.breadcrumb-btn,.coverage-chip{pointer-events:auto;}
.scope-home{
  width:34px;height:34px;border:1px solid rgba(39,62,54,.12);border-radius:9px;background:rgba(255,255,255,.96);
  box-shadow:0 4px 14px rgba(0,0,0,.10);cursor:pointer;color:#2b5246;font-size:17px;
}
.breadcrumbs{
  display:flex;align-items:center;min-height:34px;background:rgba(255,255,255,.96);
  border:1px solid rgba(39,62,54,.12);border-radius:9px;box-shadow:0 4px 14px rgba(0,0,0,.10);
  padding:0 7px;overflow:auto;max-width:min(650px,calc(100% - 210px));pointer-events:auto;
}
.breadcrumb-btn{
  border:0;background:transparent;color:#405249;cursor:pointer;padding:0 7px;height:32px;font-size:10px;font-weight:750;white-space:nowrap;
}
.breadcrumb-btn:hover{color:#0f6c58;background:#eef5f2;border-radius:7px;}
.breadcrumb-sep{color:#a0aaa5;font-size:12px;}
.coverage-chip{
  margin-left:auto;background:rgba(21,45,37,.92);color:#eaf1ee;border-radius:999px;
  padding:7px 9px;font-size:9px;font-weight:750;box-shadow:0 4px 14px rgba(0,0,0,.10);white-space:nowrap;
}

.stage-legend{pointer-events:auto !important;gap:5px !important;padding:7px !important;}
.legend-filter{
  border:0;background:transparent;border-radius:7px;padding:5px 7px;cursor:pointer;
  color:#4a5965;font-size:10px;font-weight:700;white-space:nowrap;
}
.legend-filter:hover{background:#f0f4f2;}
.legend-filter.active{background:#dfeee8;color:#174d3e;box-shadow:inset 0 0 0 1px #a8cabe;}
.legend-filter.review-active{background:#fff0ee;color:#a3362f;box-shadow:inset 0 0 0 1px #e8b3ae;}

.district-hover-tooltip{font-weight:750!important;}

.auth-drawer{
  position:fixed;inset:0;z-index:3000;background:rgba(12,20,17,.40);display:grid;place-items:center;
}
.auth-card{
  width:min(420px,calc(100% - 28px));background:#fff;border-radius:18px;padding:25px;
  position:relative;box-shadow:0 30px 90px rgba(0,0,0,.28);text-align:center;
}
.auth-mark{margin:0 auto 14px;color:#fff;background:#18372e;border-color:#18372e;}
.auth-card p{font-size:12px;line-height:1.6;color:#677581;margin:12px auto 18px;max-width:320px;}
.auth-demo-btn{width:100%;height:42px;cursor:default;}

@media (max-width:1180px){.workspace{grid-template-columns:330px 1fr;}}
@media (max-width:900px){.top-actions .ghost-btn{display:none;}.coverage-chip{display:none;}}
@media (max-width:760px){
  .signup-btn,.login-btn{padding:0 9px;font-size:11px;}
  .brand-subtitle{display:none;}
  .filter-grid{grid-template-columns:1fr;}
  .filters-footer{align-items:flex-start;flex-direction:column;}
  .project-row{grid-template-columns:82px 1fr;}
  .project-thumb{width:82px;height:66px;}
  .breadcrumbs{max-width:calc(100vw - 150px);}
}


/* v1.9.4 correction batch */
.scope-home{
  width:auto !important; min-width:78px; height:36px !important; padding:0 11px !important;
  display:flex !important; align-items:center; justify-content:center; gap:6px;
  font-size:11px !important; font-weight:820;
}
.scope-home svg{
  width:17px; height:17px; fill:none; stroke:#244f43; stroke-width:2.7;
  stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto;
}
.scope-home span{line-height:1}
#savedBtn.active{background:rgba(255,255,255,.14);color:#fff;border-radius:9px}
.saved-panel{height:100%;overflow:auto;background:#fff}
.saved-panel-head{
  position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line);
  padding:18px 16px 13px;
}
.saved-panel-head h2{margin:3px 0 4px;font-size:18px}
.saved-panel-head p{margin:0;font-size:10.5px;color:#74818c;line-height:1.45}
.saved-exit-btn{
  position:absolute;top:15px;right:14px;border:1px solid var(--line);background:#f8faf9;
  color:#3b5e53;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:780;cursor:pointer;
}
.saved-project-list{padding:8px}
.saved-card{
  display:grid;grid-template-columns:74px minmax(0,1fr) 34px;gap:9px;align-items:center;
  min-height:78px;padding:8px;margin-bottom:7px;border:1px solid #e5eae8;border-radius:11px;
  background:#fff;cursor:pointer;
}
.saved-card:hover{background:#f8fbfa;border-color:#cbdcd6}
.saved-card-thumb{width:74px;height:58px;overflow:hidden;border-radius:8px;background:#e7eeeb}
.saved-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.saved-card-copy{min-width:0}
.saved-card-title{
  font-size:11.5px;font-weight:800;color:#283a34;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.saved-card-meta{margin-top:4px;font-size:9.5px;color:#74818c}
.saved-card-price{margin-top:4px;font-size:10px;font-weight:750;color:#3f514b}
.saved-heart{
  width:31px;height:31px;border:0;border-radius:50%;background:#eef5f2;color:#b0273e;
  font-size:18px;cursor:pointer;
}
.saved-heart:hover{background:#ffecef}
.saved-empty{padding:30px 18px;text-align:center;color:#76838e}
.saved-empty strong{display:block;color:#344740;margin-bottom:6px}
.today-explainer{margin:4px 0 15px;color:#73808a;font-size:11px;line-height:1.5}
@media (max-width:900px){
  .scope-home{min-width:38px;width:38px !important;padding:0 !important}
  .scope-home span{display:none}
}


/* ================================================================
   v1.9.5 — Why Noraket + visual coverage
   ================================================================ */

.why-nav-btn{font-weight:760}
.why-nav-btn.active{
  background:rgba(255,255,255,.11);
  color:#fff;
  border-radius:9px;
}

.why-view{
  height:calc(100vh - 68px);
  overflow:auto;
  background:
    radial-gradient(circle at 86% 7%, rgba(73,128,110,.10), transparent 30%),
    #f7faf8;
  color:#25342f;
}
.why-view[hidden]{display:none !important}
.why-hero{
  min-height:520px;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:50px;
  align-items:center;
  max-width:1240px;
  margin:0 auto;
  padding:70px 48px 55px;
}
.why-kicker{
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
  color:#4f7568;
}
.why-hero h1{
  margin:12px 0 18px;
  font-size:clamp(38px,5vw,66px);
  line-height:1.02;
  letter-spacing:-.045em;
  color:#18392f;
}
.why-lead{
  max-width:760px;
  font-size:18px;
  line-height:1.65;
  color:#354b42;
}
.why-hero-actions{
  margin-top:28px;
  display:flex;
  align-items:center;
  gap:18px;
}
.why-hero-actions span{
  max-width:360px;
  color:#425a50;
  font-size:15px;
  line-height:1.55;
}
.why-primary-btn{
  border:0;
  border-radius:10px;
  background:#183f33;
  color:#fff;
  height:42px;
  padding:0 17px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(24,63,51,.18);
}
.why-primary-btn:hover{background:#0e3328}

.why-radar-card{
  height:360px;
  position:relative;
  display:grid;
  place-items:center;
  border-radius:28px;
  overflow:hidden;
  background:
    linear-gradient(rgba(255,255,255,.04),rgba(255,255,255,.01)),
    #18372e;
  box-shadow:0 30px 70px rgba(23,55,46,.20);
}
.radar-core{
  width:66px;height:66px;border-radius:20px;background:#f4f7f5;color:#15382d;
  display:grid;place-items:center;font-size:31px;font-weight:900;z-index:5;
  box-shadow:0 0 0 9px rgba(255,255,255,.07);
}
.radar-ring{
  position:absolute;border:1px solid rgba(222,238,232,.20);border-radius:50%;
}
.r1{width:130px;height:130px}.r2{width:220px;height:220px}.r3{width:315px;height:315px}
.radar-dot{
  position:absolute;width:10px;height:10px;border-radius:50%;background:#d5aa55;
  box-shadow:0 0 0 5px rgba(213,170,85,.12);
}
.d1{left:29%;top:29%}.d2{right:22%;top:45%}.d3{left:40%;bottom:18%}
.radar-caption{
  position:absolute;bottom:22px;color:#c9d8d3;font-size:11px;font-weight:700;letter-spacing:.05em;
}

.why-section{
  max-width:1240px;
  margin:0 auto;
  padding:74px 48px;
  border-top:1px solid #e3ebe7;
}
.why-section-head{max-width:820px;margin-bottom:30px}
.why-section-head h2,.why-context h2,.why-future h2{
  margin:9px 0 12px;
  color:#1b3e33;
  font-size:clamp(27px,3vw,42px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.why-section-head p,.why-context p,.why-future p{
  color:#354b42;
  font-size:18px;
  line-height:1.65;
}
.why-difference-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
}
.why-difference-grid article{
  background:#fff;
  border:1px solid #e1eae6;
  border-radius:14px;
  padding:22px;
  min-height:160px;
}
.why-difference-grid strong{
  color:#214a3d;
  font-size:18px;
}
.why-difference-grid p{
  margin:10px 0 0;
  color:#354b42;
  font-size:17px;
  line-height:1.6;
}

.why-engine-section{
  max-width:none;
  background:#142e26;
  color:#fff;
  padding-left:max(48px,calc((100vw - 1144px)/2));
  padding-right:max(48px,calc((100vw - 1144px)/2));
}
.why-engine-section .why-kicker{color:#90b2a6}
.why-engine-section .why-section-head h2{color:#f5f8f7}
.engine-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  gap:12px;
  align-items:stretch;
}
.engine-step{
  border:1px solid rgba(255,255,255,.12);
  border-radius:13px;
  padding:17px;
  background:rgba(255,255,255,.035);
}
.engine-step span{
  font-size:12px;
  letter-spacing:.12em;
  color:#b4d6c9;
  font-weight:850;
}
.engine-step strong{
  display:block;
  margin-top:10px;
  font-size:18px;
}
.engine-step p{
  margin:8px 0 0;
  color:#e2eee8;
  font-size:16px;
  line-height:1.6;
}
.engine-arrow{
  display:grid;
  place-items:center;
  color:#70968a;
  font-size:18px;
}
.engine-principle{
  margin-top:25px;
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:22px;
  display:grid;
  grid-template-columns:90px 1fr 1fr;
  gap:20px;
  align-items:start;
}
.engine-principle span{font-size:12px;color:#b4d6c9;text-transform:uppercase;letter-spacing:.12em}
.engine-principle strong{font-size:18px}
.engine-principle p{margin:0;color:#e2eee8;font-size:16px;line-height:1.6}

.confidence-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.confidence-card{
  padding:18px;
  border-radius:13px;
  border:1px solid #e0e9e5;
  background:#fff;
}
.confidence-card span{
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
}
.confidence-card p{
  margin:9px 0 0;
  color:#354b42;
  font-size:16px;
  line-height:1.6;
}
.confidence-card.verified span{color:#147249}
.confidence-card.high span{color:#28758a}
.confidence-card.unconfirmed span{color:#a46d13}
.confidence-card.signal span{color:#8c4ea2}

.never-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.never-grid div{
  background:#fff;
  border:1px solid #e2e9e6;
  border-radius:12px;
  padding:16px 18px 16px 42px;
  position:relative;
  color:#354b42;
  font-size:16px;
  line-height:1.6;
}
.never-grid div:before{
  content:'×';
  position:absolute;left:16px;top:14px;
  width:18px;height:18px;border-radius:50%;
  background:#faece9;color:#a43f32;
  display:grid;place-items:center;font-weight:900;
}

.why-context{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:50px;
  align-items:center;
}
.context-facts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.context-facts div{
  min-height:130px;
  border-radius:14px;
  background:#e8f1ed;
  padding:18px;
}
.context-facts strong{
  display:block;
  color:#183f33;
  font-size:28px;
}
.context-facts span{
  display:block;
  margin-top:8px;
  color:#354b42;
  font-size:15px;
  line-height:1.55;
}

.why-future{
  text-align:center;
  max-width:900px;
  border-top:0;
  padding-bottom:95px;
}
.why-future p{max-width:720px;margin:0 auto 25px}

/* Direct curated cover images fail over to the local image endpoint. */
.project-thumb img,.saved-card-thumb img{
  background:#e5ece9;
}

@media (max-width:1000px){
  .why-hero{grid-template-columns:1fr;padding:48px 28px}
  .why-radar-card{height:280px}
  .why-section{padding:55px 28px}
  .why-difference-grid{grid-template-columns:repeat(2,1fr)}
  .engine-flow{grid-template-columns:1fr}
  .engine-arrow{transform:rotate(90deg);height:10px}
  .engine-principle{grid-template-columns:1fr}
  .confidence-row{grid-template-columns:repeat(2,1fr)}
  .why-context{grid-template-columns:1fr}
}
@media (max-width:650px){
  .why-difference-grid,.confidence-row,.never-grid,.context-facts{grid-template-columns:1fr}
  .why-hero h1{font-size:38px}
  .why-hero-actions{align-items:flex-start;flex-direction:column}
}

/* Noraket v2.0 Project Intelligence */
.approved-brand{display:flex!important;align-items:center;gap:8px}.brand-wordmark{width:205px;height:48px;object-fit:contain;object-position:left center}.brand-build{align-self:flex-start;margin:8px 0 0!important;opacity:.7}.project-page-btn{width:100%;height:42px;border:0;border-radius:10px;background:#173f33;color:white;font-weight:800;cursor:pointer;margin:14px 0 12px}.project-view{position:fixed;inset:68px 0 0;z-index:2300;overflow:auto;background:#f7faf8;color:#273833}.project-view[hidden]{display:none!important}.pi-topbar{position:sticky;top:0;z-index:20;height:58px;display:grid;grid-template-columns:140px 1fr 110px;gap:12px;align-items:center;padding:0 20px;background:rgba(250,252,251,.97);border-bottom:1px solid #e1e9e5;backdrop-filter:blur(12px)}.pi-topbar button{height:36px;border:1px solid #d9e3de;border-radius:9px;background:#fff;color:#2f5549;font-weight:760;cursor:pointer}.pi-crumbs{display:flex;gap:6px;align-items:center;overflow:hidden;font-size:10px;color:#7d8985}.pi-crumbs button{height:auto;border:0;background:transparent;padding:3px;color:#557267}.pi-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);min-height:520px;background:#fff;border-bottom:1px solid #e2eae6}.pi-hero-img{position:relative;overflow:hidden;background:#dce5e1}.pi-hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pi-hero-img span{position:absolute;bottom:16px;left:18px;padding:7px 10px;border-radius:999px;background:rgba(16,36,29,.8);color:#f4f7f5;font-size:9px;font-weight:780}.pi-hero-copy{padding:55px clamp(34px,5vw,74px);display:flex;flex-direction:column;justify-content:center}.pi-kicker,.pi-head>span{color:#4e7568;font-size:9px;font-weight:900;letter-spacing:.13em}.pi-hero h1{margin:8px 0 6px;color:#173d31;font-size:clamp(36px,4vw,62px);line-height:1;letter-spacing:-.045em}.pi-hero-copy>p:first-of-type{color:#7b8984;font-size:12px}.pi-pills{display:flex;flex-wrap:wrap;gap:7px}.pi-pills span{padding:7px 9px;border-radius:999px;border:1px solid #dce5e1;background:#f4f8f6;color:#50675f;font-size:9px;font-weight:780}.pi-summary{font-size:13px!important;line-height:1.68;color:#61716b!important;margin-top:20px}.pi-hero-actions{display:flex;gap:9px;margin-top:22px}.pi-hero-actions button,.pi-hero-actions a,.pi-big button{height:40px;border-radius:9px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;text-decoration:none;cursor:pointer}.pi-hero-actions button,.pi-big button{border:0;background:#173f33;color:#fff}.pi-hero-actions a{border:1px solid #d7e1dd;background:#fff;color:#2c5548}.pi-nav{position:sticky;top:58px;z-index:18;display:flex;justify-content:center;gap:5px;padding:7px 18px;background:rgba(255,255,255,.96);border-bottom:1px solid #e3ebe7;overflow:auto}.pi-nav a{padding:8px 10px;border-radius:8px;color:#64756f;text-decoration:none;font-size:10px;font-weight:760;white-space:nowrap}.pi-nav a:hover{background:#edf4f1;color:#214f40}.pi-section{max-width:1180px;margin:auto;padding:66px 40px;scroll-margin-top:116px}.pi-tint{max-width:none;padding-left:max(40px,calc((100vw - 1100px)/2));padding-right:max(40px,calc((100vw - 1100px)/2));background:#edf4f1;border-block:1px solid #e0e9e5}.pi-head{max-width:800px;margin-bottom:27px}.pi-head h2{margin:8px 0 10px;color:#1c4035;font-size:clamp(27px,3vw,40px);line-height:1.08;letter-spacing:-.035em}.pi-head p{margin:0;color:#74827d;font-size:12px;line-height:1.65}.pi-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.pi-facts>div,.pi-cols>article,.pi-big{border:1px solid #e1e9e5;border-radius:14px;background:#fff;padding:20px}.pi-facts>div{min-height:135px}.pi-facts span,.pi-big>span{display:block;color:#7c8984;font-size:9px;font-weight:780;text-transform:uppercase;letter-spacing:.08em}.pi-facts strong,.pi-big strong{display:block;margin-top:10px;color:#253d35;font-size:18px;line-height:1.2}.pi-facts small{display:block;margin-top:7px;color:#8d9894;font-size:9px}.pi-cols{display:grid;grid-template-columns:1fr 1fr;gap:13px}.pi-cols article h3,.pi-cols h3{margin:0 0 12px;color:#29493f;font-size:14px}.pi-cols article p,.pi-cols p{color:#6c7b76;font-size:11.5px;line-height:1.65}.pi-cols dl{margin:0}.pi-cols dl>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #edf1ef;font-size:10px}.pi-cols dt{color:#83908b}.pi-cols dd{margin:0;color:#38554b;text-align:right;font-weight:700}.pi-warning{margin-top:12px;padding:11px;background:#fff0ec;border:1px solid #f1c7bd;color:#8f3c31;border-radius:9px;font-size:10px}.pi-big{min-height:175px}.pi-big strong{font-size:25px;color:#1b4336}.pi-big p{font-size:11px}.pi-big a{color:#2c6754;font-size:10px;font-weight:750}.pi-empty{margin-top:13px;border:1px dashed #cddbd5;border-radius:11px;padding:15px;color:#73817c;font-size:10.5px;background:rgba(255,255,255,.55);line-height:1.55}.pi-life{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:22px 0}.pi-life div{position:relative;padding-top:25px;color:#87938f;font-size:9px;text-align:center}.pi-life div:before{content:'';position:absolute;top:5px;left:50%;width:15px;height:15px;border-radius:50%;border:3px solid #d1dcd7;background:#f9fbfa;transform:translateX(-50%)}.pi-life div.active{color:#245744;font-weight:800}.pi-life div.active:before{background:#58b685;border-color:#58b685;box-shadow:0 0 0 5px rgba(88,182,133,.12)}.pi-stage-large{font-size:20px;color:#2f604f}.pi-list{display:grid;gap:8px}.pi-list article{border:1px solid #e0e9e5;border-radius:11px;background:#fff;padding:14px}.pi-list article header{display:flex;justify-content:space-between;gap:10px}.pi-list strong{font-size:11px;color:#345249}.pi-list small{font-size:9px;color:#8b9692}.pi-list p{margin:7px 0 9px;color:#77847f;font-size:10px}.pi-list a{color:#2b6a56;font-size:9.5px;font-weight:760;text-decoration:none}.pi-related{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pi-related article{border:1px solid #e1e9e5;border-radius:13px;overflow:hidden;background:#fff;cursor:pointer}.pi-related img{width:100%;height:145px;object-fit:cover;background:#e3ebe7}.pi-related div{padding:13px}.pi-related strong{display:block;color:#2e493f;font-size:12px}.pi-related span{display:block;margin-top:5px;color:#7f8b86;font-size:9.5px}@media(max-width:1000px){.pi-hero{grid-template-columns:1fr}.pi-hero-img{min-height:370px}.pi-facts{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.brand-wordmark{width:155px}.brand-build{display:none}.pi-topbar{grid-template-columns:92px 1fr 82px;padding:0 8px}.pi-crumbs{display:none}.pi-section{padding:46px 20px}.pi-tint{padding-inline:20px}.pi-facts,.pi-cols,.pi-related{grid-template-columns:1fr}.pi-hero-img{min-height:280px}.pi-hero h1{font-size:38px}.pi-life{grid-template-columns:repeat(3,1fr)}}


/* ================================================================
   v2.0.1 correction batch
   Approved brand colors: #1d272d / #2bb043
   ================================================================ */

:root{
  --noraket-text:#1d272d;
  --noraket-green:#2bb043;
}

/* Approved dark logo assets need a light header; assets themselves are not recolored. */
.topbar{
  background:#f7faf8 !important;
  border-bottom:1px solid #dfe7e3;
}
.approved-brand{
  display:flex !important;
  align-items:center;
  gap:10px;
  height:100%;
}
.brand-icon-home,.brand-wordmark-home{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
}
.brand-icon-home{
  width:49px;
  height:49px;
  display:grid;
  place-items:center;
  border:1px solid #cfdad5;
  border-radius:13px;
}
.brand-icon-home:hover,.brand-wordmark-home:hover{
  background:#edf3f0;
}
.brand-icon-home img{
  width:34px;
  height:36px;
  display:block;
  object-fit:contain;
}
.brand-wordmark-home{
  height:54px;
  display:flex;
  align-items:center;
  border-radius:9px;
  padding:2px 4px;
}
.brand-wordmark-exact{
  width:215px;
  height:54px;
  display:block;
  object-fit:contain;
  object-position:left center;
}
.brand-build{
  margin:0 !important;
  align-self:center !important;
  background:#e7eeeb !important;
  color:#61716b !important;
}
.topbar .ghost-btn,.topbar .login-btn{
  color:#40524b !important;
}
.topbar .ghost-btn:hover,.topbar .login-btn:hover{
  color:#1d272d !important;
  background:#e9f0ed !important;
}
.topbar .signup-btn{
  background:#1d272d !important;
  color:#fff !important;
}
.topbar .signup-btn:hover{background:#10171a !important}
.top-divider{background:#d5dfda !important}

/* Lifecycle: previous milestones clearly reached, current = Noraket green. */
.pi-life-note{
  margin:0 0 10px;
  color:#74827d;
  font-size:10px;
  line-height:1.5;
}
.pi-life div.passed{
  color:#557467;
  font-weight:720;
}
.pi-life div.passed:before{
  background:#bfe5ca;
  border-color:#8fd09f;
  box-shadow:0 0 0 4px rgba(43,176,67,.05);
}
.pi-life div.active{
  color:#173d31;
  font-weight:850;
}
.pi-life div.active:before{
  background:#2bb043 !important;
  border-color:#2bb043 !important;
  box-shadow:0 0 0 6px rgba(43,176,67,.13) !important;
}
.pi-life div.passed:after,
.pi-life div.active:after{
  content:'';
  position:absolute;
  top:13px;
  left:calc(50% + 10px);
  width:calc(50% + 50% - 20px);
  height:2px;
  background:#9bd2aa;
  z-index:-1;
}
.pi-life div:last-child:after{display:none}

@media(max-width:720px){
  .brand-wordmark-exact{width:150px}
  .brand-icon-home{width:42px;height:42px}
}


/* ================================================================
   v2.0.2 URGENT BRAND HOTFIX
   - restore noble dark header
   - PNG-only approved logo assets
   - smaller, restrained brand scale
   ================================================================ */

.topbar{
  background:#14241f !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  height:68px !important;
}

.approved-brand{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  height:100% !important;
}

/* Clickable approved N: compact, close to the earlier UX proportions. */
.brand-icon-home{
  width:39px !important;
  height:39px !important;
  padding:5px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:10px !important;
  background:#f4f7f5 !important;
  display:grid !important;
  place-items:center !important;
  cursor:pointer !important;
}
.brand-icon-home:hover{
  background:#ffffff !important;
  border-color:rgba(255,255,255,.45) !important;
}
.brand-icon-home img{
  width:27px !important;
  height:27px !important;
  object-fit:contain !important;
  display:block !important;
}

/* Compact approved wordmark + tagline.
   The small light plate exists only because the approved PNG text is dark. */
.brand-wordmark-home{
  height:45px !important;
  padding:3px 8px !important;
  border:0 !important;
  border-radius:8px !important;
  background:#f4f7f5 !important;
  display:flex !important;
  align-items:center !important;
  cursor:pointer !important;
}
.brand-wordmark-home:hover{
  background:#ffffff !important;
}
.brand-wordmark-png{
  width:151px !important;
  height:39px !important;
  object-fit:contain !important;
  object-position:left center !important;
  display:block !important;
}

/* Version is deliberately quiet. */
.brand-build{
  margin-left:2px !important;
  padding:3px 6px !important;
  border-radius:6px !important;
  background:rgba(255,255,255,.07) !important;
  color:#91a49d !important;
  font-size:9px !important;
  align-self:center !important;
}

/* Restore the original dark-header navigation treatment. */
.topbar .ghost-btn,
.topbar .login-btn{
  color:#d5dfda !important;
}
.topbar .ghost-btn:hover,
.topbar .login-btn:hover{
  color:#ffffff !important;
  background:rgba(255,255,255,.06) !important;
}
.topbar .signup-btn{
  background:#eef5f2 !important;
  color:#173d31 !important;
}
.topbar .signup-btn:hover{
  background:#ffffff !important;
}
.top-divider{
  background:rgba(255,255,255,.15) !important;
}

@media(max-width:760px){
  .brand-icon-home{
    width:36px !important;
    height:36px !important;
    padding:5px !important;
  }
  .brand-icon-home img{
    width:24px !important;
    height:24px !important;
  }
  .brand-wordmark-home{
    height:41px !important;
    padding:3px 6px !important;
  }
  .brand-wordmark-png{
    width:132px !important;
    height:35px !important;
  }
}

/* ================================================================
   v2.0.4 HEADER + RADAR FINAL
   - remove separate header N
   - shorten logo plate and center approved wordmark
   - place approved N icon clearly in radar center
   ================================================================ */

.compact-brand-home{
  position:relative !important;
  width:150px !important;
  height:45px !important;
  padding:3px !important;
  border:0 !important;
  border-radius:8px !important;
  background:#f4f7f5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  cursor:pointer !important;
}
.brand-trademark{
  position:absolute;
  top:2px;
  left:115px;
  right:auto;
  color:#1d272d;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:30px;
  font-weight:760;
  line-height:1;
}
.noraket-trademark{
  display:inline-block;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  vertical-align:baseline;
}
.compact-brand-home:hover{
  background:#ffffff !important;
}
.compact-brand-home .brand-wordmark-png{
  width:122px !important;
  height:38px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}

.brand-icon-home{
  display:none !important;
}

.radar-core{
  width:82px !important;
  height:82px !important;
  padding:10px !important;
  border-radius:22px !important;
  background:#f4f7f5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:5 !important;
  overflow:hidden !important;
  box-shadow:0 0 0 10px rgba(255,255,255,.06), 0 10px 28px rgba(0,0,0,.16) !important;
}
.radar-brand-icon{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
}

@media(max-width:760px){
  .compact-brand-home{
    width:130px !important;
    height:42px !important;
    padding:3px 5px !important;
  }
  .compact-brand-home .brand-wordmark-png{
    width:116px !important;
    height:35px !important;
  }
  .radar-core{
    width:76px !important;
    height:76px !important;
    padding:9px !important;
  }
}


/* v2.0.6 fresh-port release: functional fixes unchanged, fresh asset URLs enforced. */

/* ================================================================
   v2.0.8 PROJECT IMAGE QA + ADAPTIVE HERO PLACEMENT
   Preserve the complete project visual when cover-cropping would
   remove more than ~6% of the source composition.
   ================================================================ */
.pi-hero-img{
  background:#e9efec !important;
}
.pi-hero-img img.hero-cover{
  object-fit:cover !important;
  object-position:center center !important;
}
.pi-hero-img img.hero-contain{
  object-fit:contain !important;
  object-position:center center !important;
  background:#e9efec !important;
}


/* ================================================================
   v2.1.0 — Armenia focus + contact
   ================================================================ */
.contact-view{position:fixed;inset:68px 0 0;overflow:auto;background:#f6f9f7;z-index:2200;}
.contact-shell{max-width:1100px;margin:0 auto;padding:88px 48px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:70px;align-items:start;}
.contact-copy h1{font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.045em;color:#173d31;margin:14px 0 20px;}
.contact-copy p{font-size:15px;line-height:1.75;color:#6b7b75;max-width:520px;}
.contact-note{padding:14px 16px;border-left:3px solid #2bb043;background:#edf5f0;border-radius:0 9px 9px 0;font-size:12px!important;}
.contact-card{background:#fff;border:1px solid #dde7e2;border-radius:18px;padding:28px;box-shadow:0 18px 50px rgba(22,55,45,.08);display:grid;gap:18px;}
.contact-card label{display:grid;gap:7px}.contact-card label span{font-size:11px;font-weight:800;color:#456258;letter-spacing:.03em;}
.contact-card input,.contact-card textarea{width:100%;border:1px solid #d9e4df;border-radius:10px;background:#fbfdfc;padding:12px 13px;outline:none;color:#243d34;font:inherit;}
.contact-card textarea{resize:vertical;min-height:180px}.contact-card input:focus,.contact-card textarea:focus{border-color:#6db685;box-shadow:0 0 0 3px rgba(43,176,67,.09);}
.contact-card .why-primary-btn{width:max-content;max-width:100%;height:auto;min-height:42px;padding:10px 22px;display:inline-flex;align-items:center;justify-content:center;white-space:normal;overflow-wrap:anywhere;line-height:1.3;text-align:center}.contact-card .why-primary-btn:disabled{opacity:.55;cursor:wait}.contact-status{min-height:20px;color:#60766e;font-size:12px;line-height:1.5;}
@media(max-width:800px){.contact-shell{grid-template-columns:1fr;padding:48px 24px;gap:32px}.contact-card{padding:20px}.top-actions{gap:3px}.topbar .ghost-btn{padding-inline:7px}}


/* ================================================================
   v2.1.1 — Yerevan normalization, Saved auto-fit, homepage ad slots
   ================================================================ */
.promo-detail{
  min-height:0 !important;
  height:100%;
  display:block !important;
  padding:0 !important;
  overflow:auto;
  background:#f7faf8;
}
.promo-detail[hidden]{display:none !important;}
.promo-stack{display:grid;gap:12px;padding:0 2px 2px;}
.promo-card{
  min-height:210px;
  border:1px solid #dfe8e4;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  cursor:pointer;
  box-shadow:0 7px 22px rgba(25,55,45,.06);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.promo-card:hover{transform:translateY(-1px);border-color:#bfd2ca;box-shadow:0 10px 28px rgba(25,55,45,.10);}
.promo-image{height:135px;position:relative;overflow:hidden;background:#e7eeeb;}
.promo-image img{width:100%;height:100%;display:block;object-fit:cover;}
.promo-image span{
  position:absolute;left:9px;top:9px;padding:5px 7px;border-radius:999px;
  background:rgba(20,36,31,.84);color:#fff;font-size:8px;font-weight:850;letter-spacing:.08em;
}
.promo-copy{padding:12px 13px 13px;text-align:left;}
.promo-copy strong{display:block;color:#203d34;font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.promo-copy small{display:block;margin-top:5px;color:#77857f;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.promo-copy p{margin:7px 0 0;color:#355448;font-size:10.5px;font-weight:760;}
@media(max-width:1050px){.promo-card{min-height:190px}.promo-image{height:120px}}

/* ================================================================
   v2.3.2 — Trilingual interface
   ================================================================ */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.top-actions{align-items:center;min-width:0;}
.language-control{
  height:38px;
  display:flex;
  align-items:center;
  padding:0 8px 0 11px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:9px;
  background:rgba(255,255,255,.06);
  color:#eef5f2;
  flex:0 0 auto;
}
.language-control:focus-within{
  border-color:rgba(43,176,67,.8);
  box-shadow:0 0 0 3px rgba(43,176,67,.14);
}
.language-control select{
  min-width:82px;
  height:34px;
  border:0;
  outline:0;
  background:transparent;
  color:#f5f8f6;
  cursor:pointer;
  font-size:12px;
  font-weight:760;
}
.language-control option{background:#14241f;color:#fff;}
html[lang="hy"] body,
html[lang="ru"] body{font-family:Inter,"Noto Sans Armenian","Segoe UI",Arial,sans-serif;}

@media(max-width:900px){
  .top-actions .login-btn,.top-actions .signup-btn,.top-divider{display:none;}
  .language-control select{min-width:76px;}
}
@media(max-width:560px){
  .topbar{padding-inline:10px!important;}
  .brand-build{display:none!important;}
  .language-control{padding-inline:8px;}
  .language-control select{min-width:69px;font-size:11px;}
}

/* ================================================================
   v2.4.2 — advertising layout and numbered demo placements
   ================================================================ */
.topbar>.brand,
.topbar>.top-actions{flex:0 0 auto;}
.header-ad-slot,
.toolbar-ad-slot{
  min-width:0;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.header-ad-slot{width:460px;margin:0 28px;}
.toolbar-ad-slot{width:460px;margin:0 22px;}
.ad-banner{
  --ad-photo-width:clamp(86px,24%,112px);
  width:100%;
  height:44px;
  position:relative;
  display:block;
  padding:0;
  overflow:hidden;
  border-radius:10px;
  cursor:pointer;
  text-align:left;
}
.ad-banner img{
  position:absolute;
  inset:0 auto 0 0;
  width:var(--ad-photo-width);
  height:100%;
  display:block;
  object-fit:cover;
}
.ad-banner-copy{
  position:absolute;
  inset:0 0 0 var(--ad-photo-width);
  display:block;
  min-width:0;
  min-height:0;
  padding:0;
  overflow:hidden;
}
.ad-banner-label{
  position:absolute;
  z-index:1;
  top:3px;
  right:6px;
  max-width:46%;
  padding:2px 5px;
  border-radius:999px;
  overflow:hidden;
  font-size:8px;
  line-height:1;
  font-weight:850;
  letter-spacing:.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ad-banner-copy strong{
  display:block;
  position:absolute;
  top:5px;
  left:10px;
  right:47%;
  margin:0;
  padding:0;
  overflow:hidden;
  color:inherit;
  font-size:13px;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ad-banner-meta{
  display:block;
  position:absolute;
  left:10px;
  right:8px;
  bottom:5px;
  margin:0;
  padding:0;
  overflow:hidden;
  color:inherit;
  opacity:.88;
  font-size:11px;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.header-ad-slot .ad-banner{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.07);
  color:#f3f7f5;
}
.header-ad-slot .ad-banner-label{background:rgba(5,28,22,.82);color:#fff;}
.header-ad-slot .ad-banner:hover{border-color:rgba(43,176,67,.7);background:rgba(255,255,255,.11);}
.toolbar-ad-slot .ad-banner{
  height:40px;
  border:1px solid #dce6e1;
  background:#f6faf8;
  color:#28463c;
}
.toolbar-ad-slot .ad-banner-copy strong{top:4px;}
.toolbar-ad-slot .ad-banner-meta{bottom:4px;}
.toolbar-ad-slot .ad-banner-label{background:rgba(24,58,48,.9);color:#fff;}
.toolbar-ad-slot .ad-banner:hover{border-color:#9fc9b2;background:#edf6f1;}

.promo-detail{overflow-y:auto!important;overflow-x:hidden!important;}
.promo-stack{
  height:100%;
  min-height:0;
  grid-auto-rows:calc((100% - 24px)/3);
  align-content:start;
}
.promo-card{
  min-height:0!important;
  height:auto;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
}
.promo-image{height:auto!important;min-height:0;}
.promo-image span{font-size:9px;letter-spacing:.025em;}
.promo-copy{padding:9px 12px 10px;}
.promo-copy small{margin-top:4px;}
.promo-copy p{margin-top:5px;}

@media(max-width:1350px){
  .top-actions #contactBtn,.top-actions #loginBtn{display:none;}
}
@media(max-width:1450px) and (min-width:1301px){
  .topbar{padding-inline:10px;}
  .header-ad-slot{width:clamp(340px,calc(100vw - 1023px),430px);margin-inline:12px;}
  .top-actions{gap:5px;}
}
@media(max-width:1050px){
  .top-actions #savedBtn{display:none;}
}
/* Keep both fixed-size banners visible at normal desktop widths, including
   high-DPI displays and browser zoom. Hide them only when the layout is
   genuinely too narrow to preserve their full dimensions. */
@media(max-width:1300px){
  .header-ad-slot{display:none;}
  .toolbar-ad-slot{display:none;}
}

/* v2.4.3 — review markers stay below regular markers and clusters. */
.leaflet-review-project-pane{
  z-index:575!important;
}

/* ================================================================
   v2.8.4 — Desktop banner visibility regression fix
   ================================================================ */
.platform-activity-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  height:40px;
  margin-left:auto;
  padding:0 12px;
  border:1px solid #dce6e1;
  border-radius:9px;
  background:#f6faf8;
  color:#28463c;
  cursor:pointer;
  font-weight:760;
  white-space:nowrap;
}
.platform-activity-btn:hover{
  border-color:#9fc9b2;
  background:#edf6f1;
}
.advertise-nav-btn+.map-mode{margin-left:0;}
.advertise-nav-btn{height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid #cddbd5;background:#fff;color:#143f34;border-radius:10px;padding:0 15px;font:800 14px/1 inherit;cursor:pointer}
.advertise-nav-btn:hover{background:#f2f8f5;border-color:#90b7a8}
.advertise-label-short{display:none}
.platform-activity-btn:focus-visible,
.stats-close:focus-visible{
  outline:3px solid rgba(43,176,67,.38);
  outline-offset:2px;
}
.activity-pulse{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#2bb043;
  box-shadow:0 0 0 4px rgba(43,176,67,.13);
  flex:0 0 auto;
}
.activity-label-short{display:none;}

.stats-modal{
  position:fixed;
  inset:0;
  z-index:3200;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(9,22,17,.52);
  backdrop-filter:blur(5px);
}
.stats-dialog{
  position:relative;
  width:min(640px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  padding:28px;
  border:1px solid #dce7e2;
  border-radius:20px;
  background:#fbfdfc;
  box-shadow:0 30px 90px rgba(0,0,0,.30);
  color:#1d272d;
}
.stats-dialog:focus{outline:none;}
.stats-close{
  position:absolute;
  top:15px;
  right:15px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid #e0e8e4;
  border-radius:10px;
  background:#fff;
  color:#53645e;
  cursor:pointer;
  font-size:22px;
  line-height:1;
}
.stats-close:hover{background:#eef5f2;color:#173d31;}
.stats-kicker{
  width:max-content;
  margin-bottom:9px;
  padding:5px 8px;
  border-radius:999px;
  background:#e8f5eb;
  color:#207b37;
  font-size:11px;
  font-weight:850;
  letter-spacing:.08em;
}
.stats-dialog h2{
  margin:0;
  padding-right:48px;
  color:#173d31;
  font-size:30px;
  letter-spacing:-.035em;
}
.stats-description{
  margin:8px 0 21px;
  color:#65756f;
  font-size:15px;
  line-height:1.55;
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}
.stats-metric{
  min-height:116px;
  padding:17px;
  border:1px solid #e0e9e5;
  border-radius:14px;
  background:#fff;
}
.stats-metric strong{
  display:block;
  color:#183d31;
  font-size:29px;
  line-height:1;
  letter-spacing:-.035em;
}
.stats-metric span{
  display:block;
  margin-top:10px;
  color:#50615b;
  font-size:14px;
  line-height:1.35;
}
.advertise-view{height:calc(100vh - 78px);overflow:auto;background:linear-gradient(145deg,#f8fbf9,#eef5f1);color:#123d32}
.advertise-shell{max-width:1320px;margin:0 auto;padding:64px 54px 132px}
.advertise-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px;align-items:end;padding-bottom:42px;border-bottom:1px solid #d6e2dd}
.advertise-hero h1{font-size:clamp(38px,4.2vw,68px);line-height:1.02;max-width:920px;margin:14px 0 18px;letter-spacing:-.035em}
.advertise-hero p,.advertise-section-head p,.advertise-report p{font-size:18px;line-height:1.65;color:#60736d;max-width:850px;margin:0}
.advertise-hero-actions{display:flex;flex-direction:column;gap:12px;min-width:220px}.advertise-back-btn{text-align:center;cursor:pointer}
.advertise-section-head{padding:54px 0 24px}.advertise-section-head h2,.advertise-report h2{font-size:34px;margin:10px 0 12px}
.placement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.placement-card{background:#fff;border:1px solid #d9e4df;border-radius:18px;padding:16px;box-shadow:0 12px 30px rgba(18,61,50,.07)}
.placement-card.featured{border-color:#a8cbbb;background:#f5faf7}.placement-card h3{font-size:20px;margin:17px 0 7px}.placement-card p{color:#6e7f79;min-height:44px;margin:0 0 14px;line-height:1.45}.placement-card strong{font-size:21px;color:#0d5b43}
.banner-placement-card{grid-column:1/-1}
.header-placement-preview{min-height:116px;border-radius:12px;padding:18px 20px;display:grid;grid-template-columns:minmax(145px,.8fr) minmax(250px,1.05fr) minmax(320px,1.45fr);gap:24px;align-items:center;overflow:hidden}
.dark-preview{background:#173c32;color:#f4f8f6}.light-preview{background:#edf3f0;color:#34594e;border:1px solid #d6e2dd}
.preview-brand{font-size:20px;font-weight:900;letter-spacing:-.04em;white-space:nowrap}.preview-brand span{color:#2bb043}
.preview-banner{height:44px;display:flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid rgba(255,255,255,.28);background:#d7a640;color:#173c32;font-size:12px;font-weight:900;letter-spacing:.035em;text-transform:uppercase;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.light-preview .preview-banner{height:40px;border-color:#9fc9b2;background:#286957;color:#fff;box-shadow:none}
.preview-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.preview-actions-left{justify-content:flex-start}
.preview-actions span{min-width:0;padding:8px 10px;border:1px solid currentColor;border-radius:8px;opacity:.88;font-size:10px;font-weight:800;line-height:1;white-space:nowrap}
.light-preview .preview-actions span{border-color:#bdcec7;background:#fff;color:#28463c}.light-preview .preview-actions span:first-child{min-width:110px;justify-content:flex-start}
.placement-wireframe{height:220px;border-radius:12px;background:#e7eeeb;display:grid;gap:5px;padding:9px;overflow:hidden;color:#fff;font-size:11px;text-transform:uppercase;font-style:normal}
.placement-wireframe span,.placement-wireframe i,.placement-wireframe b{display:flex;align-items:center;justify-content:center;border-radius:7px;font-style:normal}.side-wire{grid-template-columns:2fr 1fr;grid-template-rows:repeat(5,1fr)}.side-wire span{grid-row:1/6;background:#cbd8d3;color:#35554c}.side-wire b{background:#286957}.combine-wire{grid-template-columns:2fr 1fr;grid-template-rows:repeat(5,1fr)}.combine-wire span{grid-row:1/6;background:#cbd8d3;color:#35554c}.combine-wire b{grid-row:span 2;background:#d7a640;color:#173c32}.combine-wire i{background:#286957}.combine-wire.max b{grid-row:span 3;background:#d7a640}
.advertise-principles{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:42px}.advertise-principle-card{padding:30px;border:1px solid #d9e4df;border-radius:20px;background:#fff}.advertise-principle-card h2{margin:10px 0 12px;font-size:28px;color:#173d31}.advertise-principle-card p{margin:0;color:#60736d;font-size:16px;line-height:1.65}.advertise-principle-card.independence-card{border-color:#93c2a8;background:#edf7f0}.advertise-principle-card.independence-card .why-kicker{color:#207b37}
.advertise-report{margin-top:42px;padding:34px;border-radius:20px;background:#143f34;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:40px}.advertise-report .why-kicker{color:#9fd0bc}.advertise-report h2{color:#fff}.advertise-report p{color:#c5d8d1}.advertise-report ul{columns:2;column-gap:30px;margin:0;padding-left:20px}.advertise-report li{break-inside:avoid;margin:0 0 15px;line-height:1.4}.advertise-rate-note{margin:20px 0 0;color:#71827c;font-size:14px}
.advertise-audience-note{margin-top:18px;padding:18px 20px;border:1px solid #d6e2dd;border-left:4px solid #2bb043;border-radius:12px;background:#fff}.advertise-audience-note strong{display:block;margin-bottom:5px;color:#173d31;font-size:16px}.advertise-audience-note p{margin:0;color:#60736d;font-size:14px;line-height:1.55}
.advertise-inquiry{scroll-margin-top:28px;margin-top:42px;padding:34px;border:1px solid #cfe0d8;border-radius:20px;background:#edf7f0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:40px;align-items:start}.advertise-inquiry-copy h2{margin:10px 0 14px;color:#173d31;font-size:34px;line-height:1.15}.advertise-inquiry-copy p{margin:0;color:#60736d;font-size:16px;line-height:1.65}.advertise-inquiry-copy p+p{margin-top:8px}.advertise-inquiry-copy strong{color:#173d31}.advertise-inquiry-form{box-shadow:none}
@media(max-width:1700px){.toolbar{gap:7px;padding-inline:10px}.search-wrap{min-width:220px;flex-basis:350px}.toolbar-ad-slot{width:clamp(390px,30vw,460px);margin-inline:8px}.platform-activity-btn,.advertise-nav-btn{padding-inline:10px}.mode-btn{padding-inline:11px}.map-mode{flex:0 0 auto}}
@media(max-width:1500px){.advertise-label-full{display:none}.advertise-label-short{display:inline}.advertise-nav-btn{padding:0 10px}.activity-label-full{display:none}.activity-label-short{display:inline}}
@media(max-width:1100px){.header-placement-preview{grid-template-columns:1fr;gap:10px}.preview-brand{display:none}.preview-actions,.preview-actions-left{justify-content:center;flex-wrap:wrap}.preview-banner{width:min(460px,100%);justify-self:center}}
@media(max-width:900px){.advertise-view{height:calc(100vh - 72px)}.advertise-shell{padding:35px 20px 110px}.advertise-hero,.advertise-report,.advertise-principles,.advertise-inquiry{grid-template-columns:1fr}.advertise-hero-actions{flex-direction:row}.placement-grid{grid-template-columns:1fr}.banner-placement-card{grid-column:auto}.advertise-report ul{columns:1}.advertise-inquiry{padding:22px}}
.stats-collecting{
  display:grid;
  gap:8px;
  padding:24px;
  border:1px solid #dbe7e1;
  border-radius:14px;
  background:#f2f7f4;
}
.stats-collecting strong{color:#244c3f;font-size:18px;line-height:1.35;}
.stats-collecting span{color:#61736c;font-size:14px;line-height:1.55;}
.stats-note{
  margin:16px 0 0;
  padding:11px 13px;
  border-left:3px solid #2bb043;
  border-radius:0 8px 8px 0;
  background:#edf6f0;
  color:#496057;
  font-size:13px;
  line-height:1.5;
}
.stats-method{
  margin-top:13px;
  color:#7b8984;
  font-size:12px;
  line-height:1.45;
}

@media(max-width:1120px){
  .platform-activity-btn{padding-inline:9px;}
}
@media(max-width:560px){
  .platform-activity-btn{height:36px;padding:0 9px!important;font-size:11px;}
  .activity-label-full{display:none;}
  .activity-label-short{display:inline;}
  .stats-modal{padding:10px;align-items:end;}
  .stats-dialog{max-height:calc(100vh - 20px);padding:22px 16px 18px;border-radius:18px;}
  .stats-dialog h2{font-size:26px;}
  .stats-description{font-size:14px;}
  .stats-grid{gap:8px;}
  .stats-metric{min-height:108px;padding:14px 12px;}
  .stats-metric strong{font-size:25px;}
  .stats-metric span{font-size:13px;}
}
@media(max-width:380px){
  .stats-grid{grid-template-columns:1fr;}
  .stats-metric{min-height:94px;}
}

/* ================================================================
   v2.3.3 — UX corrections
   ================================================================ */
.leaf-project-pin,.leaf-review-pin{position:relative;}
.leaf-project-pin.is-selected,.leaf-review-pin.is-selected{
  box-shadow:0 0 0 3px #fff,0 0 0 6px #172b24,0 0 0 10px rgba(43,176,67,.38),0 5px 14px rgba(0,0,0,.34);
}
.leaf-project-pin.is-selected::after,.leaf-review-pin.is-selected::after{
  content:'';
  position:absolute;
  inset:-16px;
  border:2px solid #2bb043;
  border-radius:50%;
  box-shadow:0 0 0 3px rgba(255,255,255,.78);
  pointer-events:none;
}

.project-view{color:#1d272d;}
.pi-topbar button{font-size:14px;}
.pi-crumbs{font-size:12px;color:#586861;}

/* ================================================================
   v3.44.0 — complete mobile map interface
   ================================================================ */
.mobile-menu-btn,
.mobile-menu,
.mobile-scrim,
.mobile-projects-btn,
.mobile-sheet-head,
.legend-toggle-btn{display:none;}

@media (max-width:760px), (max-width:1000px) and (max-height:560px) and (orientation:landscape){
  :root{--mobile-header:60px;--mobile-toolbar:104px;}
  html,body,#app{
    width:100%;
    max-width:100%;
    min-width:0;
    height:100%;
    height:100dvh;
    overflow:hidden;
  }
  body{overscroll-behavior:none;}
  img,svg{max-width:100%;}

  .topbar{
    width:100%;
    height:var(--mobile-header)!important;
    min-width:0;
    padding:0 max(8px,env(safe-area-inset-left)) 0 max(8px,env(safe-area-inset-right))!important;
    gap:6px;
  }
  .topbar>.brand{min-width:0;flex:0 1 auto;}
  .compact-brand-home{
    width:112px!important;
    min-width:112px!important;
    height:40px!important;
    padding:2px 4px!important;
  }
  .compact-brand-home .brand-wordmark-png{width:103px!important;height:34px!important;}
  .brand-trademark{left:101px;top:3px;font-size:23px;}
  .brand-build,.header-ad-slot{display:none!important;}
  .top-actions{margin-left:auto;min-width:0;gap:6px;align-items:center;}
  .top-actions>:not(.language-control):not(.mobile-menu-btn){display:none!important;}
  .language-control{height:40px;padding:0 7px!important;max-width:92px;}
  .language-control select{width:78px;min-width:0!important;font-size:11px;}
  .mobile-menu-btn{
    display:block;
    width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(255,255,255,.2);border-radius:10px;
    background:rgba(255,255,255,.08);padding:9px;cursor:pointer;align-content:center;gap:4px;
  }
  .mobile-menu-btn span{display:block;height:2px;border-radius:2px;background:#f2f6f4;margin:4px 0;}

  .toolbar{
    width:100%;height:var(--mobile-toolbar);min-width:0;padding:7px 8px 8px;
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-rows:43px 39px;
    gap:7px;z-index:1201;
  }
  .search-wrap{grid-column:1/-1;min-width:0!important;width:100%;height:43px;}
  .search-wrap input{height:43px;font-size:16px;}
  .filter-btn,.mobile-projects-btn{height:39px;min-width:0;border:1px solid var(--line);border-radius:9px;background:#fff;color:#344250;font-weight:760;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;font-size:12px;}
  .mobile-project-count{min-width:20px;height:20px;border-radius:999px;background:#edf3f0;color:#285c4d;display:grid;place-items:center;font-size:10px;}
  .toolbar-ad-slot,.platform-activity-btn,.advertise-nav-btn{display:none!important;}
  .map-mode{height:39px;margin:0;align-self:stretch;}
  .mode-btn{height:33px;padding:0 8px;font-size:11px;}

  .workspace{
    position:relative;width:100%;min-width:0;height:calc(100dvh - var(--mobile-header) - var(--mobile-toolbar))!important;
    display:block!important;overflow:hidden;
  }
  .map-wrap{position:absolute;inset:0;width:100%;height:100%;min-width:0;overflow:hidden;}
  #map{position:absolute;inset:0;width:100%!important;height:100%!important;min-width:0;}

  .mobile-scrim{
    display:block;
    position:fixed;inset:0;z-index:1690;width:100%;height:100%;border:0;background:rgba(13,27,22,.38);padding:0;
  }
  .mobile-menu{
    display:grid;
    position:fixed;z-index:1900;top:calc(var(--mobile-header) + 7px);right:8px;width:min(320px,calc(100vw - 16px));
    max-height:calc(100dvh - var(--mobile-header) - 15px);overflow:auto;padding:8px;border:1px solid #dce6e1;
    border-radius:15px;background:#fff;box-shadow:0 24px 70px rgba(8,24,18,.28);gap:5px;
  }
  .mobile-menu-head{height:42px;padding:0 4px 7px 9px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#21473b;}
  .mobile-menu-head button,.mobile-sheet-head button{width:36px;height:36px;border:0;border-radius:9px;background:#eef3f1;color:#476057;font-size:23px;cursor:pointer;}
  .mobile-menu>button,.mobile-menu-auth button{width:100%;min-height:44px;border:0;border-radius:10px;background:#f7faf8;color:#294b40;padding:10px 12px;text-align:left;font-weight:760;cursor:pointer;}
  .mobile-menu-auth{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:4px;border-top:1px solid var(--line);}
  .mobile-menu-auth button:last-child{background:#173f33;color:#fff;text-align:center;}

  .left-panel,.right-panel{
    display:block!important;position:fixed!important;z-index:1800;top:auto!important;left:8px!important;right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;height:min(72dvh,620px)!important;
    max-height:calc(100dvh - 24px)!important;min-width:0;border:1px solid #d9e3de!important;border-radius:18px!important;
    background:#fff;box-shadow:0 28px 80px rgba(11,30,23,.30)!important;overflow-y:auto;overflow-x:hidden;
    visibility:hidden;pointer-events:none;transform:translateY(calc(100% + 24px));transition:transform .22s ease,visibility 0s linear .22s;
  }
  .left-panel.mobile-open,.right-panel.mobile-open{visibility:visible;pointer-events:auto;transform:translateY(0);transition:transform .22s ease;}
  .right-panel{padding:0!important;}
  .mobile-sheet-head{
    display:flex;
    position:sticky;top:0;z-index:30;height:49px;padding:6px 8px 6px 15px;border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.97);backdrop-filter:blur(10px);align-items:center;justify-content:space-between;color:#28493e;
  }
  .mobile-sheet-handle{position:absolute;top:5px;left:50%;width:38px;height:4px;border-radius:4px;background:#d6dfdb;transform:translateX(-50%);}
  .mobile-sheet-head strong{padding-top:4px;font-size:13px;}
  .left-panel .panel-head{padding-top:14px;}
  .right-panel>.detail{padding:15px 16px calc(28px + env(safe-area-inset-bottom));}
  .right-panel>.empty-detail{display:none!important;}
  .saved-panel{height:auto;min-height:calc(100% - 49px);}
  .detail-top h2{font-size:21px;overflow-wrap:anywhere;}
  .status-row{flex-wrap:wrap;}
  .status-badge.warning{max-width:100%;}
  .facts div{gap:12px;align-items:flex-start;}
  .facts dt{min-width:0;}
  .facts dd{max-width:58%;overflow-wrap:anywhere;}
  .detail-actions{grid-template-columns:1fr;}

  .filters-popover{
    position:fixed!important;z-index:1900!important;top:calc(var(--mobile-header) + 8px)!important;left:8px!important;right:8px!important;bottom:8px!important;
    width:auto!important;max-height:none!important;margin:0;padding:16px;overflow-y:auto;overflow-x:hidden;border-radius:17px;
    overscroll-behavior:contain;
  }
  .filters-head{position:sticky;top:-16px;z-index:3;margin:-16px -16px 14px;padding:16px 16px 10px;background:#fff;border-bottom:1px solid #edf1ef;}
  .filter-grid{grid-template-columns:1fr!important;gap:11px;}
  .filter-grid select,.filter-grid input{height:44px;font-size:16px;}
  .filters-footer{position:sticky;bottom:-16px;z-index:3;margin:14px -16px -16px;padding:13px 16px calc(16px + env(safe-area-inset-bottom));background:#fff;align-items:stretch!important;flex-direction:column!important;}
  .reset-filters-btn{width:100%;min-height:44px;}

  .scope-bar{top:8px;left:8px;right:55px;gap:5px;}
  .scope-home{min-width:38px!important;width:38px!important;height:38px!important;padding:0!important;}
  .scope-home span,.coverage-chip{display:none!important;}
  .breadcrumbs{max-width:calc(100vw - 114px)!important;min-width:0;min-height:38px;}
  .breadcrumb-btn{padding:0 6px;}
  .legend-toggle-btn{
    display:block;
    position:absolute;z-index:1200;left:10px;bottom:max(10px,env(safe-area-inset-bottom));height:38px;border:1px solid rgba(39,62,54,.16);
    border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 5px 17px rgba(0,0,0,.14);padding:0 12px;color:#285246;font-weight:800;cursor:pointer;
  }
  .stage-legend{display:none!important;left:8px!important;right:8px!important;bottom:56px!important;max-width:none!important;max-height:45dvh;overflow:auto;grid-template-columns:1fr 1fr;gap:5px!important;padding:8px!important;}
  .stage-legend.mobile-open{display:grid!important;}
  .legend-filter{text-align:left;white-space:normal;min-height:36px;}
  .leaflet-control-zoom{margin-top:9px!important;margin-right:8px!important;}
  .leaflet-control-scale{margin-right:8px!important;margin-bottom:8px!important;}

  .project-view{inset:var(--mobile-header) 0 0!important;width:100%;max-width:100%;overflow-x:hidden;}
  .pi-topbar{height:54px;grid-template-columns:minmax(100px,1fr) auto;padding:0 8px;gap:8px;}
  .pi-topbar>button{min-width:0;padding-inline:9px;font-size:11px;}
  .pi-crumbs{display:none;}
  .pi-nav{top:54px;justify-content:flex-start;padding-inline:8px;}
  .pi-hero,.pi-section,.pi-tint{width:100%;max-width:100%;min-width:0;}
  .pi-hero-img{min-height:220px!important;}
  .pi-hero-copy{padding:28px 18px;}
  .pi-hero h1{font-size:34px;overflow-wrap:anywhere;}
  .pi-hero-actions{flex-wrap:wrap;}
  .pi-hero-actions>*{max-width:100%;}
  .pi-section,.pi-tint{padding:39px 18px;}
  .pi-facts,.pi-cols,.pi-related{grid-template-columns:1fr!important;}
  .pi-life{grid-template-columns:repeat(2,1fr);}
  .pi-cols dl>div{align-items:flex-start;}
  .pi-cols dd{max-width:58%;overflow-wrap:anywhere;}

  .why-view,.contact-view,.advertise-view{top:var(--mobile-header);height:calc(100dvh - var(--mobile-header));max-width:100%;overflow-x:hidden;}
  .contact-view{inset:var(--mobile-header) 0 0;}
  .contact-shell{width:100%;padding:35px 16px 50px;}
  .contact-copy h1{font-size:38px;overflow-wrap:anywhere;}
  .contact-card{min-width:0;padding:18px;}
  .advertise-shell{width:100%;padding:32px 16px 56px;}
  .advertise-hero h1{font-size:36px;overflow-wrap:anywhere;}
  .advertise-hero-actions{flex-direction:column;min-width:0;}
  .advertise-inquiry,.advertise-report,.advertise-principle-card{min-width:0;padding:20px;}
  .header-placement-preview{padding:14px 10px;}
  .preview-banner{min-width:0;}
  .stats-dialog,.today-card,.auth-card{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;}
}

@media (max-width:1000px) and (max-height:560px) and (orientation:landscape){
  :root{--mobile-header:54px;--mobile-toolbar:50px;}
  .topbar{height:var(--mobile-header)!important;}
  .compact-brand-home{height:38px!important;}
  .toolbar{height:var(--mobile-toolbar);grid-template-columns:minmax(150px,1fr) auto auto auto;grid-template-rows:38px;padding:6px 8px;}
  .search-wrap{grid-column:auto;height:38px;}
  .search-wrap input,.filter-btn,.mobile-projects-btn,.map-mode{height:38px;}
  .left-panel,.right-panel{top:6px!important;bottom:6px!important;left:6px!important;right:auto!important;width:min(390px,48vw)!important;height:auto!important;max-height:none!important;transform:translateX(calc(-100% - 20px));}
  .left-panel.mobile-open,.right-panel.mobile-open{transform:translateX(0);}
  .filters-popover{top:6px!important;bottom:6px!important;left:6px!important;right:auto!important;width:min(520px,70vw)!important;}
  .mobile-menu{top:calc(var(--mobile-header) + 5px);}
  .stage-legend{left:8px!important;right:auto!important;width:min(520px,70vw)!important;max-height:65dvh;}
  .pi-hero{grid-template-columns:minmax(260px,.85fr) 1fr;}
  .pi-hero-img{min-height:calc(100dvh - var(--mobile-header) - 54px)!important;}
  .pi-hero-copy{padding:24px;}
}
.pi-hero-img span{font-size:12px;}
.pi-kicker,.pi-head>span{font-size:12px;color:#3f6659;}
.pi-hero-copy>p:first-of-type{font-size:15px;color:#4e5d57;}
.pi-pills span{font-size:13px;color:#33463f;}
.pi-summary{font-size:16px!important;line-height:1.7;color:#34453f!important;}
.pi-hero-actions button,.pi-hero-actions a,.pi-big button{font-size:14px;}
.pi-nav a{font-size:13px;color:#43554e;}
.pi-head p{font-size:15px;color:#44564f;line-height:1.7;}
.pi-facts span,.pi-big>span{font-size:12px;color:#586760;}
.pi-facts strong,.pi-big strong{font-size:20px;color:#1d272d;}
.pi-facts small{font-size:13px;color:#56655f;}
.pi-cols article h3,.pi-cols h3{font-size:17px;color:#1d3f34;}
.pi-cols article p,.pi-cols p{font-size:15px;line-height:1.7;color:#374840;}
.pi-cols dl>div{font-size:14px;padding:11px 0;}
.pi-cols dt{color:#53635d;}
.pi-cols dd{color:#1d272d;}
.pi-warning{font-size:14px;line-height:1.55;}
.pi-big p{font-size:15px;}
.pi-big a{font-size:14px;}
.pi-empty{font-size:14px;color:#43544d;}
.pi-life-note{font-size:14px;color:#46564f;}
.pi-life div{font-size:12px;}
.pi-stage-large{font-size:22px;}
.pi-list strong{font-size:14px;color:#263c34;}
.pi-list small{font-size:12px;color:#596861;}
.pi-list p{font-size:14px;color:#3f5049;line-height:1.65;}
.pi-list a{font-size:13px;}
.pi-related strong{font-size:15px;}
.pi-related span{font-size:13px;color:#52615b;}

/* ================================================================
   v3.44.1 — mobile QA hotfix
   - keep the trademark inside the compact logo plate
   - raise the filter toolbar above the shared mobile scrim so all
     controls remain visible, scrollable and interactive
   ================================================================ */
@media (max-width:760px), (max-width:1000px) and (max-height:560px) and (orientation:landscape){
  .compact-brand-home{
    width:116px!important;
    min-width:116px!important;
    padding-right:12px!important;
    overflow:hidden;
  }
  .compact-brand-home .brand-wordmark-png{
    width:100px!important;
    height:34px!important;
  }
  .brand-trademark{
    left:auto!important;
    right:3px!important;
    top:3px!important;
    font-size:17px!important;
  }
  html.mobile-filters-open .toolbar{
    z-index:1800!important;
  }
  html.mobile-filters-open .filters-popover{
    z-index:1900!important;
    pointer-events:auto!important;
    opacity:1!important;
  }

  /* Override the legacy mobile rule `.toolbar select { display:none; }`.
     Filter controls live inside .toolbar in the DOM and must stay visible. */
  .toolbar .filters-popover .filter-grid select{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    padding:0 38px 0 12px!important;
    border:1px solid var(--line)!important;
    border-radius:10px!important;
    background-color:#fbfcfd!important;
    color:#394657!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}

/* ================================================================
   v3.46.0 — legal pages, consent and persistent legal navigation
   ================================================================ */
.legal-view{position:fixed;inset:68px 0 0;overflow:auto;background:#f6f9f7;color:#263d35;z-index:2200;}
.legal-view[hidden]{display:none!important;}
.legal-shell{width:min(940px,calc(100% - 40px));margin:0 auto;padding:34px 0 88px;}
.legal-back-btn{position:sticky;top:14px;z-index:2;margin-bottom:24px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);}
.legal-document{background:#fff;border:1px solid #dce7e2;border-radius:22px;padding:clamp(28px,5vw,64px);box-shadow:0 20px 60px rgba(22,55,45,.08);}
.legal-document h1{margin:10px 0 4px;color:#173d31;font-size:clamp(36px,5vw,58px);letter-spacing:-.035em;line-height:1.05;}
.legal-updated{margin:0 0 26px;color:#71827b;font-size:13px;font-weight:700;}
.legal-intro{font-size:17px!important;line-height:1.75!important;color:#3a554c!important;border-left:3px solid #2bb043;padding-left:18px;}
.legal-document section{margin-top:32px;}
.legal-document h2{margin:0 0 10px;color:#1d4438;font-size:21px;line-height:1.3;}
.legal-document p,.legal-document li{font-size:15px;line-height:1.75;color:#52665f;}
.legal-document p{margin:9px 0;}.legal-document ul{padding-left:22px;}
.privacy-consent{display:flex!important;align-items:flex-start;gap:10px!important;color:#53675f;line-height:1.5;}
.contact-card .privacy-consent input{flex:0 0 18px;width:18px!important;height:18px!important;margin:2px 0 0;padding:0;accent-color:#1b654f;}
.contact-card .privacy-consent>span{font-size:12px;font-weight:600;letter-spacing:0;}
.privacy-consent a{color:#175744;text-decoration:underline;text-underline-offset:2px;}
.legal-footer{position:fixed;left:50%;bottom:8px;transform:translateX(-50%);z-index:2300;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:7px 13px;border:1px solid rgba(204,220,213,.9);border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(18,48,39,.10);backdrop-filter:blur(9px);font-size:11px;color:#557068;white-space:nowrap;}
.legal-footer a{color:#214e40;font-weight:750;text-decoration:none;}.legal-footer a:hover{text-decoration:underline;}

@media(max-width:760px),(max-width:1000px) and (max-height:560px) and (orientation:landscape){
  .legal-view{inset:var(--mobile-header) 0 0;height:calc(100dvh - var(--mobile-header));max-width:100%;overflow-x:hidden;}
  .legal-shell{width:100%;padding:12px 10px 38px;}
  .legal-back-btn{top:8px;margin:0 4px 10px;}
  .legal-document{border-radius:16px;padding:25px 18px;}
  .legal-document h1{font-size:34px;}.legal-document h2{font-size:19px;}
  .legal-document p,.legal-document li{font-size:14px;line-height:1.68;}
  .legal-intro{font-size:15px!important;}
  .contact-card .privacy-consent>span{font-size:12px!important;}
}

/* ================================================================
   v3.46.1 — legal footer / legend clearance and form end spacing
   ================================================================ */
@media(min-width:761px) and (min-height:561px){
  .stage-legend{
    bottom:58px!important;
    width:fit-content;
    max-width:min(690px,calc(100% - 32px));
  }
  .contact-shell{padding-bottom:120px;}
}

/* v3.46.7 — keep forms inside the mobile column and make legal links visible. */
@media (max-width:760px), (max-width:1000px) and (max-height:560px) and (orientation:landscape){
  .contact-shell,.advertise-shell,.advertise-inquiry,
  .contact-card,.advertise-inquiry-form,.contact-card label{
    min-width:0;
    max-width:100%;
  }
  .contact-card{grid-template-columns:minmax(0,1fr);}
  .contact-card input:not([type="checkbox"]),.contact-card textarea{
    min-width:0;
    max-width:100%;
  }
  .contact-card .why-primary-btn{
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
    min-height:42px;
    padding:12px 14px;
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.3;
    text-align:center;
  }
  .contact-card .privacy-consent>span{min-width:0;overflow-wrap:anywhere;}
  .advertise-inquiry-copy{min-width:0;overflow-wrap:anywhere;}
  .contact-shell{padding-bottom:110px;}
  .advertise-shell{padding-bottom:110px;}
  .legal-shell{padding-bottom:110px;}
  .legal-footer{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:2px 12px;
    justify-items:center;
    width:100%;
    max-width:none;
    left:0;
    bottom:0;
    transform:none;
    padding:6px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
    border:0;
    border-top:1px solid #d9e5df;
    border-radius:0;
    font-size:10px;
    line-height:1.3;
    text-align:center;
    white-space:normal;
  }
  .legal-footer span{grid-column:1/-1;}
  .legal-footer a{min-width:0;overflow-wrap:anywhere;}
  .legend-toggle-btn{bottom:72px!important;}
  .stage-legend{bottom:118px!important;}
  .leaflet-control-scale{margin-bottom:72px!important;}
}
/* Prelaunch mobile QA — floating legal navigation must never cover an open panel.
   JavaScript sets .mobile-overlay-open on <html> and clears it as the panel closes.
   Legal links return immediately when no mobile overlay is open. */
@media (max-width:760px), (max-width:1000px) and (max-height:560px) and (orientation:landscape){
  html.mobile-overlay-open .legal-footer{display:none!important;}
  /* Keep the sticky Reset all action inside the visible bottom edge of the scrollport. */
  html.mobile-filters-open .filters-footer{bottom:0;}
}

/* Prelaunch mobile QA — Mobile navigation layering in overlay views.
   Contact/legal views are z-index 2200; legal footer is z-index 2300.
   Only while the mobile nav is visible, its scrim and nav must outrank
   page overlays, but remain below the 3000+ auth/activity dialogs.
   Do not raise the scrim when filters or project sheets are open. */
@media (max-width:760px), (max-width:1000px) and (max-height:560px) and (orientation:landscape){
  .mobile-menu:not([hidden]){z-index:2500!important;}
  .mobile-menu:not([hidden]) + .mobile-scrim:not([hidden]){z-index:2400!important;}
}

/* Prelaunch mobile QA — Compact EN / Հայերեն / RU portrait toolbar.
   Three full-width rows preserve long labels and map controls.
   Height: 43px search + 36px actions + 36px map style + 2×6px gaps
   + 6px top + 6px bottom + 1px toolbar border = 140px.
   The workspace derives its height from the shared --mobile-toolbar. */
@media (max-width:760px) and (orientation:portrait){
  :root{--mobile-toolbar:140px;}
  .toolbar{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-rows:43px 36px 36px;
    gap:6px;
    padding:6px 8px;
  }
  .toolbar .search-wrap{grid-column:1 / -1;grid-row:1;}
  .toolbar #filtersBtn{grid-column:1;grid-row:2;}
  .toolbar #mobileProjectsBtn{grid-column:2;grid-row:2;}
  .toolbar #filtersBtn,.toolbar #mobileProjectsBtn{
    width:100%;min-width:0;max-width:100%;height:36px;
    padding:2px 8px;gap:5px;overflow:hidden;
    white-space:normal;line-height:1.15;
  }
  .toolbar #filtersBtn>span:first-child,
  .toolbar #mobileProjectsBtn>span:first-child{
    min-width:0;max-width:100%;text-align:center;
    white-space:normal;overflow-wrap:anywhere;
  }
  .toolbar #filterCount,.toolbar #mobileProjectCount{
    flex:0 0 auto;
  }
  .toolbar .map-mode{
    grid-column:1 / -1;grid-row:3;width:100%;min-width:0;
    height:36px;justify-content:stretch;
  }
  .toolbar .map-mode .mode-btn{
    height:30px;flex:1 1 0;min-width:0;
  }
}

/* Prelaunch landscape QA: park Legend in the free top-right corridor.
   The country/Home breadcrumbs occupy top-left, Leaflet zoom is top-right.
   Avoid the old bottom:72px placement (conflicted with Home on shallow maps);
   keep the expanded legend beneath its toggle and out of breadcrumb space.
   Scale control returns to the bottom-right, away from the zoom buttons. */
@media (max-width:1000px) and (max-height:560px) and (orientation:landscape){
  .map-wrap .legend-toggle-btn{
    top:8px!important;
    bottom:auto!important;
    left:auto!important;
    right:64px!important;
    height:38px;
  }
  .map-wrap .stage-legend{
    top:54px!important;
    bottom:auto!important;
    left:auto!important;
    right:64px!important;
    width:min(420px,calc(100% - 300px))!important;
    max-height:calc(100% - 62px)!important;
    overflow-y:auto;
  }
  .map-wrap .leaflet-control-scale{
    margin-bottom:8px!important;
    margin-right:8px!important;
  }
}


/* Prelaunch landscape QA — short filter footer on phones.
   The explanatory note stays available in portrait but is omitted in landscape
   to reserve scarce vertical space for the actual filter controls.
   Keep a small, reachable Reset all button within the scrollable popover. */
@media (max-width:1000px) and (max-height:560px) and (orientation:landscape){
  .toolbar .filters-popover .filters-footer{
    position:sticky;
    bottom:0!important;
    margin:6px -16px -16px!important;
    padding:5px 12px calc(7px + env(safe-area-inset-bottom))!important;
    min-height:0!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:0!important;
    background:#fff;
    border-top:1px solid var(--line);
  }
  .toolbar .filters-popover .filters-footer>span{
    display:none!important;
  }
  .toolbar .filters-popover .reset-filters-btn{
    width:160px!important;
    max-width:100%!important;
    min-height:36px!important;
    height:36px!important;
    padding:5px 12px!important;
    margin:0!important;
    line-height:1.2;
    font-size:12px;
    white-space:nowrap;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}


/* Prelaunch QA — reliable search clear action on Safari/Chrome (all orientations).
   Use our accessible button rather than browser-specific search-cancel affordances. */
.search-wrap #searchInput{
  padding-right:48px;
}
.search-wrap #searchInput::-webkit-search-cancel-button{
  -webkit-appearance:none;
  display:none;
}
.search-wrap .search-clear-btn{
  position:absolute;
  z-index:2;
  right:5px;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#60746c;
  font-size:26px;
  line-height:1;
  font-weight:400;
  cursor:pointer;
  touch-action:manipulation;
}
.search-wrap .search-clear-btn:hover,
.search-wrap .search-clear-btn:focus-visible{
  background:#e9f0ed;
  color:#173f33;
}
.search-wrap .search-clear-btn:focus-visible{
  outline:2px solid #2b805b;
  outline-offset:1px;
}


/* Prelaunch iPhone Safari landscape — keep Leaflet scale above fixed legal footer.
   On iOS Safari the bottom browser safe area makes the fixed legal footer
   cover the bottom-right scale when the shared landscape margin is only 8px.
   WebKit-only keeps the previously approved Samsung/Chrome spacing intact.
   The 72px vertical clearance places the scale above the footer. */
@supports (-webkit-touch-callout: none){
  @media (max-width:1000px) and (max-height:560px) and (orientation:landscape){
    .map-wrap .leaflet-control-scale{
      margin-bottom:72px!important;
      margin-right:8px!important;
    }
  }
}
