/* ══════════════════════════════════════════════════════════════
   Landscape Map · Report No. 03 — page-specific styles
   Inherits tokens from styles.css
   ══════════════════════════════════════════════════════════════ */

/* ─── HERO ────────────────────────────────────────────────── */
.lm-hero{
  background:var(--moss);
  padding:64px 48px 0;
  position:relative;
  overflow:hidden;
}
.lm-hero-inner{
  max-width:1200px;
  margin:0 auto;
  position:relative;
  padding-bottom:0;
}
.lm-eyebrow{
  display:inline-flex; align-items:center; gap:14px;
  font-size:12px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--rust);
  margin:0 0 28px;
}
.lm-eyebrow::before{
  content:''; width:36px; height:1px; background:var(--rust);
}
.lm-hero h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(48px, 7.5vw, 100px);
  font-weight:400;
  color:var(--cream);
  line-height:1.02;
  letter-spacing:-0.02em;
  margin:0 0 40px;
  max-width:14ch;
}
.lm-hero h1 em{ font-style:italic; color:#E8B79C; }
.lm-hero-sub{ display:none; }
.lm-hero-meta{
  display:flex; gap:18px; flex-wrap:wrap;
  font-size:11px;
  letter-spacing:0.14em; text-transform:uppercase;
  color:rgba(251,248,242,0.55);
  padding:18px 0 24px;
  border-top:1px solid rgba(255,255,255,0.10);
}
.lm-hero-meta span{ display:inline-flex; align-items:center; gap:6px; }
.lm-hero-meta span + span::before{
  content:'·'; color:rgba(251,248,242,0.35); margin-right:18px; margin-left:-18px;
}
.lm-hero-meta b{ color:rgba(251,248,242,0.92); font-weight:700; }
@media (max-width:720px){
  .lm-hero{ padding:48px 24px 0; }
  .lm-hero h1{ margin-bottom:28px; }
  .lm-hero-meta{ gap:10px; padding:14px 0 18px; }
}

/* KPI strip */
.lm-kpis{
  background:var(--cream);
  border-bottom:1px solid var(--border);
}
.lm-kpis-inner{
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr);
  border-left:1px solid var(--border);
}
.lm-kpi{
  padding:36px 32px;
  border-right:1px solid var(--border);
}
.lm-kpi-num{
  font-family:'Cormorant Garamond',serif;
  font-size:64px; font-weight:600;
  color:var(--moss); line-height:1;
  letter-spacing:-0.02em;
  margin-bottom:8px;
}
.lm-kpi-num em{ font-style:normal; color:var(--rust); }
.lm-kpi-label{
  font-size:11px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase;
  color:var(--sage);
  line-height:1.5;
}
.lm-kpi-sub{
  font-size:12px; color:var(--moss-light);
  margin-top:6px; line-height:1.5;
}

/* ─── Headline finding (slim banner) ──────────────────────── */
.lm-finding{
  display:flex !important;
  align-items:baseline;
  gap:18px;
  padding:14px 24px !important;
  border-left:none !important;
  flex-wrap:wrap;
}
.lm-finding-eyebrow{
  font-size:10px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--rust);
  white-space:nowrap;
  flex-shrink:0;
}
.lm-finding-num{
  font-family:'Cormorant Garamond',serif;
  font-size:34px; font-weight:600;
  color:var(--moss); line-height:1;
  letter-spacing:-0.02em;
  flex-shrink:0;
}
.lm-finding-of{
  font-size:18px;
  color:var(--sage);
  font-style:italic;
  font-weight:400;
  margin-left:2px;
}
.lm-finding-body{
  flex:1;
  min-width:280px;
}
.lm-finding-headline{
  font-family:'Cormorant Garamond',serif;
  font-size:18px; font-weight:400;
  line-height:1.3;
  color:var(--moss);
  letter-spacing:-0.005em;
}
.lm-finding-headline em{
  font-style:italic;
  color:var(--rust);
}
.lm-finding-list{ display:none; }

@media (max-width:720px){
  .lm-finding{ padding:12px 18px !important; gap:10px; }
  .lm-finding-num{ font-size:28px; }
  .lm-finding-headline{ font-size:15px; }
}
.lm-ai-note{
  background:var(--cream);
  border-bottom:1px solid var(--border);
  padding:14px 48px;
}
.lm-ai-note-inner{
  max-width:1200px; margin:0 auto;
  display:flex; gap:18px; align-items:center; flex-wrap:wrap;
  font-size:12px;
  color:var(--moss-light);
  letter-spacing:0.01em;
}
.lm-ai-note-inner > span:nth-of-type(2){ flex:1; min-width:240px; }
.lm-ai-dot{
  width:7px; height:7px; border-radius:50%;
  background:var(--rust);
  box-shadow:0 0 0 3px rgba(209,107,79,0.18);
  flex-shrink:0;
}
.lm-ai-note-inner a{
  color:var(--moss);
  text-decoration:none;
  font-weight:700;
  font-size:11px;
  letter-spacing:0.06em; text-transform:uppercase;
  border-bottom:1px solid var(--border);
  padding-bottom:1px;
  white-space:nowrap;
  transition:color .15s, border-color .15s;
}
.lm-ai-note-inner a:hover{ color:var(--rust); border-color:var(--rust); }

/* ─── AI Transparency banner (legacy, kept for reference) ── */
.lm-ai-banner{
  background:var(--sand);
  padding:24px 48px;
  border-bottom:1px solid var(--border);
}
.lm-ai-inner{
  max-width:1200px; margin:0 auto;
  display:flex; gap:32px; align-items:center; flex-wrap:wrap;
}
.lm-ai-tag{
  font-family:'Satoshi', sans-serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--rust);
  display:flex; align-items:center; gap:10px;
  flex-shrink:0;
}
.lm-ai-tag::before{
  content:''; width:8px; height:8px; background:var(--rust);
  border-radius:50%; box-shadow:0 0 0 4px rgba(209,107,79,0.18);
}
.lm-ai-text{
  font-size:13px; color:var(--moss-light);
  line-height:1.6; flex:1; min-width:280px;
}
.lm-ai-text b{ color:var(--moss); font-weight:700; }
.lm-ai-actions{
  display:flex; gap:8px; flex-wrap:wrap;
}
.lm-pill-link{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 16px;
  border-radius:100px;
  font-size:12px; font-weight:700;
  letter-spacing:0.04em;
  text-decoration:none;
  font-family:'Satoshi', sans-serif;
  transition:all .2s;
}
.lm-pill-link.dark{ background:var(--moss); color:#fff; }
.lm-pill-link.dark:hover{ background:var(--rust); }
.lm-pill-link.outline{ background:#fff; color:var(--moss); border:1px solid var(--moss); }
.lm-pill-link.outline:hover{ background:var(--moss); color:#fff; }

/* ─── Section frame ───────────────────────────────────────── */
.lm-section{
  padding:96px 48px;
  border-bottom:1px solid var(--border);
}
.lm-section.dark{
  background:var(--moss);
  border-bottom:none;
  color:var(--text-on-dark);
}
.lm-section-inner{ max-width:1200px; margin:0 auto; }
.lm-section-head{
  display:grid; grid-template-columns:200px 1fr;
  gap:48px; align-items:baseline;
  margin-bottom:56px;
}
.lm-section-num{
  font-family:'Cormorant Garamond',serif;
  font-size:13px; font-weight:600;
  letter-spacing:0.16em; text-transform:uppercase;
  color:var(--rust);
}
.lm-section h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(34px, 4.5vw, 52px);
  font-weight:300;
  color:var(--moss);
  line-height:1.08;
  letter-spacing:-0.02em;
  max-width:18ch;
}
.lm-section.dark h2{ color:var(--cream); }
.lm-section h2 em{ font-style:italic; color:var(--rust); }
.lm-section.dark h2 em{ color:#E8B79C; }
.lm-section-deck{
  font-size:16px; color:var(--moss-light);
  line-height:1.7; max-width:560px;
  margin-top:18px; font-weight:400;
}
.lm-section.dark .lm-section-deck{ color:rgba(251,248,242,0.65); }

/* ─── Type definitions (taxonomy) ─────────────────────────── */
.lm-types-section{ padding-top:64px; padding-bottom:64px; }
.lm-types-head{
  display:flex; align-items:baseline; gap:32px; flex-wrap:wrap;
  margin-bottom:28px;
  padding-bottom:18px;
  border-bottom:1px solid var(--border);
}
.lm-types-deck{
  font-size:14px; color:var(--moss-light);
  line-height:1.6; max-width:62ch; flex:1; min-width:280px;
  margin:0;
}
.lm-types-strip{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.lm-type-mini{ display:flex; flex-direction:column; gap:10px; }
.lm-type-mini-head{
  display:flex; align-items:baseline; gap:10px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
}
.lm-type-mini-num{
  font-family:'Cormorant Garamond',serif;
  font-size:20px; font-weight:600; color:var(--rust);
}
.lm-type-mini-name{
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-weight:600; color:var(--moss);
}
.lm-type-mini-count{
  margin-left:auto;
  font-size:10px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--sage);
}
.lm-type-mini-defn{
  font-size:12.5px; color:var(--moss-light);
  line-height:1.55; margin:0;
}
.lm-type-mini-cost{
  font-size:11px; color:var(--moss);
  line-height:1.5;
  padding-top:6px;
  border-top:1px solid var(--border);
  margin-top:auto;
}
.lm-type-mini-cost b{
  display:inline-block;
  font-size:9px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase;
  color:var(--sage);
  margin-right:6px;
}
@media (max-width:980px){
  .lm-types-strip{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .lm-types-strip{ grid-template-columns:1fr; }
}

/* legacy taxonomy styles (kept for safety) */
.lm-types{
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
}
.lm-type{
  background:var(--cream);
  padding:36px 32px;
  display:grid; grid-template-rows:auto auto 1fr auto;
  gap:14px;
}
.lm-type-head{
  display:flex; align-items:baseline; gap:14px;
  border-bottom:1px solid var(--border);
  padding-bottom:14px;
}
.lm-type-num{
  font-family:'Cormorant Garamond',serif;
  font-size:36px; font-weight:600;
  color:var(--rust); line-height:1;
}
.lm-type-name{
  font-family:'Cormorant Garamond',serif;
  font-size:30px; font-weight:600;
  color:var(--moss); line-height:1;
}
.lm-type-count{
  margin-left:auto;
  font-size:11px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--sage);
}
.lm-type-defn{
  font-size:14px; color:var(--moss-light);
  line-height:1.65;
}
.lm-type-rows{
  display:grid; grid-template-columns:auto 1fr;
  gap:6px 18px;
  font-size:12px;
}
.lm-type-rows dt{
  color:var(--sage);
  font-weight:700;
  letter-spacing:0.08em; text-transform:uppercase;
  font-size:10px;
  padding-top:3px;
}
.lm-type-rows dd{ color:var(--moss); line-height:1.55; }
.lm-type-rows dd b{ color:var(--moss); font-weight:700; }

/* ─── Explorer section (Section 01 — find orgs) ──────────── */
.lm-explorer-section{
  padding:64px 48px 80px;
  background:var(--cream);
}
.lm-explorer-head{
  max-width:1200px; margin:0 auto 32px;
}
.lm-explorer-head .lm-section-num{
  font-size:11px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--rust);
  font-weight:700; margin-bottom:14px;
  font-family:'Satoshi', sans-serif;
}
.lm-explorer-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(32px, 4vw, 44px);
  font-weight:400;
  line-height:1.05;
  color:var(--moss);
  letter-spacing:-0.015em;
  margin:0 0 14px;
  max-width:24ch;
}
.lm-explorer-head h2 em{ font-style:italic; color:var(--rust); }
.lm-explorer-head .lm-section-deck{
  font-size:15px; color:var(--moss-light);
  line-height:1.65; max-width:64ch;
  margin-top:0;
}
.lm-explorer-toolbar{
  max-width:1200px; margin:0 auto 18px;
}

/* ─── Map explorer ────────────────────────────────────────── */
.lm-map-explorer{
  display:grid;
  grid-template-columns:1fr 480px;
  gap:0;
  border:1px solid var(--border);
  background:var(--cream);
  min-height:640px;
  border-radius:8px;
  overflow:hidden;
}
.lm-section.dark .lm-map-explorer{ border-color:rgba(255,255,255,0.08); }
.lm-map-pane{ position:relative; padding:24px; background:var(--sand); }
.lm-map-toolbar{
  display:flex; gap:8px; align-items:center;
  flex-wrap:wrap;
}
.lm-map-toolbar .label{
  font-size:10px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--moss-light);
  margin-right:6px;
}
.lm-cat-pill{
  font-family:'Satoshi', sans-serif;
  font-size:12px; font-weight:600;
  letter-spacing:0.02em;
  padding:8px 14px;
  border-radius:100px;
  border:1px solid var(--border);
  background:#FBF8F2;
  color:var(--moss);
  cursor:pointer;
  transition:all .18s;
}
.lm-cat-pill:hover{ border-color:var(--moss); }
.lm-cat-pill.active{
  background:var(--moss); color:var(--cream);
  border-color:var(--moss);
}
.lm-cat-pill .count{
  display:inline-block; margin-left:6px;
  font-size:11px; opacity:.55; font-weight:500;
}
.lm-cat-pill.active .count{ opacity:.8; }
.lm-cat-hint{
  margin-left:auto;
  font-size:10px;
  letter-spacing:0.08em; text-transform:uppercase;
  color:var(--moss-light);
  font-style:italic;
}

.lm-svg-wrap{
  position:relative;
  background:var(--cream);
  border-radius:6px;
  padding:8px;
  height:600px;
}
.lm-us-map{ width:100%; height:100%; display:block; }
.lm-state{
  cursor:pointer;
  stroke:rgba(47,62,52,0.35);
  stroke-width:0.6;
  transition:fill .2s, stroke .15s;
}
.lm-state:hover{ stroke:var(--rust); stroke-width:1.3; }
.lm-state.selected{
  stroke:var(--rust); stroke-width:1.8;
  filter:drop-shadow(0 0 6px rgba(209,107,79,0.5));
}
.lm-d0{ fill:#F5EDE0; }
.lm-d1{ fill:#D5DCD0; }
.lm-d2{ fill:#A8B9A4; }
.lm-d3{ fill:#7E9582; }
.lm-d4{ fill:#54756A; }
.lm-d5{ fill:#2F4D3E; }

.lm-map-legend{
  position:absolute; bottom:18px; left:18px;
  display:flex; gap:12px; align-items:center;
  font-size:10px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--moss-light);
  background:rgba(255,255,255,0.92);
  padding:8px 14px;
  border-radius:999px;
  box-shadow:0 2px 10px rgba(47,62,52,0.08);
  pointer-events:none;
}
.lm-legend-bar{ display:flex; gap:3px; }
.lm-legend-swatch{ width:14px; height:14px; border-radius:2px; }
.lm-legend-swatch.lm-d0{ background:#F5EDE0; border:1px solid #E5DCC8; }
.lm-legend-swatch.lm-d1{ background:#D5DCD0; }
.lm-legend-swatch.lm-d2{ background:#A8B9A4; }
.lm-legend-swatch.lm-d3{ background:#7E9582; }
.lm-legend-swatch.lm-d4{ background:#566F5C; }
.lm-legend-swatch.lm-d5{ background:#2F4D3E; }

.lm-tooltip{
  position:absolute; z-index:30;
  background:var(--cream); color:var(--moss);
  padding:10px 14px;
  border-radius:6px;
  font-size:12px;
  box-shadow:0 12px 32px rgba(0,0,0,0.4);
  pointer-events:none;
  display:none;
  transform:translate(-50%, calc(-100% - 12px));
  white-space:nowrap;
}
.lm-tooltip .name{ font-weight:700; margin-bottom:2px; }
.lm-tooltip .count{ color:var(--moss-light); font-size:11px; }
.lm-tooltip::after{
  content:''; position:absolute; left:50%; bottom:-6px;
  transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:var(--cream);
  border-bottom:0;
}

/* drawer */
.lm-drawer{
  background:var(--cream); color:var(--moss);
  border-left:1px solid var(--border);
  display:flex; flex-direction:column;
  max-height:720px;
}
.lm-drawer-head{
  padding:24px 28px 18px;
  border-bottom:1px solid var(--border);
  position:sticky; top:0; background:var(--cream); z-index:2;
}
.lm-drawer-eyebrow{
  font-size:10px; font-weight:700;
  letter-spacing:0.16em; text-transform:uppercase;
  color:var(--sage); margin-bottom:6px;
}
.lm-drawer-title{
  font-family:'Cormorant Garamond',serif;
  font-size:34px; font-weight:600;
  color:var(--moss); line-height:1;
  margin-bottom:6px;
}
.lm-drawer-meta{
  font-size:12px; color:var(--moss-light);
  display:flex; gap:14px; flex-wrap:wrap;
}
.lm-drawer-meta b{ color:var(--moss); font-weight:700; }
.lm-drawer-list{ overflow-y:auto; flex:1; }
.lm-org-row{
  padding:18px 28px;
  border-bottom:1px solid var(--border);
  cursor:pointer;
  transition:background .15s;
}
.lm-org-row:hover{ background:var(--sand); }
.lm-org-row.expanded{ background:var(--sand); }
.lm-org-top{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:12px; margin-bottom:6px;
}
.lm-org-name{
  font-size:15px; font-weight:700; color:var(--moss);
  line-height:1.3;
}
.lm-org-badge{
  flex-shrink:0;
  font-size:9px; font-weight:700;
  letter-spacing:0.08em; text-transform:uppercase;
  padding:3px 8px; border-radius:100px;
  white-space:nowrap;
}
.b-edu{ background:rgba(196,164,126,0.16); color:#8A6E3F; }
.b-ang{ background:rgba(209,107,79,0.14); color:var(--rust); }
.b-vc { background:rgba(26,143,125,0.14); color:var(--teal); }
.b-syn{ background:rgba(61,90,153,0.14); color:var(--ink); }
.lm-org-tag-row{
  display:flex; gap:8px; flex-wrap:wrap;
  font-size:11px; color:var(--sage);
  margin-bottom:6px;
}
.lm-org-tag-row span{ display:flex; align-items:center; gap:4px; }
.lm-org-tag-row b{ color:var(--moss-light); font-weight:600; }
.lm-org-summary{
  font-size:12px; color:var(--moss-light);
  line-height:1.55;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
.lm-org-row.expanded .lm-org-summary{
  display:block; margin-bottom:14px;
}
.lm-org-detail{
  display:none;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--border);
}
.lm-org-row.expanded .lm-org-detail{ display:block; }
.lm-detail-grid{
  display:grid; grid-template-columns:auto 1fr;
  gap:8px 16px;
  font-size:12px;
}
.lm-detail-grid dt{
  font-size:9px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--sage);
  padding-top:3px;
}
.lm-detail-grid dd{ color:var(--moss); line-height:1.55; }
.lm-conf{
  display:inline-flex; align-items:center; gap:4px;
  padding:1px 6px; border-radius:3px;
  font-size:9px; font-weight:700;
  letter-spacing:0.08em; text-transform:uppercase;
  vertical-align:middle;
  margin-left:6px;
}
.conf-h{ background:rgba(26,143,125,0.14); color:var(--teal); }
.conf-m{ background:rgba(196,164,126,0.16); color:#8A6E3F; }
.conf-l{ background:rgba(209,107,79,0.16); color:var(--rust); }
.lm-detail-actions{
  display:flex; gap:8px; margin-top:14px;
}
.lm-detail-link{
  font-size:11px; font-weight:700;
  letter-spacing:0.06em; text-transform:uppercase;
  color:var(--rust);
  text-decoration:none;
  border-bottom:1px solid rgba(209,107,79,0.3);
  padding-bottom:1px;
}
.lm-detail-link:hover{ border-color:var(--rust); }

.lm-drawer-empty{
  padding:48px 28px;
  text-align:center;
  color:var(--sage);
  font-size:13px;
  line-height:1.6;
}
.lm-drawer-empty b{
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:22px; color:var(--moss);
  font-weight:600;
  margin-bottom:8px;
}

/* ─── Charts ─────────────────────────────────────────────── */
.lm-chart-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start;
}
.lm-chart{
  border:1px solid var(--border);
  background:var(--cream);
  border-radius:0;
  padding:32px;
}
.lm-chart-eyebrow{
  font-size:10px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--rust);
  margin-bottom:8px;
}
.lm-chart-title{
  font-family:'Cormorant Garamond',serif;
  font-size:28px; font-weight:600;
  color:var(--moss); line-height:1.1;
  margin-bottom:6px;
}
.lm-chart-deck{
  font-size:13px; color:var(--moss-light);
  line-height:1.6; margin-bottom:24px;
  max-width:46ch;
}
.lm-chart-svg{ width:100%; display:block; }
.lm-chart-axis{
  font-family:'Satoshi', sans-serif;
  font-size:9px;
  letter-spacing:0.08em; text-transform:uppercase;
  fill:var(--sage);
}
.lm-chart-grid{ stroke:var(--border); stroke-width:1; }
.lm-chart-bar{ fill:var(--moss); transition:fill .2s; }
.lm-chart-bar:hover{ fill:var(--rust); }
.lm-chart-line{ fill:none; stroke:var(--rust); stroke-width:2; }
.lm-chart-area{ fill:rgba(209,107,79,0.12); }
.lm-chart-dot{ fill:var(--rust); stroke:var(--cream); stroke-width:2; }
.lm-chart-foot{
  margin-top:18px;
  font-size:11px; color:var(--sage);
  line-height:1.6;
  border-top:1px solid var(--border);
  padding-top:14px;
}

/* ─── Directory ───────────────────────────────────────────── */
.lm-dir-toolbar{
  display:flex; gap:18px; align-items:center; flex-wrap:wrap;
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--border);
}
.lm-dir-search{
  flex:1; min-width:220px;
  padding:10px 14px;
  border:1px solid var(--border);
  background:var(--cream);
  font-family:'Satoshi',sans-serif;
  font-size:13px;
  color:var(--moss);
  border-radius:0;
}
.lm-dir-search:focus{ outline:none; border-color:var(--rust); }
.lm-dir-select{
  padding:10px 14px;
  border:1px solid var(--border);
  background:var(--cream);
  font-family:'Satoshi',sans-serif;
  font-size:13px;
  color:var(--moss);
  border-radius:0;
  cursor:pointer;
}
.lm-dir-count{
  font-size:11px;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--sage);
  font-weight:700;
}
.lm-view-toggle{
  display:flex; gap:0;
  border:1px solid var(--border);
}
.lm-view-toggle button{
  background:var(--cream);
  border:none;
  padding:8px 14px;
  font-family:'Satoshi',sans-serif;
  font-size:11px; font-weight:700;
  letter-spacing:0.08em; text-transform:uppercase;
  color:var(--sage);
  cursor:pointer;
  border-right:1px solid var(--border);
}
.lm-view-toggle button:last-child{ border-right:none; }
.lm-view-toggle button.active{ background:var(--moss); color:var(--cream); }

.lm-dir-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
}
.lm-dir-card{
  background:var(--cream);
  padding:24px 22px;
  display:flex; flex-direction:column;
  gap:10px;
  cursor:pointer;
  transition:background .15s;
}
.lm-dir-card:hover{ background:var(--sand); }
.lm-dir-card-top{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:12px;
}
.lm-dir-name{
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-weight:600;
  color:var(--moss); line-height:1.15;
}
.lm-dir-state{
  font-size:10px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--sage);
}
.lm-dir-summary{
  font-size:13px; color:var(--moss-light);
  line-height:1.55;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden;
}
.lm-dir-foot{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid var(--border);
  font-size:11px;
  color:var(--moss-light);
}
.lm-dir-foot b{ color:var(--moss); font-weight:700; }

.lm-dir-table{ width:100%; border-collapse:collapse; font-size:13px; }
.lm-dir-table thead th{
  font-size:10px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--sage);
  text-align:left;
  padding:14px 12px;
  border-bottom:1px solid var(--border);
  background:var(--sand);
  position:sticky; top:0;
}
.lm-dir-table tbody td{
  padding:14px 12px;
  border-bottom:1px solid var(--border);
  color:var(--moss);
  vertical-align:top;
}
.lm-dir-table tbody tr{ cursor:pointer; transition:background .12s; }
.lm-dir-table tbody tr:hover{ background:var(--sand); }
.lm-dir-table tbody tr.expanded{ background:var(--sand); }
.lm-dir-table .name-cell b{ font-weight:700; display:block; line-height:1.3; }
.lm-dir-table .name-cell .domain{
  font-size:11px; color:var(--sage);
  margin-top:3px;
}
.lm-dir-table-detail{
  background:var(--cream) !important;
  padding:0 !important;
}
.lm-dir-table-detail .inner{
  padding:24px 28px;
  border-bottom:1px solid var(--border);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
.lm-dir-empty{
  padding:80px 24px;
  text-align:center;
  color:var(--sage);
}

/* ─── Methodology deep dive ───────────────────────────────── */
.lm-meth-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:32px;
}
.lm-meth-card{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  padding:32px 28px;
}
.lm-meth-step{
  font-family:'Cormorant Garamond',serif;
  font-size:13px; font-weight:600;
  letter-spacing:0.16em; text-transform:uppercase;
  color:#E8B79C;
  margin-bottom:14px;
}
.lm-meth-title{
  font-family:'Cormorant Garamond',serif;
  font-size:26px; font-weight:600;
  color:var(--cream);
  line-height:1.15;
  margin-bottom:14px;
}
.lm-meth-body{
  font-size:14px;
  color:rgba(251,248,242,0.7);
  line-height:1.7;
  margin-bottom:16px;
}
.lm-meth-body b{ color:var(--cream); font-weight:600; }
.lm-meth-list{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:8px;
}
.lm-meth-list li{
  font-size:12px;
  color:rgba(251,248,242,0.7);
  padding-left:18px;
  position:relative;
  line-height:1.6;
}
.lm-meth-list li::before{
  content:''; position:absolute;
  left:0; top:9px;
  width:8px; height:1px;
  background:#E8B79C;
}
.lm-meth-prompt{
  background:rgba(0,0,0,0.28);
  border-left:2px solid #E8B79C;
  padding:14px 18px;
  margin-top:14px;
  font-family:'Satoshi', sans-serif;
  font-size:12px;
  color:rgba(251,248,242,0.78);
  line-height:1.65;
  font-style:italic;
}

/* ─── Corrections CTA ─────────────────────────────────────── */
.lm-cta{
  background:var(--rust);
  padding:80px 48px;
  color:#fff;
  text-align:center;
}
.lm-cta-inner{ max-width:760px; margin:0 auto; }
.lm-cta-eyebrow{
  font-size:11px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(255,255,255,0.7);
  margin-bottom:18px;
}
.lm-cta h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(36px, 5vw, 56px);
  font-weight:300;
  color:#fff;
  line-height:1.05;
  letter-spacing:-0.02em;
  margin-bottom:18px;
}
.lm-cta h2 em{ font-style:italic; }
.lm-cta-body{
  font-size:16px;
  color:rgba(255,255,255,0.85);
  line-height:1.7;
  max-width:560px;
  margin:0 auto 32px;
}
.lm-cta-actions{
  display:flex; gap:12px; flex-wrap:wrap; justify-content:center;
}
.lm-cta-btn{
  font-family:'Satoshi', sans-serif;
  font-size:13px; font-weight:700;
  letter-spacing:0.06em; text-transform:uppercase;
  padding:14px 32px;
  text-decoration:none;
  transition:all .2s;
  border:1.5px solid transparent;
  border-radius:0;
}
.lm-cta-btn.primary{ background:#fff; color:var(--rust); }
.lm-cta-btn.primary:hover{ background:var(--moss); color:#fff; }
.lm-cta-btn.outline{
  background:transparent; color:#fff;
  border-color:rgba(255,255,255,0.5);
}
.lm-cta-btn.outline:hover{ border-color:#fff; background:rgba(255,255,255,0.1); }

/* ─── Other-research strip ────────────────────────────────── */
.lm-related{
  padding:64px 48px;
  background:var(--sand);
}
.lm-related-inner{ max-width:1200px; margin:0 auto; }
.lm-related-eyebrow{
  font-size:11px; font-weight:700;
  letter-spacing:0.16em; text-transform:uppercase;
  color:var(--sage);
  margin-bottom:24px;
}
.lm-related-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--border);
  border:1px solid var(--border);
}
@media (max-width:980px){
  .lm-related-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .lm-related-grid{ grid-template-columns:1fr; }
}
.lm-related-card{
  background:var(--cream);
  padding:28px 28px;
  text-decoration:none;
  color:inherit;
  display:flex; flex-direction:column; gap:10px;
  transition:background .2s;
}
.lm-related-card:hover{ background:#fff; }
.lm-related-num{
  font-family:'Cormorant Garamond',serif;
  font-size:28px; font-weight:600;
  color:var(--rust); line-height:1;
}
.lm-related-title{
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-weight:600;
  color:var(--moss); line-height:1.15;
}
.lm-related-card.current .lm-related-title{ color:var(--rust); }
.lm-related-desc{
  font-size:13px; color:var(--moss-light);
  line-height:1.55;
}

/* ─── Responsive ──────────────────────────────────────────── */
@media (max-width:980px){
  .lm-kpis-inner{ grid-template-columns:repeat(2,1fr); }
  .lm-kpi{ padding:24px 20px; }
  .lm-section-head{ grid-template-columns:1fr; gap:12px; }
  .lm-types{ grid-template-columns:1fr; }
  .lm-map-explorer{ grid-template-columns:1fr; }
  .lm-drawer{ border-left:none; border-top:1px solid var(--border); }
  .lm-chart-row{ grid-template-columns:1fr; gap:32px; }
  .lm-meth-grid{ grid-template-columns:1fr; gap:16px; }
  .lm-dir-grid{ grid-template-columns:repeat(2,1fr); }
  .lm-related-grid{ grid-template-columns:1fr; }
  .lm-section{ padding:64px 24px; }
  .lm-hero{ padding:120px 24px 0; }
  .lm-ai-banner{ padding:18px 24px; }
  .lm-cta{ padding:56px 24px; }
}
@media (max-width:640px){
  .lm-kpis-inner{ grid-template-columns:1fr 1fr; }
  .lm-kpi-num{ font-size:42px; }
  .lm-dir-grid{ grid-template-columns:1fr; }
  .lm-svg-wrap{ height:360px; }
  .lm-hero h1{ font-size:42px; }
  .lm-section h2{ font-size:30px; }
  .lm-dir-table-detail .inner{ grid-template-columns:1fr; gap:16px; }
}
